Dienstag, 17. November 2015

OSB 12c: Einfaches Tutorial mit Throttling

Im folgenden ein einfaches Tutorial, um einen simplen SOAP-Service durch den OSB zu routen und dafür ein Throttling zu konfigurieren.

Hierfür benötigen wir einen simplen SOAP Service wie den HelloWorld-Service aus dem OBTM-Tutorial.


In der WebLogic Console, auf der der Service läuft, bekommen wir die WSDL URL.


Ein Klick auf den Link öffnet die WSDL in einem neuen Tab. Diese WSDL wird lokal im Dateisystem abgespeichert, ebenso die verlinkte XSD Datei geöffnet.


Weiter geht es in der Service Bus Console, in der ein neues Projekt 'Throttling' angelegt wird. Nicht notwendig, aber zur Übersicht empfehlenswert sollten noch zwei Ordner WSDL und XSD angelegt werden.


Im XSD-Projekt wird dann ein neues Schema angelegt.


Hier einen Namen vergeben und die gespeicherte Datei auswählen.






Auf die gleiche Art wird die WSDL im entsprechenden Ordner angelegt.


Jetzt wird noch ein Fehler angezeigt, weil die WSDL ja noch das externe XSD referenziert. Um das zu korrigieren, auf den View/Edit Button klicken.


Die Zeile

<xsd:import namespace="http://helloservice/" schemaLocation="http://192.168.56.101:7007/HelloServiceApp-HelloService-context-root/HelloWorldServicePort?xsd=1"/>

muss geändert werden auf

<xsd:import namespace="http://helloservice/" schemaLocation="../XSD/HelloXSD.xsd"/>

damit statt dessen die im OSB hinterlegte XSD referenziert wird.


Jetzt kann damit ein neuer Business Service erstellt werden.



Hier wird die eben angelegte WSDL ausgewählt. Weiter mit 'Next' und auf der nächsten Seite mit 'Create' abschließen.


Dann ein Mal mit 'Activate' die Session abschließen und Per 'Launch Test Console' den Business Service testen.


Wenn bis hier alles geklappt hat, sollte die richtige Antwort zurück kommen.


Mit dem 'Create'-Button dann wieder eine neue Session anfordern und im 'Throttling'-Ordner eine Pipeline erstellen. WSDL Based Servivce auswählen, die eben angelegte WSDL auswählen und 'Expose as Proxy Service' auswählen, ggf. noch den Namen ändern.


Damit die Pipeline jetzt auch mit dem Business Service spricht, muss die Pipeline geöffnet und geändert werden.

Im Flow-Editor wird per Klick auf die Pipe eine Route hinzugefügt.

Dann per Klick auf die Route das Menü aufrufen und 'Edit Route' auswählen.

Dann Klick auf 'Add an Action' und Communication|Routing auswählen.

Dort den Service und die Operation auswählen. Dann beide Dialoge mit 'Save' verlassen.


Dann die Session aktivieren und noch einmal die Test Console aufrufen, dieses Mal für den Proxy Service.


Wenn alles geklappt hat, geht es weiter im Fusion Middleware Control. Dort navigiert man unter SOA|service-bus in das Throttling Projekt. Auf der Seite 'Operations' geht es denn weiter per Klick auf den Business Service.


Hier können unter Properties die Parameter für das Throttling eingestellt werden. Über den Test-Knopf oben kann der Service gleich mit Throtting getestet werden. Weitere Informationen zum Throttling gibt es in der Dokumentation.