versteckte schätze in bpm & soa suite 11g -gesammelte ... · versteckte schätze in bpm &...
TRANSCRIPT
© OPITZ CONSULTING GmbH 2011 Seite 1 Versteckte Schätze in BPM & SOA Suite 11g
Jens Hündling
ORACLE Deutschland B.V. & Co. KG
Danilo Schmiedel
OPITZ CONSULTING Berlin GmbH
Gesammelte Projekterfahrungen
Nürnberg, den 17.11.2011
Versteckte Schätze in BPM & SOA Suite
© OPITZ CONSULTING GmbH 2011 Seite 2 Versteckte Schätze in BPM & SOA Suite 11g
1) Das Handwerkszeug
• Die Oracle Plattform für BPM & SOA
• Rent your legacy car (RYLC)
2) Schnell zu finden…
• Effektive Software-Entwicklung in einer
SOA mit dem MDS
• Effiziente Fehlerbehebung zur Laufzeit
mit dem Fault Management Framework
• Steigerung der Flexibilität durch Java
Code Integration
• Sichere SOA mit OWSM-Policies
3) Danach muss man suchen…
• Schillernde Oberflächen durch
Customizing
• Erhöhte Anpassbarkeit durch
Konfigurationsänderung zur
Laufzeit
4) Tief vergraben…
• Extreme Flexibilität zur Laufzeit mit
dynamischem Endpunkt Binding
• Ressourcenschonende und
performante SOA durch optimierte
Dehydrierungseinstellungen
Agenda
© OPITZ CONSULTING GmbH 2011 Seite 3 Versteckte Schätze in BPM & SOA Suite 11g
1 Das Handwerkzeug…
© OPITZ CONSULTING GmbH 2011 Seite 4 Versteckte Schätze in BPM & SOA Suite 11g
Complete.
Open.
Integrated.
Best in Class.
© OPITZ CONSULTING GmbH 2011 Seite 5 Versteckte Schätze in BPM & SOA Suite 11g
Oracle Fusion Middleware
Application Grid
Content Management
Business Intelligence
SOA & Process Management
Data Integration
User Experience
Enterprise Management
Identity Management
Development Tools
© OPITZ CONSULTING GmbH 2011 Seite 6 Versteckte Schätze in BPM & SOA Suite 11g
Oracle BPM Suite 11g: Unterstützung des kompletten BPM Lifecycle
Entwickler – Implementierung
des Prozesses
Gesamtes Team – Steuerung, Analyse, Optimierung
Prozessverantwortliche – Konfiguration, Anpassung, Abnahme
IT Betrieb – Management
und Monitoring
Enterprise Architects – Suche nach Entwicklungsmöglickeiten
Anwender – Ausführung und Verbesserung
Business Analysts –
Entwurf und Modellierung
des Prozesses
http://tinyurl.com/BPMLifecycle
© OPITZ CONSULTING GmbH 2011 Seite 7 Versteckte Schätze in BPM & SOA Suite 11g
Oracle BPM 11gR1 Architektur BPM Komponenten auf der Basis der Oracle SOA Suite
Service Infrastruktur
Policy Manager
Optimized binding
WebLogic Server
Common JCA-based connectivity infrastructure
MDS
EM console
+BPMN Screens
BAM
B2B
Human Workflow
Business Rules
Mediator
Process Core
BPEL
Process
Analytics
Proc Cubes
BPM Workspace
MS Office
BPMN 2.0,
BPEL
Rich End User Interaction Web based customization
Process Composer
Process Portal
(WebCenter)
BPM Studio (Business & IT views)
BPMN
© OPITZ CONSULTING GmbH 2011 Seite 8 Versteckte Schätze in BPM & SOA Suite 11g
Service Component Architecture (SCA)
1) SCA mit BPMN, BPEL und Human Task
Komponenten
2) BPMN Prozess: Fertigungssteuerung
3) BPEL Prozess: Fertigungsdokument senden
Fertigungsdokument
senden
© OPITZ CONSULTING GmbH 2011 Seite 9 Versteckte Schätze in BPM & SOA Suite 11g
BPM Suite 11g – Überblick
Geschäftsgetriebene Modellierung
Process Composer • Web-basierte
Anpassungen
• Ablauffähige
Prozesse
BPM Studio • Business IT
Collaboration
• Eine IDE
• Simulation
Geschäftsarchitektur
BPA Suite • Unternehmens-
modellierung
• Methoden-getrieben
Papier-
dokumente
Content Management
Business Intelligence
Process Analytics • BAM, BI
• Geschäftsindikatoren &
Messgrößen
• Prozesswürfel
BPM Runtime
• Standards – BPMN
2.0, BPEL, WS-
Human Task
• Business Rules
• Dynamisch
• Unternehmensweit
• Setzt auf SCA-
basierenden SOA server
Process Spaces • Persönliche UI
• Zusammenarbeit
• Kontextbezogene Infos
• Web 2.0 und BPM
genutzt von Oracle Produkten
Web Center Suite
Fusion Apps
UCM/IPM
© OPITZ CONSULTING GmbH 2011 Seite 10 Versteckte Schätze in BPM & SOA Suite 11g
Rent Your Legacy Car (RYLC)
• Demonstration einer durchgängigen SOA-Methodik anhand eines Autoverleih-Unternehmens
• Qualitätsattribute und Szenarien
• Prozess Visibility
Informationen zu den verfügbaren Mietwagen
Bessere Auslastung der Mietwagenflotte
Reduktion von Falschbuchungen
• Prozess Automatisierung
Telefonische Mietwagenbuchung durch Internet-buchung ergänzen
• Prozess Flexibilität
Erschließen von neuen Marktsegmenten durch Kooperation mit Hotelbuchungsportal
• Weitere Details und Konzepte sind in dem Sonderheft „SOA Spezial – Ready for Change“ enthalten
© OPITZ CONSULTING GmbH 2011 Seite 11 Versteckte Schätze in BPM & SOA Suite 11g
2 Schnell zu finden…
© OPITZ CONSULTING GmbH 2011 Seite 12 Versteckte Schätze in BPM & SOA Suite 11g
Referenzieren von Daten und Services (1/3) Lokale Kopien
SO
A C
om
po
sit
e 1
S
OA
Co
mp
os
ite
2
Backend
Server
Customer CarBooking Car
ClaimNotification
Interface Customer
Claim Notification
CarRental
Interface
CustomerInfoService
(with SOAP-Binding)
CustomerInfoService
(with SOAP-Binding)
© OPITZ CONSULTING GmbH 2011 Seite 13 Versteckte Schätze in BPM & SOA Suite 11g
Referenzieren von Daten und Services (1/3) Lokale Kopien
SO
A C
om
po
sit
e 1
S
OA
Co
mp
os
ite
2
Backend
Server
Customer CarBooking Car
ClaimNotification
Interface Customer
Claim Notification
CarRental
Interface
CustomerInfoService
(with SOAP-Binding)
CustomerInfoService
(with SOAP-Binding)
Achtung Inkonsistenzen!
Die lokale Speicherung der
Schnittstellen (WSDL) und
Datenobjekte (XSD) kann dazu
führen, dass die Artefakte in
unterschiedlichen
Ausprägungen vorkommen.
© OPITZ CONSULTING GmbH 2011 Seite 14 Versteckte Schätze in BPM & SOA Suite 11g
Referenzieren von Daten und Services (2/3) Direkte WS-Referenz auf Server
SO
A C
om
po
sit
e 1
S
OA
Co
mp
os
ite
2
Backend
Server
Customer CarBooking Car
CarRental
Interface
ClaimNotification
Interface Customer
Claim Notification
© OPITZ CONSULTING GmbH 2011 Seite 15 Versteckte Schätze in BPM & SOA Suite 11g
Referenzieren von Daten und Services (2/3) Direkte WS-Referenz auf Server
SO
A C
om
po
sit
e 1
S
OA
Co
mp
os
ite
2
Backend
Server
Customer CarBooking Car
CarRental
Interface
ClaimNotification
Interface Customer
Claim Notification
x
x
Ausfall /
Wartung
© OPITZ CONSULTING GmbH 2011 Seite 16 Versteckte Schätze in BPM & SOA Suite 11g
Referenzieren von Daten und Services (3/3) Zentrale Speicherung im MDS
SO
A C
om
po
sit
e 1
S
OA
Co
mp
os
ite
2
Backend
Server
Car CustomerInfoService
(with SOAP-Binding) Customer
Claim Notification
MDS
CustomerInfoService
(abstract Interface) ClaimNotification
Interface
CarRental
Interface CarBooking
© OPITZ CONSULTING GmbH 2011 Seite 17 Versteckte Schätze in BPM & SOA Suite 11g
Effektive Software-Entwicklung mit dem MDS
MDS
Composite
Interface (WSDL)
Reference Interfaces
(WSDL)
Fault Policies
(XML)
Domain
Value Maps (DVM)
Business Events
(EDL) Datenobjekte
(XSD)
oramds:/apps/<FOLDER>/<Service>.wsdl
© OPITZ CONSULTING GmbH 2011 Seite 18 Versteckte Schätze in BPM & SOA Suite 11g
Effektive Software-Entwicklung mit dem MDS (2)
• Bereitstellung von SOA-Artefakten in einem zentralen Repository
• Unterstützung von Top-Down Ansätzen (“Contract first”)
• Service Lifecycle Management
Motivation
• Entwicklung: SOA Artefakte abstrakt erstellen und referenzieren
• Konfiguration des lokalen MDS in der Konfigurationsdatei „adf-config.xml“
• Referenzierung erfolgt nach dem Prinzip: oramds:/apps/<FOLDER>/<Service>.wsdl
• Deployment: Metadaten werden als eigenes Deployment-Modul auf dem Server-MDS bereitgestellt
• Im Konfigurationsplan werden abstrakte Schnittstellen mit konkreten Endpunkten ausgetauscht
Benutzung
• Wiederverwendung von Schnittstellen, Daten, Ereignissen, Geschäftsregeln, FaultPolicies, DVMs…
• Unterstützt den Austausch zwischen Architekt und Entwickler
• Ermöglicht die zentrale Aktualisierung von SOA Artefakten
• Schnittstellen (Contract First Development
Realisierter Mehrwert
© OPITZ CONSULTING GmbH 2011 Seite 19 Versteckte Schätze in BPM & SOA Suite 11g
BPM & SOA mit Java-Integration?
• Wiederverwendung und Integration bestehender Java-Implementierungen
• Integration einer eigenen Benutzerverwaltung
• Verbesserung der technischen Monitoring-Möglichkeiten, z.B. für eine effizientere Fehleranalyse
• Individuelle Bedürfnisse am Look & Feel der bestehenden Standard-Applikationen
Motivation
• Integration von Java Beans in SCA-Applikationen: Spring-Komponente, Embedded Java in BPEL
• Benutzerverwaltung: Implementierung der IdentityProvider Interface-Klassen und Konfig. im WLS
• Erweiterte Funktionalität für die Behandlung von Fehlern (Java-Klasse, die das Interface IFaultRecoveryJavaClass (handleFault und handleRetrySuccess) implementiert)
• Gestaltung von User Interfaces: siehe Punkt Oberflächen-Customizing
Benutzung
• SCA/Java Kombination ist sehr vielfältig einsetzbar
• Freiheit für die Entwicklungsmannschaft => Java Know-How effizient einsetzen
• Umfangreiche Funktionalitäten der SOA Suite lassen sich mit Hilfe von Java noch ausbauen und customizen
• Vorteile der Plattform ausnutzen und durch individuelle Lösungen erweitern
Realisierter Mehrwert
© OPITZ CONSULTING GmbH 2011 Seite 20 Versteckte Schätze in BPM & SOA Suite 11g
Schnell auf Fehler reagieren
Fehlerbehandlung mit dem Fault Management Framework
• Einheitliche Definition der Fehlerbehandlung in Composite Applikationen
• Schnellstmögliche Identifikation von fachlichen und/oder technischen Fehlern
• Wiederverwendung von Logik für das effiziente Fehler-Alerting, -Logging und -Monitoring
• Eingriff zur Laufzeit: Wiederholte Ausführung (einzelner) fehlerhafter Service-Requests, ohne einen Gesamtprozess neu starten zu müssen
Motivation
• Sensoren; Fault-Policies (Default Actions und Custom Actions), FaultHandler
• Fachliche Fehler: Anzeige an der Benutzeroberfläche; Transport mit soap:fault
• Technische Fehler: Behandlung gehört nicht in die Businesslogik => daher vereinheitlichen
• Konfiguration erfolgt für SCA Composites in den Dateien fault-policies.xml und fault-bindings.xml
• Referenzierung für mehrere SCAs mit Hilfe der Properties “oracle.composite.faultPolicyFile” und “oracle.composite.faultBindingFile und zentrale Ablage im MDS
Benutzung
• Verbesserung der Effizienz bei der Behebung von Fehlern
• Ermöglicht den Eingriff zur Laufzeit, wobei die Instanzen erhalten bleiben
• Zentrales Fehlermanagement (z.B. für alle „Remote Faults“ in Composites => Email an Admin)
Realisierter Mehrwert
© OPITZ CONSULTING GmbH 2011 Seite 21 Versteckte Schätze in BPM & SOA Suite 11g
Wiederherstellen fehlerhafter Instanzen Verwendung des Fault Management Frameworks
© OPITZ CONSULTING GmbH 2011 Seite 22 Versteckte Schätze in BPM & SOA Suite 11g
Sicherheit und Management
Deklarative Policies mit dem Oracle Web Service Manager (OWSM)
• Konsistente Sicherung von Web Services auf Basis von WS-Security (Encryption, Decryption, Signing, Signature Validation)
• Generierung von standardisierten Security Tokens (z.B. SAML), um Identitäten einer Transaktion über verschiedene WebService-Aufrufe hinweg zu propagieren
• Einheitliche Policies an zentraler Stelle verwalten
Motivation
• Definition: Zuordnung und Management von Policies
• Durchführung: Verteilung von Policies aus einem zentralen Store zu den Policy Enforcement Points
• Policy Manager: Liest / schreibt die Policies (vordefinierte und individuelle Policies)
• WSM Agent: stellt die Einhaltung der Policy über die Policy Interceptor Pipeline sicher
• Policy Interceptors: machen die Policies mitsamt Reliable Messaging, Management, Addressing, Security, and Message Transmission Optimization Mechanism (MTOM) geltend
Benutzung
• Unterstützung geforderter Sicherheitsstandards
• Unterstützt das Monitoring von Laufzeitereignissen (Failed authentication oder Authorization)
• Zuordnung von Security Policies und Endpoints zur Entwicklungs- und Laufzeit
Realisierter Mehrwert
© OPITZ CONSULTING GmbH 2011 Seite 23 Versteckte Schätze in BPM & SOA Suite 11g
3 Danach muss man suchen…
© OPITZ CONSULTING GmbH 2011 Seite 24 Versteckte Schätze in BPM & SOA Suite 11g
Customizing der mitgelieferten Anwendungen zur
Aufgabenverwaltung (BPM Worklist)
• Anpassung des Look & Feels der mitgelieferten Standard-Anwendungen (Worklist / Workspace)
• Integration der Anwendung in das Intranet bzw. in bestehende Portale
• Zuschnitt der Funktionalitäten (Erweiterung bzw. Einschränkung)
Motivation
• Verwendung der Human Workflow Services API für die Entwicklung eigener Custom-Anwendungen
• ADF als Framework, aber nicht zwingend erforderlich
• Demo
Benutzung
• Effiziente Bedienung mit allen Freiheitsgraden
• Umfangreiche Funktionalitäten für ein vielfältiges Task Management (Berechtigungen, Eskalation, Expiration Policies, Benachrichtigungsfunktionen, Persistierung, …)
• Transparente Genehmigungsworkflows unter Verwendung der vorhandenen Benutzerverwaltung
Realisierter Mehrwert
© OPITZ CONSULTING GmbH 2011 Seite 25 Versteckte Schätze in BPM & SOA Suite 11g
Human Workflow Services API
Persistierung von Task-
daten, Formularen und
Attachments; dient der
Versionsverfolgung und
hält den AuditTrail vor
Zuweisung von Tasks zu
den entsprechenden
Benutzern mit Rücksicht
auf das ausgewählte
Pattern
Authentifizierung von
Benutzern sowie Lookup
von Benutzer-Properties,
Rollen und
Berechtigungen im
angebundenen LDAP-
System
Verwaltet Metadaten, die
mit Human Workflow
Benutzern in Verbindung
stehen (z.B.
Benutzereigenschaften,
Urlaubsvertretungs- und
Delegation-Rules)
Bietet Operationen für die
Abfrage von Task-Listen
bzw. Task-Details
Dient der
Benachrichtigung von
Benutzern über
verschiedene Kanäle
(Mail, SMS, Fax und
Voice)
© OPITZ CONSULTING GmbH 2011 Seite 26 Versteckte Schätze in BPM & SOA Suite 11g
Effiziente Anpassungsmöglichkeiten zur Laufzeit
Component Properties für benutzerdefinierte Konfigurationseinstellungen
• Beeinflussung des Laufzeitverhaltens von Composite-Applikationen
• Effizientes Property-Management (Performance, Zugriffskontrolle)
• Beispiele:
• Steuerung ob Ausführung im Test-, Simulations- oder Produktions-Betrieb erfolgen soll
• Festlegung eines Dateipfades, von dem Files gelesen werden sollen
Motivation
• Entwickung: Definition der Konfigurationsparameter zur Entwicklungszeit (auf Composite-Ebene)
• Deployment: Umgebungsabhängige Definition von Werten über den Configplan
• Laufzeit: Änderung der Werte via System Mbean Browser im Enterprise Manager
Benutzung
• Konfigurieren vs. Entwicklung mit anschließendem Deployment
• Integration in den Enterprise Manager
• Vereinfachung: keine separaten Konfigurationsdateien notwendig (keine gesonderte Ablage, effizientes Verteilen und Einlesen)
Realisierter Mehrwert
© OPITZ CONSULTING GmbH 2011 Seite 27 Versteckte Schätze in BPM & SOA Suite 11g
System MBean Browser Änderung der Werte von Composite-Properties
© OPITZ CONSULTING GmbH 2011 Seite 28 Versteckte Schätze in BPM & SOA Suite 11g
4 Tief vergraben…
© OPITZ CONSULTING GmbH 2011 Seite 29 Versteckte Schätze in BPM & SOA Suite 11g
Lose Kopplung mit dynamischem Endpunkt-Binding
• Dynamische Adressierung von Services => Adresse der WS-Referenz wird erst zur Laufzeit ermittelt
• Beispiel:
• Services auf unterschiedlichen Maschinen (technisch motiviert)
• Flexible Adressierung der Technology Adapter (fachlich motiviert)
• Einfache Integration neuer Services mit gleicher Schnittstelle (fachlich/technisch motiviert)
Motivation
• Steuerung des aufzurufenden Endpunktes erfolgt über die Property “endpointURI” (direkt auf dem Service-Aufruf)
• Ermittlung des aktuellen Endpunktes kann in Kombination mit Business Rules, Domain Value Maps oder den Component Properties erfolgen
• Schnittstelle der dynamischen Endpunkte muss identisch sein
• Nach dem Auslesen des Wertes folgt die Zuweisung auf die “endpointURI”
• Alternativen: Mediator & Oracle Service Bus
Benutzung
• Dynamische Anpassung der aufzurufenden WS-Referenz zur Laufzeit
• Auslieferung der Lösung im selbigen Deployment-Modul des Composites => somit keine gesonderte Konfiguration in einer zusätzlichen Architektur-Komponente
• Etablierung einer dynamischen Skalierung => ohne Konfiguration eines zusätzlichen Routings
Realisierter Mehrwert
© OPITZ CONSULTING GmbH 2011 Seite 31 Versteckte Schätze in BPM & SOA Suite 11g
Ressourcenschonende und performante SOA
Steuerung des Verhaltens zur Dehydration
• Default: Prozessinstanzen speichern ihren Zustand im Repository
• Laufende Instanz wird dehydriert => BPEL-Engine entfernt diese aus dem Memory
• Eintreffen eines Callbacks: BPEL-Engine holt die passende Instanz aus dem Dehydration Store zurück in den Memory und fährt mit der Ausführung fort
• Optimierung der Performance, beispielsweise für enorm hohe Anzahlen von Prozessinstanzen
• Steuerung zwischen „transient“ (einmalige Dehydration) und „durable“ (mehrmalige Dehydration
Motivation
• Transiente Prozesse: Bestimmte Aktivitäten dürfen nicht enthalten sein (Receive, Wait, OnMessage)
• Schnittstellenbeschreibung muss synchron sein
• Definition verschiedener Konfigurationsparameter
• inMemoryOptimization (Speicheroptimierung bei Wertzuweisungen)
• completionPersistPolicy (Festlegung, welche Instanzen gespeichert werden)
• oneWayDeliveryPolicy (Speicherung Instanz-erzeugender Nachrichten im Delivery Layer)
Benutzung
• Vorteile Dehydration: Recovery von BPEL Prozessen
• Ohne Dehydration: Steigerung der Performance; Reduktion der Laufzeitdaten, die in das Repository geschrieben werden
• Messbarer Geschwindigkeitsvorteil realisierbar
Realisierter Mehrwert
© OPITZ CONSULTING GmbH 2011 Seite 32 Versteckte Schätze in BPM & SOA Suite 11g
Fragen und Antworten
© OPITZ CONSULTING GmbH 2011 Seite 33 Versteckte Schätze in BPM & SOA Suite 11g
Ihre Ansprechpartner
Dr. Jens Hündling, Manager OracleDirect Sales Consulting
ORACLE Deutschland B.V. & Co. KG, Potsdam
Phone: +49 331 20 07 20 9
Mobile: +49 172 44 12 69 1
Danilo Schmiedel, Senior Consultant
OPITZ CONSULTING Berlin GmbH
Telefon +49 30 6298889-0
Mobil +49 173 72 79 001