Streaming Text Oriented Messaging Protocol – הבדלי גרסאות
Snir.elgabsi (שיחה | תרומות) יצירה באמצעות תרגום הדף "Streaming Text Oriented Messaging Protocol" |
(אין הבדלים)
|
גרסה מ־10:50, 31 ביולי 2016
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), וגוף-תוכן.
מימושים
אלה הם מספר מוצרי MOM התומכים ב-STOMP:
- Apache ActiveMQ, הידוע גם Fuse Message Broker
- 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 (קוד פתוח לתוכנת לקוח במימוש שפת Python)
- tStomp (קוד פתוח לתוכנת לקוח במימוש שפת Tcl)
- רשימה של יישומים מתעדכנת גם באתר האינטרנט של STOMP.