Streaming Text Oriented Messaging Protocol

Simple (or Streaming) Text Oriented Message Protocol (STOMP), ידוע בעבר בשם TTMP, הוא פרוטוקול מבוסס טקסט פשוט, מיועד לעבוד עם ההודעה מוכוונת תווכה (באנגלית: message-oriented middleware - MOM). זה מספק יכולת פעולה הדדית של פורמט פרוטוקול מקשר (wire format), שמאפשר ללקוחות STOMP לדבר עם כל מתווך הודעות שתומך בפרוטוקול. לפיכך הפרוטוקול הוא בלתי תלוי שפה, כלומר גורם תיווך (Message broker) שפותח עבור שפה תכנות או פלטפורמה אחת יכול לקבל תקשורת מתוכנת הלקוח שפותחה בשפה אחרת.

בהרחבה, הפרוטוקול דומה ל-HTTP, ועובד על TCP באמצעות הפקודות הבאות:

  • CONNECT
  • SEND
  • SUBSCRIBE
  • UNSUBSCRIBE
  • BEGIN
  • COMMIT
  • ABORT
  • ACK
  • NACK
  • DISCONNECT

התקשורת בין הלקוח לבין השרת הוא באמצעות "frame" שמורכב ממספר שורות. השורה הראשונה מכילה את הפקודה, ולאחריה כותרות (headers) בתבנית <key>:<value> (כותרת אחת בכל שורה), ולאחריה שורה ריקה ואז גוף-תוכן, שמסתיים בתו null. התקשורת בין השרת והלקוח היא דרך פריים MESSAGE, RECEIPT או ERROR עם פורמט (תבנית) דומה של כותרות (headers), וגוף-תוכן.

בגלל ש-STOMP הוא בלתי-תלוי שפה וקל למימוש, הוא נעשה פופולרי למפתחי ומתכנני תוכנה.

מעבר לכך, STOMP הוא מבוסס טקסט פשוט, ולא מבוסס פרוטוקולים בינאריים אחרים הנמצאים בשימוש על ידי מתווכי תוכנה אחרים, ומשום כך, קשת רחבה של טכנולוגיות לקוח עובדות איתו כמו Ruby, Python, Perl וכדומה.

STOMP הוא קל למימוש אך תומך במגוון רחב של מאפייני ליבה של הודעות, כמו אימות אבטחה (authentication), מודלי הודעות (point to point, publish and subscribe), אישורי הודעה, טרנזקציות, כותרות (headers), מאפייני הודעה וכו'.

אלה הם מספר מוצרי MOM התומכים ב-STOMP:

- רשימה של יישומים מתעדכנת גם באתר האינטרנט של STOMP

קישורים חיצוניים

[עריכת קוד מקור | עריכה]