1
Modellgetriebene Software-Entwicklung
mit BPMN und SOA
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
[email protected]: 1.0
Modellgetriebene Software-Entwicklung mit BPMN und SOA
Die modellgetriebene Softwareimplementierung (MDSD) betrieblicher Prozesse kombiniert die Qualitts- und Wartbarkeitsvorteile von modellierter und generierter Software, wird aber oft ob ihrer Kosten und Durchfhrbarkeit diskutiert. Wenn dann im Rahmen eines modellgetriebenen Implementierungsansatzes aus fachlichen Prozessmodellen in BPMN verwertbare technische Artefakte fr eine SOA-basierte Softwaregenerierung erstellt werden knnen, erffnet sich ein konomisch sinnvoller Lsungsweg. Leider reichen die ursprnglichen Modellierungstechniken der Oracle BPA Suite fr eine wirtschaftliche ausnutzbare Softwaregeneration nicht aus. Insbesondere die Themenfelder Userinterface und persistente Daten verschlieen sich einer leichten Generierbarkeit aus den existierenden Modelltypen. Die Erweiterbarkeit der BPA-Suite und die enge Integration mit den Konzepten der Laufzeitarchitektur der Oracle SOA Suite 11g erlauben jedoch die erfolgreiche Erweiterung der
MDSD mit BPMN und SOA 2010 Orientation in Objects GmbH
g j g gBasismodelle mit dem Ziel einer nahezu vollstndigen Softwaregenerierung. Der Vortrag stellt in einem Projekt erprobten Modellierungskonzepte fr Prozesse, Services, Daten und Benutzeroberflchen vor und berichtet ber die Erfahrungen bei deren Umsetzung mit der Oracle SOA Suite 11g.
2
2
Gliederung
MDSD meets BPM Vision Datenmodellierung ServicemodelleServicemodelle Human Task Modelle Prozessmodellierung
MDSD mit BPMN und SOA 2010 Orientation in Objects GmbH 3
Gliederung
MDSD meets BPMN Vision Datenmodellierung ServicemodelleServicemodelle Human Task Modelle Prozessmodellierung
MDSD mit BPMN und SOA 2010 Orientation in Objects GmbH 4
3
ARIS MDA Approach
OMGModelling Layer Diagramm Syntaxelement
Conceptional(CIM)
Logical(PIM)
Functional Cluster
Application SystemType
VAD, EPCTechnical Terms
BPMNeERM
MDSD mit BPMN und SOA 2010 Orientation in Objects GmbH
Physical(PSM)
5
WSDL/XSDBPEL, WSDLXSD
Modellerstellung: Bottom-up MDSD SOA Approach
Existing XSD WSDL
Technical Data
Business Model BPMN
Share Blueprint SCA-
Composite BPEL
Technical
MDSD mit BPMN und SOA 2010 Orientation in Objects GmbH
Import Implementation
6
4
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 mit BPMN und SOA 2010 Orientation in Objects GmbH
Consolidation Implementation
7
ImplementierungAnalyse
Top Down Analysis vs. Bottom Up Implementation
Processes Data/Services
UserinterfacesScreen Design
Screen Navigation
VAC EPC BPMN
UserinterfacesSDL
XAML/XAP SNL
XSD WSDL
MDSD mit BPMN und SOA 2010 Orientation in Objects GmbH
Data/ServicesTechnical Services eERM
Processes
BPEL
8
5
Oracle BPA Suite 11g Oracle SOA Suite 11g
Oracle BPA Suite bersicht
Business Process Architect JDeveloperp
ShareBlueprint Deploy
Import
Manage
Plugin
MDSD mit BPMN und SOA 2010 Orientation in Objects GmbH 9
BusinessProcess
Repository
WeblogicServer
Refresh fromBPA Server
Oracle SOA Suite Laufzeitarchitektur
Oracle Weblogic Server
Oracle Service Bus
SCA Runtime
ServiceMediator
BPELEngine
WorklistApplication
JEE Web EJB 3
ADF EJBService
Rules Engine
MDSD mit BPMN und SOA 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
Process-LevelBPEL-Engine
Domain-LevelJEE Server
Data Access Level
MDSD mit BPMN und SOA 2010 Orientation in Objects GmbH
Data AccessService 1
Data AccessService 2
e.g. Customer e.g. Invoice
Data Access-LevelOracle Mediator, JDBC,
Persistence-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. Navigationscontroller6. Defintion der ScreensScreen Application
6611
MDSD mit BPMN und SOA 2010 Orientation in Objects GmbH
Build & Deployment Approach
Rules77
7. 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 mit BPMN und SOA 2010 Orientation in Objects GmbH 13
Mgliche Generierungspunkte fr Datenobjekte
Business ObjectDO
DomainService 2
DomainService 1
ProcessService
Data AccessData Access Data AccessData Access
e.g. findInvoicesByCustomer(..)
DO XSD
DO
MDSD mit BPMN und SOA 2010 Orientation in Objects GmbH
Data AccessService 1 Service 2
e.g. findCustomerByUID(..) e.g. findInvoicesByCustomerUID(..)
Java-Klassen Konverter
DO
8
XSD Generierung
XSDEntity typeD attribute (ERM) ERM domain
Address Address
Generierung
MDSD mit BPMN und SOA 2010 Orientation in Objects GmbH 15
D attribute (ERM)
D attribute (ERM)
D attribute (ERM)
ERM domain
ERM domain
ERM domain
XSD import
Order
OrderItems
XSD import
MDSD mit BPMN und SOA 2010 Orientation in Objects GmbH 16
xsdComplexTypehttp://www.globalcompany.com/ns/order::OrderInfoTypexsdElement 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
xsdComplexTypehttp://www.globalcompany.com/ns/order::ItemTypexsdElement 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
9
XML / Java Binding durch JAXB
Klasse Schema1 1
JAXB* **
1 1
MDSD mit BPMN und SOA 2010 Orientation in Objects GmbH 17
Objekte Dokumente DokumenteObjekte 1 1Objekte Dokumente
JAXB Anwendungsszenario
SchemabasierteKlassen
und InterfacesBindingXML
Compile Time
AnwendungObjekte
gCompilerSchema
Runtime
MDSD mit BPMN und SOA 2010 Orientation in Objects GmbH 18
XMLDokumente
JAXBAPImarshal
unmarshal
10
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 mit BPMN und SOA 2010 Orientation in Objects GmbH
JPA
EJB 3.x Hibernate
.Net SDOEJB 2.0
IstVision
EJB 3.x
Problem: Data Service Silos innerhalb der SOA
Geschftsobjekte berspannen mehrere Silos Modellierte Geschftsobjekte, die real nicht existieren Performance bei Relationen zwischen ObjektenPerformance bei Relationen zwischen Objekten Analyse fr Generierung oft nicht detailliert genug
ESB
Adapter Adapter Adapter Adapter Adapter Adapter Adapter
MDSD mit BPMN und SOA 2010 Orientation in Objects GmbH
Andere Services Beschaffung Logistik
11
Gliederung
MDSD meets BPMN Vision Datenmodellierung ServicemodelleServicemodelle Human Task Modelle Prozessmodellierung
MDSD mit BPMN und SOA 2010 Orientation in Objects GmbH 21
Mgliche Generierungspunkte fr Services
Software Service
DomainService 2
DomainService 1
ProcessService
Data AccessData Access Data AccessData Access
e.g. Invoice service
e.g. Order process
WSDL
MDSD mit BPMN und SOA 2010 Orientation in Objects GmbH
Data AccessService 1
Data AccessService 2
Service- & Client-Impl.
12
MDA Approach for SOA
CIM
Business ServiceMap
Batch_Information IS function
PIM
CBusiness Service
Model
Software ServiceService
BusinessService Business
service
Batch_Information
Businessservice
Batch_Information
IS function
MDSD mit BPMN und SOA 2010 Orientation in Objects GmbH 23
PSM
WSDL/XSD
read
Example: WSDL-Generierung aus Access Diagramm
Validate Credit
CreditService
CreditService
MDSD mit BPMN und SOA 2010 Orientation in Objects GmbH 24
13
Web Service Architektur
Service Endpoint Definition (WSDL)