Post on 06-Feb-2018
transcript
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
www.oio.deinfo@oio.deVersion:
ModellgetriebeneSoftware-Entwicklung
mit BPMN und SOA
1.0
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Modellgetriebene Software-Entwicklung mit BPMNund SOA
• Die modellgetriebene Softwareimplementierung (MDSD) betrieblicher Prozessekombiniert die Qualitäts- und Wartbarkeitsvorteile von modellierter undgenerierter Software, wird aber oft ob ihrer Kosten und Durchführbarkeitdiskutiert.Wenn dann im Rahmen eines modellgetriebenen Implementierungsansatzesaus fachlichen Prozessmodellen in BPMN verwertbare technische Artefakte füreine SOA-basierte Softwaregenerierung erstellt werden können, eröffnet sichein ökonomisch sinnvoller Lösungsweg. Leider reichen die ursprünglichenModellierungstechniken der Oracle BPA Suite für eine wirtschaftlicheausnutzbare Softwaregeneration nicht aus. Insbesondere die ThemenfelderUserinterface und persistente Daten verschließen sich einer leichtenGenerierbarkeit aus den existierenden Modelltypen. Die Erweiterbarkeit derBPA-Suite und die enge Integration mit den Konzepten der Laufzeitarchitekturder Oracle SOA Suite 11g erlauben jedoch die erfolgreiche Erweiterung derBasismodelle mit dem Ziel einer nahezu vollständigen Softwaregenerierung.Der Vortrag stellt in einem Projekt erprobten Modellierungskonzepte fürProzesse, Services, Daten und Benutzeroberflächen vor und berichtet über dieErfahrungen bei deren Umsetzung mit der Oracle SOA Suite 11g.
2
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Gliederung
• MDSD meets BPM Vision• Datenmodellierung• Servicemodelle• Human Task Modelle• Prozessmodellierung
3
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Gliederung
• MDSD meets BPMN Vision• Datenmodellierung• Servicemodelle• Human Task Modelle• Prozessmodellierung
4
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Physical(PSM)
Conceptional(CIM)
Logical(PIM)
ARIS MDA Approach
5
Functional Cluster
Application SystemApplication SystemType
WSDL/XSD
OMGModelling Layer Diagramm Syntaxelement
VAD, EPCTechnical Terms
BPMNeERM
BPEL, WSDLXSD
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Modellerstellung: Bottom-up MDSD SOA Approach
• Existing• XSD• WSDL
Technical DataImport
• BusinessModel• BPMN
„ShareBlueprint“ • SCA-
Composite• BPEL
TechnicalImplementation
6
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Modellerstellung: Top-down MDSD SOA Approach
• Business Model• VAD/EPC• eERM, Access
Diagram, …
DatamodelGeneration • Generated
• XSD• WSDL
Consolidation
• Manually linkedartefacts fromBusiness Model
• BPMN
„ShareBlueprint“ • SCA-Composite
• BPEL
TechnicalImplementation
7
Eigenentwicklung
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
ImplementierungAnalyse
Top Down Analysis vs. Bottom Up Implementation
Data/ServicesTechnicalServices eERM
UserinterfacesScreenDesign
ScreenNavigation
Processes
VAC EPC BPMN
Processes
BPEL
UserinterfacesSDLà
XAML/XAP SNL
Data/Services
XSD WSDL
8
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Oracle BPA Suite 11g Oracle SOA Suite 11g
Oracle BPA Suite Übersicht
9
BusinessProcess
Repository
WeblogicServer
Business Process Architect JDeveloper
ShareBlueprint Deploy
Refresh fromBPA Server
Import
Manage
Plugin
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Oracle SOA Suite Laufzeitarchitektur
10
Oracle Weblogic Server
SCA Runtime
ServiceMediator
BPELEngine
BPELProcess
Notifications
WorklistApplication
Oracle Service Bus
JEE Web EJB 3
ADF EJBService
Rules Engine
Messaging JAX WS
JTA JPA
JDBCJNDI
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Laufzeitschichten der Anwendung
DomainService 2
DomainService 1
ProcessService
Data AccessData AccessService 1
Data AccessData AccessService 2
e.g. Customer e.g. Invoice
e.g. Invoice service
e.g. Order process
• GUI-LevelBrowser
• Process-LevelBPEL-Engine
• Domain-LevelJEE Server
• Data Access-LevelOracle Mediator, JDBC, …
• Persistence-LevelRDBMS
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Development Vision
ARIS Artefakte & GenerateProcess XSD WSDL SNL
JDev
2233
44
Build & Deployment Approach
Rules
3 Szenarien (Screen Navigation)• ADF > JDeveloper• Cocoon > Eclipse• Silverlight > Visual Studio
55
77
1. Prozessmodell – BluePrint
2. Datentyp als XMLSchema
3. Servicedefinition alsWSDL
4. TechnischeImplementierung inJDeveloper
5. Navigationscontroller6. Defintion der Screens7. Business Rules8. Build & Deployment
SDL
Screen ApplicationSilverlight
(SDL > XAML)
66
12
11
88
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Gliederung
• MDSD meets BPMN Vision• Datenmodellierung• Servicemodelle• Human Task Modelle• Prozessmodellierung
13
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Mögliche Generierungspunkte für Datenobjekte
Business Object
DomainService 2
DomainService 1
ProcessService
Data AccessData AccessService 1
Data AccessData AccessService 2
e.g. findCustomerByUID(..) e.g. findInvoicesByCustomerUID(..)
e.g. findInvoicesByCustomer(..)
DO XSD
Java-Klassen Konverter
DO
DO
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
XSD Generierung
15
XSDEntity type
D attribute (ERM)
D attribute (ERM)
D attribute (ERM)
D attribute (ERM)
ERM domain
ERM domain
ERM domain
ERM domain
Address Address
Generierung
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
XSD import
16
Order
OrderItems
«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
XSD import
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
XML / Java Binding durch JAXB
17
Klasse Schema
JAXB
1 1
* *
Objekte Dokumente Dokumente
*
Objekte
1
1 1
1
Objekte Dokumente
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
JAXB Anwendungsszenario
18
Anwendung
SchemabasierteKlassen
und Interfaces
Objekte
BindingCompiler
XMLSchema
XMLDokumente
JAXBAPImarshal
unmarshal
Compile Time
Runtime
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Vision der Integration: Generierung der Persistenzaus kanonischem Modell
Legacy ModelUML
ARISBPA Suite - UML
Pd-entity.xml
Entity.xml
JPA
EJB 3.x Hibernate
Hibernate
.Net
ProprietaryFormat
ARIS ExtensionGenerierung
Entity.xsd
SDOEJB 2.0
IstVision
EJB 3.x …
XSLTTransformation
ERM VB-ScriptGenerierung
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Problem: Data Service Silos innerhalb der SOA
• Geschäftsobjekte überspannen mehrere Silos• Modellierte Geschäftsobjekte, die real nicht existieren• Performance bei Relationen zwischen Objekten• Analyse für Generierung oft nicht detailliert genug
Andere Services Beschaffung
ESB
Adapter Adapter Adapter Adapter Adapter Adapter Adapter
Logistik
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Gliederung
• MDSD meets BPMN Vision• Datenmodellierung• Servicemodelle• Human Task Modelle• Prozessmodellierung
21
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Mögliche Generierungspunkte für Services
Software Service
DomainService 2
DomainService 1
ProcessService
Data AccessData AccessService 1
Data AccessData AccessService 2
e.g. Invoice service
e.g. Order process
WSDL
Service- & Client-Impl.
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
MDA Approach for SOA
23
PSM
PIM
CIM
Business ServiceModel
ServiceSoftware Service
Service
WSDL/XSD
BusinessService Business
service
Business ServiceMap Batch_Information
Batch_Information
IS function
Businessservice
read
Batch_Information
IS function
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Example: WSDL-Generierung aus AccessDiagramm
24
Validate Credit
CreditService
CreditService
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Web Service Architektur
25
Service EndpointDefinition (WSDL)Service EndpointDefinition (WSDL)
SOAPSOAPHTTPHTTP
request / response
import publish
Web ServiceClient
Web ServiceClient
artifacts
Web ServiceEndpoint
Web ServiceEndpoint
artifacts
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Web Service Generierung „Contract Driven“
26
CodeGenerator
JAX-WS
CodeGenerator
JAX-WS
Service EndpointDefinition (WSDL)Service EndpointDefinition (WSDL)
ImplementierungImplementierungClient
ServiceProxy
Servlet Engine
ServiceProxy
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Deployment eines Web Service in JEE 5
27
Oracle Weblogic Server
JEE Web EJB 3
JAX WS
@WebServiceClass BookService
BookWeb Application
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
WSDL 2 Java
28
WSDL Java
wsdl:definitions@targetNamespace Package
wsdl:portType Interface @WebService
wsdl:operation Methode @WebMethod
wsdl:fault Exception @WebFault
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
WSDL 2 Java - Client
29
WSDL Java
wsdl:serviceErbt von javax.xml.ws.ServiceServicename ist Klassenname@WebServiceClient
wsdl:port "Proxy" getPortname()@WebEndpoint
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Beispiel Schichtenbildung von Services undProzessen
BPEL EngineBeschaffunfgs-PService
Bestandsprüfungs-PService
BANF-PService
Buchungs-PService
EJB 3.x Container (WLS)ManageBANF DServiceManageBANF-DService
Oracle Service Bus
Bestellungs-DService
Oracle Service Bus
Legacy Container
ContainerRMIService
MaterialDB
Externe Services
ProductService Warenhaus
ContainerService CalendarServiceCalendarService
BANF-BService
Bestellung BServiceBestellung-BService
Entität 1 Entität 2
Beschaffung DB
30
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Gliederung
• MDSD meets BPMN Vision• Datenmodellierung• Servicemodelle• Human Task Modelle• Prozessmodellierung
31
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Mögliche Generierungspunkte für das UI
Screen
DomainService 2
DomainService 1
ProcessService
Data AccessData AccessService 1
Data AccessData AccessService 2
SDL
XAML
Screen Navigation
SNL
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
JEE
Worklist Services
Anbindung der Oracle Worklist /Verarbeitung von Human Tasks
Oracle PM
Taskcomplete
BPELProcess
Assign task
HumanTasks
UI
ServicesDomainServices
Webframework
API
Silverlight
API
DomainWorklist
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Human Task Clients als Mini-Applikation
• Silverlight XAPs als Mini-Applikation– Bearbeitung eines einzelnen Human Task
• Wiederverwendung als Ziel– Screens in verschiedenen HTs– Mini-Applikationen als HTs
• Schwierigkeiten– Granularität der Screens
Silverlight WebNavigationController
Silverlight Application
Navigation 1.snl
Screen 1
Screen 2
Screen 3
miniapp.xap
web-application.war
ServiceFacade
DService 1 DService 2services.ear
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Generierung von Screens und Navigationen
• Ziel: Modelle in ARIS um Screens und Navigationen zu generieren– Spezifische Modelltypen für UI und Navigation– Templates im Modell (Suche, Eingabe, Master-Detail, ...)
• Screen Design– Generierung nach SDL (Screen Definition Language)– Spezifikation einzelner Screens– Transformation nach XAML möglich (XSLT)
• Screen Navigation– Generierung nach SNL (Screen Navigation Language)– Spezifikation von Screen Flows für einen einzelnen Human Task– Verarbeitung über Framework oder Service möglich
• Beides sind eigene, proprietäre Formate– Sollten nicht direkt an potentielle Zielplattform (Silverlight) binden
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Beispielmodell Screen
• Screen Model– Container– Komponenten– Binding auf DO
• View Objects als eERM(spezielles Mappingmodell)
36
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Schwierigkeiten in Bezug auf die Screenmodelle
• 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 inARIS
– ActionsModellierung von Servicecalls im UI (z.B. in Tabellen)
• Sperrige und relativ starre UI durch Templates– Vorteil für Generierung– Nachteil für Endbenutzer– Begrenzte Mächtigkeit der SDL
37
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Beispielmodell Screen Navigation
• Technisch unterspezifiziert• Wurden angereichert um:
– “Start” Navigation– “End” Navigation
• Transitionen nur über hiersichtbare Controls
• Pfadmöglichkeiten im Netzerfordern zustandsbehaftetenController / Service
38
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Gliederung
• MDSD meets BPMN Vision• Datenmodellierung• Servicemodelle• Human Task Modelle• Prozessmodellierung
39
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Mögliche Generierungspunkte für Prozesse
BPMN
DomainService 2
DomainService 1
ProcessService
Data AccessData AccessService 1
Data AccessData AccessService 2
e.g. Order process
BPEL
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Beispiel Process Map Beschaffung
41
Bestellung Wareneingang
Löschung
BestellungSAP
BestellungSAP
kontrolleBestands-kontrolle
Bestellanfrage
AbgelaufenerWarenausgang
Reklamation
Beschaffung
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Anwendungsgebiete BPMN vs. BPEL
42
AutomatedBusiness Process IT Expert
Business AnalystBPMN
BPEL
Enterprise Dialog LogicDialog Control LogicProject Plan
KPI/SLA
ProcessProcess Logic ProcessProcess Logic BPEL
Domain Logical CompositionLogical CompositionFacade
DomainDomain Object
Core BusinessCore BusinessObject Core Business LogicCore Business Logic POJO
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Oracle SOA Suite Development-Architektur fürBPEL
43
Oracle Weblogic Server
SCA Runtime
ServiceMediator
BPELEngine
Notifications
Worklist
Oracle Service BusJEE Web EJB 3
ADF EJBService
Rules-Engine
Messaging JAX WS
JTA JPA
JDBCJNDI
BPEL
JDeveloper
BPEL Designer
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Modeling problems in the process area
• Problematic Requirements in EPC– EPC enthält Requirements als Freitext– manchmal funktionale Requirements die nicht zu BPMN transformiert
wurden• Not printable• no automatic reporting• Not searchable
• Konsistente Modellierung des BO Zugriffs• Ungenaue Korrelation von Payloads, Prozessvariablen und
Serviceparametern
44
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Example: Referenzierung eines Service in BPMNüber ein Function Allocation Diagram
46
Rezeptierungsvorschriftchecken...
RezeptService isRezeptAvailableRequestVO
IsRezeptAvailableVO
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
WareneingangHot spot detail 1
48
Scanner
Typ derAnlieferungbestimmen
Bestellcode lesbar
Scan Bestellungscodeyes
Liefercode lesbar
Lieferpapiere vorhanden)
ManuelleEingabe desLiefercodes
Liefercodescannen
Barcode of Abpackung vorhanden
Abpackungscode scannen
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
WareneingangLess complex
49
Typ derAnlieferungbestimmen
Bestellcode lesbar
Scan Bestellungscodeyes
Liefercode lesbar
Lieferpapiere vorhanden)
ManuelleEingabe desLiefercodes
Liefercodescannen Anlieferung
aufnehmen
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
WareneingangLösung: BPMN variante
50
PRO barcode is readable/available
Enter PRO Number
PRO barcode is not readable/available but PRO number exists
yesno
shipping documents/parcel barcode is available
shipping documents/parcel barcode is not available
Choose book-in typeof receipt of goods
Scan procurementorder barcode
yes
Scan shippingdocuments/parcel
barcode
yes
Anlieferungaufnehmen
Anlieferungaufnehmen
Anlieferungaufnehmen
BestellungLieferungPrüfung
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Mehr von OIO zum Thema
• Schulung: SOA – Service orientierte Architekturen– http://www.oio.de/seminar/entscheider/soa-schulung.htm
• 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
52
MDSD mit BPMN und SOA© 2010 Orientation in Objects GmbH
Mehr von OIO zum Thema
• Schulung: Einführung in die openArchitectureWare (OAW)– http://www.oio.de/seminar/entscheider/soa-schulung.htm
• Schulung: Überblick MDSD mit Open Source– http://www.oio.de/mda-mdsd-schulung.htm
• Beratung zu Modellgetriebener Softwareentwicklung– http://www.oio.de/beratung-consulting/mda-mdsd-model-driven-
software/
• Beratung zu SOA / Web Services– http://www.oio.de/beratung-consulting/software-integration/soa-web-
services/index.htm
53