fb
WSO2 Enterprise Integrator 8 Minuten

Mit Samples im WSO2 Enterprise Integrator arbeiten

Rob Blaauboer
Rob Blaauboer
Integration Consultant & WSO2 Trainer
Blog Sampling in WSO2
Scrollen

Ein altes Sprichwort besagt: „Erfinde das Rad nicht neu“. Das bedeutet, dass Sie nicht etwas erfinden müssen, das bereits existiert. Wenn Sie beginnen, mit dem WSO2 Enterprise Integrator zu arbeiten, müssen Sie genau dies im Hinterkopf behalten. Der Enterprise Integrator wird mit einer Vielzahl von Beispielen sowohl für die ESB-Funktionalität als auch für die anderen Produkte, die mit ihm verbunden sind, wie den Business Processor, bereitgestellt.

Samples Galore

In einem Blog, den ich zuvor über Enterprise Integration Patterns geschrieben habe, haben wir gesehen, dass diese auch von Beispielen im WSO2 Enterprise Integrator begleitet werden. 

Allerdings handelt es sich bei diesen Beispielen für die Enterprise Integration um standardisierte Anwendungsfälle, denen alle Unternehmen regelmäßig begegnen. Beispielsweise das inhaltsbasierte Routing und der Dead Letter Channel. Das sind sehr vertraute Beispiele für jeden, der im Bereich der Integration arbeitet. Die Samples, die mit den Produkten gebündelt sind, sind in einigen Fällen sehr spezifisch. Die Muster für die Unternehmensintegration hingegen sind natürlich allgemeiner gehalten. Allerdings gibt es einen speziellen Teil der WSO2-Dokumentation, in dem das generische Muster auf eine spezifische WSO2-Konfiguration übertragen wird. 

Aber es gibt noch mehr! Die Samples, die die Fähigkeiten des ESBs zeigen. Diese sind Teil des heruntergeladenen Zip und können im Unterverzeichnis /samples gefunden werden.

WSO2 Enterprise Integrator samples 1

Man sollte auch betonen, dass es sich hierbei um Beispiele handelt und dass Sie diese übernehmen, verändern oder nach Ihrem Geschmack optimieren können. Wie ich schon oft gesagt habe, es gibt immer einen anderen Weg, Dinge zu tun. Und das gilt auch für die Beispiele in diesem Blog. 

WSO2 Micro Integrator anstelle von Enterprise Integrator?

Ich werde Ihnen zeigen, wie Sie auf dem Enterprise Integrator mit diesen Beispielen arbeiten. Wieso nicht auf dem Micro Integrator? Der Micro Integrator ist etwas anders, obwohl er die gleiche Technologie nutzt. Der Micro Integrator ist eine abgespeckte Version des Enterprise Integrators, dem zusätzliche Dinge fehlen, wie zum Beispiel der Message Broker und der Business Process Server. Außerdem verfügt er nicht über eine Management-Oberfläche wie Enterprise-Integratoren. Daher sollte es als ein anderes Produkt betrachtet werden. Und die Beispiele sind auch nicht vorhanden. Wenn Sie Beispiele mit einem Micro Integrator verwenden möchten, laden Sie also einfach den Enterprise Integrator herunter und sehen Sie sich die Beispiele an. 

Um die Beispiele verwenden zu können, müssen wir sie im Enterprise Integrator bereitstellen. In vorherigen Versionen des Enterprise Integrators konnten wir das Produkt einfach in einer Beispielkonfiguration starten, aber die aktuelle Version (6.6.0) bietet diese Möglichkeit nicht. 

Was brauchen wir?

Also, was müssen wir tun? Also, ich verwende Integration Studio, um mit diesen Beispielen zu arbeiten. Zu den Beispielen gehören auch Clients, die Sie mit Apache Ant erstellen müssen. Dabei handelt es sich um ein Build-Tool für Java-Anwendungen, ähnlich wie Maven. In den Beispielen ist auch ein eigenständiger Axis2Server enthalten. Apache Axis2™ ist eine Web Services / SOAP / WSDL Engine, die im WSO2 Enterprise Integrator verwendet wird. Sie können Ant von der Apache-Website herunterladen. Installieren Sie es auf Ihrem PC in einem Unterverzeichnis und achten Sie darauf, dass Sie den Speicherort zum Pfad hinzufügen, damit Sie Ant von überall aus aufrufen können.

WSO2 Enterprise Integrator samples 2

Wir konzentrieren uns auf Beispiele, die wir mit Integration Studio und WSO2 Enterprise Integrator verwenden können.

Wenn Sie nicht sicher sind, wie Sie diese beiden Produkte installieren, schauen Sie sich bitte frühere Blogs an, die über die Installation von WSO2-Produkten geschrieben wurden.

Generell benötigen Sie nur die Java-Versionen 8 oder 11 oder OpenJDK oder eine andere neue unterstützte Version. Die vollständige Liste finden Sie hier: https://docs.wso2.com/display/compatibility/Tested+Operating+Systems+and+JDKs

Soweit es um die Arbeit mit dem WSO2 Enterprise Integrator geht, können Sie sich die Zip-Datei aus dem GitHub-Repository herunterladen. Achten Sie auf die Lizenz, die Sie verwenden. Die von der WSO2-Website heruntergeladene Version ist diejenige mit der EULA-Lizenz und kann ohne Lizenz nicht in der Produktion verwendet werden, sie kann aber verwendet werden, um etwas auszuprobieren, wie in diesem Blog.

WSO2 Enterprise Integrator samples 3

Das Verzeichnis auf dem Desktop mit WSO2 Enterprise Integrator und Integration Studio 8. Öffnen Sie das Integration Studio-Verzeichnis und klicken Sie auf das Integration Studio Application-Symbol. 

WSO2 Enterprise Integrator samples 4

Übernehmen Sie den Standard-Arbeitsbereich, wenn Sie das erste Mal mit dem Produkt arbeiten, oder erstellen Sie Ihren eigenen Arbeitsbereich.

WSO2 Enterprise Integrator samples 5

Klicken Sie nach dem Start auf das Symbol, das wie eine Weintraube aussieht.

WSO2 Enterprise Integrator samples 6

Es wird nun in den Modus für die Arbeit mit ESB Graphical Mode gewechselt.

WSO2 Enterprise Integrator samples 7

Fügen wir zunächst einen WSO2 Enterprise Integrator 6.6.0 Server hinzu. Klicken Sie im Menü auf Fenster. 

WSO2 Enterprise Integrator samples 8

Dann auf Ansicht anzeigen und Sonstiges.

WSO2 Enterprise Integrator samples 9

Wenn Sie auf Öffnen klicken, erscheint die Registerkarte Server. Ziehen Sie die Registerkarte „Server“ in das Fenster unter „Erste Schritte“.

WSO2 Enterprise Integrator samples 10

Klicken Sie mit der rechten Maustaste auf einen leeren Platz im Server und wählen Sie Neuer Server.

WSO2 Enterprise Integrator samples 11

Wählen Sie 6.6.0.

WSO2 Enterprise Integrator samples 12

Und klicken Sie auf Weiter. Wechseln Sie zu dem Ort, an dem WSO2 Enterprise Integrator installiert ist, in meinem Fall:

WSO2 Enterprise Integrator samples 13

Klicken Sie auf Fertig stellen. Der Server wird nun hinzugefügt.

Ein Projekt erstellen

Das Beispiel, das ich verwenden werde, ist Sample 150: Introduction to Proxy Services. Der Code ist einfach:

<definitions xmlns="http://ws.apache.org/ns/synapse">
    <proxy name="StockQuoteProxy">
        <target>
            <endpoint>
                <address uri="http://localhost:9000/services/SimpleStockQuoteService"/>
            </endpoint>
            <outSequence>
                <send/>
            </outSequence>
        </target>
        <publishWSDL uri="file:samples/service-bus/resources/proxy/sample_proxy_1.wsdl"/>
    </proxy>
</definitions>

Um dieses Artifact zu erstellen, wird ein Proxy wie oben definiert in einem Integrationsprojekt erstellt und an den WSO2 Enterprise Integrator übermittelt. Die Übersicht der Definitionen stammt aus der ESB-Quellenansicht, die das gesamte Deployment auf dem System zeigt. Allerdings ist diese Ansicht schreibgeschützt, d. h. wir können das Setup nicht ändern, außer durch das Deployment von Artefakten über eine CAR-Datei.

Erstellen Sie ein Integrationsprojekt wie unten und klicken Sie auf Fertig stellen. 

WSO2 Enterprise Integrator samples 14

Erstellen Sie ein neues Proxy mit der benutzerdefinierten Proxy-Vorlage. 

WSO2 Enterprise Integrator samples 15

Verwenden Sie den Namen StockQuoteProxy und klicken Sie auf Fertig stellen.

WSO2 Enterprise Integrator samples 16

Wechseln Sie zum Quellcode und kopieren Sie die <target>-Definition in die Ansicht. Wechseln Sie zur grafischen Ansicht und zurück zum Quellcode, um den folgenden Bildschirm zu sehen.

WSO2 Enterprise Integrator samples 17

Klicken Sie auf CTRL + S zum Speichern. Gehen Sie zum CompositeExporter und wählen Sie den soeben erstellten Proxy aus. Drücken Sie CTRL + S zum Speichern.

WSO2 Enterprise Integrator samples 18
WSO2 Enterprise Integrator samples 19

Nach dem Start fügen Sie die Car-Datei zum Server hinzu. 

WSO2 Enterprise Integrator samples 20

Alles ist nun bereitgestellt. In den Protokolldateien können Sie sehen, dass dies der Fall ist.

[2021-06-25 12:37:03,917]  INFO {org.wso2.carbon.application.deployer.internal.ApplicationManager} - Deploying Carbon Application : SampleProjectCompositeExporter_1.0.0-SNAPSHOT.car...
[2021-06-25 12:37:05,242]  INFO {org.wso2.carbon.mediation.dependency.mgt.DependencyTracker} - Proxy service : StockQuoteProxy was added to the Synapse configuration successfully - [ Deployed From Artifact Container: SampleProjectCompositeExporter ] 
[2021-06-25 12:37:05,242]  INFO {org.apache.synapse.core.axis2.ProxyService} - Building Axis service for Proxy service : StockQuoteProxy
[2021-06-25 12:37:05,267]  INFO {org.apache.synapse.core.axis2.ProxyService} - Adding service StockQuoteProxy to the Axis2 configuration
[2021-06-25 12:37:05,271]  INFO {org.wso2.carbon.core.deployment.DeploymentInterceptor} - Deploying Axis2 service: StockQuoteProxy {super-tenant}
[2021-06-25 12:37:05,271]  INFO {org.apache.synapse.core.axis2.ProxyService} - Successfully created the Axis2 service for Proxy service : StockQuoteProxy
[2021-06-25 12:37:05,271]  INFO {org.apache.synapse.deployers.ProxyServiceDeployer} - ProxyService named 'StockQuoteProxy' has been deployed from file : C:\Users\rob\Desktop\samplesEI\wso2ei-6.6.0\tmp\carbonapps\-1234\1624617423923SampleProjectCompositeExporter_1.0.0-SNAPSHOT.car\StockQuoteProxy_1.0.0\StockQuoteProxy-1.0.0.xml
[2021-06-25 12:37:05,271]  INFO {org.wso2.carbon.application.deployer.internal.ApplicationManager} - Successfully Deployed Carbon Application : SampleProjectCompositeExporter_1.0.0-SNAPSHOT {super-tenant}

Aufbau des Services

Wechseln Sie in das Verzeichnis samples\axis2Server\src\SimpleStockQuoteService und erstellen Sie den Service mit dem Befehl ant.

WSO2 Enterprise Integrator samples 21

Der (axis2)-Dienst, eine .aar-Datei, ist nun im Unterverzeichnis repository gespeichert. Beim Starten des axis2-Servers wird die .aar-Datei bereitgestellt. Probieren Sie es mit dem Befehl axis2server.bat (oder .sh für Linux)

WSO2 Enterprise Integrator samples 22

Ausführen des Services

Nun ist es an der Zeit, den Service auszuführen. Ich werde SoapUI als Client verwenden und nicht den ant stockquote-Client, da ich die Nachricht kenne, die wir senden können, und ich ihn bereits installiert habe. 

Der Ant-Client muss angepasst werden, damit er kompiliert werden kann, und er zeigt außerdem viele Debug-Anweisungen an, die ich wirklich nicht brauche. SoapUI ist also eine bessere Option. 

WSO2 Enterprise Integrator samples 23

Die URL der WSDL wird aus der Management UI des Enterprise Integrator übernommen, dazu klickt man auf das Symbol und kopiert die Adresse in den Browser. Wenn etwas anderes als localhost angezeigt wird, können Sie das verwenden oder es ersetzen. Natürlich nur, wenn Sie auf localhost laufen, d.h. auf Ihrem lokalen Rechner mit einem Out Of The Box WSO2 Enterprise Integrator (keine Änderungen an der Konfiguration des Hostnamens vorgenommen).

WSO2 Enterprise Integrator samples 24

Erstellen Sie in SoapUI ein neues Soap-Projekt, und kopieren Sie die WSDL in das Feld Initial WSDL. Klicken Sie auf OK.

WSO2 Enterprise Integrator samples 25

Wählen Sie getQuote aus den Optionen.

WSO2 Enterprise Integrator samples 26

Geben Sie IBM in das Feld ? ein und betätigen Sie das grüne Dreieck. Beobachten Sie die Antwort, die zurückkommt.

WSO2 Enterprise Integrator samples 27

Fazit

Die Beispiele im WSO2 Enterprise Integrator sind für das Verständnis der Produktkonzepte hilfreich, allerdings erfordern sie etwas Arbeit, um sie zu implementieren und zu testen. In einem nächsten Blog werde ich mich mit den Beispielen befassen, die Teil von Integration Studio sind, einer der Entwicklungsumgebungen, die zusammen mit dem WSO2 Enterprise Integrator verwendet werden können.

Erfahren Sie mehr über WSO2 Enterprise Integrator 

Ich hoffe, Sie hatten Spaß beim Lesen dieses Blogs. Wenn Sie mehr über den WSO2 Enterprise Integrator erfahren möchten, sollten Sie sich die von uns angebotenen WSO2-Schulungen ansehen. Ab Oktober 2021 beginnen wir mit unseren von Ausbildern betreuten Präsenzschulungen in den Niederlanden und den Vereinigten Staaten sowie mit Schulungen in Ihrem Unternehmen oder an einem Schulungsort in Ihrer Nähe für Gruppen von Teilnehmern aus einem Unternehmen.