Oracle Fusion Middleware
SOA Suite 12c – Nürnberg – 21. November 2014
2
"Mit unserer Begeisterung für führende Technologien vernetzen wir Systeme, Prozesse und Menschen.“
> Vorstellung der esentri AG
EINFACH MEHR > BEGEISTERUNG
Agenda
> Überblick
> Development
> Single Developer Installer> Maven Integration> Oracle Service Bus Integration> Templating> Debugging> Enterprise Scheduler
> Metadata Service Repository (MDS)
> Threads & Transactions
2
Oracle SOA Suite 12c – Kurzer Überblick
EINFACH MEHR > ORACLE
3
SOA Suite 12c Drivers
> Oracle SOA Suite 12c – Kurzer Überblick
User Feedback
Industry Trends
Industrial !SOA
Developer !Productivity
Mobile Cloud
4
SOA Suite 12c Drivers
> Oracle SOA Suite 12c – Kurzer Überblick
> 12c ist schneller und kompakter> Reduktion des Memory
Footprints
> Beschleunigung des Startup> Vorkonfigurierte Datenbank
Profile> Active-Active Support
> One-click Installation
> Alle Aufgaben über JDeveloper
> Debugger & Tester
> Templates
> First Class Support für Mobile Standards (REST, JSON, …)
> Automatisierte REST/SOAP Conversion
> Cloud Adapters: Vereinfachung der Integration von Cloud und On-Premise Umgebungen
> Managed File Transfer (MFT) für eine File-based Integration
> Zertifizierung für die Oracle Public Cloud
Developer !Productivity
Industrial !SOA
Mobile
Cloud
9
Verbesserungen im Bereich Produktivität
> Entwicklung> Quick Start Installer> Einheitliche Entwicklungsumgebung
> SOA Templates> Debugger & Testing> Neue und verbesserte Editoren> Maven Integration
> Betrieb
> Verbesserungen in Enterprise Manager Fusion Middleware Control> Composite Lazy Loading> SOA Profile> Maven Integration
> Verbesserungen im Bereich Produktivität
10
Entwicklungsumgebung installieren
> Verbesserungen im Bereich Produktivität
> 12c install: 1 single package• JDeveloper• WebLogic
• SOA Suite (incl. Service Bus)• JavaDB• Enterprise Manager
> ‘30 minutes to Hello World’
11
Templates
> SOA Suite> BPEL Sub-Processes> SCA Templates
> Custom Activities> Component Templates> Copy & Paste Templates
> Service Bus> Pipeline Templates
> Änderungen werden auch in !Derived Pipelines sichtbar
> Verbesserungen im Bereich Produktivität
12
Debugging & Testing
> Erweiterte Debugger Funktionen> Service Bus Pipelines> SCAs
> BPEL Prozesse
> Variablen Werte können zur Laufzeit angepasst werden
> Java Debuggern nachempfunden> Step over
> Step into> Step out
> Verbesserungen im Bereich Produktivität
13
Oracle Service Bus Integration
> 11g> Entwicklung mit OEPE> Separate Konsole (Service Bus Console)
> Unabhängiges Produkt
> 12c> JDeveloper als Entwicklungsumgebung> Monitoring über Enterprise Manager Fusion
Middleware Control
> Service Bus Console existiert noch immer• Entwicklung und ändern von Prozessen
• Neue Implementation auf Basis von ADF> Integriertes Produkt
> Verbesserungen im Bereich Produktivität
14
Technische Neuerungen
> Alle SOA Adapter sind nun OSB zertifiziert
> Mobile Enablement (REST)
> Unterstützung für XSLT
> Unterstützung des MDS
> Pipeline Templates
> Verbesserungen im Bereich Produktivität
16
Modularität
> Industrial SOA
> Improved start up times and memory footprint with modularity profiles enabling only required components
> Default SOA_FOUNDATION profile can be changed after product installation via Enterprise Manager
> SOA_CLASSIC and BPEL_ONLY profiles have the largest and least footprint respectively showing a 30% differentiator
18
DB Schema Profiles
> Industrial SOA
> DB profile (Small, Medium/Large) selection in RCU enables appropriate OOTB performance features
> Medium/Large profiles automatically configure DB partitioning
> Global hash indexes, also enabled for Medium/Large profiles, optimize data retrieval for Enterprise Manager
> Secure-file LOBs enabled for all profiles : Reduce HW contention, Improves Compression
19
Purge/Partitioning Improvements
> Industrial SOA
> Auto purge of SOA DB enabled by default for new customers
> Schedule DB purges from EM, using Oracle DB scheduler
> Improved performance due to consolidation of Audit and Flow Instance data
> Interval Partitioning accelerates purging by targeting tables/instances within a time range
8x improvement in parallel purging compared to 11g
10x improvement in looped&purging&compared&to&11g
20
Error Hospital and Fault Recovery
> Industrial SOA
> Ability to aggregate instances based on various criteria
> Perform bulk recovery and bulk abort on aggregated instance
> Robust filter and search panel available for retrieving faults similar to instance tracking
21
Resequencer in Oracle Service Bus
> Industrial SOA
> Leverages resequencer engine used by Mediator
> Configured in Service Bus console and managed in Enterprise Manager
23
Cloud Adapter
> Cloud und Integration Adapter
> Eine einheitliche und standardisierte Integrationsplattform sowohl für Cloud- als auch On-Premise-Applikationen
> “Point and click modeling” verringert die Entwicklungs- und Wartungskosten und erhöht die Produktivität bei der Entwicklung von hybriden Anwendungsszenarien
> Sicheres Verbindungs- und Session- Management über die Oracle Security Plattform
> Cloud Adapter SDK für die Erstellung eigener Cloud Adapter für beliebige SaaS Applikationen
* verfügbar &
** geplant &
** & ** & ** & ** & ** & ** &* &
24
LDAP Adapter
> Cloud und Integration Adapter
> Bi-di Integration with LDAP V3 Servers
> CRUD, Compare, Search, DSML
> Has a rich LDAP Browser built-in
> Highly Available
> Supports SSL
&
Features
25
Coherence Adapter
> Cloud und Integration Adapter
> Allows seamless integration with Coherence
> Supports “Put”, “Get”, “Remove”, “Query” operations
> Cache Item – XML, POJO
> Coherence Query Filters
&
Features
26
UMS Adapter
> Cloud und Integration Adapter
> Supports&messaging&channels&as&Email,&SMS,&IM,&Twi:er.&
> Capable&of&ac?ng&as&a&Message&Provider&or&Consumer&
> Integrated&with&Translator&Infrastructure&
> Delivery&Status,&Message&Resend,&Support&for&Failover&Address&
&
Features
27
Oracle Application Adapter für SAP
Mit dem Oracle Application Adater für SAP steht eine auf XML- und SAP-Standards basierende Schnittstelle zur Verbindung von SAP Anwendungen an Oracle SOA Infrastrukturen zur Verfügung.
Der Adapter unterstützt sowohl JCA und Web-Service Protokolle und dient der schnellen Integration bestehender SAP-Systeme an Oracle Service Umgebungen. Dabei greift der Adapter auf die zertifizierten Remote Function Call Protokolle von SAP zurück und unterstützt zudem das Business Application Programming Interface.
Durch die Nutzung des Oracle Application Adapter können SAP-Systeme ohne direkte Modifikationen an den Anwendungen in SOA Umgebungen integriert werden.
> Cloud und Integration Adapter
Adapter
SAP
BAPI
RFC
ALE/ IDOC
BAM Inter-ConnectPortal BPEL
J2EEApp
SAP RFC Client Server
JCA
WSIF
29
Oracle Enterprise Scheduler
> Oft gibt es Anforderungen zur Terminierung von Jobs> Services zu bestimmten Zeiten anstoßen> Adapter zu bestimmten Zeiten hoch-/herunterfahren
> Bis 11g wurden diese Anforderung oft erfüllt durch...> Workarounds> Selbst implementierte Lösungen> Eingekaufte Lösungen
> Neue Komponenten und Verbesserungen
30
Oracle Enterprise Scheduler
> Oracle Enterprise Scheduler ist ein bekanntes 11g Produkt der Oracle Fusion Applications
> Nun auch für SOA Suite 12c verfügbar
> Ermöglicht die Einplanung von Jobs
> Verschiedene Jop Types existieren
> Ermöglicht das geplante hoch-/herunterfahren von Adaptern
> Neue Komponenten und Verbesserungen
31
Oracle Managed File Transfer 12c
> Neue Komponenten und Verbesserungen
> Automate & schedule file transfers
> Highly-Available, clusterable solution
> Complete visibility & auditability
> Support for very large files (500+GB) & pass by reference
> Secure: SSH,SSL, PGP Encryption
> Integrated with SOA Suite, B2B, ODI & IdM
> Works with std FTP clients (multithreaded)
> Extensible: compression, custom actons
32
BAM Architektur
> Neue Komponenten und Verbesserungen
MDS Repository SOAINFRA
External Data
Sources
Business View
KPI Definition
Data Source Mapping
BAM Composer
KPI Trends
ProcessDashboards
BAM Dashboard
PersistenceEngine
AdvancedContinuous
QueryService
Report CacheAlert Service
BAM Dashboard
Reports
33
Event Delivery Network (EDN)
> Wizard driven approach to create typed event
definitions
> Browse and choose events for subscription/!
publication
> Easy mapping of event types to topics from !
EM FMWC
> Support for JMS and AQ
> Leverages durable, reliable and store/forward features
of JMS
> API Management
> JMS API
> EDN API
> Neue Komponenten und Verbesserungen
34
OWSM
> OSB, SOA Suite und Adapter Support
> Policy Sets für Java EE Services (automatische Zuweisung über Konfiguration)
> OWSM Konfiguration wird nun im Repository verwaltet, nicht mehr in Konfigurationsdateien
> Verbesserungen in Policies, z. B. Kerberos
> Neue Komponenten und Verbesserungen
35
Fusion Middleware Verzeichnisstruktur 11g
> Neue Komponenten und Verbesserungen
Web
Logi
c D
omai
n
Web
Logi
c D
omai
n
Ora
cle
Inst
ance
MiddlewareHome
SOA Domain
&
Admin Server
&
SOA_server1Server
&
WebcenterDomain
Admin Server
WLS_spacesServer
&
Oracle HTTPServer
&
Oracle Web Cache
Domains&
WebTierHome
SOA OracleHome
Oracle Common Home
UserProjects
&
WebLogicServer Home
&
36
Fusion Middleware Verzeichnisstruktur 12c
> Neue Komponenten und Verbesserungen
Web
Logi
c D
omai
n
Oracle
SOA Domain
&
Admin Server
&
SOA_server1Server
&
DomainHome
&
Oracle Common Homeoracle_common
config&
(WebLogic Home)wlserver
&
ApplicationHome
&
Oracle HomeOracle_Home
coherence&
SOA Homesoa&
domain-registry.xml&
37
Business Flow Instance
> Neue Komponenten und Verbesserungen
Flow Instance
Oracle Fusion Middleware
Entwicklungsumgebung
2
Oracle SOA Suite 12c - Download
> Oracle SOA Suite Downloads> Oracle Account required
> Accept OTN License Agreement
> Release 12c (12.1.3.0.0) > All Platforms - Generic 64bit JVM
• SOA Suite Quick Start Installer (2.97 GB)
> Entwicklungsumgebung
5
Oracle SOA Suite 12c Features
> Entwicklungsumgebung
DevelopmentJDeveloper with SOA IDE Extensions � Integrated WebLogic
� Java DB � SOA Spring Component
Management & Security
Enterprise Manager � Enterprise Repository � Enterprise Scheduler � Enterprise Registry � Enterprise Gateway
Service Virtualization & Mediation
Service Bus � Mediator
OrchestrationBPEL Process Manager � Business Rules
Human Workflow
Analytics Event Processing � Business Analytics Monitoring
Connectivity &Technology Adapters
Cloud: Apps
Services Platform
On-premise:
Apps Mainframe
DB
B2B:EDI
XMLIndustry
MFT:secure
file transfer
RCU
Quickstart
BAM requires RCU DB-Schema
MFT and B2B are additional feature packs
13
Konfiguration
> WebLogic Domain erstellen/konfigurieren:> Oracle JDeveloper 12c starten (Rolle: Studio Developer)> Run -> Start Service Instance
> „Create Default Domain“• Passwort festlegen
> Default Domain wird erstellt
> Entwicklungsumgebung
Oracle Fusion Middleware
SOA Suite und Apache Maven
2
Apache Maven
> Maven = „Sammler des Wissens“
> Build-Management-Tool basierend auf Java, um Java-Programme standardisiert zu erstellen und zu verwalten.
> Grundgedanke: „Konvention vor Konfiguration“
> XML-basiert
> Vorgegebene Standard-Verzeichnisstruktur
> Große Anzahl an Plugins erweitern den Funktionsumfang
> Aktuelle Version: 3.2.3 (18.08.2014)
> Apache Maven
3
Apache Maven - Lebenszyklus
> archetype (Scaffolding): Damit kann ein Template für ein Softwareprojekt erstellt werden. Abhängigkeiten werden aufgelöst und bei Bedarf heruntergeladen.
> validate (Validieren): Hier wird geprüft, ob die Projektstruktur gültig und vollständig ist.> compile (Kompilieren): In dieser Phase wird der Quellcode kompiliert.> test (Testen): Hier wird der kompilierte Code mit einem passenden Testframework getestet. Maven
berücksichtigt dabei in späteren Zyklen, dass Testklassen normalerweise nicht in der auszuliefernden Software vorhanden sind.
> package (Verpacken): Das Kompilat wird – ggf. mit anderen nichtkompilierbaren Dateien – zur Weitergabe verpackt. Häufig handelt es sich dabei um eine Jar-Datei.
> integration-test (Test der Integrationsmöglichkeit): Das Softwarepaket wird auf eine Umgebung (anderer Rechner, anderes Verzeichnis, Anwendungsserver) geladen und seine Funktionsfähigkeit geprüft.
> verify (Gültigkeitsprüfung des Software-Pakets): Prüfungen, ob das Softwarepaket eine gültige Struktur hat und ggf. bestimmte Qualitätskriterien erfüllt.
> install (Installieren im lokalen Maven-Repository): Installiere das Softwarepaket in dem lokalen Maven-Repository, um es in anderen Projekten verwenden zu können, die von Maven verwaltet werden. Dies ist insbesondere für modulare Projekte interessant.
> deploy (Installieren im entfernten Maven-Repository): Stabile Versionen der Software werden auf einem entfernten Maven-Repository installiert und stehen damit in Umgebungen mit mehreren Entwicklern allen zur Verfügung.
> Apache Maven
4
Apache Maven: pom.xml
> POM = Project Object Model = pom.xml> XML-Datei> Beinhaltet Metadaten über das Projekt:
> Name> Version> Quality Management > Dependencies> Repositories
> Apache Maven
<project> <modelVersion>4.0.0</modelVersion> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-core-api-container</artifactId> <name>Cargo Core Container API</name> <version>0.7-SNAPSHOT</version> <packaging>jar</packaging> <dependencies/> <build/> […]
!
5
Apache Maven: Standard Verzeichnisstruktur
> Standardverzeichnisstruktur ermöglicht die schnelle Einarbeitung von neuen Mitarbeitern
> Apache Maven
src/main/java Application/Library sources src/main/resources Application/Library resources src/main/filters Resource filter files src/main/assembly Assembly descriptors src/main/config Configuration files src/main/webapp Web application sources src/test/java Test sources src/test/resources Test resources src/test/filters Test resource filter files src/site Site LICENSE.txt Project's license README.txt Project's readme
6
Apache Maven: Repository (1)
> Zum Speichern und Verwaltung von verschiedenen Artefakttypen, z. B. JARs, EARs, WARs, etc.
> Apache Maven
<repositories> <repository> <id>maven2-snapshot</id> <releases> <enabled>true</enabled> </releases> <name>Maven Central Development Repository</name> <url>http://snapshots.maven.codehaus.org/maven2</url> <layout>legacy|default</layout> </repository> </repositories>
Lokal Remote
7
Apache Maven: Repository (2)
> Apache Maven
8
Apache Maven: Dependency Management
> Apache Maven
A B
C
Lokal
Remote
<dependencies> <dependency> <groupId>com.acme</groupId> <artifactId>B</artifactId> <version>1.0</version> <scope>compile</scope> </dependency> </dependencies>
Build C
Suche A & B
Suche A & B
9
Oracle SOA Suite 12c – Maven-Plugin
> Maven Plugins für SOA/BPM und für OSB (ADF plugin continues to be available)> Maven Archetypes für SOA Application, SOA Project, OSB ‘Application’, OSB Project und OSB System
Project
> Maven POMs für Oracle-supplied JARs, welche für Compilation, Packaging, Testing und Deployment von SOA/BPM (sar, mar, zip) und OSB (sbar) Archiven benötigt werden
> SOA Maven Plugin erlaubt das Kompilieren (validate, run scac), package (sar), deployment/ undeployment auf einen SOA Server, sowie das Ausführen von SCA Test Suites. Alle möglichen SCA Komponenten – BPEL, BPMN, Human Task, Rules, Adapters, Mediators, etc. werden unterstützt. Außerdem generiert es automatisch eine Maven POM für ein ADF User Interface Projekt für Human Tasks
> OSB Maven Plugin erlaubt package (sbar) und deploy (publish) auf einen OSB Server> Parent POMs provided for customisation purposes.> Maven POM Editor im JDeveloper.> Maven Goals im JDeveloper oder über die Kommandozeile (Hudson, etc.) ausführbar> Dokumentation in der Fusion Middleware Documentation Library vorhanden
> SOA Suite 12c und Maven
11
Maven Synchronization plug-in
> Installation des Maven Syncronization Plugins:> Dateien liegen unter ORACLE_HOME/oracle_common/plugins/maven/com/oracle/maven/oracle-
maven-sync/12.1.3/
> Lokales Repository (mvn install):• mvn install:install-file -DpomFile=oracle-maven-sync.12.1.3.pom -Dfile=oracle-maven-sync.12.1.3.jar
> Shared Repository (mvn deploy):• Repository und Credentials müssen in der settings.xml hinterlegt sein• mvn deploy:deploy-file -DpomFile=oracle-maven-sync-12.1.3.pom -Dfile=oracle-maven-sync-12.1.3.jar -Durl=http://
servername/archiva/repositories/internal -DrepositoryId=internal
> Oracle-Artefakte bekannt machen:> Lokales Repository:
• mvn com.oracle.maven:oracle-maven-sync:push -Doracle-maven-sync.oracleHome=/path/to/oracleHome -DtestingOnly=false
> Shared Repository:• Repository-ID und Credentials müssen in der settings.xml hinterlegt sein• mvn com.oracle.maven:oracle-maven-sync:push -DoracleHome=/path/to/
oracleHome -DserverId=internal > SOA Suite 12c und Maven
12
Maven Archetypes
> Ein Archetype beschreibt ein Projekttemplate> Ein Archetype selbst wiederum ein Projekt mit einer pom.xml> Ein Archetype wird in Form einer Datei mit Namen archetype.xml beschrieben
> WebLogic alleine bietet vorkonfigurierte Maven Archetypes:> Basic WebApp archetype (basic-webapp)> WebApp with EJB archetype (basic-webapp-ejb)> Basic MDB archetype (basic-mdb)> Basic WebServices archetype (basic-webservice)
> SOA Archetypes:> SOA application (oracle-soa-application)> SOA project (oracle-soa-project)
> Befehlbeispiel SOA Application:
mvn archetype:generate -DarchetypeGroupId=com.oracle.soa.archetype -DarchetypeArtifactId=oracle-soa-application -DarchetypeVersion=12.1.3-0-0
> SOA Suite 12c und Maven
Gemeinsam mehr erreichen.
Oracle JDeveloper Debugger & Testing - Nürnberg – 21. November 2014
3
Web Service Tests
EINFACH MEHR > ORACLE
4
Web Service Tests
> Web Services müssen getestet werden
> Interne Tools> HTTP Analyzer (JDeveloper)> Enterprise Manager Testkonsole> Oracle Web Service Test Client
> Externe Tools> SOAP UI
> Web Service Tests
5
HTTP Analyzer
> Testen von Web Services direkt aus JDeveloper
> Aufrufbar über Application Servers Navigator View
> Kann für SOAP & REST Services genutzt werden
> Web Service Tests > HTTP Analyzer
6
Enterprise Manager
> Bekannte Enterprise Manager Testkonsole
> Rechte für Enterprise Manager nötig
> Ermöglicht laden und speichern von Payloads
> Nur verwendbar wenn Schnittstellenbeschreibung von Oracle interpretierbar ist
> Web Service Tests > Enterprise Manager
7
Oracle Web Service Test Client
> In SOA Suite integrierter Testclient für jeden Web Service
> Ausreichend für einfache Tests
> Kann über Konfiguration deaktiviert werden
> Web Service Tests > Oracle Web Service Test Client
8
SCA Debugger
EINFACH MEHR > VERTRAUEN
9
SCA Debugger
> Erweiterte Debugger Funktionen> Service Bus Pipelines> SCAs> BPEL Prozesse
> Variablen Werte können zur Laufzeit angepasst werden
> Java Debuggern nachempfunden> Step over> Step into> Step out
> SCA Debugger
10
SCA Debugger
> Application Server im Debugging Mode starten
> SCA zum Debugging ausliefern
> Web Service Aufruf mit Tool der Wahl durchführen
> SCA Debugger
11
SCA Debugger
> SCA Debugger
Gemeinsam mehr erreichen.
SOA Suite Templates - Nürnberg – 21. November 2014
3
SOA Suite Templates
EINFACH MEHR > SCHWUNG
4
SOA Suite Templates
> Vier verschiedene Typen> SOA Project Templates> BPEL Sub-Processes> Component Templates> Custom Activities
> Copy & Paste Templates
> SOA Suite Templates
Developer !Productivity
5
SOA Project Templates
> Wiederkehrende Muster von SCA Projekten können im Template implementiert werden
> Vordefinierte SCA Komponenten werden bei der Erzeugung eines neuen Projektes automatisch erstellt> Häufig verwendete Adapter> Monitoring Pattern> Error Handling
> Ablage unter …/jdeveloper/integration/templates
> SOA Project Templates
6
BPEL Sub-Processes
> Kein unabhängig ausführbarer BPEL Prozess
> Modularisierung von Business Logik
> Besitzt kein eigenes Interface> Aufruf durch spezielle „Call“-Activity
> Wird im Kontext des „Parent“-BPEL Prozesses ausgeführt
> Inline:> Teil des Parent
> Standalone> Teil der SCA-Definition> Kann von Mehreren BPEL Prozessen
aufgerufen werden
> BPEL Sub-Processes
7
Component Templates
> Definiert Grundaufbau einer SCA Komponente
> Bsp.: BPEL Prozess
> Beinhaltet…> Referenzen> Fault-Handler> Variablen
> Component Templates
8
Custom Activities
> Gruppe von Aktivitäten innerhalb eines BPEL Prozesses
> Auch partner-links und externe Serviceaufrufe sind enthalten
> Templates sind in der BPEL Komponentenpalette verfügbar
> „Verpacken“ von komplexen Prozessabläufen
> Custom Activities
Oracle Fusion Middleware
SOA Suite - Threads and Transactions
2
Warum so wichtig?
> Threads and Transactions
Mediator
Sender
Empfänger
Empfänger
Empfänger
Router
7
Federated Service Bus: OSB vs. Mediator
> Oracle Mediator
8
Sequentiell Routing Rule
> Oracle Mediator
9
Parallel Routing Rule
> Oracle Mediator
10
Thread and Transaction Details
> Oracle Mediator
<<Thread>>Inbound Thread
<<Thread>>Locker Thread
<<Thread>>Worker Thread
java.util.LinkedBlockedQueue
Memory
Ein Thread / JVM => ContainerID
startet *
Status + ContainerID
Status
! "
# $
<<Table>>>Mediator_Deferred_Message
12
Cluster Management
> Oracle Mediator
<<Table>>>Mediator_Deferred_Message
<<Table>>>Mediator_Deferred_Message
JVM JVM JVM
DBContainerIdManager DBContainerIdManager DBContainerIdManager
13
Parallel Routing Debugging
> Table ‘mediator_deferred_message’ stores messages for parallel routing rules. For a given Mediator component, one row in this table corresponds to message for one parallel routing rule. Following SQL will provide number of messages, component name, and status for each Mediator component with parallel routing rules. Status could be one of READY (0), LOCKED (1), COMPLETED (2), ERROR (3).
> Table ‘mediator_case_instance’ stores information about case instance. This table contains one row for each mediator case (i.e. routing rule) of a mediator instance.
> Oracle Mediator
select count(*), component_dn, status from mediator_deferred_message group by component_dn, status order by component_dn, status
select count(*), status, case_name from mediator_case_instance group by status, case_name order by case_name;
14
Mediator Service Engine Properties 11g
> Oracle Mediator
15
Mediator Service Engine Properties 12c
> Oracle Mediator
16
Mediator Service Engine Work Managers 12c
> Oracle Mediator
BPEL
18
Transaktionsverhalten: Synchroner BPEL Prozess
Property: bpel.config.transaction
> Oracle BPEL Process Manager
required
requiresNew (default)
Ausführung in einer bestehenden (globale) Transaktion. Wenn keine Transaktion existent, dann wird eine neue Transaktion erstellt.
Die Ausführung erfolgt immer in einer neuen Transaktion. Eine bereits bestehende Transaktion wird “ausgesetzt”
Wert Beschreibung
19
Fall 1: Reply With Fault
bpel.config.transaction=requiresNew
> Oracle BPEL Process Manager
Client BPEL Process Server BPEL Processbpel.config.transaction=requiresNew
receivereceive
invoke
replyfault
catch fault
Decision
...
TX1 TX2
Thread 1
20
Fall 2: Throw a Fault
bpel.config.transaction=requiresNew
> Oracle BPEL Process Manager
Client BPEL Process Server BPEL Processbpel.config.transaction=requiresNew
receivereceive
invoke
catch fault
Decision
...
TX1 TX2
Thread 1
throw fault
Rollback
21
Fall 3: Reply Fault 1 Then Throw a Fault 2
bpel.config.transaction=requiresNew
> Oracle BPEL Process Manager
Client BPEL Process Server BPEL Processbpel.config.transaction=requiresNew
receivereceive
invoke
catch fault
Decision
...
TX1 TX2
Thread 1
throw fault
Rollback
replyfault
22
Fall 4: Expliziter Rollback
bpel.config.transaction=requiresNew
> Oracle BPEL Process Manager
Client BPEL Process Server BPEL Processbpel.config.transaction=requiresNew
receivereceive
invoke
catch fault
Decision
...
TX1 TX2
Thread 1
throw rollback
Rollback
23
Fall 5: Reply with Fault
bpel.config.transaction=required
> Oracle BPEL Process Manager
Client BPEL Process Server BPEL Processbpel.config.transaction=required
receivereceive
invoke
replyfault
catch fault
Decision
...
TX1
Thread 1
24
Fall 6: Throw a Fault
bpel.config.transaction=required
> Oracle BPEL Process Manager
Client BPEL Process Server BPEL Processbpel.config.transaction=required
receivereceive
invoke
catch fault
Decision
...
TX1
Thread 1
throw fault
25
Fall 7: Reply Fault 1 Then Throw a Fault 2
bpel.config.transaction=required
> Oracle BPEL Process Manager
Client BPEL Process Server BPEL Processbpel.config.transaction=required
receivereceive
invoke
catch fault
Decision
...
TX1
Thread 1
throw fault
replyfault
26
Fall 8: Expliziter Rollback
bpel.config.transaction=required
> Oracle BPEL Process Manager
Client BPEL Process Server BPEL Processbpel.config.transaction=required
receivereceive
invoke
catch fault
Decision
...
TX1
Thread 1
throw rollback
Rollback
27
Transaktionsverhalten: asynchroner (one way) BPEL Prozess
Property: bpel.config.oneWayDeliveryPolicy
> Oracle BPEL Process Manager
async.persist(default)
async.cache
Nachricht wird auf jeden Fall in der Datenbank gespeichert, bevor die eigentliche Verarbeitung startet (Tabelle: DLV_MESSAGE)
Nachricht wird In-Memory gehalten.
Wert Beschreibung
syncAusführung innerhalb des aufrufenden Threads. Nachricht wird nicht zwischengespeichert.
28
oneWayDeliveryPolicy & Transactions
> Oracle BPEL Process Manager
!= sync
sync + requiresNew
> neuer Thread + neue Transaktion
Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
Wert Beschreibung
sync + requiredAufrufender Thread + gleiche Transaktion (wenn vorhanden)
29
Asynchroner Fall
bpel.config.oneWayDeliveryPolicy=async.persist / async.cache
> Oracle BPEL Process Manager
TX2
Client BPEL Process Server BPEL Process
receivereceive
invoke
catch fault
Decision
...
TX1
Thread 1
throw fault
Rollback
Thread 2
30
BPEL Service Engine Properties 11g
> Oracle BPEL Process Manager
31
BPEL Service Engine Properties 12c
> Oracle BPEL Process Manager
32
BPEL Service Engine Work Managers 12c
> Oracle BPEL Process Manager
Event Delivery Network (EDN)
34
Event Delivery Network (EDN) 11g
> Event Delivery Network
ArbeitsschrittService
QueueBPEL
Mediator ControllerBPEL
beforeBPEL
afterBPEL
Arbeitsschritt2BAMService
Mediator
Mediator
Event
Event
Event
Publish(Even
t(Re
ceive(Even
t(
35
EDN 12c
> Event Delivery Network
36
Support
> SOA 11g Fault Handling Guide (Doc ID 1562184.2)
> Threads and Transactions
37
Vielen Dank für Ihre Aufmerksamkeit!