Transcript
  • 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)


Recommended