WebSocket protocol ถูกนำมาใช้เพื่อแทนที่การสื่อสารแบบสองทิศทางที่ใช้ HTTP เป็น Transport layer ซึ่งในตอนแรก HTTP ไม่ได้มีไว้พื่อวัตถุประสงค์เหล่านี้ เทคโนโลยีใหม่นี้ช่วยรับรองการสร้างการเชื่อมต่อแบบ TCP full-duplex ระหว่างไคลเอนต์และเซิร์ฟเวอร์โดยข้อความจะถูกส่งทันที เทคโนโลยี WebSockets ได้รับการออกแบบให้ทำงานบนพอร์ต HTTP มาตรฐาน (80 และ 443) และเพื่อรองรับ HTTP proxies และตัวกลางซึ่งแสดงถึงการแลกเปลี่ยนที่มีประสิทธิภาพและน่าเชื่อถือ
WebSockets ผสมผสานเทคโนโลยีนี้กับ Shared Load Balancer และ NGINX balance node ดังนั้นคุณจึงสามารถใช้งานได้แม้ไม่มี IP address ภายนอกแนบกับเซิร์ฟเวอร์ของคุณ วิธีการใช้ WebSockets ที่ง่ายที่สุดสำหรับแอปพลิเคชันคือวาง NGINX balancer ไว้ข้างหน้า – สามารถดูรายละเอียดได้ที่นี่
อย่างไรก็ตามหากคุณไม่ต้องการใช้วิธีนี้ คุณสามารถใช้ WebSockets protocol ร่วมกับ Java application servers การใช้งานโดยทั่วไปจะดำเนินการผ่านการกำหนดค่าแอปพลิเคชันของคุณเองซึ่งไม่มีการกำหนดค่าพิเศษใดๆ
ข้อยกเว้นเพียงอย่างเดียวคือ GlassFish เนื่องจากต้องมีการกำหนดค่าฝั่งเซิร์ฟเวอร์บางอย่างสำหรับการเปิดใช้งาน WebSockets โดยคุณสามารถทำตามคำแนะนำง่ายๆด้านล่าง
การสร้าง Environment และการ Deploy Project
1. เข้าสู่ระบบ Ruk-Com Cloud Dashboard ด้วยชื่อผู้ใช้และรหัสผ่าน
2. คลิก New Environment ที่ด้านซ้ายบนแดชบอร์ด

3. ในหน้า Topology สลับไปที่แท็บ Java และเลือก Glassfish เป็นแอปพลิเคชันเซิร์ฟเวอร์ของคุณ ตั้งค่าขีดจำกัดทรัพยากรที่คุณต้องการโดยเลื่อนแถบ cloudlets ที่ส่วน vertical scaling จากนั้นใส่ชื่อ environment ของคุณ (เช่น java-websockets) และกดปุ่ม Create

4. รอซักครู่ environment ของคุณจะถูกสร้างขึ้นและปรากฏที่หน้าแดชบอร์ด

5. คุณสามารถ deploy แอปพลิเคชันของคุณที่รองรับ WebSockets protocol ได้ผ่าน archive/URL ในเครื่องของคุณหรือผ่านที่จัดเก็บ VCS ระยะไกล เพียงเพิ่มโหนด Maven ใน environment topology ของคุณและทำตามคู่มือนี้

การเปิดใช้งาน GlassFish WebSockets
ขั้นตอนต่อไปคือการเปิดใช้งาน WebSockets สำหรับแอปพลิเคชันเซิร์ฟเวอร์ GlassFish ของคุณซึ่งควรดำเนินการผ่าน Administration Console ดังนั้นขั้นตอนที่จำเป็นมีดังนี้:
1. ไปที่แผงควบคุม GlassFish admin ซึ่งสามารถเข้าถึงได้ผ่านแดชบอร์ด (โดยคลิกปุ่ม Additionally ที่ env ของคุณและเลือก Admin panel > Login) หรือเข้าถึงผ่านลิงก์โดยตรง (ระบบส่งให้ทางอีเมลหลังจากการสร้าง environment เสร็จ)

2. เปิดเบราว์เซอร์ของคุณและระบุข้อมูลประจำตัวที่คุณได้รับในอีเมลเพื่อทำการ Login เข้าสู่ระบบ

3. เมื่อเข้าสู่ระบบแล้วให้ไปที่เมนูด้านซ้าย Configurations > gfcluster-config > Network Config > Protocols > http-listener-1 จากนั้นสลับไปที่แท็บ HTTP และทำเครื่องหมายในช่องสำหรับตัวเลือก Websockets Support ที่ส่วนด้านล่าง
อย่าลืมกด Save การตั้งค่าใหม่

4. กลับไปที่หน้าแดชบอร์ดและ Restart GlassFish เพื่อใช้การเปลี่ยนแปลง

เมื่อคุณกำหนดค่าทั้งหมดนี้เรียบร้อยแล้ว คุณสามารถตรวจสอบการทำงานของแอปพลิเคชันคุณได้โดยคลิกปุ่ม Open in Browser