Posts mit dem Label 11g werden angezeigt. Alle Posts anzeigen
Posts mit dem Label 11g werden angezeigt. Alle Posts anzeigen

Donnerstag, 6. Februar 2014

Handson: Basic Authentication zwischen OSB und SOA-Suite (Teil 3)

In den letzten beiden Kapiteln wurde ein Web Service im Oracle Service Bus mit Basic Autentication abgesichert, der Zugriff darauf aus dem JDeveloper getestet und die WSDL lokal abgelegt. In diesem Teil wird der Web Service in das Composite eingebunden.
Aktuell kann der JDeveloper auf keine WSDL's zugreifen, die per Basic Authentication abgesichert sind (s. z.B. auch hier). Neben der WSDL wird auch das XML-Schema lokal benötigt (sofern man es nicht ohnehin schon irgendwo liegen hat).


Die URL für das Schema bekommt man in der WSDL unter dem Attribut schemaLocation. Diese wird im Browser geöffnet.


Auch das Schema wird lokal abgespeichert, bitte auch hier auf die Dateierweiterung achten.


Jetzt soll der Web Service in das SOA Composite eingebunden werden. Hierzu wird ein Web Service aus der Component Palette in den Bereich für die External References der SOA Suite gezogen.


Im 'Create Web Service' Wizard wird die WSDL über den 'Find existing WSDLs' Button hinzugefügt.


Hier wird die lokal gespeicherte WSDL ausgewählt.


Über die Option 'Localize external references' wird das XML-Schema gleich mitkopiert.


Die WSDL und das Schema werden damit in das Projekt übernommen.


Um den Service jetzt im Composite zu nutzen, wird ein Mediator eingesetzt. Hierzu wird ein Mediator von rechts aus dem Bereich 'Service Components' in dem Components-Bereich des Composites gezogen.


Der Mediator soll ja das gleiche Interface umsetzen wie der ursprüngliche Web Service, als .'Interface Definition from WSDL' auswählen und 'OK'.


Weiter mit dem 'Find existing WSDLs' Button


In der oberen Combobox 'Application' auswählen, dann unten das Projekt aufklappen und die importierte WSDL auswählen.


Fertig, abschliessen mit 'OK'


Das Serviceinterface links wurde damit automatisch erzeugt. Jetzt wird der Mediator mit dem Web Service auf der rechten Seite verbunden.


Per Doppelklick wird der Mediator geöffnet. Hier müssen noch die Mapper für die beiden Richtungen definiert werden. Hierzu auf das 'Select an existing mapper file or create a new one' Icon klicken.


Weil noch kein Mapper-File existiert, muss zunächst ein neues erstellt werden. Hierzu 'Create New Mapper File' auswählen, ein Dateiname wird automatisch vergeben, und mit 'OK' bestätigen.


Das Mapping ist an dieser Stelle trivial: einfach die beiden arg0-Parameter miteinander verbinden. Anschliessen zur Sicherheit ein 'Save all' durchfürhren und das Mapper-Fenster wieder schliessen.

Jetzt bitte für 'Synchronous Reply' noch einmal genau so verfahren und die beiden 'reply'-Werte miteinander verbinden. Hinterher kann das Mediator-Fenster wieder geschlossen werden.


Jetzt muss noch die Basic Authentication über den Oracle Web Services Manager (OWSM) konfiguriert werden, die Details dazu gibt es z.B. im Blog von Edwin Biemond.


Im nächsten Dialog klickt man unter Security auf das grüne Plus (+) Symbol und wählt dort die 'oracle/wss_http_token_policy' aus. Danach mit 'OK' schliessen.


Jetzt muss die SOA-Suite, auf die das Composite deployed werden soll, noch entsprechend konfiguriert werden. Hierzu per Rechtsklick auf die WebLogic Domain das Popup-Menü öffnen und 'Security|Credentials' auswählen.


Sofern nicht bereits vorhanden, muss hier die Map 'oracle.wsm.security' erstellt werden. Hierzu auf '(+) Create Map' klicken und mit 'OK' bestätigen.


In der Map wird dann via '(+) Create Key' der Key basic.credentials vom Typ Password angelegt und die Zugangsdaten für den Service eingegeben.


Das Ergebnis sollte dann wie oben aussehen. Damit ist die Konfiguration abgeschlossen.

Zum Testen wird das Composite deployed (s. z.B. hier).


Zum testen dann im Enterprise Manager das Composite auswählen und auf Test klicken ...


... hier einen möglichst sinnvollen Testwert eintragen und auf 'Test Web Service' klicken ...


... und fertig. Wenn alles richtig gelaufen ist, sollte hier jetzt das Ergebnis zu sehen sein.

Somit kann also der Web Service durch den OSB per Basic Authentication abgesichert werden und aus der SOA-Suite per OWSM-Credential aufgerufen wird. Dabei kann z.B. in der Entwicklung die Basic Authentication abgeschaltet werden und erst beim Deployment auf das Testsystem aktiviert werden.

Freitag, 16. März 2012

Weblogic Cluster: OHS 11.1.1.6 installieren

Um ein Loadbalancing zwischen den beiden Managed Servern im Weblogic Cluster aufzusetzen kann der Oracle HTTP Server (OHS), eine von Oracle supportete Version des Apache, genutzt werden. Dieser ist standardmässig nicht im Lieferumfang des WebLogic Servers enthalten und muss nachinstalliert werden. Gestartet wird der Installer über setup.exe bzw. setup.sh von Disk1 des Installationspacketes.
Weiter ...
Für die Entwicklungsumgebung können die Softwareupdates übersprungen werden.
Installieren und konfigurieren
Systemvoraussetzungen überprüfen
Als Installationsverzeichnis das bestehende WLS 11.1.1.6 Home auswählen
 Die Sicherheitsupdates können abgeschaltet werden
Der Web Cache wird für dieses Beispiel nicht benötigt
Der Management Server der Domain wird hier konfiguriert
Die Instanz bekommt hier einen eindeutigen Namen
Automatische Port-Konfiguration ist OK.
Zusammenfassung und 'Installieren' klicken.
Weiter ...
und Fertig stellen.
Das Ergebnis kann mit dem opmn überprüft werden. Hierzu muss das opmnctl aus der gerade angelegten Instanz benutzt werden. Also in diesem Fall d:\Oracle\Middleware.11116\Oracle_WT11116\instances\instance1\bin\opmnctl status

Damit läuft der Oracle HTTP Server. Im nächsten Schritt muss nur noch das Loadbalancing konfiguriert werden.

Mittwoch, 2. März 2011

BPMN: Prozess-Simulation

Die Definition einer Prozess-Simulation erfolgt im 'BPM  Project Navigator'.

Auswahl von Simulations -> Simulation Definitions -> rechte Maustaste: 'New Simulation'

Der Default-Name kann übernommen werden, weiter mit 'OK'.

Wieder im BPM Project Navigator: Simulations -> Simulation Models -> 'New Simulation Model'

Der Prozess 'UrlaubsProzess' wurde bereits voreingestellt. Die Simulation sollte einen aussagekräftigeren 'Simulation Model name' bekommen wie z.B. 'UrlaubsSimulation'. Weiter mit 'OK'.

Das Simulation Model öffnet sich automatisch. Haken setzen bei 'Specify number of process instances to be created' und Vorsteinstellung 100 übernehmen.

Unter SimulationDefinition bei 'Process' die Checkbox "Include in Simulation" für UrlaubsProcess ankreuzen.

Gestartet wird die Simulation dann aus der BPMN-Ansicht des UrlaubsProcess. Hierzu im unteren Pane den Tabreiter 'Simulation' auswählen und den Start-Button (gründer Pfeil) klicken.

Im Prozess wird durch eine Animation der Lauf der Simulation angezeigt. Hier kann bei den Human Tasks die Anzal der Mitarbeiter mit + und - herauf- bzw. herabgesetzt werden, um zu überprüfen welche Auswirkungen dies auf die Simulation hat.
Im unteren Bereich wird dazu die aktuelle Statistik gezeigt.

Unter 'Simulation Models' -> 'UrlaubsProcess' -> 'UrlaubsSimulation' können die Simulationsparameter angepasst werden. Unter Flow Nodes (Prozess Schritte) können die jeweiligen Vorgaben wie Duration, Resources, Cost usw. eingestellt werden.
Damit ist der Basis-Prozess für diesen Workshop zunächst fertig.

Nächster Schritt ---> PL/SQL-Webservice erstellen, Datenbank vorbereiten

Dienstag, 1. März 2011

BPMN: Prozess im Weblogic Server testen

Zum Testen kann der BPM Workspace genutzt werden unter http://oel5r5:7001/bpm/workspace/

Login als User achrist, das Password ist im Workshop normalerweise 'Oracle123' (oder was auch immer im Kapitel 'Setup' eingegeben wurde).
Oben bei 'Applications' gibt es einen Link '[Urlaub] UrlaubsProcess v1.0' (die 'Initiator Task'), dort anklicken um den Prozess zu starten.

In dem erscheinenden Popup-Fenster kann der Urlaubsantrag mit halbwegs sinnvollen Daten gefüllt werden. Per 'Submit'-Button wird der Prozess dann mit diesen Daten gestartet.

Logout oder anderen Browser öffnen und Einloggen mit Manageraccount jcooper (pwd. s.o.). Dort ist jetzt die Task 'Urlaubsantrag genehmigen' zu sehen. Per klick auf die Zeile (und etwas warten) erscheinen im unteren Detail-Pane die Detail-Daten. Mit klick auf den 'Genehmigen'-Button verschwindet die Task.

Der den Prozess initiierende Benutzer (achrist) kann sich den Verlauf seines Urlaubsantrags direkt aus seinem Workspache anschauen. Dazu geht er auf den Reiter 'Initiated Tasks' und wählt dort z.B. State=completed und wählt dort seinen Urlaubsantrag aus. Unten in der Detail-Ansicht kann er sich dann über das Aufklappen von 'History' den Verlauf seines Prozesses ansehen.

Im Enterprise Manger (http://oel5r5:7001/em) lässt sich der gesamte Ablauf im Detail nachvollziehen. Hierzu wird der Baum unter der Farm_bpm_domain wie abgebildet geöffnet bis zum UrlaubsProject, welches  ausgewählt wird. Auf der rechten Seite kann dann die aktuelle Instanz ausgewählt werden.

Daraufhin öffnet sich ein Fenster mit dem 'Flow Trace'. Hier ist zu erkennen, dass der gesamte Ablauf durch ein Event (der manuelle Start des Prozesses) ausgelöst wurde, dann den Urlaubsprozess durchlief, welcher wiederum die Human Workflows und den File-Adapter aufrief.

Daraufhin öffnet sich ein Fenster mit dem 'Flow Trace'. Hier ist zu erkennen, dass der gesamte Ablauf durch ein Event (der manuelle Start des Prozesses) ausgelöst wurde, dann den Urlaubsprozess durchlief, welcher wiederum die Human Workflows und den File-Adapter aufrief.

Im Reiter 'Audit Trail' kann auch die Aktivität 'Bescheid genehmigt' über das [+] erweitert werden. Über den dann verfügbaren Link 'Instance left the activity' kann man die Rückgabewerte des Fileadapters sehen, welcher den geschriebenen Dateinamen und das Verzeichnis zurückliefert.

Auf dem Serversystem bzw. in der VM lässt sich der Rückgabewert überprüfen. In dem resultierenden XML-Dokument ist der korrekt durchgelaufene Urlaubsantrag inclusive des Approvals enthalten und könnte so z.B. an ein HR-System übertragen werden.

Nächster Schritt ---> BPMN: Prozess-Simulation