Oracle BPEL in Großprojekten

Transcription

Oracle BPEL in Großprojekten
Oracle BPEL in
Großprojekten
Uwe Ritter
Holger Stratmann
DOAG SIG BPM, 23. März 2010
Die Theorie
Portal
Beschwerde
Management
ERP
ERP
Billing
Billing
BPM
Provisionierung
HR
HR
Beschwerde
Management
N
N(N-1)
2
© 2010 People at Work Systems AG
Provisionierung
Aber …
„… a real Programmer can write FORTRAN
programs in any language …“
(aus „Real Programmers don‘t use Pascal“, Datamation Ausgabe 29, 7. Juli 1983)
© 2010 People at Work Systems AG
Die Wirklichkeit
© 2010 People at Work Systems AG
Projektübersicht
•
Komplexe Auftragsbearbeitung
•
Umgebung




•
•
•
•
•
•
Entwicklungsumgebung
Systemtestumgebung
Integrationstestumgebung
Produktionsumgebung
Komplett in Oracle BPEL implementiert
3 Haupt-Entwicklungszweige
5 bis 9 aktive Entwicklungszweige
4 Wochen Testzyklus für eine neue Version
Ca. 40 – 70 Leute im Projektteam
Ca. 500 Leute in das Projekt involviert
© 2010 People at Work Systems AG
Projektübersicht
• Mengengerüst
 Ca. 300 BPEL Prozesse
o ~ 150 fachliche Prozesse
o ~ 70 Prozesse zur
Datenbankabstraktion
o ~ 30 Schnittstellenprozesse
o ~ 50 sonstige technische Prozesse





Ca. 50 bis 150 Prozessschritte pro Prozess
20 – 1.000 Elemente pro XML Datei (300 im Durchschnitt)
15.000 Aufträge pro Tag
50.000 Aufträge pro Tag geplant
3 TB Produktionsdatenbank
© 2010 People at Work Systems AG
Theorie und Praxis
•
SOA/BPEL Theorie
–
–
–
–
•
Modular
Flexibel
Wiederverwendbar
Einfach zu testen
SOA/BPEL Praxis in Großprojekten
–
–
–
–
–
Keine Unterprogramme
Keine Programm-Bibliotheken
Viel Overhead für neue Prozesse
Geringe Wiederverwendbarkeit
Viel Workarounds notwendig („Unterprogramme“ über
XSL Transformationen vor dem compilieren in den Code
„beamen“)
© 2010 People at Work Systems AG
Theorie und Praxis
•
BPEL/XML Theorie
– Leicht verständlich
– Flexibel
– Universell
•
BPEL/XML Praxis in Großprojekten
–
–
–
–
–
–
–
Sehr große XML Strukturen
Schwierig zu handhaben
Viele formale Anforderungen an das Datenschema
Viele Mappings
Situationsbezogene Einzeldaten „gehen unter“
Zeitraubende Fehlersuche
Dokumentationsintensiv
© 2010 People at Work Systems AG
Theorie und Praxis
•
Beispiel (nur eigene Orchestrierungsschicht)
© 2010 People at Work Systems AG
Theorie und Praxis
Oracle BPEL Process Manager Theorie
FEATURES INCLUDE:
· BPEL Designer
· Native BPEL support
· Drag-and-drop process modeler
· UDDI and WSIL Service Browser
· Transformation modeler with auto-mapping features
· Integrated adapter and human workflow wizards
· One click build and deploy
· Sensors to track activities
· BPEL Console
· Visual Monitoring
· Auditing
· BPEL debugger
· In-flight administration
· Performance tuning
· Partition/domains
· Built-in Integration Services
· Email and JMS messaging services
· JCA 1.5 connectivity
· Adapters for packaged applications and legacy ystems
· Database adapter
· XSLT and XQUERY Transformation Services
· Human workflow services
· Extensible WSIF binding framew ork
· Java embedding
· Human Workflow Service
· Task assignment and routing
· Multiple workflow patterns
· Identity services
· Task list
· Notification services
· BPEL Server
· Comprehensive BPEL 1.1
· Sync. and async. messaging
· Context dehydration
· Advance exception management
· Side-by-side versioning
· Large XML document support
· High performance
© 2010 People at Work Systems AG
Theorie und Praxis
Oracle BPEL Process Manager Praxis
• Editieren
• Compilieren
• Deployen
• Ausführen / Testen
• Logdateien analysieren
Pro Iteration
ca. 3 – 10 min
(ohne Fehlersuche)
•
•
•
„Junger“ Standard
„Junge“ Werkzeuge
Tests und Fehlersuche sehr zeitintensiv
(= Projektkosten)
© 2010 People at Work Systems AG
“Entwicklungshilfe” für BPEL
•
„Rapid Process
Development“
Text


Text
User Interfaces
RPD Server (HTTP)
BEE –
BPEL Emulation Engine
XG – XML
Generator



Text
XB – XML Builder

JDeveloper
External Tool
Eigener BPEL
Parser und
Interpreter
Generator für
XML Strukturen
Analysewerkzeug
Testwerkzeug
Lokal und „offline“
ausführbar
HTML / Ajax
© 2010 People at Work Systems AG
“Entwicklungshilfe” für BPEL
•
Rapid Process Development:
•
Lokales Ausführen und Analyse von Testfällen
•
Detaillierte Ausgaben zu vielen
Fehlersituationen
•
„Drill-down“-Analyse von Variablen und
Ausdrücken
•
Hilfe
•
•
•
•
•
bei der Erstellung von XML und Testfällen
„Basis-XML“ wird automatisch erstellt
„Basis-Test“ wird automatisch erstellt
XML wird nach Angabe der relevanten Werte
automatisch aus dem Schema erstellt
Analyse der Testabdeckung
Nachstellen, Beheben und Nachtesten von
Fehlersituationen
•
Daten werden von (Produktiv-)Server
heruntergeladen und lokal analysiert
© 2010 People at Work Systems AG
“Entwicklungshilfe” für BPEL
•
RPD: Tests im JDeveloper starten
© 2010 People at Work Systems AG
“Entwicklungshilfe” für BPEL
•
Detaillierte Analysemöglichkeiten im Browser
© 2010 People at Work Systems AG
“Entwicklungshilfe” für BPEL
Rapid Process Development:
• Lokaler BPEL-Interpreter
– Compilieren + Deployen entfällt während der
Entwicklung
– Typische Ausführungszeit eines Testfalls: < 1 sec.
© 2010 People at Work Systems AG
Fragen
Vielen Dank für Ihre Aufmerksamkeit !
www.paw-systems.com
© 2010 People at Work Systems AG