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

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

הערך באדיבות ויקיפדיה העברית, קרדיט,
רשימת התורמים
רישיון cc-by-sa 3.0

31829799Streaming Text Oriented Messaging Protocol