Hierzu wird wieder im JDeveloper eine neue Anwendung erstellt.
Der Typ ist 'SOA Application', der Name z.B. soaApplication, Next.
Das Projekt bekommt den Namen soaProject1, die Project Technology SOA ist bereits ausgewählt -> Next.
Hier lässt sich gleich ein Composite mit einem BPEL-Prozess anlegen, beenden mit 'Finish'.
Der Prozess wird auf synchron gesetzt und als SOAP-Service exposed.
Daraufhin öffnet sich der Dialog mit den Details zum Web Service. Er bekommt einen Namen, z.B. helloService und dieWSDL. Diese kann über den 'Find existing WSDLs' Button hinzugefügt werden, oder auch einfach per Copy&Paste eingefügt werden, was in diesem Beispiel gemacht wird.
Die WSDL-URL bekommt man in der Weblogic Console im linken Baum unter Deployments. Dann auf der rechten Seite zum HelloWorldService navigieren und draufklicken.
Die Details vom HelloWorldService aufklicken und die WSDL-URL kopieren, z.B. im Firefox mit Rechtsklick und 'Copy Link Location'
Die URL wird dann in das Feld im Dialog eingefügt. Beim Verlassen des Feldes zieht der JDeveloper die Informationen aus dem WDSL-File. Da diese WSDL ohnehin nur einen Port Type hat, ist dieser gleich richtig voreingestellt. Beenden mit OK.
Dann wird der BPEL-Prozess mit dem Web Service verbunden indem vom ausgehenden Pfeil am BPEL-Prozess eine Verbindung zum helloService gezogen wird.
Das Composite sieht im Ergebnis dann so aus: ein Web Service, der einen einen BPEL-Prozess aufruft, der wiederum einen Web Service aufruft.
Weiter geht es im BPEL-Prozess, der per Doppelklick im Composite geöffnet wird. Hier wird eine Invoke Aktivität aus der Palette rechts zwischen receiveInput und replyOutput auf ein dort erscheinendes grünes (+) gezogen.
Dann wird die Invoke-Aktivität mit dem helloService verbunden, indem mit dem Pfeil von Invoke1 eine Verbindung zum HelloService gezogen wird.
Der Dialog mit den Details zum Invoke öffnet sich automatisch. Hier wird jetzt eine eingabe-Variable über das grüne Plus (+) hinzugefügt.
Die default-Werte können so übernommen werden, beenden mit OK.
Der Wert wird entsprechend übernommen. Dann auf den Reiter 'Output' klicken und entsprechend mit der Output Variable verfahren. Dann mit OK schliessen.
Als nächstes wird eine Assign-Aktivität benötigt, die per Drag&Drop aus der Component Palette rechts zwischen receiveInput und Invoke1 gezogen wird.
Das Ergebnis sieht dann so aus. Per Doppelklick wird die Assign-Aktivität geöffnet.
Als Ergebnis werden im unteren Bereich Quelle und Ziel der Kopieroperation angezeigt. Beenden mit OK.
Analog dazu wird eine zweite Assign-Aktivität zwischen Invoke1 und replyOutput gezogen.
Das Ergebnis sieht dann wie oben aus. Die InputVariable vom Prozess wird kopiert in die InputVariable vom Invoke. Der Web Service wird aufgerufen, hinterher wird die outputVariable vom Invoke wieder kopiert in den ReturnValue vom Prozess.
Per 'Save All' Button kann alles gesichert, das SOA-Composite und der BPEL-Prozess können geschlossen werden.
Jetzt muss das Composite noch auf den Application Server deployed werden. Per Rechtsklick auf den Projektnamen kann Deploy|soaProject1... ausgewählt werden.
'Deploy to Application Server' und Next ...
'Overwrite any existing ...' auswählen und Next ...
Den Application Server auswählen und Next ...
Der SOA-Server muss ausgewählt sein und weiter mit Next ...
Zusammenfassung, beenden mit Finish.
Abwarten, bis im Log "---- Deplyoment finished. ----" erscheint.
Dann wechseln in den Enterprise Manager der SOA Suite (z.B. http://hostname:8001/em) und das SOA-Projekt lokalisieren. Dort auf den Test-Button klicken.
Freundlicherweise bietet der Enterprise Manager gleich einen Stress Test für den Service an, hier den Haken setzen. Die default-Werte sind sonst OK. Unten muss noch ein Eingabestring vorgegeben werden, dann per 'Test Web Service'-Button starten.
Dann wechseln ins OBTM. Der BPEL-Prozess mit seinen 50 Durchläufen wurde hier bereits registriert.
Damit ist der Grundstein für die Geschäftstransaktion in diesem Tuturial gelegt. Im nächsten Kapitel wird noch ein weiterer Service hinzugefügt.
---> Proxy Service für BPEL-Prozess erstellen
Keine Kommentare:
Kommentar veröffentlichen
Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.