Javanische Nachricht Dienst

Die API von Java Message Service (JMS) ist Java API von Message Oriented Middleware (MOM), um Nachrichten zwischen zwei oder mehr Kunden zu senden. JMS ist ein Teil der javanischen Plattform, Unternehmensausgabe, und wird durch eine Spezifizierung definiert, die unter dem javanischen Gemeinschaftsprozess als JSR 914 entwickelt ist. Es ist ein Nachrichtenübermittlungsstandard, der auf Java Enterprise Edition (JEE) gestützten Anwendungsbestandteilen erlaubt, Nachrichten zu schaffen, zu senden, zu erhalten, und zu lesen. Es erlaubt der Kommunikation zwischen verschiedenen Bestandteilen einer verteilten Anwendung, lose verbunden, zuverlässig, und asynchron zu werden.

Allgemeine Idee von der Nachrichtenübermittlung

Nachrichtenübermittlung ist eine Form der lose verbundenen verteilten Kommunikation, wo in diesem Zusammenhang der Begriff 'Kommunikation' als ein Austausch von Nachrichten zwischen Softwarebestandteilen verstanden werden kann. Nachrichtenorientierte Technologien versuchen, dicht verbundene Kommunikation (wie TCP-Netzsteckdosen, CORBA oder RMI) durch die Einführung eines intermediären Bestandteils zu entspannen. Diese Annäherung erlaubt Softwarebestandteilen, 'indirekt' mit einander zu kommunizieren. Vorteile davon schließen Nachrichtenabsender ein, die nicht genaue Kenntnisse ihrer Empfänger haben müssen.

Die Vorteile der Nachrichtenübermittlung schließen die Fähigkeit ein, heterogene Plattformen zu integrieren, Systemengpässe, Zunahme-Skalierbarkeit zu reduzieren, und schneller zu antworten, um sich zu ändern.

Versionsgeschichte

  • JMS 1.0.2b (am 25. Juni 2001)
  • JMS 1.1 (am 18. März 2002)
  • JMS 2.0 (Hat Endausgabe für Q1 2013 geplant. Unter der JCP Entwicklung als JSR 343)

Elemente

Der folgende ist JMS Elemente:

JMS Versorger

: Eine Durchführung des JMS verbindet für Message Oriented Middleware (MOM). Versorger werden entweder als Java JMS Durchführung oder als ein Adapter einer nichtjavanischen MAMA durchgeführt.

JMS Kunde

: Eine Anwendung oder Prozess, der erzeugt und/oder Nachrichten erhält.

JMS Erzeuger/Herausgeber

: Ein JMS Kunde, der schafft und Nachrichten sendet.

JMS Verbraucher/Unterzeichneter

: Ein JMS Kunde, der Nachrichten erhält.

JMS Nachricht

: Ein Gegenstand, der die Daten enthält, die zwischen JMS Kunden übertragen werden.

JMS Warteschlange

: Ein inszenierendes Gebiet, das Nachrichten enthält, die gesandt worden sind und warten, um gelesen zu werden. Bemerken Sie, dass dagegen, was die Namenwarteschlange vorschlägt, Nachrichten in der gesandten Ordnung nicht geliefert werden müssen. Eine JMS Warteschlange versichert nur, dass jede Nachricht nur einmal bearbeitet wird.

JMS Thema

: Ein Vertriebsmechanismus, um Nachrichten zu veröffentlichen, die an vielfache Unterzeichnete geliefert werden.

Modelle

Die JMS API unterstützt zwei Modelle:

  • Punkt-zu-Punkt-
  • Veröffentlichen Sie und unterzeichnen Sie

Veröffentlichen Sie Modell/unterzeichnen Sie

Die veröffentlichen/unterzeichnen Musterunterstützungen, die Nachrichten an ein besonderes Nachrichtenthema veröffentlichen. Unterzeichnete können Interesse am Empfang von Nachrichten zu einem besonderen Nachrichtenthema einschreiben. In diesem Modell wissen weder der Herausgeber noch der Unterzeichnete über einander. Eine gute Analogie dafür ist ein anonymes Anschlagbrett.

  • Null oder mehr Verbraucher werden die Nachricht erhalten.
  • Es gibt eine Timing-Abhängigkeit zwischen Herausgebern und Unterzeichneten. Der Herausgeber muss ein Nachrichtenthema für Kunden schaffen, um zu unterschreiben. Der Unterzeichnete muss unaufhörlich energisch bleiben, um Nachrichten zu erhalten, wenn es kein haltbares Abonnement gegründet hat. In diesem Fall werden veröffentlichte Nachrichten, während der Unterzeichnete nicht verbunden wird, neu verteilt, wann auch immer er in Verbindung wiedersteht.

Mit Java stellt JMS eine Weise zur Verfügung, die Anwendung von der Transportschicht zu trennen, Daten zur Verfügung zu stellen. Dieselben javanischen Klassen können verwendet werden, um mit verschiedenen JMS Versorgern durch das Verwenden der JNDI Information für den gewünschten Versorger zu kommunizieren. Die Klassen verwenden zuerst eine Verbindungsfabrik, um zur Warteschlange oder dem Thema in Verbindung zu stehen, und dann zu verwenden bevölkern und senden oder veröffentlichen die Nachrichten. Auf der Empfang-Seite erhalten die Kunden dann oder unterschreiben die Nachrichten.

Schema von URI

RFC 6167 definiert ein URI Schema für die javanische Nachricht Dienst.

Versorger-Durchführungen

Um JMS zu verwenden, muss man einen JMS Versorger haben, der die Sitzungen und Warteschlangen führen kann. Von Java EE Version 1.4 anfangend, muss JMS Versorger im ganzen Java EE Anwendungsserver enthalten werden. Das kann mit dem Nachrichtenzustrommanagement Javas EE Stecker-Architektur durchgeführt werden, die zuerst in dieser Version bereitgestellt wurde.

Der folgende ist eine Liste von JMS Versorgern:

  • Apachen-ActiveMQ
  • Apachen-Qpid, mit AMQP
  • EMS von TIBCO
  • OpenJMS, von OpenJMS Group
  • JBoss Nachrichtenübermittlung und HornetQ von JBoss
  • JORAM, vom OW2 Konsortium
  • Offene Nachrichtenwarteschlange, von Sonne-Mikrosystemen
  • BEA Weblogic (ein Teil der Fusion Middleware Gefolge) und Orakel AQ vom Orakel
  • RabbitMQ, mit AMQP
  • Trösten Sie JMS von Trost-Systemen
  • SonicMQ von der Fortschritt-Software
  • StormMQ, mit AMQP
  • SwiftMQ
  • Tervela
  • webMethods von Software AG
  • WebSphere Application Server von IBM, der einem integrierten Verzug-Nachrichtenübermittlungsversorger zur Verfügung stellt, der als der Dienstintegrationsbus (SIBus) bekannt ist, oder der mit WebSphere MQ als ein JMS Versorger verbinden kann
  • WebSphere MQ (früher MQSeries) von IBM
  • Extreme Nachrichtenübermittlung aus 29 Westen (erworben von Informatica)

Eine historische Vergleich-Matrix von JMS Versorgern von 2005 ist an http://www.theserverside.com/reviews/matrix.tss verfügbar

Weiterführende Literatur

Außenverbindungen

Siehe auch

  • Message Driven Beans (MDB)
  • Nachrichtenwarteschlange - das Konzept, das JMS unterliegt
  • Dienst orientierte Architektur
  • Ereignis-gesteuerter SOA
  • Nachrichtenübermittlungstechnologien, die die JMS API nicht durchführen, schließen ein:
  • Advanced Message Queuing Protocol (AMQP) - hat Nachrichtenwarteschlange-Protokoll mit vielfachen unabhängigen Durchführungen standardisiert
  • Der Amazonas Einfacher Warteschlange-Dienst - commoditized Nachrichtenübermittlungsdienst, der durch Amazon.com für eine durchlesen Gebühr zur Verfügung gestellt ist. Es erlaubt Benutzern, Zugang zur Nachrichtenübermittlung zu vermieten, ohne ihren eigenen Server aufrechterhalten zu müssen.
  • Das Nachrichtenschlangestehen von Microsoft - ähnliche Technologie, die für das.NET Fachwerk durchgeführt ist

Eine Straßenbahn genannt der Wunsch (Spiel) / Javanische Plattform, Unternehmensausgabe
Impressum & Datenschutz