MDSD meets BPMN - Eldorado für Analytiker? - OIO...1 MDSD meets BPMN - Eldorado für Analytiker?...
Transcript of MDSD meets BPMN - Eldorado für Analytiker? - OIO...1 MDSD meets BPMN - Eldorado für Analytiker?...
1
MDSD meets BPMN -Eldorado für Analytiker?
Ein Praxisbericht
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
[email protected]: 1.1
Daniel Zwink
Björn Feustel
MDSD meets BPMN - Eldorado für Analytiker?
• Wenn mit BPMN aus fachlichen Analysemodellen technisch verwertbare Prozessmodelle entstehen, dann werden aus Analytikern Goldgräber. Was in der Theorie schnelle Erträge verspricht, führt in der Praxis zu tiefen Grabungen bei der Modellierung von Datentypen, Serviceschnittstellen, Prozessen und deren Oberflächen . Häufig zitierte Basistechniken der Geschätsprozessmodellierung bieten in der Realität der SOA eines Großunternehmens oft nicht mehr als die sprichtwörtlichen"Spitzhacke und Schaufel".
D V t ht h " h M d lli G ät"
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
• Der Vortrag sucht nach "schwerem Modellierer-Gerät".
2
2
Gliederung
• MDSD meets BPMN Vision• Datenmodellierung• ServicemodelleServicemodelle• Human Task Modelle• Prozessmodellierung
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 3
Gliederung
• MDSD meets BPMN Vision• Datenmodellierung• ServicemodelleServicemodelle• Human Task Modelle• Prozessmodellierung
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 4
3
Oracle BPA Suite 11g Oracle SOA Suite 11g
Oracle BPA Suite Übersicht
Business Process Architect JDeveloperp
ShareBlueprint Deploy
Import
Manage
Plugin
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 5
BusinessProcess
Repository
WeblogicServer
Refresh fromBPA Server
ARIS MDA Approach
OMGModelling Layer Diagramm
Conceptional(CIM)
Logical(PIM)
VAD, EPC,Technical Term
BPMN,eERM
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
Physical(PSM)
6
BPEL, WSDL,XSD
4
Modellerstellung: Bottom-up MDSD SOA Approach
• Existing• XSD• WSDL
Technical Data
• Business Model• BPMN
„Share Blueprint“ • SCA-
Composite• BPEL
Technical
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
Import Implementation
7
Modellerstellung: Top-down MDSD SOA Approach
Eigenentwicklung
• Business Model• VAD/EPC• eERM, Access
Diagram, …
DatamodelGeneration • Generated
• XSD• WSDL
Consolidation
• Manually linkedartefacts fromBusiness Model
• BPMN
„Share Blueprint“ • SCA-Composite
• BPEL
Technical
g g
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
Consolidation Implementation
8
5
ImplementierungAnalyse
Top Down Analysis vs. Bottom Up Implementation
Processes Services / Data
UserinterfacesScreen Design
Screen Navigation
VAC EPC BPMN
UserinterfacesSDL
XAML/XAP SNL
XSD WSDL
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
Services / DataTechnical Services eERM
Processes
BPEL
9
Oracle SOA Suite Laufzeitarchitektur
Oracle 11g Application Server
Oracle Service Bus
SCA Runtime
ServiceMediator
BPELEngine
WorklistApplication
JEE Web EJB 3
ADF EJBService
Rules Engine
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 10
BPELProcess
Notifications
Messaging JAX WS
JTA JPA
JDBCJNDI
6
Laufzeitschichten der Anwendung
• GUI-LevelBrowser
DomainService 2
DomainService 1
ProcessService
Data AccessData Access Data AccessData Access
e.g. Invoice service
e.g. Order process
• Prozess-LevelBPEL-Engine
• Domain-LevelJEE Server
• Data Access Level
DomainService 2
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
Data AccessService 1
Data AccessService 2
e.g. Customer e.g. Invoice
• Data Access-LevelOracle DB Adapter, JDBC, …
• Persistenz-LevelRDBMS
Development Vision
ARIS Artefakte & GenerateProcess XSD WSDL SNL
1. Prozessmodell – Blue Print
2. Datentyp als XML Schema
SDL
JDev
2233
44 3 Szenarien (Screen Navigation)• ADF > JDeveloper• Cocoon > Eclipse• Silverlight > Visual Studio
55
Schema3. Servicedefinition als
WSDL4. Technische
Implementierung in JDeveloper
5. Definition der Screen Navigations
Screen Application
6611
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
Build & Deployment Approach
Rules77
6. Defintion der Screens7. Business Rules8. Build & Deployment
Sc ee pp cat oSilverlight
(SDL > XAML)
12
88
7
Gliederung
• MDSD meets BPMN Vision• Datenmodellierung• ServicemodelleServicemodelle• Human Task Modelle• Prozessmodellierung
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 13
Mögliche Generierungspunkte aus Datenmodellen
Business ObjectDO
DomainService 2
DomainService 1
ProcessService
Data AccessData Access Data AccessData Access
e.g. findInvoicesByCustomer(..)
DO XSD
DO
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
Data AccessService 1 Service 2
e.g. findCustomerByUID(..) e.g. findInvoicesByCustomerUID(..)
Java Klasse Konverter
DO
C# Klasse
8
Kanonisches Datenmodell
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 15
Generierung von XSDs aus Business Objects
Address Address
XSD
Entity type
D attribute (ERM)
D attribute (ERM)
ERM domain
ERM domain
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 16
D attribute (ERM)
D attribute (ERM)
ERM domain
ERM domain
9
XSD Import / Konsolidierung
Order
OrderItems
XSD
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 17
«xsdComplexType»http://www.globalcompany.com/ns/order::OrderInfoType«xsdElement» OrderDate: date[0..1]«xsdElement» OrderPrice: decimal[0..1]«xsdElement» OrderStatus: string[0..1]«xsdElement» OrderComments: string[0..1]«xsdElement» ApprovalRequired: boolean[0..1]
Tagged Values:maxOccurs = 1minOccurs = 1modelGroup = sequence
«xsdComplexType»http://www.globalcompany.com/ns/order::ItemType«xsdElement» ProductName: string[0..1]«xsdElement» itemType: string[0..1]«xsdElement» partnum: string[0..1]«xsdElement» price: decimal[0..1]«xsdElement» Quantity: decimal[0..1]
Tagged Values:maxOccurs = 1minOccurs = 1modelGroup = sequence
XML / Java Binding durch JAXB
JavaKlasse
XMLSchema
1 1
Klasse Schema
JAXB
***
1 1
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 18
Objekte Dokumente DokumenteObjekte 1 1Java
ObjekteXML
Dokumente
10
JAXB Anwendungsszenario
SchemabasierteKlassen
und InterfacesBindingXML
Compile Time
Anwendung
Objekte
CompilerSchema
XML marshal
Runtime
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 19
jXMLDokumente JAXB
API
marshalunmarshal
Schwierigkeit: Data Service Silos innerhalb der SOA
• Geschäftsobjekte überspannen mehrere Silos• Modellierte Geschäftsobjekte, die real nicht existieren• Performance bei Relationen zwischen ObjektenPerformance bei Relationen zwischen Objekten• Analyse für Generierung oft nicht detailliert genug
ESB
Adapter Adapter Adapter Adapter Adapter Adapter Adapter
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
Andere Services Beschaffung Logistik
11
Vision der Integration: Generierung der Persistenz aus kanonischem Modell
Legacy ModelUML
ARISBPA Suite - UML
ProprietaryFormat
Pd-entity.xml
Entity.xml
ARIS ExtensionGenerierung
Entity.xsdXSLT
Transformation
ERM VB-ScriptGenerierung
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
JPA
EJB 3.x Hibernate
.Net SDOEJB 2.0
IstVision
EJB 3.x …
Gliederung
• MDSD meets BPMN Vision• Datenmodellierung• ServicemodelleServicemodelle• Human Task Modelle• Prozessmodellierung
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 22
12
Mögliche Generierungspunkte aus Servicemodellen
Software Service
DomainService 2
DomainService 1
ProcessService
Data AccessData Access Data AccessData Access
e.g. Invoice service
e.g. Order process
WSDL
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
Data AccessService 1
Data AccessService 2
Service- & Client-Impl.
Web Service Architektur
Service Endpoint Definition (WSDL)Service Endpoint Definition (WSDL)
request / response
import publish
Web ServiceClient
Web ServiceClient
Web ServiceEndpoint
Web ServiceEndpoint
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 24
SOAPSOAPHTTPHTTP
artifacts artifacts
13
Web Service Generierung „Contract Driven“
Service Endpoint Definition (WSDL)Service Endpoint Definition (WSDL)
Code Generator
JAX-WS
Code Generator
JAX-WS
Service Service
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 25
ImplementierungImplementierung
Client
Proxy
Servlet Engine
Proxy
Deployment eines Web Service in JEE 5
Oracle 11g Application Server
Oracle Service Bus
SCA Runtime
ServiceMediatorServiceMediator
BPELEngineBPELEngine
WorklistApplication
JEE Web EJB 3
Rules Engine
@WebServiceClass BookService
BookWeb Application
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 26
Notifications
Messaging JAX WS
JTA JPA
JDBCJNDI
14
WSDL 2 Java
WSDL Java
wsdl:definitions Package@targetNamespace Package
wsdl:portType Interface @WebService
wsdl:operation Methode @WebMethod
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 27
wsdl:fault Exception @WebFault
WSDL 2 Java - Client
WSDL Java
wsdl:serviceErbt von javax.xml.ws.ServiceServicename ist Klassenname@WebServiceClient
wsdl:port "Proxy" getPortname()@WebEndpoint
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 28
15
Beispiel Schichtenbildung von Services und Prozessen
BPEL EngineBeschaffunfgs-PService
Bestandsprüfungs-PService
Oracle Service Bus
BANF-PService
Buchungs-PService
EJB 3.x Container (WLS)ManageBANF DServiceManageBANF-DService
Oracle Service Bus
Bestellungs-DService
Legacy Container
ContainerRMIService
MaterialDB
BANF-BService
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
Externe Services
ProductService Warenhaus
ContainerService CalendarServiceCalendarService
BANF BService
Bestellung BServiceBestellung-BService
Entität 1 Entität 2
Beschaffung DB
29
Schwierigkeit: Serviceschichtung & Abhängigkeiten
DomainService 2
DomainService 1
ProcessService
Data AccessData Access Data AccessData Access
Application / UIService
DomainDomain
ProcessService
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
Data AccessService 1
Data AccessService 2
DomainService 2
DomainService 1
16
Gliederung
• MDSD meets BPMN Vision• Datenmodellierung• ServicemodelleServicemodelle• Human Task Modelle• Prozessmodellierung
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 31
Mögliche Generierungspunkte aus UI-Modellen
Screen Screen Navigation
DomainService 2
DomainService 1
ProcessService
Data AccessData Access Data AccessData Access
SDL SNL
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
Data AccessService 1
Data AccessService 2
XAML
17
JEE
Anbindung der Oracle Worklist /Verarbeitung von Human Tasks
Oracle PMBPEL
Process UIWebframework
Task completeAssign task
DomainServices
APIAPI
Silverlight
APIAPI
DomainWorklist
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
Worklist Services
HumanTasks
Human Task Clients als Mini-Applikation
• Silverlight XAPs als Mini-Applikation– Bearbeitung eines Human Task
• Wiederverwendung als ZielSil li ht A li ti
g– Screens in verschiedenen HTs– Mini-Applikationen als HTs
• Schwierigkeiten– Granularität der Screens
Silverlight Web
Silverlight ApplicationScreen 1
Screen 2
Screen 3
miniapp.xap
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
Navigation ControllerNavigation 1.snl
web-application.war
ServiceFacade
DService 1 DService 2services.ear
18
Generierung von Screens und Navigationen
• Ziel: In ARIS Screen- und Navigationsmodelle zu pflegen– Implementierungsneutral durch Intermediate Format– Templates im Modell (Suche, Eingabe, Master-Detail, ...)p ( g )
• Screen Design per Screen Definition Language (SDL)– Transformation nach XAML möglich (XSLT)
• Screen Navigation per Screen Navigation Language (SNL)– Verarbeitung über Framework oder Service möglich
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
Beispielmodell Screen
• Screen Model– Container– Komponenten– Binding auf VO / DO
• View Objects als eERM (spezielles Mappingmodell)
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 36
19
Schwierigkeiten: Unvollständiges Metamodell
• Screen Metamodell war initial technisch unterspezifiziert– Fehlende Data-Mappings– Screen Behaviour
• Metamodell im Projektverlauf angereichert um– Data Mapping
Abbildungsinformation des View Object auf das kanonische Modell in ARIS
– ActionsModellierung von Servicecalls im UI (z.B. in Tabellen)
• Sperrige und relativ starre UI durch Templates
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
– Vorteil für Generierung– Nachteil für Endbenutzer– Begrenzte Mächtigkeit der SDL
37
Beispielmodell Screen Navigation
• Technisch unterspezifiziert• Wurden angereichert um:
– “Start” Navigation
• Pfadmöglichkeiten im Netzerfordern zustandsbehaftetenController / Serviceg
– “End” Navigation • Konvention: Transitionen nur
über hier sichtbare Controls
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 38
20
Gliederung
• MDSD meets BPMN Vision• Datenmodellierung• ServicemodelleServicemodelle• Human Task Modelle• Prozessmodellierung
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 39
Mögliche Generierungspunkte aus Prozessen
BPMN
DomainService 2
DomainService 1
ProcessService
Data AccessData Access Data AccessData Access
e.g. Order process
BPEL
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
Data AccessService 1
Data AccessService 2
21
Beispielhafte „Process Map“
BestellungBestellungReklamation
BeschaffungBestellanfrage
Bestellung Wareneingang
BestellungSAP
-Bestands-
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 41
Umfüllung
Bestandsprüfung
AbgelaufenerWarenausgang
Oracle SOA Suite Development-Architektur für BPEL
Oracle 11g Application Server
Oracle Service BusSCA Runtime
ServiceMediator
BPELEngine
Notifications
Worklist
JEE Web EJB 3
ADF EJBService
Rules-Engine
Messaging JAX WS
JTA JPA
JDBCJNDI
BPEL
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 42
JDBCJNDIJDeveloper
BPEL Designer
22
Schwierigkeit: Analyseunschärfe in der Prozessmodellierung
• Problematische Anforderungen in EPCs– Enthalten Anforderungen als Freitext – Funktionale Anforderungen die u.U. nicht zu BPMN transformiert g
wurden / werden konnten• nicht druckbar• kein automatisches Reporting• nicht durchsuchbar
– Fragwürdiges Ergebnis bei starrer 1:1 Transformation• Konsistente Modellierung des BO Zugriffs
– z.B. fehlende Serviceaufrufe
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
• Ungenaue Korrelation von Payloads, Prozessvariablen und Serviceparametern
43
Beispielprozess: Wareneingang
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 44
23
Schwierigkeit: Komplexität & Usability
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 45
Wareneingang: Hot Spot Detail
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
• Optimierungspotential– Komplexität– Bedienbarkeit in UI
46
24
Wareneingang: Hot Spot Lösungsmöglichkeit 1
Anlieferungaufnehmen
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 47
Wareneingang: Hot Spot Lösungsmöglichkeit 2
AnlieferungB t ll
gaufnehmen
Anlieferungaufnehmen
BestellungLieferungPrüfung
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH 48
Anlieferungaufnehmen
25
Fazit
• Oracle 11g SOA Suite ist...– ...eine einsatzfähige Basis für eine modellgetriebene SOA – ...eine Laufzeitarchitekturplattform für „human centric“ BPM– ...damit ein Erfolgsfaktor des Projektes...damit ein Erfolgsfaktor des Projektes
• Top-down Ansatz der Modellierung (EPC/ARIS nach BPMN) integriert sich nicht vollständig in die BPA Suite Werkzeugkette– Generatoren bieten keine Möglichkeit des Reengineerings zwischen PSM
und PIM, was zu Redundanzen bei WSDL- und Schemamodellen (ARIS/UML) führte
• Betrachtung der Kostenseite– hohe initiale Modellierunganstrengungen notwendig sind
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
hohe initiale Modellierunganstrengungen notwendig sind
• Trägt die Idee von der Kopplung Analyse/Generierung?– Kann die Analyse die notwendigen Details kennen?– Iteratives Vorgehen notwendig
49
Mehr von OIO zum Thema
• Schulung: Modellierung von Geschäftsprozessen mit BPMN– http://www.oio.de/seminar/methodik-prozess-management-soft-
skills/training-business-process-kurs-modeling-bpmn-schulung.htm
• Schulung: Einführung in BPEL– http://www.oio.de/seminar/xml/kurs-ws-bpel-schulung-bpel-seminar-
ode-training.htm
• Schulung: UML2 für MDSD– http://www.oio.de/seminar/methodik-prozess-management-soft-
skills/training-uml-kurs-mdsd-schulung.htm
MDSD meets BPMN - Eldorado für Analytiker?© 2010 Orientation in Objects GmbH
• Artikel: Übersicht Eclipse Modeling Project EMP– http://www.oio.de/public/opensource/uebersicht-eclipse-modeling-
framework-emp-emf-artikel.htm
50
26
? ??? ?
???
Fragen ?
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
??
Vielen Dank für ihre Aufmerksamkeit !
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim