<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Message_Oriented_Middleware</id>
	<title>Message Oriented Middleware - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Message_Oriented_Middleware"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Message_Oriented_Middleware&amp;action=history"/>
	<updated>2026-05-23T06:14:04Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Message_Oriented_Middleware&amp;diff=294398&amp;oldid=prev</id>
		<title>imported&gt;Scientificfries: weitere Links zu weiterführenden Artikeln ergänzt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Message_Oriented_Middleware&amp;diff=294398&amp;oldid=prev"/>
		<updated>2025-06-20T08:10:59Z</updated>

		<summary type="html">&lt;p&gt;weitere Links zu weiterführenden Artikeln ergänzt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Nachrichtenorientierte Middleware&amp;#039;&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;&amp;#039;Message Oriented Middleware&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;MOM&amp;#039;&amp;#039;&amp;#039;) bezeichnet [[Middleware]], die auf der [[Asynchrone Kommunikation|asynchronen]] oder [[Synchrone Kommunikation|synchronen Kommunikation]], also der Übertragung von [[Nachricht]]en ({{enS|&amp;#039;&amp;#039;messages&amp;#039;&amp;#039;}}) beruht. Das Format für die Nachrichten ist nicht festgelegt, in der Praxis hat sich jedoch [[Extensible Markup Language|XML]] als beliebtes Format etabliert.&lt;br /&gt;
&lt;br /&gt;
MOM unterstützt drei verschiedene Kommunikationsprotokolle&lt;br /&gt;
* [[Nachrichtenaustausch|Message Passing]] (Direkte Kommunikation zwischen Anwendungen)&lt;br /&gt;
* Message Queueing (Indirekte Kommunikation über eine [[Warteschlange (Datenstruktur)|Warteschlange]])&lt;br /&gt;
* [[Beobachter (Entwurfsmuster)|Publish &amp;amp; Subscribe]] (Herausgeber stellt dem Abonnenten Nachrichten zur Verfügung)&lt;br /&gt;
&lt;br /&gt;
== Vorteile ==&lt;br /&gt;
* Asynchrone/synchrone Kommunikation&lt;br /&gt;
* Server/Dienst muss nicht sofort verfügbar sein&lt;br /&gt;
* Message-Warteschlangen&lt;br /&gt;
* Meist schnellere Ausführung als Funktionsaufruf-basierte Programme&lt;br /&gt;
* [[Lose Kopplung]] von Server/Clients&lt;br /&gt;
* Mehr Toleranz für Änderungen der bestehenden Funktionen&lt;br /&gt;
* Verbesserte Verfügbarkeit der Systeme&lt;br /&gt;
* Parallele Verarbeitung von Nachrichten möglich&lt;br /&gt;
&lt;br /&gt;
== Nachteile ==&lt;br /&gt;
* Ausfall der MOM legt alle angeschlossenen Systeme lahm&lt;br /&gt;
* [[Entwurf|Designen]], [[Testen]], [[Debuggen]] und Entwicklung der Bauteile sind für Synchron-Programmierer ungewohnt&lt;br /&gt;
&lt;br /&gt;
== Standards und Formate ==&lt;br /&gt;
; Message Oriented Middleware mit XML: Der Einsatz von XML als Sprachbasis für die Nachrichten bei Message Oriented Middleware ist in der Praxis weit verbreitet. Aufgrund des vergleichsweise selbsterklärenden und im Gegensatz zu Nachrichten im Binärformat leicht menschenlesbaren Formats ist es beim Einsatz von XML relativ einfach, auch die Kommunikation zwischen Middleware-Systemen zu ermöglichen, wenn sie unterschiedliche Sprachen verwenden, solange die Sprachen XML-basiert sind. Um die Kommunikation zu ermöglichen, kann ein [[XSLT-Prozessor]] als Übersetzer zwischengeschaltet werden, der mit Hilfe eines Transformations-Stylesheets Nachrichten von der XML-basierten Sprache des Quellsystems in die Sprache des Zielsystems übersetzt. Als Protokoll wird häufig [[SOAP]] eingesetzt.&lt;br /&gt;
&lt;br /&gt;
; XML: Die [[Auszeichnungssprache]] [[Extensible Markup Language|XML]] ist heute in der Informationstechnik weit verbreitet und wird in zahlreichen Anwendungsgebieten eingesetzt. Sie ist keine konzeptionelle Voraussetzung für einen [[Enterprise Service Bus]] (ESB), wird aber in der Mehrheit der ESB-Produkte und der realisierten ESBs in Anwendungslandschaften vielfältig eingesetzt. Sie dient häufig als vereinheitlichtes [[Datenformat]], in dem Nachrichten über den &amp;#039;&amp;#039;Message Bus&amp;#039;&amp;#039; im Kern eines ESB übermittelt werden, aber auch als Format für den Austausch von Nachrichten zwischen Diensten und dem &amp;#039;&amp;#039;Message Bus&amp;#039;&amp;#039; über die entsprechenden Endpunkte und Adapter. Weiter findet sie Verwendung in der Beschreibung von Schnittstellen, zum Beispiel mit der Schnittstellenspezifikationssprache [[Web Services Description Language|WSDL]].&lt;br /&gt;
&lt;br /&gt;
; XPath und XQuery: [[XPath]] und [[XQuery]] sind [[Abfragesprache]]n, mit denen Teile von XML-Dokumenten abgefragt und extrahiert werden können. Sie sind keine Voraussetzung für einen ESB, werden aber in ESBs häufig im Kontext der Routingdienste eingesetzt. Routingregeln, die auf Steuerdaten oder Inhalten von Nachrichten beruhen, sind oft als XPath- bzw. XQuery-Ausdrücke über diese Nachrichten formuliert.&lt;br /&gt;
&lt;br /&gt;
; XSLT: [[XSL Transformation]] (XSLT) ist eine [[Programmiersprache]] zur [[Konvertierung (Informatik)|Transformation]] von XML-Dokumenten. XSLT ist keine technologische Voraussetzung für einen ESB. Die Sprache wird aber häufig in Transformationsdiensten verwendet, namentlich wenn ein ESB XML als vereinheitlichtes Datenformat nutzt.&lt;br /&gt;
&lt;br /&gt;
; SIP: [[Session Initiation Protocol]] (SIP) steuert durch asynchrone Nachrichten den Verbindungsaufbau und Verbindungsabbau von [[IP-Telefonie|Voice-over-IP]] Sprachkommunikation. SIP wird bei [[3rd Generation Partnership Project]] (3GPP) als Protokoll für Multimediaunterstützung im 3G-Mobilfunk ([[Universal Mobile Telecommunications System|UMTS]]) benutzt. In der [[Telekommunikation#Telekommunikationstechnik|Telekommunikationstechnik]] ist SIP Teil der control plane. Sprach- oder Multimedia-Daten sind Teil der data plane.&lt;br /&gt;
&lt;br /&gt;
; JMS: [[Java Message Service]] (JMS) ist eine standardisierte [[Programmierschnittstelle]], um aus [[Java (Technik)|Java]]-basierten Anwendungen Nachrichten über einen &amp;#039;&amp;#039;Message Bus&amp;#039;&amp;#039; versenden und empfangen zu können. Sie ist keine Voraussetzung für einen ESB. ESBs, die stark in der Java-Welt verankert sind, zum Beispiel, weil sie selbst in Java implementiert sind, bieten oft Standard-Adapter und Standard-Endpunkte an, damit Dienste den ESB über JMS nutzen können.&lt;br /&gt;
: JMS ist der am weitesten verbreitete Standard für MOMs und wird von fast allen Herstellern unterstützt.&lt;br /&gt;
&lt;br /&gt;
; SOAP: [[SOAP]] ist ein [[Netzwerkprotokoll]], mit dessen Hilfe [[Daten]] zwischen [[System]]en ausgetauscht und Dienstschnittstellen von entfernten Diensten genutzt werden können. SOAP basiert auf weit verbreiteten Technologien, zum Beispiel [[Hypertext Transfer Protocol|HTTP]] und [[Simple Mail Transfer Protocol|SMTP]] als Protokollen, XML als Datenformat oder [[Web Services Description Language|WSDL]] als Sprache für die Schnittstellenspezifikation. Dienste, die ihre Schnittstellen mit Hilfe dieser Technologien zugänglich machen, nennt man Webdienste oder [[Webservice]]s. Das Konzept des &amp;#039;&amp;#039;Enterprise Service Bus&amp;#039;&amp;#039; ist nicht auf Webservices oder die Technologie SOAP beschränkt. In der Praxis integriert ein ESB aber oft verteilte Dienste, indem es sie mit SOAP-Adaptern an den zentralen &amp;#039;&amp;#039;Message Bus&amp;#039;&amp;#039; anbindet.&lt;br /&gt;
&lt;br /&gt;
; AMQP: [[Advanced Message Queuing Protocol]] (AMQP) ist ein in Entwicklung befindliches Wirelevel-Protokoll, das von einem Konsortium von über 20 Mitgliedern (u.&amp;amp;nbsp;a. [[JPMorgan Chase|JP Morgan]], [[Microsoft]], [[Red Hat]]) entwickelt wird. Im Mai 2010 wurde der Draft (Entwurf) der Version 1 veröffentlicht. Um der großen Verbreitung von JMS Rechnung zu tragen, sind alle JMS Funktionen in dem Protokoll eingearbeitet. Dies ermöglicht es den Entwicklern, weiter die JMS Schnittstelle zu nutzen, während sich MOMs untereinander mit AMQP verständigen können.&lt;br /&gt;
&lt;br /&gt;
; JBI: Mit [[Java Business Integration]] (JBI) bezeichnet man einen Standard, der im Rahmen des &amp;#039;&amp;#039;[[Java Community Process]]&amp;#039;&amp;#039; (JCP) unter der Nummer JSR 208 veröffentlicht wurde.&amp;lt;ref&amp;gt;Ten-Hove 2005&amp;lt;/ref&amp;gt; Das Dokument standardisiert einen Teil der Architektur eines &amp;#039;&amp;#039;Enterprise Service Bus&amp;#039;&amp;#039; für ein bestimmtes technisches Umfeld, nämlich Softwareentwicklung und [[IT-Architektur]] basierend auf der [[Java Platform, Enterprise Edition]] (Jakarta EE). Es detailliert namentlich die Architektur des Subsystems eines ESB, das Chappell&amp;lt;ref&amp;gt;Chappell 2004&amp;lt;/ref&amp;gt; als &amp;#039;&amp;#039;service container&amp;#039;&amp;#039; bezeichnet hat.&amp;lt;ref&amp;gt;Ten-Hove 2005, S. 8. „JBI defines what is sometimes termed a ‚service container‘ in Enterprise Service Bus (ESB) systems.“&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Apache OpenWire: Ein Wirelevel Protokoll, bisher nur von Apache ActiveMQ unterstützt.&lt;br /&gt;
&lt;br /&gt;
; Apache Streaming Text Oriented Messaging Protocol (Stomp): Sehr einfaches Text-basiertes Protokoll. Native Unterstützung durch ActiveMQ (angekündigt für RedHat HornetQ) und xmlBlaster. Es wird jedoch ein Adapter für JMS Middleware angeboten, sodass STOMP Clients über eine JMS Middleware kommunizieren können. Dabei ist aber zu beachten, dass dieses (durch den mangelnden Funktionsumfang von STOMP) nur in eine Richtung (STOMP&amp;amp;nbsp;→&amp;amp;nbsp;JMS) funktioniert.&lt;br /&gt;
&lt;br /&gt;
; Digistan RestMS (RESTful Messaging Service): RestMS arbeitet über reines HTTP/HTTPS und ist für Webanwendungen gedacht. Bisher existieren drei Implementierungen. Außerdem sind Umsetzungen für AMQP 0.9.1 implementiert.&lt;br /&gt;
&lt;br /&gt;
== MOM-Produkte ==&lt;br /&gt;
Die folgenden Produkte sind eine willkürliche Auswahl von MOM-Produkten am Markt:&lt;br /&gt;
&amp;lt;!-- bitte nur Produkte mit WP-Seite einfügen --&amp;gt;&lt;br /&gt;
* [[Websphere#WebSphere MQ|Websphere MQ]] von [[IBM]] (früher [[MQSeries]])&lt;br /&gt;
* [[Apache ActiveMQ]] als [[Java Message Service|JMS]]-Broker wahlweise auch mit [[Apache Camel]] (beides von der [[Apache Software Foundation]])&lt;br /&gt;
* [[RabbitMQ]] als [[AMQP]]-Broker&lt;br /&gt;
* [[SAP Process Integration]] der [[SAP]]&lt;br /&gt;
* Alle [[Jakarta EE]]-[[Anwendungsserver]] (durch JMS-Unterstützung)&lt;br /&gt;
* Microsoft Message Queue / [[Microsoft Message Queue Server]]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Enterprise Service Bus]] – basiert weitgehend auf MOM&lt;br /&gt;
* [[Java Business Integration]] ([[Java Specification Request|JSR]] 208) – umfasst eine MOM-Architektur&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.techfak.uni-bielefeld.de/~swrede/xml-isy/talks/mom-xmlblaster.pdf &amp;#039;&amp;#039;Message Oriented Middleware am Beispiel von XMLBlaster&amp;#039;&amp;#039;.] (PDF; 577&amp;amp;nbsp;kB) – [[Universität Bielefeld]], Vortrag im Seminar XML und intelligente Systeme&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Softwarearchitektur|?]]&lt;br /&gt;
[[Kategorie:Middleware]]&lt;br /&gt;
[[Kategorie:Verteiltes System]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Scientificfries</name></author>
	</entry>
</feed>