The answer to the question and the title of this blog is: quite a lot. On the other hand, certain things are still the same. Let me explain this.
Die Antwort auf die Frage und den Titel dieses Blogs lautet: ziemlich viel. Andererseits sind bestimmte Dinge immer noch die gleichen. Lassen Sie mich das erklären.
Ein paar Jahre lang bot WSO2 den WSO2 Enterprise Service Bus (ESB) als Kernkomponente im Mediations-/Transformations-Teil Ihrer SOA-Landschaft an. Der ESB hat sich in den Enterprise Integrator verwandelt, ein gebündeltes Produkt, welches nicht nur den Enterprise Service Bus umfasst, sondern auch den Data Services Server und einige andere Produkte, die damit gebündelt wurden, wie zum Beispiel das Business Process Server Profil, das Message Broker Profil und das Analytics Profil.
Der Vollständigkeit halber sollten wir auch das Microservices-Framework für Java, ein Spring-Boot-ähnliches Äquivalent zum Aufbau von Microservices und sogar den Business Rules Server in den Mix aufnehmen. Und vergessen wir nicht das Integration Studio, die kürzlich überarbeitete IDE für den Enterprise Integrator.
Der Enterprise Integrator unterschied sich funktional nicht wesentlich vom Enterprise Service Bus. Selbstverständlich wurde er durch die Produktbündelung zu einer leistungsfähigeren Engine, aber es laufen immer noch die Synapse- und Axis2-Frameworks, die das Herzstück des Enterprise Service Bus seit seiner ursprünglichen Entwicklung waren.
Der neue new WSO2 Enterprise Integrator 7.0.0 ist jedoch anders.
Was steckt hinter dem Namen?
Die neue Version des Enterprise Integrators ist wieder eine Zusammenführung von Produkten, jetzt aber auf eine deutlich andere Art und Weise. Es ist kein Message Broker oder Business Process Server Profil mehr im Paket enthalten. Enterprise Integrator 7.0.0 besteht im Wesentlichen aus drei separaten Bestandteilen, die einzeln heruntergeladen werden können und Ihnen eine Kombination aus neuen und bekannten Tools für die Verarbeitung von Mediation und Transformation, die Entwicklung von Microservices und die Verarbeitung von kontinuierlichen Datenströmen bieten. Alle drei sind für containerisierte Zielplattformen optimiert.
Die drei separaten Komponenten heißen:
- Micro Integrator
- Ballerina Integrator
- Streaming Integrator
Schauen wir uns die einzelnen Bestandteile einmal genauer an.
Micro Integrator
Der Micro Integrator ist nicht neu, wir kennen diese leichtgewichtige Version des Enterprise Integrators bereits seit der Veröffentlichung von WSO2 EI Version 6.3.0. Der Micro Integrator nutzt Synapse und Axis2, verfügt aber nicht über die bekannte Management-Konsole, die wir vom vollwertigen Integrator kennen.
Das heißt, er ist ein separates und anderes Produkt als der alte Enterprise Integrator (Integrator-Profil), da er nicht 100% kompatibel ist. Beispielsweise werden Dienste, die einen der Admin-Dienste verwenden, nicht funktionieren, da sie nicht im Produkt enthalten sind. Auf gewisse Weise macht das Sinn, zumindest wenn Sie sich an die unveränderliche Container-Logik halten. In anderen Worten: Sie sollen nicht einen laufenden Container verwalten, sondern Ihre Änderungen in einer neuen Version des Container-Images implementieren. Von diesen administrativen Unterschieden abgesehen, ähnelt das Produkt in Bezug auf Mediation und Transformation immer noch sehr dem bekannten und vertrauten Enterprise Integrator. Er unterstützt alle Funktionen, die wir von EI kennen, und wir hatten überhaupt keine Probleme, vorhandene Sequenzen auf der neuen Version laufen zu lassen. Aber testen Sie alle Ihre Artefakte, bevor Sie auf die neue Plattform umsteigen.
Der Wegfall der Management-Konsole wird teilweise durch eine Kommandozeilen-Schnittstelle kompensiert, mit der Sie die Synapse-Artefakte in der Micro Integrator-Instanz überwachen können. Die Möglichkeit des Hot Deployments wird jedoch aufgrund der unveränderlichen Container nicht mehr unterstützt. Sie müssen den Micro Integrator einfach absichtlich mit der bereitgestellten CAR-Datei starten. Außerdem ist zu beachten, dass das neue Modell kleinere Integrationsknoten zulässt und nicht mehr alle Integrationen des gesamten Unternehmens auf einem einzigen ESB laufen, sondern dass DevOps-Teams ihre eigene Micro Integrator-Instanz ausführen können. Dies wird Organisationen, die eine DevOps-Arbeitsweise anwenden, sicherlich dabei helfen, ihre Agilität zu verbessern.
Ballerina Integrator
Der Ballerina Integrator ist für Entwickler gedacht, die dezentralisierte Integrationsarchitekturen, Microservices und Cloud-native Apps verwenden; mit ihm lassen sich Integrations-Microservices nach dem Code-First-Integrationsstil erstellen. Die von Ihnen kompilierten Integrationen werden viel kleinere Laufzeiten haben, schneller starten und Nachrichten viel schneller verarbeiten. Und weil die Ballerina-Sprache Turing-komplett ist, sind Sie nicht mehr durch die Verwendung der im Integrator unterstützten Integrationsmuster eingeschränkt.
Das ist eine wesentliche Änderung gegenüber dem konfigurationsbasierten Micro Integrator.
Ballerina Integrator basiert auf der Ballerina-Programmiersprache (ballerina.io), die in den letzten Jahren in einer eigenen Community unter Leitung von WSO2 entwickelt wurde. Sie beruht auf den besten Aspekten anderer Sprachen wie Java, Go, Python, Swift, und so weiter. Der Fokus von Ballerina liegt auf massiv verteilten (Mikro-)Diensten und umfasst erstklassige, Cloud-native Funktionen sowie ein grafisches Sequenzdiagramm-Tool. Es unterstützt Sie dabei, Ihre Systeme als eine Sammlung von Komponenten zu organisieren, die Nachrichten austauschen. Genau das ist es, worauf das Cloud-native Computing-Modell hinausläuft. Es ist also kein Zufall, dass Ballerina so gut auf Cloud Native Computing abgestimmt ist. Und tatsächlich unterstützt es auch Serverless Computing vollständig. In der Tat ist es eine der wenigen Sprachen, die auf AWS Lambda unterstützt werden.
Ballerina arbeitet mit Bibliotheken, die eingebunden werden können, um spezifische Funktionalität zu bieten, einschließlich der Verbindung zu Cloud-basierten Diensten und gängigen Integrationsmustern, einschließlich verteilter Transaktionen, Kompensation und Unterbrecher. Außerdem unterstützt es die Konnektoren und Adaptoren, die wir alle am traditionellen Integrator geliebt haben. Ballerina Central stellt eine umfangreiche und wachsende Quelle für diese zur Verfügung.
Sowohl JSON als auch XML sind in Ballerina native Datentypen, auch bekannt als Bürger erster Klasse. Es war noch nie so einfach, Funktionen und Dienste aufzurufen, die diese Datentypen zurückgeben. Zur weiteren Unterstützung der verteilten Architektur geht Ballerina davon aus, dass bei jedem Aufruf über das Netzwerk ein Fehler auftreten kann, wodurch die Fehlerbehandlung vereinfacht wird. Mit Ballerina werden wichtige Sprachkonstrukte wie Service-Endpunkte, netzwerkfähige Datentypen, Konnektoren und Worker mitgeliefert, die es einfach und effektiv machen, robuste Integrationen über Netzwerk-Endpunkte zu erstellen.
Für Entwickler wird das Arbeiten mit Ballerina eine Umstellung im Vergleich zum Micro Integrator sein. Wir werden wieder Code schreiben, auf der (Integrations-)Infrastruktur als Code-Welle surfen, aber auch leistungsstarke Bibliotheken verwenden, um das Integrationsrad nicht neu zu erfinden.
Streaming integrator
Integrationsteams haben zwangsläufig die Aufgabe, Ereignisse und Streaming-Daten zu integrieren, was oft eine komplexe Verarbeitung und Ereignisauslösung erfordert – oder noch schlimmer, sich mit Rohdaten zu beschäftigen. Diese Form des Daten-Streamings ist nicht neu für WSO2. Sie steckt hinter den Analytics-Engines, die mit dem Enterprise Integrator, dem Identity Server und dem API Manager verwendet werden, ebenso wie hinter dem Drosselungsmechanismus, der im API Manager eingesetzt wird. Der Streaming Integrator kann aber auch verwendet werden, um mehr geschäftsbezogene Daten zu erfassen, als die eher technischen Daten im Analytics-Produkt. Er nutzt eine leistungsfähige Abfragesprache namens Siddhi, die es ihm ermöglicht, Daten zu erfassen, zu analysieren und auszugeben.
Er kann Ereignisströme verarbeiten, die eine große Menge an Daten enthalten, welche sich mit hoher Geschwindigkeit bewegen, und die Datenquellen/Ziele können in Bezug auf Protokolle, Datenformate usw. unterschiedlich sein. Der Streaming Integrator ermöglicht Ihnen eine kontinuierliche Abfrage über Zeiträume, manchmal auch Buckets genannt. Wenn Sie z.B. einen Alarm auslösen möchten, wenn in jedem Bucket von einer Minute über die letzten fünf Minuten ein bestimmtes Gerät nicht nach Hause telefoniert hat, ist der Streaming Integrator Ihr Freund.
Streaming Integrator unterstützt die reibungslose Integration mit Micro Integrator und Ballerina Integrator, zum Beispiel um ein im Streaming Integrator ausgelöstes Ereignis weiterzuverfolgen. Wie zu erwarten, ist er voll kompatibel mit den wichtigsten Streaming-Messaging-Systemen wie Kafka und NATS. Daten können aus den wichtigsten Datenbanken extrahiert und sogar Daten in Cloud-Speicher integriert werden. Und es läuft fröhlich in einem Container.
Zusammenfassung
Das neue EI 7.0.0 ist eine Sammlung von drei Produkten, die es Ihnen ermöglichen, Microservices in Ihre IT-Landschaft zu integrieren, und zwar unabhängig davon, ob diese traditionell auf Synapse / AXiS2 oder auf der neuen Ballerina-Plattform basieren. Damit können API-zentrierte Integrationsteams APIs, Daten, Streams, SaaS und Legacy-Apps miteinander verbinden.
Micro Integrator und Ballerina Integrator bieten zwei unterschiedliche Integrationsansätze (konfigurationsgetrieben vs. codegetrieben) und ein Integrationsanwender kann entscheiden, welcher Ansatz der beste ist. Und schließlich gibt es noch den Streaming Integrator für jeden Integrationsanwendungsfall, der die Verarbeitung eines Stroms von Ereignissen erfordert.
Streaming Integrator (SI) ist ein leichtgewichtiger Stream-Prozessor, der Streaming-SQL-Abfragen versteht, um Ereignisse in Echtzeit zu erfassen, zu analysieren, zu verarbeiten und darauf zu reagieren.
Dies war eine High-Level-Übersicht über das Produkt, ohne einen detaillierten Blick auf jede einzelne Komponente zu werfen. Wir glauben, dass es für die Zukunft positioniert ist, in der Microservices und Integrationen, die auf traditioneller ESB-Funktionalität basieren, koexistieren werden. Diese Koexistenz kann ziemlich umfangreich sein, wenn Sie stark in eine Integration im SOA-Stil investiert haben. Andernfalls gibt es wenig bis gar nichts, was der Micro Integrator bringt, was nicht auch im Ballerina Integrator unterstützt wird (wenn auch in diesem Stadium etwas experimentell).
Enterprise Integrator (EI) 7.0.0 ist ein separates Produkt, das mit dem Produkt EI 6.x.x koexistieren wird, von dem noch in diesem Jahr eine neue Version (EI 6.6.0) erwartet wird. Für Kunden, die derzeit EI verwenden, ist dies einfach eine Fortsetzung des monolithischeren EI. Sollten Sie an Integrator Analytics interessiert sein, dann ist es gut zu wissen, dass das Analytics-Profil in EI 6.5 nahtlos in Kombination mit dem EI 7.0 Micro Integrator verwendet werden kann. EI 7.0.0 unterscheidet sich deutlich von EI 6.x.x, aber es besteht keine dringende Notwendigkeit, auf EI 7.0.0 umzusteigen, da die bestehenden Produkte für die nächsten Jahre unterstützt werden. Wenn Sie allerdings in Erwägung ziehen, eine eigene Cloud aufzubauen oder eine Public Cloud zu übernehmen, um Ihren zukünftigen Betrieb zu hosten, werden Sie mit dieser neuen Produktlinie zufrieden sein. Erst recht, wenn Sie eine DevOps-Arbeitsweise bevorzugen.
Wir bei Yenlo sind immer sehr begeistert, wenn wir helfen, die Zukunft zu verwirklichen. Besonders gut gefallen uns diese Innovationen, da sie uns eine produktivere Arbeitsweise ermöglichen. Eine Arbeitsweise, die zu einer agilen Organisation passt und die digitale Transformation vorantreibt. Daher wäre es uns eine Ehre, Sie auf Ihrer Reise der Transformation zu begleiten. Fragen Sie uns einfach.