Oracle Fusion Middleware Blog

Deutsche Informationen rund um Oracle Fusion Middleware

Archive for the ‘BPEL’ Category

SOA 12c End-to-end (e2e) Tutorial

leave a comment »

In diesem Tutorial wird ein Bestellvorgangsprozeß mit der SOA Suite 12c abgebildet.

Neue Themen in diesem Tutorial sind:

  • Quick Start Installationsprozeß – Integrierter Server
  • Alles im JDeveloper – SOA und Service Bus
  • Templates
  • Debugger, Testen
  • Rest-Services
  • Neue Adapter
  • und vieles mehr …

<KM>

Written by fmtechteam

27/06/2014 at 09:20

Veröffentlicht in BPEL, Kersten Mebus, Service Bus, SOA

Verborgener Schatz: MDS-Explorer

leave a comment »

Auf java.net gibt es einen Meta-Daten-Services (MDS) Explorer, mit dem auf das MDS zugegriffen werden kann. Mit diesem Explorer können Verzeichnisse und Dateien angelegt, gelöscht, verändert, hoch- sowie heruntergeladen, editiert, usw werden.

Homepage: https://java.net/projects/mds-explorer

<Kersten Mebus>

 

Written by fmtechteam

12/05/2014 at 09:49

Veröffentlicht in BPEL, BPM, Kersten Mebus, SOA

Spracheinstellungen für die Human Workflow Services

leave a comment »

Für die Human Workflow Services ist nach der Installation des SOA/BPM Servers nur eine Sprache konfiguriert, und zwar Englisch – en. Sollen Task Title, Category und Subcategory mehrsprachig erscheinen, müssen neue Sprachen hinzugefügt werden. Dies geht über den System MBean Browser im Enterprise Manager.

Im EM Navigator den Eintrag soa-infra markieren und über das Menu der rechten Maustaste oder über die Popliste SOA-Infrastructure unter Administration den System MBean Browser aufrufen.
Image

Navigieren zu : Application Defined Mbeans -> oracle.as.soainfra.config -> Server: <ServerName> -> WorkflowConfig -> human-workflow.
Auf der Operations Tab wird die Aktion createLocale ausgewählt.
Image

Bei den Parametern setzt man language, defaultFlag und enabledFlag, z.B. de, false und true. Um die Parameter zu speichern wird der Button Invoke angeklickt.
Image

Die Anzeige muss neu aufgebaut werden, damit die neue Sprache im Mbean Browser angezeigt wird. Dazu wird wieder der Eintrag human-workflow markiert und der Refresh Button rechts oben angeklickt.
Image

Unter WorkflowConfig.LocaleList werden alle Sprachen angezeigt.
Image

Erst jetzt können z.B. die Titel der Human Tasks in den oben konfigurierten Sprachen Deutsch, Englisch und Französisch angezeigt werden.

Wichtig ist, dass die Sprachen eingetragen werden bevor Prozessinstanzen gestartet werden. Sind bereits Instanzen gestartet, werden die Task Titel in Englisch angezeigt. Wenn jetzt Deutsch und Französisch über den MBean Browser hinzugefügt werden, dann werden die Aufgaben der bereits gestarteten Prozesse nicht in den deutschen und französischen Aufgabenlisten angezeigt (siehe auch 32.12.3 How to Change the Language in Which Tasks Are Displayed).

<GS>

Written by fmtechteam

29/07/2013 at 16:52

Veröffentlicht in BPEL, BPM, Gert Schüßler, SOA

EMail Body als HTML in BPM Suite 11g PS5 (11.1.1.6)

leave a comment »

In der BPM Suite 11g werden Informationen z.B. als Mail Notification an die Anwender verschickt. Der Inhalt kann als einfacher Text ohne Formatierung oder formatiert als HTML Output dargestellt werden. Dazu ist es in diesem Release notwendig, bei den Properties der Mail Notification im Attachments Tabreiter folgenden Eintrag vorzunehmen :

Im Tabreiter Content trägt man den HTML Code ein, z.B. :

concat(‚Der Urlaubsantrag für ‚,'<font color=“#ff0000″>‘,bpmn:getDataObject(‚benutzer‘),'</font>‘,‘ wurde ‚,'<font color=“#ff0000″>‘,’abgelehnt‘,'</font>)

Damit wird im Body der Mail der Benutzername und das Wort abgelehnt rot formatiert angezeigt :

Der Urlaubsantrag für jcooper wurde abgelehnt

<Gert Schüßler>

Written by fmtechteam

03/04/2012 at 16:00

Veröffentlicht in BPEL, BPM, Gert Schüßler, SOA

BPEL 2.0: For Each Beispiel

leave a comment »

In der Oracle SOA/BPM Suite 11g werden unter anderem die Standards BPEL 1.1 und BPEL 2.0 unterstützt. Für die parallele Verarbeitung von mehreren Aktivitäten/Verzweigungen steht im BPEL 2.0 Standard die sogenannte „For Each“ Aktivität zur Verfügung.  Die „For Each“ Aktivität ersetzt die Oracle Erweiterungsaktivität „FlowN“ aus BPEL 1.1.

Das nachfolgende Beispiel zeigt, wie mehrere Personendatensätze mit der „For Each“ Aktivität parallel abgearbeitet werden. Die zugehörige Personendatenstruktur wird durch folgende XSD beschrieben:

Abbildung 1: Personendatenstruktur

Abbildung 1: Personendatenstruktur

Für die Abarbeitung wird wie in Abbildung 2 gezeigt, eine asynchrone Composite Applikation „Caller” entwickelt, die einen asynchronen Service „Callee Service”, hier als asynchroner BPEL Prozeß dargestellt, aufruft, um anschließend das Ergebnis in einer Datei zu archivieren (Service: Write2File).

Abbildung 2: Composite Applikation „Caller BPEL Process”

Abbildung 2: Composite Applikation „Caller BPEL Process”

Im BPEL Prozeß „CallerBPELProcess” wird innerhalb einer „For Each“ Aktivität der asynchrone „CalleService” mehrfach aufgerufen und zwar soviel mal wie es Personendatensätze gibt. Ferner wird innerhalb des „For Each“ Scopes mittels einer sogenannten eindeutigen Conversation-ID, die Korrelation sicher gestellt.

Abbildung 3: CallerBPELProcess mit einer „For Each“ Aktivität

Abbildung 3: CallerBPELProcess mit einer „For Each“ Aktivität

Eine eindeutige Conversation-ID kann zum Beispiel aus der Instanz-ID konkatiniert mit einem Personendatensatzzähler (Zähler innerhalb der „For Each“ Aktivität, hier: ForEach1Counter) gewonnen werden. Die eindeutige Conversation-ID muss jeweils in der Invoke- und Receive-Aktivität verwendet werden.

Abbildung 4: „For Each“ Konfiguration

Abbildung 4: „For Each“ Konfiguration

For Each Konfiguration: Counter Value Definition für den Personendatensatzzähler

For Each Konfiguration: Counter Value Definition für den Personendatensatzzähler

Wichtig zu erwähnen ist noch die Definition von lokalen Variablen, die als Parameter für das Invoke und Receive benötigt werden. Globale Variablen würden bei einer parallelen Abarbeitung Datenvariablen mit falschen Werten versehen, d.h. überschreiben.

Abbildung 5: Invoke Konfiguration

Abbildung 5: Invoke Konfiguration

In der zugehörigen Assignanweisung  (Abbildung 6 rote Umrandung) muss für die Zuordnung der Eingabevariable ein Index des „For Each“ Zählers mitgegeben werden, damit die richtigen Personendaten jeweils übergeben werden können.

Assign Aktivität: Zuordnung der einzelnen Personendatensätze

Abbildung 6: Assign Aktivität: Zuordnung der einzelnen Personendatensätze

Abbildung 7 zeigt die Eingabe von zwei Datensätzen sowie die paralle Abarbeitung dieser beiden Datensätze.

Abbildung 6: Eingabe und Verabeitung von zwei Personendatensätzen

Abbildung 7: Eingabe und Verabeitung von zwei Personendatensätzen

Eingesetzte SW:

  • SOA/BPM Suite 11.1.1.4
  • JDeveloper 11.1.1.4
  • Projektdownload: hier, bitte die Endung auf zip ändern und dann entpacken

<KM>

Written by fmtechteam

09/06/2011 at 16:00

Veröffentlicht in BPEL, Kersten Mebus, SOA

Nativer, asynchroner BPEL Prozeßaufruf vom Oracle Service Bus (OSB)

leave a comment »

Der Oracle Service Bus (OSB)  kann BPEL Prozesse nicht nur über SOAP sondern auch  nativ durch Verwendung von RMI aufrufen, hier also mittels den Oracle Application Server Boardmitteln „opmn“ oder „ormi“.

Um diese Integration zu erreichen,  sollte folgende, aktuelle  SW eingesetzt werden:

  • Oracle Service Bus 10gR3 (10.3.0)
  • Oracle SOA Suite 10.1.3.4 MLR7 oder höher

Des Weiteren müssen im OSB noch aktuelle JAR Files aus der SOA Suite ausgetauscht und ein Umgebungsparameter geändert werden, um folgenden  Fehler zu vermeiden:

  • com.evermind.server.rmi.RMIConnectionException: Disconnected: javax.xml.namespace.QName; local class incompatible: stream classdesc serialVersionUID

Unten genannte JAR-Files sollten im OSB Installationsverzeichnis in der Datei /osb_10.3/lib/transports/bpel10gtransport.ear aus der SOA Suite Installation ersetzt werden:

  • aus $ORACLE_HOME/bpel/lib/orabpel.jar
  • aus $ORACLE_HOME/bpel/lib/orabpel-common.jar
  • aus $ORACLE_HOME/bpel/lib/xmlparserv2.xml
  • aus $ORACLE_HOME/j2ee/home/oc4jclient.jar

Zusätzlich muss im OSB Installationsverzeichnis unter /user_projects/domains/osb_domain/bin in der  Datei setDomainEnv.sh folgende Zeile ersetzt werden:

  • JAVA_PROPERTIES=“-Dplatform.home=${WL_HOME} -Dwls.home=${WLS_HOME} -Dweblogic.home=${WLS_HOME} „
  • durch
  • JAVA_PROPERTIES=“-Dplatform.home=${WL_HOME} -Dwls.home=${WLS_HOME} -Dweblogic.home=${WLS_HOME} -Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0″

Nun kommen wir zur eigentlichen Konfiguration des Oracle Service Bus, um nachfolgende Abbildung zu realisieren.

OSB BPEL Use Case

Vorausgesetzt wird, dass ein asynchroner BPEL Prozeß schon existiert. In der OSB Entwicklungsumgebung „Workshop for WebLogic 10gR3“ sollte eine Verbindung zum OSB Server, also zum WLS, aufgebaut werden. Durch betätigen der rechten Maustaste im Tabwriter „Server“ wird eine Verbindung erzeugt.

OSB Server

Als nächstes wird ein „Oracle Service Bus Configuration Project“ angelegt, siehe nachfolgende Abbildung. In diesem OSB Configuration Project wird ein OSB Project erzeugt mit 4 Folderinhalten:  proxy services, business services, WSDLs und credential (OSB Configuration Project markieren und über rechte Maustatste OSB Project und anschließend 4 mal im OSB Project Folder auswählen).

OSB Configuration Project

Für die Kommunikation zwischen OSB und dem BPEL Prozeß wird die WSDL des BPEL Prozesses in den Folder WSDLs importiert. Dazu den Folder WSDL markieren, rechte Maustaste drücken und über Import, Oracle Service Bus – Resources from URL,  die entsprechende BPEL WSDL URL angeben.

WSDL

Nun werden im Folder „business services“ zwei Business Services angelegt. Zum Einen ein Service für die Kommunikation zum BPEL Prozeß, hier BPELAsync.biz genannt und zum Anderen ein Business Service für die Kommunikation mit der Queue, der den BPELCallback beinhaltet, als BPELAsyncCallback.biz bezeichnet.

Business Services

BPEL Async WSDLBPEL Async Protokollauswahl

Die Konfiguration für den  TabWriter „BPEL 10g Transport“  (Art des Services, Callback Adresse, Credentialinformationen) wird später vorgenommen.

Der zweite Business Service BPELAsyncCallback wird nun konfiguriert. Das Anlegen erfolgt wie beim ersten Business Service. In diesem Business Service muss nun der Callback Port vom BPEL-Prozess aufgenommen und der weitere Transport zur Queue konfiguriert werden. Die Konfiguration der Queue und der ConnectionFactory einschließlich JMS Server wurde zuvor im WLS vorgenommen und wird hier nicht näher beschrieben.

BPEL Async Callback WSDL

BPEL Async Callback Protokollauswahl

Im TabWriter „JMS Transport“ in obiger Abbildung muss noch der Destination- und Message Typ angegeben werden: Queue und Text.

Jetzt können für die beiden Business Services die zugehörigen Proxy Services im Folder proxy_services erzeugt werden, die das Weiterleiten zum Business Service bewerkstelligen. Hierzu wird der jeweilige Business Service markiert und mit der rechten Maustaste wird unter Oracle Service Bus der Proxy Service mittels „Generate Proxy Service“ erstellt (ohne Abbildung). Anschließend werden weitere Transportkonfigurationen vorgenommen.

Proxy Service BPEL Async_proxy

Für den obigen Proxy Service BPELAsync_proxy muss keine weitere Transportkonfiguration vorgenommen werden. Allerdings für BPELAsyncCallback_proxy. Hier muss das Transportprotokoll auf sb gesetzt werden, damit der OSB den BPELCallback empfangen und zum Business Service weiterleiten kann.

Zweiter Proxy Service BPELAsyncCallback_proxy.proxy

Damit die Kommunikation zwischen zwischen OSB und BPEL Prozeß erfolgen kann, muss noch die Service Account Resource angegeben werden. Sie beinhaltet Adminusername und Password der SOA Suite. Hierzu den Folder credential markieren und mit der rechten Maustaste unter New den Eintrag „Service Account“ auswählen.

Service Account

Nun müssen wir noch abschließend, wie ganz oben erwähnt, im Business Service BPELAsync die BPEL10gTransport-Informationen hinterlegen.

BPEL Async BPEL 10g Transport

Zum Testen des Projektes wird das Projekt zum OSB hinzugefügt. Hierzu unter Servers das Projekt hinzufügen.

WLS/OSB ProjektNun den Proxy Service BPELAsync_proxy.proxy im Folder proxy_serves markieren und mit der rechten Maustastenfunktionalität „Run AS, Run on Server“ den Testclient mit entsprechende Eintraegen starten. Anschließend kann in der Queue im WLS nachvollzogen werden, dass die Eintraege, manipuliert durch den asynchronen BPEL Prozeß, angekommen sind.

<KM, 05.06.2009>

Oracle Service Bus Configuration Project

Written by fmtechteam

05/06/2009 at 11:53