Archiv
Automate processes for knowledge workers with Oracle BPM Suite PS6
You introduced BPM in your company? All of your process automations are a huge success? Stop reading – this might be the wrong article for you. Your processes are unpredictable; complex; they keep on changing and they are difficult to model? The users of your software complain that they cannot make proper business decisions because they are forced to certain process steps? Your processes rely on worker knowledge and involve human participants? Good – with Oracle BPM Suite 11.1.1.7 and its new case management functionalities we are now ready to address those requirements. For more information read my article about this hot topic on Inside BPM and SOA.
Access multiple SOA / BPM Virtual Machines from different computers in your network
In this article I’d like to explain how to share multiple instances of Oracle’s Pre-built Virtual Machine for SOA Suite and BPM Suite across different computers in your network. Three requirements we had to address:
- Call of external services like GeoNames (http://www.geonames.org/postal-codes/) from within the BPM Suite VM
- Connection to multiple BPM Suite VMs from Host (e.g. JDeveloper and Browser)
- Connection to multiple BPM Suite VMs from different developer computers in the network
- Share data between VMs and developer computers via FTP
The default options already support connections between host and client. However the target here was to address multiple independent VMs from different computers in the same network. I described the approach in my article on Inside BPM and SOA. Have fun!
Composite Management: Undeployment with WLST or ANT
Oracle BPM / SOA Suite offers different options to deploy or delete composites. You can use the Enterprise Manager, the Weblogic Scripting Tool (WLST) or ANT. In complex environments with many different composites and versions it is hard to undeploy them one by one and manually. If you are interested in a script solution for this visit my post under Inside BPM and SOA.
Wiederverwendung von Daten und Services in Oracle SOA / BPM Suite
Ein wichtiger Aspekt in einer Serviceorientierten Architektur ist die Veröffentlichung von Metadaten potenziell wiederverwendbarer SOA-Artefakte. Mit den Metadata Services (MDS) bietet die Oracle SOA/BPM Suite eine solche Komponente an, um die zentrale Verwaltung und Bereitstellung von Schnittstellen (WSDL), Daten (XSD), Geschäftsregeln (Rules), FaultPolicies (XML) und Geschäftsereignissen (EDL) zu ermöglichen (siehe nachfolgende Abbildung). Somit können Daten und Dokumente zur Design- und Laufzeit applikationsübergreifend angeboten werden und die Duplizierung von Code wird reduziert.
Ohne eine solche Komponente müssten derartige Artefakte entweder für verschiedene Projekte dupliziert abgelegt oder direkt auf dem Applikationsserver referenziert werden. Diese beiden Ansätze bringen jedoch Nachteile mit sich. Während die lokale Mehrfachspeicherung von Schnittstellen (WSDL) und Datenbeschreibungen (XSD) in unterschiedlichen Projekten zu Inkonsistenzen führen kann, ist die direkte Referenzierung auf einen Applikationsserver an dessen Erreichbarkeit gebunden. Ist dieser etwa aus Wartungsgründen vorübergehend nicht verfügbar, so würde die Entwicklung in dem Moment ebenfalls gestört werden.
Die Verwendung des MDS führte in unseren SOA-Projekten zu folgenden Erkenntnissen und Best Practices:
- Die Versionierung von Services und Daten ist für den Betrieb einer SOA unumgänglich und muss bereits im Rahmen des Service-Designs berücksichtigt werden (Service Lifecycle Management). Dies gilt insbesondere für Schnittstellen und Datenobjekte, die in verschiedenen Projekten wiederverwendet werden sollen. Andernfalls bedeuten Änderungen an diesen Komponenten einen erhöhten Entwicklungsaufwand und wenig Potenzial für Wiederverwendung.
- Das MDS unterstützt die Software-Entwicklung nach dem „Contract-first Prinzip“. Nach dem Design der Schnittstelle durch den Service-Architekten, wird diese in das MDS geladen und steht dem Service-Entwickler zur Implementierung bereit.
- Als Best Practice hat sich zur Entwicklungszeit die Verwendung eines lokalen MDS-Repositories bewährt. Dieses wird bereits mit der Standard-Installation des Oracle JDevelopers bereitgestellt. Auf performante Art und Weise kann somit die zukünftige Speicherung von verteilten Artefakten in einem zentralen Repository von Beginn an berücksichtigt werden. Besonders vorteilhaft ist dabei auch, dass jeder Entwickler eine eigene Lokation für seine Metadaten besitzt und nicht jeder Entwicklungsschritt sofort deployed werden muss.
- Zur Laufzeit stellt die Oracle SOA Suite ein zentrales MDS-Repository auf dem Server bereit, in welches die verteilten Schnittstellen, Daten, Event-Definitionen und Fault-Policies im Rahmen des Applikations-Deployments bereitgestellt werden.
- Unabhängig ob das lokale oder das Server-MDS verwendet werden soll, so erfolgt die Referenzierung der Inhalte aus einem SCA Composite mit Hilfe einer einheitlichen URL: oramds:/apps/<ORDNER>/<Service>.wsdl. Somit ist beim Wechsel zwischen lokalem und zentralem MDS keine gesonderte Code-Anpassung erforderlich.
- Die Bereitstellung zentraler Schnittstellen bringt den Vorteil mit sich, dass beispielsweise beim Neustart des Applikationsservers alle SOA-Applikationen völlig unabhängig voneinander gestartet werden können und somit nicht an eine spezielle Reihenfolge gebunden sind, da alle Schnittstellenbeschreibungen von Beginn an verfügbar sind.
- Die Administration des MDS Repositories zum Export, Import oder Löschen der Metadaten kann über den Enterprise Manager, ANT oder das Weblogic Scripting Tool (WLST) erfolgen.
Oracle Open World 2012: Our session about Oracle BPM / Oracle ADF Integration Best Practices
Many end-to-end business processes require human interactions within the process. For example, user interaction may be needed for approvals, exception management, or performing activities required to advance the business process. Before designing processes with human tasks in Oracle BPM Suite, it is important to understand the design and runtime concepts. A typical task consists of a subject, priority, task participants, task parameters or data, deadlines, notifications or reminders, and task forms. However in complex scenarios you might want to reuse some of these artifacts in order to ease maintenance, migrations and to improve the performance.
During Oracle Open World 2012 we demontrated some of our Best Practices in the session “Oracle BPM / Oracle ADF Integration Best Practices”. We focused on reusability, separation of data and architecture design. Andrejus Baranovskis did a great job explaining Oracle ADF related topics. You can download our presentation from inside-bpm-and-soa or slideshare.
Standard-based integration of human interaction in SOA
IT infrastructures and systems following the SOA paradigm are build upon standards. In such scenarios BPMN 2.0 can be used for the automation of business processes for example. The processes can be executed by a process engine. In such business processes the integration of human actors is often needed, to make complex decisions that cannot be made by a machine. The communication between the human actor and the process engine is done by tasks, which are often managed by separate task engines. Authorized users are able to work on the tasks using a provided task UI, a so called inbox or tasklist application. As one can see there are at least two consumers for the services provided by a task engine: the task UIs and the process engines.
Although a specification, the WS-HT (WS Human Task) specification, for the standard-based integration of human interaction in SOA is available, task engine interfaces are vendor-specific and not standard-based actually, e.g. using RMI or native Java method invocation for communication. This leads to the following problems:
- Portability issues
- Interoperability issues
- Tight coupling
To deal with the problems of vendor-specific interfaces in the area of human interaction, I defined a adapter framework, the Generic Human Interaction Adapter (GHIA), which provides a interface that is based on the definitions propagated by the WS-HT specification. Features of the GHIA-Framework are a standard-based interface (SOAP based on WS-HT and REST) and the opportunity to transparently communicate with more than one task-engine, e.g. for the synchronization of different inboxes. Scenarios where the GHIA-Framework can be used, delivering a great benefit, are:
- Integration scenarios (more than one task-engine is used)
- Decoupling scenarios (e.g. for decoupling task UIs from the vendor-specific inerfaces)
- Migration scenarios (when moving from one release to a higher one, to ensure that long running process with human interaction can be ended within the older versioned plattform)
Server offline and soa-infra down: How-to undeploy SOA composites
Did you already have the problem that you couldn’t restart your server because of a certain (maybe broken) composite? Did you ever wish to perform an undeployment of your composites while soa-infra is down? Read my blogpost under inside-bpm-and-soa to see how-to get rid of thos composites even when the soa-infra is not available.
Road to 12c – Oracle SOA Suite 12c und BPM Suite 12c
Die Reise der Oracle Fusion Middleware in Richtung 12c ist in vollem Gange.
Mit der Weblogic Application Server 12c ist die Basis der Fusion Middleware Familie bereits in der Zukunft angekommen. Die Featureliste des WLS 12c ist beeindruckend, die ersten praktischen Erfahrungen ebenso. Man merkt deutlich, dass die Integration des alten Oracle Application Servers, der BEA Containers und auch der Glassfish-Features nun zu einem sehr runden Produkt geführt hat. Es hat gedauert – aber das Warten hat sich gelohnt.
Wie aber sieht es bei der SOA Suite aus?
Diese wird vermutlich erst Anfang 2013 als 12c Release zur Verfügung stehen. Das Feature-Set ist hochbeeindruckend. Die Basisfunktionalitäten sind in 11g bereits komplett, in 12c kommt all das hinzu, was das Leben deutlich einfacher macht. Unter dem Schlagwort „Industrial SOA” kommen Optimierungen in den Bereichen Performance&Scalability (Memory-Bedarf runter!), Diagnosability, Upgrade, Build-in Governance und Developer Productivity (Download&Installation mit One-Click-HelloWorld-Erfahrung).
Sollte man dann nun warten auf SOA Suite 12c und was passiert mit Migrationen von 11g auf 12c? Hier liegt die gute Nachricht. Oracle hat verstanden, was den Kunden in der Vergangenheit aufgestoßen ist. Es wird ein Seamless-Upgrade auf 12c einer laufenden 11g SOA Suite Plattform geben, inklusive Übernahme aller laufenden Instanzen. Super!
Und BPM Suite 12c?
Hier werden erste öffentliche Informationen in der Keynote auf den SOA, BPM, Integration Days direkt vom Oracle Product Management zu hören sein (http://soa-bpm-days.de/). Mit dem Patchset PS5 hat die BPM Suite 11g bereits nicht nur ein Fehlerupdate, sondern ein komplettes Feature-Update bekommen. In 12c, vermutlich zeitglich zur SOA Suite 12c, erwarten uns Dinge wie ACM, Social, erweiterte Modellierungswerkzeuge, optimiertes Modellieren direkt im Browser, uvm.
Fazit: Treffen Sie heute ihre Vorbereitungen, schaffen sie Mehrwerte über die 11g Plattform und freuen sie sich auf den Innovations-Boost, den die 12c Plattform ermöglichen wird. Und freuen sie sich auf das erste Major-Update, dass sie einfach so werden einspielen können. Es bleibt spannend…

