September 24th, 2008

JMS (Java Message Service)

1 Comment », Java, by on_the_way

Java Message Service เป็นเทคโนโลยีที่ช่วยแก้ปัญหาให้กับการประกอบแอพพลิเคชันทางธุรกิจได้
Java Message Service (JMS) ทำหน้าที่ในการรับส่ง message ระหว่างserver กับ client รูปแบบของ message ค่อนข้างที่จะยืดหยุ่น โดยปกติ messageใช้ในการส่งข้อมูลชนิดข้อความ รวมถึงออบเจ็กต์ของจาวา และ message เปล่าที่ใช้สำหรับการตอบกลับ (Acknowledgements) ของการสื่อสารมาตรฐาน
ความแตกต่างระหว่าง JMS เมื่อเปรียบเทียบกับการสื่อสารในระดับล่างของแพ็กเกต TCP/IP และJava Remote Method Invocation (RMI)
- ในการสื่อสารการสื่อสารในระดับล่างของแพ็กเกต TCP/IP และ Java Remote Method Invocation (RMI) จำเป็นต้องมีการเชื่อมต่อแบบ real time และ messageที่แลกเปลี่ยนกันจะเป็นแบบ Synchronous เท่านั้น ในขณะที่ JMS นั้นยืดหยุ่นกว่าเพราะว่า JMS สนับสนุนการรับส่งแบบ Asynchronous ซึ่งช่วยให้ clientสามารถส่งหรือรับ message ได้โดยที่ไม่ต้องเชื่อมต่อกับserverตลอดเวลา
- การสื่อสารแบบ Asynchronous JMS สามารถนำไปประยุกต์ใช้กับแอพพลิเคชันได้เป็นจำนวนมาก เช่น พนักงานขายที่ใช้ PDA อาจจะต้องการอัพเดตยอดการขายผ่านระบบ message JMS ข้อมูลยอดขายใหม่สามารถเก็บไว้ที่เครื่อง PDA ได้จนกว่าพนักงานขายคนนั้นจะเชื่อมต่อกับ server ระบบ JMS ก็จะอัพเดตกับฐานข้อมูลเองโดยอัตโนมัติ
การส่งmessageแบบ Point-to-Point
การส่ง message แบบนี้มีการทำงานคือระบบจะมีการกำหนดปลายทางไปยังคิวของผู้รับคนใดคนหนึ่ง
การส่งข้อความแบบ Publish/Subscribe
การส่ง message แบบนี้มีการทำงานคือระบบจะ message ส่งไปยังผู้รับหลายๆคนที่ได้ลงทะเบียนกับหัวเรื่องนั้นไว้
กลไกการส่ง message ของ JMS
JMS ใช้ 2 กลไกในการส่ง messageระหว่างระบบ
1. แบบ Point-to-Point โดยจะมี client หนึ่งเครื่องเปิด session เพื่อรับmessageจาก client เครื่องอื่น
2. แบบ Publish/Subscribe จะมี clientหลายๆ เครื่องลงทะเบียนไว้เป็น Listener เพื่อ      คอยรับmessageที่อัพเดตเข้ามาในหัวเรื่อง (Topic) ที่ได้ลงทะเบียนไว้ นอกจากโมเดลนี้จะทำให้ client หลายๆ เครื่องรับ messageได้แล้ว ยังช่วยให้แอพพลิเคชันรองรับการเขียนโปรแกรมแบบ Event-Driven อีกด้วย นั่นคือในโปรแกรมสามารถเพิ่มโค้ด onMessage() เพื่อใช้สำหรับรองรับ Event Handlerได้ตามที่ต้องการ
JMS สามารถแก้ได้ปัญหาเรื่องของการส่งmessageแบบ Asynchronous ที่เชื่อถือน่าเชื่อถือ JMS นั้นไม่ใช่คู่แข่งโดยตรงของเว็บเซอร์วิส แต่ JMS นั้นเป็นจุดเริ่มต้นที่ทำให้เว็บเซอร์วิสมีการปรับตัวเพื่อให้สามารถทำงานบนแพลตฟอร์มของจาวาได้ดียิ่งขึ้น ด้วยคุณสมบัติทางด้านความเชื่อถือได้และการส่งmessage แบบ Asynchronous

Last 5 posts by on_the_way

One Response to “JMS (Java Message Service)”

» You can leave a response or Trackback .

  1. exodus Says:

    มานใช้ยังไหง หว่าาาาา …

» Trackbacks/Pingbacks

Leave a Reply