wake-up-neo.com

Middleware & SOA zum Beispiel

Ich bin ein unerfahrener Java-Entwickler und versuche, mich mit grundlegenden Middleware/SOA-Konzepten und -Technologien auseinanderzusetzen, insbesondere:

  • Serviceorientierte Architektur (SOA)
  • Message-Oriented Middleware (MOM)
  • Message Queue
  • Apache Kamel
  • Maultier
  • EJBs
  • Endpunkte und Routen
  • Service Bus/ESB
  • JMS

Nachdem ich jedes davon online/auf Wikipedia nachgesehen hatte, konnte ich (zum größten Teil) anständige Definitionen für jedes davon bekommen. Was ich nicht verstehe, ist wie all diese Technologien/Konzepte zusammenarbeitenim Backend, um eine 2./Business-Tier-Lösung bereitzustellen.

Kann jemand bitte ein Beispiel für eine Architektur nennen, die alle diese Technologien/Konzepte verwendet, und erklären, welche Rollejede von ihnen in der Gesamtlösung spielt)? Wenn ich ein Arbeitsbeispiel sehe, bin ich mir sicher, dass es mir helfen wird Verbinden Sie die meisten Punkte.

Edit: Seit ich das Kopfgeld hinzugefügt habe, hatte ich mehrere Antworten, die das Lesen von Büchern nahe legen. Obwohl ich jedes Feedback hier schätze, kann ich mich einfach nicht von 300 Reputationspunkten trennen, um eine Antwort zu erhalten, die im Wesentlichen nachlässt zu "RTM" (vor allem, wenn ich pleite bin und nicht leisten kann das Handbuch!) Um es noch einmal zu wiederholen, wird die Prämie und die endgültige Antwort an jemanden gehen, der alle diese Kugeln in einer sinnvollen Weise treffen kann. Ein praktisches Beispiel: Dies muss kein Middleware-Kompendium sein.)Nur ein oder zwei Abschnitte, die zeigen, wie alle diese Komponenten zusammen verwendet werden können, um eine Java-Business-Tier-Lösung zu erstellen. Nochmals vielen Dank.

30
IAmYourFaja

SOA-Hauptprinzipien: Erstellen Sie Systeme als Service-Set, bei dem sich jeder Service befindet

  • Grobkörnig
  • Interoperabel
  • Locker verbunden

Ein Unternehmen bietet eine Vielzahl von Unternehmensdienstleistungen (grobkörnig) an, die über viele Jahre hinweg entwickelt wurden und in irgendeiner Form den Benutzern (menschlichen oder anderen Systemen) ausgesetzt sind. Es gibt mehr Chancen, dass jede dieser Funktionen entworfen und entwickelt wurde, wobei die drei oben genannten Prinzipien nicht berücksichtigt wurden. Außerdem kann jede dieser Funktionen auf unterschiedlichen heterogenen Plattformen mit unterschiedlichen Technologien usw. ausgeführt werden.

Was ist, wenn Sie diese unterschiedlichen Funktionen integrieren möchten, um neue Lösungen zu schaffen (z. B. ist Amazon Store Front ein neuer Service, der aus dem Katalogservice, dem Warenkorbservice usw. besteht)?

Sie haben zwei Möglichkeiten: 

  1. Aufbau der neuen Funktion von Grund auf, unter Berücksichtigung der 3 Prinzipien. Aber es ist ein sehr kostspieliges Unterfangen, das fast nie erfolgreich ist. 
  2. Eine effektive und weniger riskante Alternative besteht darin, sie aus vorhandenen, bewährten (gut getesteten) Diensten zusammenzustellen. 

Option 2 ist, wo ESBs mit ihrer Unterstützung für Routing, Transformation, Überwachung usw. helfen können.Apache Camel , Mulesind Open-Source-ESBs. Endpunkte und Routen sind die in EIP ( Enterprise Integration Patterns ) verwendete Terminologie, die diese ESBs implementieren. ESBs können auf MOMs ( Message-Oriented-Middleware ) zurückgreifen, wenn Dienste auf heterogenen Plattformen ausgeführt werden sollen (z. B. wird der Katalogdienst auf einem Mainframe-System ausgeführt.) Der Warenkorb ist jedoch mit stateful EJBs implementiert, das auf einem Java-Anwendungsserver ausgeführt wird. Message queue ist ein Konzept in MOM, das eine temporäre Speicherung der Nachricht zwischen Sender und Empfänger vornimmt. Dieser temporäre Speicher bietet viele Vorteile wie asynchrone Zustellung, garantierte Zustellung usw. Es gibt verschiedene MOM-Anbieter wie IBM (WebSphere MQ), Open-Source ActiveMQ usw. Wir könnenJMSverwenden. um Ihren Code unabhängig vom Anbieter zu halten.

Ich habe versucht, alle Konzepte mit einem Beispiel in Verbindung zu bringen. Ich habe auch versucht, es kurz zu halten. Bitte Fragen Sie nach, um mehr Verständnis zu erlangen.

MOM ist keine Voraussetzung für die Implementierung von SOA. Für z. Wenn alle Ihre Services über SOAP über HTTP verfügbar sind, benötigen Sie in diesem Fall kein MOM.

20

Java-Klassen/Beispiel für jeden Techniker. Möglicherweise ist dies in einem einzigen Beitrag nicht möglich, da die Evolution-Industrie in den letzten zehn Jahren durchlaufen wurde und sich immer noch weiterentwickelt. Was in den letzten zehn Jahren passiert ist, kann nicht in einem Beitrag behandelt werden. Es ist jedoch gut zu verstehen, wie es diese Phase durchlaufen hat und warum ein neuer Technologie-Stack erforderlich ist und welche Art von Problem dadurch gelöst wird.

  • EJBs Server-Komponentenarchitektur für Enterprise-Java-Beans. Es ermöglicht eine schnelle und vereinfachte Entwicklung von

    1) verteilt (wo mehrere Anwendungsserver miteinander kommunizieren, Serverkomponenten (z. B. Dienst, der einen anderen Dienst anruft, der auf einem anderen Server gehostet ist).

    2) Transaktions-Persistenz-Bean (DB TXNs), der wichtigste Teil jeder einfachen/Web-/verteilten Anwendung. Einfache Entwicklung, z. B. Konfigurationsbasis. Schreiben Sie XML, das sich um die Transaktion kümmert, z. wann festzuschreiben, wann zurückgesetzt werden soll (Ausnahmen) usw. JPA-Java-Persistance-APIs bieten eine Zuordnung von Objektbeziehungen. Beispielsweise wird Ihre Tabellenzeile über die XML-Konfiguration Ihrem Java-Objekt zugeordnet.

    3) Secure - Authentifizierung (uid/pwd) und Autorisierung (rollenbasiert - wer ist der Benutzer und welche Aufgabe kann er ausführen?).

Das sieht an einem Punkt gut aus, um eine Unternehmensanwendung zu entwickeln, jedoch hat sie einige Nachteile, z. Es ist sehr schwer (alle Gläser enthalten.). Klassen, die als Bean verwendet werden, sollten den EJB-Standards entsprechen (Klassen sollten eine bestimmte Schnittstelle für die EJB-Engine implementiert haben, um zu verstehen, um welche Art von Bean es sich handelt). 

Um solche Szenarien zu überwinden, gibt es in der Industrie viele Alternativen für EJBs, z. B. führt Hibrnate die gleichen Dinge aus, wie beispielsweise OR Mapping und TXN, die dasselbe wie von Persistance Bean in EJB bereitgestellt werden. Spring, leichtes Rahmenwerk und vereinfacht die Geschäftslogik (Sie können Ihre bereits erstellte Klasse verwenden, die keine Schnittstelle implementieren muss, geprüfte Ausnahmen oder erweitert einige der obligatorischen abstrakten Klassen).

Nun, ein paar Tage, arbeiten die meisten Firmen auf dem leichten Rahmen wie Spring, Hibernate, IBatis, Axis-2.

  • Serviceorientierte Architektur (SOA) Serviceorientierte Architektur ist eine Antwort auf die Plattformunabhängigkeit auf Unternehmensebene. ODER Um Ihre Anwendung schneller zu integrieren, können Sie zwischen verschiedenen Anwendungsservern kommunizieren.

    Stellen Sie sich vor, Sie möchten eine Lösung implementieren, bei der Sie Hotelbuchungen auf der ganzen Welt anbieten können. Ihre Anforderung ist es, die Verfügbarkeit der Zimmer in diesen Hotels zu überprüfen. Jetzt müssen Sie mit mehreren Hotelanwendungen gleichzeitig interagieren. Es ist nicht notwendig, dass jedes Hotel denselben Standard verwendet oder dass seine Anwendung (Server, Programmiersprache) auf den verschiedenen Anwendungsservern bereitgestellt wird. Gleichzeitig ist es nicht praktikabel, verschiedene Anwendungen zu schreiben, die mit allen verschiedenen Typen des Anwendungsservers kommunizieren können. Wir brauchen eine standardbasierte Lösung, die dieses Problem lösen kann. Es ist über die Webdienste möglich. 

Dies ist möglich, da Web-Services basierend auf XML eine Nachricht im SOAP-Protokoll (Simple Object Access Protocol) senden. XML wird verwendet, um Daten über beliebige Sprachen, Plattformen oder Netzwerkprotokolle auszutauschen.

Web-Services können in SOAP Based und REST klassifiziert werden. SOAP-basierter Service JAX-RPC und JAX-WS ( http://www.ibm.com/) developerworks/webservices/library/ws-tip-jaxwsrpc/index.html )

Webservices können entwickelt werden Vertrag zuerst - Schreiben Sie zuerst WSDL. Code zuerst - Schreiben Sie zuerst Code.

Lassen Sie uns nun darüber sprechen, wie Sie praktisch mit den Web-Services beginnen können. 

Einfachste Webservices oder Hello World (JAXWS) können wie folgt geschrieben werden: - http://svn.Apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/Java_first_jaxws/

  • Message-Oriented Middleware (MOM)
  • JMS
  • Message Queue (Punkt-zu-Punkt)

    MOM muss die Nachteile der Kommunikation im Request-Response-Stil überwinden. Server muss am Leben sein, wenn der Client eine Antwort sendet. Client wartet auf Antwort, bis der Server ausgeführt wird, und antwortet zurück.

    Anforderungsantwort - Anwendung schlägt fehl, wenn Server oder Client ausgefallen sind. MOM - Einer der Endpunkte muss nicht rechtzeitig sein, wenn Sie die Anforderungsnachricht für die Verarbeitung senden.

    MOM ist Konzept und JMS ist die Spezifikation dieses Konzepts. Viele Hersteller verfügen über eine Implementierung dieser Spezifikation, z. B. hat IBM MQ, OpenJMS Open Source-Implementierung, EMS von Tibco usw.

Die JMS-Spezifikation hat hauptsächlich zwei Muster. Pub/Sub und Ponin-zu-Punkt.

Pub/sub ist ein Thema, mit dem Ihre Anwendung bestimmte Informationen an alle interessierten Parteien veröffentlichen möchte. z.B. Instrumententafel. (Die Aktienanwendung möchte eine bestimmte Nachricht an alle registrierten Listener senden).

Punkt-zu-Punkt Die Kommunikation erfolgt über die Nachrichtenwarteschlange. 

Geschäftsanwendungsfall: Denken Sie, dass Sie eine Anwendung haben, z. B. eine Kundenanfrage an die Kundenbetreuung. Andere Seite Sie haben mehrere Kundendienstmitarbeiter und andere Nebenkunden, manchmal mehr als Kundenbetreuer. Zu einem Zeitpunkt wird nur ein einziger Vertreter die Anforderung zur Bearbeitung erhalten, und er/sie wird erst nach Abschluss der Aufgabe die nächste Anforderung erhalten. (Die gleiche Warteschlange mit mehreren Fenstern und das jeweils freie Fenster wird die Anforderung verarbeiten.) Sie können sich eine andere Komplexität vorstellen, z. B. was passiert, wenn ein Knoten ausgefallen ist, die Anforderung nicht verarbeitet wird und ein bestimmter Anforderungstyp von einem bestimmten Knoten verarbeitet werden muss. usw.

Produktcode: - http://docs.Oracle.com/javaee/1.4/tutorial/examples/jms/simple/src/SimpleProducer.Java

Synchroner Code für den Consumer: - (POJO-Klassen) http://docs.Oracle.com/javaee/1.4/tutorial/examples/jms/simple/src/SimpleSynchConsumer.Java

http://www.Java2s.com/Code/Java/J2EE/Dieses Beispiel ist einfach JMSclientapplication.htm

Asynchronen Code verbrauchen: - (Spring by example - liest die Nachricht vom Ziel, bis das Programm nicht angehalten wird.) http://www.springbyexample.org/examples/simple-spring-jms-listener-config .html

Obwohl es nur grundlegend ist, gibt es viele Aspekte, die in dieser MOM behandelt werden müssen, z. Was ist ein Failover-Mechanismus, ein Selektor, eine dauerhafte Nachricht, ein Nachrichtenbestätigungsmodus usw.?.

  • Service Bus/ESB
  • Endpunkte und Routen
  • Apache Kamel
  • Maultier

Nehmen wir an, Sie haben SOA und MOM vor langer Zeit übernommen, und Sie haben eine Reihe von Diensten, die miteinander sprechen, um unternehmensweite Aufgaben zu erfüllen. Stellen Sie sich vor, Sie verwalten eine Logik, z. B. mehrere Ziele, die von dort aus umgeleitet werden sollen, wird sehr umständlich. Einige Leute nennen diese Anwendungslogik. Service-Busse werden verwendet, um die Anwendungslogik zu reduzieren und sich mehr auf die Geschäftslogik (Funktionalität, die von der App bereitgestellt wird) zu konzentrieren.

Betrachten Sie in einfachen Worten Endpoint als URL, die auf dem Server angezeigt wird. Sie verwenden diesen URL/Endpunkt, um Ihren Dienst aufzurufen.

z. B. http: // localhost: 8888/Context/MyService? wsdl

in Code:-

    String endpointAddress = "http://localhost:8080/jaxws/services/hello_world?wsdl";

    // Add a port to the Service
    service.addPort(PORT_NAME, SOAPBinding.SOAP11HTTP_BINDING, endpointAddress);

    HelloWorld hw = service.getPort(HelloWorld.class);
    System.out.println(hw.sayHi("World"));

Routen Wenn der Servicebus eine bestimmte Nachricht empfängt, wird er durch keine Services/Broker-Ziele wie Warteschlange/Themen geleitet. Dieser Pfad wird als Route bezeichnet.

Zum Beispiel hat Ihr Aktienantrag einige Informationen vom Analysten erhalten, er wird über die Anwendung/Webkomponente verarbeitet und das Ergebnis wird dann allen interessierten/registrierten Mitgliedern für ein bestimmtes Aktienupdate zur Verfügung gestellt.

Apache Camel und Muel http://camel.Apache.org/how-does-camel-compare-to-mule.html Bietet eine Lösung für die Unternehmensintegration.

10
neo

Enterprise Integration Patterns kann Ihnen helfen zu verstehen, wie alles zusammenpasst.

[Update:] Durch Ihre Anschlussfrage zu einer anderen Antwort wurde mir klar, dass Sie über bestimmte Produkte verwirrt sind. Das liegt zum einen daran, dass Software in der Praxis mehr als einem Konzept entspricht, und zum anderen, weil verschiedene Unternehmen argumentieren, dass sie "alles" anbieten, obwohl sie dies nicht tun.

Die ESBs sind Toolkits/Bibliotheken, mit denen Sie alles miteinander verbinden können. Sie sind weder die Dienste selbst noch die Messaging-Implementierungen, sondern der Witz, der die kleinen Zwischenräume füllt. Wenn Sie alles von Grund auf neu schreiben, benötigen Sie möglicherweise nicht einmal eines, denn das Beste daran ist, das Missverhältnis zwischen einem ganzen Stapel unterschiedlicher Technologien zu beheben. Wenn Sie bei Null anfangen, können Sie dieses Chaos vermeiden.

Die Dienstleistungen sind gut die Dienstleistungen. Sie können einige EJBs verwenden, wenn Sie einen implementieren (ich erwähne dies nur, weil Sie sie aus irgendeinem Grund in Ihre Frage aufnehmen).

Die Messaging-Middleware ist eine Software, die Nachrichten von A nach B sendet. Das ist äußerst nützlich, aber auch komplex, und jeder und sein Bruder haben ihre eigene erfunden. Sie brauchen also eine Abstraktion, die das Einrasten verhindert. Das kann ein ESB sein oder, wenn Sie ganz Java sind, kann es auch JMS sein. Aber selbst wenn Sie nur Java mit JMS verwenden, möchten Sie möglicherweise einen ESB verwenden, da es sich um Bibliotheken mit allen Bits des Java-Codes handelt, die Sie noch schreiben müssen (zufällige Bits der Routing-Logik, Neuformatierung von Nachrichten usw.).

Hoffentlich hilft das. Meine ursprüngliche Antwort bezieht sich mehr auf die abstrakten Muster, die Sie mit diesen Werkzeugen erstellen - wenn Sie die Dinge miteinander verbinden, treten immer wieder dieselben Probleme auf.

5
andrew cooke

Endpunkte und Routen: Woher kommen die Informationen und gehen zu. Message Queue ist eine Art Endpunkt. Der andere Typ ist ein Nachrichtenthema.

Ein Endpunkt ist ein "logischer Name für eine Sache", z. PRICE.MSFT, das von einem Publisher oder einer Consumer-Anwendung zum Abrufen oder Senden von Dingen verwendet wird. Themen liefern Informationen an alle Abonnenten (Eins-zu-Eins oder Eins-zu-Viele), Warteschlangen liefern Nachrichten an die erste, die sie erhält (normalerweise Eins-Zu-Eins). Vergessen Sie Warteschlangen, alles kann auch mit Topics erledigt werden, und Topics haben mehrere Vorteile.

Message-Oriented Middleware (MOM): Die Software-Infrastruktur, die Informationen zwischen Themen oder Queus bereitstellt. Es ist 'nachrichtenorientiert' und nicht 'paketorientiert' wie TCP ist. Jeder Informations-Blob wird also in einer hoffentlich selbstbeschreibenden Nachricht übermittelt. Die Implementierung Ihres MOM gibt Ihnen dann eine API, mit der Sie Dinge wie msg.get ("bid") ausführen können.

JMS und AMQP sind Beispiele für eine MOM-Spezifikation. MOM-Implementierungen sind die eigentlichen Produkte, die diese Spezifikationen implementieren: TIBCO EMS, Websphere MQ, MSMQ, Solace und viele andere

Apache Camel - ein sehr interessanter Ansatz zur Konfiguration von Workflows in dieser MOM-Welt. Aber ein fortgeschritteneres Konzept.

Serviceorientierte Architektur (SOA), Service Bus/ESB sind nur neue Schlagworte für das, was früher EAI (Enterprise Application Integration) genannt wurde. Dies sind Empfehlungen zur Verwendung von MOMs und eine Methode, um hochpreisige Berater zu bezahlen. Was 'ESB' zu einem MOM hinzufügt, ist die Vorstellung, dass Ihre Verleger als 'Dienste' betrachtet werden, die einen Dienst bereitstellen. Mit anderen Worten: Denken Sie nicht zu viel darüber nach, was ein Verbraucher gerade will. In der Zukunft könnte es fünf Verbraucher geben, und der Herausgeber sollte einen Dienst bereitstellen und nicht "Informationen erstellen, die Verbraucher A wünscht". (Es wird klarer, wenn Ihre Architektur auf mehr als 5 Anwendungen angewachsen ist). Sie sollten auch ein gemeinsames Objektmodell haben, möglicherweise in XML, um die einzelnen Anwendungen zu vereinfachen.

Mule - eine Form von ESB, aber es ist nicht genau der Hauptstrom. In 5 Jahren wurden die meisten Middleware-Aktionen möglicherweise vollständig auf AMQP oder etwas anderes verschoben. 

EJBs: Suns Vorstellung von anspruchsvollen Java-Klassen, die in einem Container ausgeführt werden. Angeblich, um die Anwendungsentwicklung zu erleichtern. In vielen Fällen wurden die Dinge jedoch komplexer. Eine bessere Alternative wäre "Frühling" - aber bei EJB geht es um etwas anderes (nicht nur um MOM). Es geht mehr darum, größere Anwendungen zu entwickeln (siehe IoC-Muster).

Wenn Sie suchen, wo Sie anfangen sollen: Ich würde es empfehlen, etwas über JMS zu lernen (alle anderen MOMs sind ähnlich und JMS ist die Basis von EJBs/Mule, ...), und wenn Sie nicht über extrem hohe Leistungsanforderungen verfügen, betrachten Sie Nachrichten als eine TextMessage, die XML enthält. Die meisten Tools sind in diesem Bereich verfügbar. Oder noch einfacher, aber weniger ausgefeilt, eine MapMessage mit Schlüssel/Wert-Paaren.

3
Axel Podehl

Ich habe alle Ihre Anforderungen zusammengetragen und in eine Abfrage verpackt. Ich habe eine Fallstudie excellent gefunden, die Ihren Anforderungen entsprechen sollte:

Ich ging weiter und durchsuchte das Buch mit Volltextsuche mit der "Search Inside This Book" -Funktion von Amazon. Es deckt alle Integrationsfälle ab, die Sie besprochen haben, scheint gründlich zu sein und führt Sie durch den gesamten Entwurfs- und Implementierungsprozess.

Es ist mir peinlich zu sagen, dass ich das nicht gelesen habe selbst , aber ich empfehle dringend, die gleichen Tools zu verwenden wie ich, um zu sehen, ob es Ihren Anforderungen entspricht, bevor Sie in eine Kopie investieren. Es scheint gründlicher, vollständiger und hilfreicher zu sein, als Ihnen einfach eine ganze Menge unvollständiger Dokumentation vorzuschieben oder Inhalte hier zu einer Antwort herauszuholen.

1
MrGomez

Sie mischen verschiedene Konzepte und Technologien mit unterschiedlichen Abstraktionsstufen. Alle Ihre Konzepte haben jedoch mit der Integration von (Unternehmens-) Anwendungen zu tun. Ich werde versuchen, Ihre Definitionen zu kommentieren:

  • Serviceorientierte Architektur (SOA)
    SOA stellt eine Reihe von Prinzipien und Methoden bereit, um vorhandene Anwendungen als lose gekoppelte Einheiten zu integrieren. Aus den Enterprise Integration Patterns (siehe unten): " SOAs verwischen die Grenze zwischen Integration und verteilten Anwendungen ".
  • Service Bus/ESB
    Der ESB ist ein Hauptkonzept von SOA, um die Abhängigkeiten innerhalb der Anwendungen in einer SOA zu reduzieren. Anstelle vieler Abhängigkeiten zwischen den Anwendungen ist jede Anwendung mit dem ESB verbunden.
  • Message-Oriented Middleware (MOM)
    MOM ist eine Infrastruktur zum Senden und Empfangen von Nachrichten zwischen verteilten Systemen. Dies wird verwendet, um Anwendungen zu integrieren. MOM war der goldene Hammer, bevor der SOA-Hype aufkam. Da beide von Nutzen sind, bieten große Integrationssuites sowohl ESB als auch MOM (oder verwenden MOM in ihrem ESB).
  • Message Queue
    Eine Nachrichtenwarteschlange ist nur ein technischer Detailaspekt in der MOM-Architektur. Wenn das Senden und Empfangen von Nachrichten entkoppelt ist, werden Nachrichten in Warteschlangen gespeichert, bis der Empfänger bereit ist.
  • Apache Kamel
    Als das Buch Enterprise Integration Patterns: Entwerfen, Erstellen und Bereitstellen von Messaging-Lösungen auf den Markt kam, wurden einige Softwarelösungen entwickelt, die die Implementierung der Muster in diesem Buch ermöglichen. Apache Camel ist einer von ihnen. Kamel ist auch ein Teil von Apache ServiceMix, einem Open-Source-ESB. FuseSource und Talend enthalten Apache ServiceMix, Apache Camel und Apache Active MQ (MOM) zu Paketen mit kommerzieller Unterstützung.
  • Maultier
    Mule ist auch eine Open Source-Plattform für ESB und Integration.
  • EJBs
    Von Wikipedia: Enterprise JavaBeans (EJB) ist eine verwaltete serverseitige Komponentenarchitektur für den modularen Aufbau von Unternehmensanwendungen. Dies bedeutet, dass EJB eine Komponente innerhalb einer Anwendung ist und in erster Linie nichts mit der Integration von Anwendungen zu tun hat.
  • Endpunkte und Routen
    Wenn Sie mit Apache Camel arbeiten, entwerfen Sie Routen zwischen Endpunkten, siehe Tutorial . Kurz gesagt, Nachrichten treten über Endpunkte in Ihr System ein bzw. aus diesem aus und werden in einem durch eine Route definierten Fluss verarbeitet.
  • JMS
    JMS oder Java Message Service ist eine nachrichtenorientierte Middleware (MOM) mit einer standardisierten Java-API.
1
ChrLipp

Enterprise Application Integration (EAI) ist der Schlüssel zum Verbinden von Geschäftsanwendungen mit heterogenen Systemen. Im Laufe der Jahre haben Architekten von Integrationslösungen auf unterschiedliche Weise ihre eigene Mustermischung entwickelt. Die meisten dieser Architekturen weisen jedoch Ähnlichkeiten auf und initiieren allgemein anerkannte Standards für die Architektur von Integrationsmustern. Die meisten dieser Standards sind im Katalog für Enterprise Integration Patterns beschrieben: http://www.eaipatterns.com/toc.html .

WSO2 ESB

WSO2 Enterprise Service Bus (ESB) 4.7.0 Dokumentation! WSO2 ESB ist ein schnelles, leichtes, 100% Open Source und benutzerfreundliches ESB, das unter der Apache Software License v2.0 vertrieben wird. Mit WSO2 ESB können Systemadministratoren und Entwickler das Nachrichtenrouting, die Mediation, die Umwandlung, die Protokollierung, die Taskplanung, das Failover, die Lastverteilung und vieles mehr bequem konfigurieren. Es unterstützt die am häufigsten verwendeten Enterprise Integration Patterns (EIPs) und ermöglicht Transportumschaltung, Ereignisse, regelbasierte Mediation und prioritätsbasierte Mediation für erweiterte Integrationsanforderungen. Die ESB-Laufzeit ist vollständig asynchron, nicht blockierend und basiert auf dem Apache Synapse-Mediationsmodul.