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:
 Apache ActiveMQ, הידוע גם Fuse Message Broker
 Apache Apollo
 HornetQ
 Net::STOMP::Client (,ufb, קוד פתוח של תוכנת לקוח המיושם ב-Perl)
 ocamlmq (מתווך הודעות קל, נכתב ב-OCaml)
 Open Message Queue (OpenMQ)
 POE::Component::MessageQueue (יישום שרת ב-Perl)
 RabbitMQ (מתווך הודעות, המכיל תמיכה ב-STOMP)
 שרת Ruby, הידוע גם בשם stompserver
 stomp.erl (קוד פתוח של תוכנת לקוח במימוש שפת Erlang)
 syslog-ng דרך תוסף STOMP destination
 Stomp.py (קוד פתוח לתוכנת לקוח במימוש שפת פייתון)
 tStomp (קוד פתוח לתוכנת לקוח במימוש שפת Tcl)
- רשימה של יישומים מתעדכנת גם באתר האינטרנט של STOMP

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

 אתר STOMP

קטגוריה:פרוטוקולי אינטרנט