6-2. Model-Driven Development with PIM4SOA <Presenter> <Company>, <Country> <E-mail> © 2005-2006 The ATHENA Consortium. Outline • • • • PIM4SOA Rapid prototyping with PIM4SOA Case study: AIDIMA e-procurement scenario References © 2005-2006 The ATHENA Consortium. 2 PIM4SOA © 2005-2006 The ATHENA Consortium. 3 The problem • Currently, enterprises face many difficulties related to lack of interoperability. • ATHENA Overall objective: Contribution to enabling enterprises to seamlessly interoperate with others • Seamlessly involves reducing as much as possible the effort required to translate the interoperability rules specified by the business expert to suitable technical platform (SOA). • PROBLEMS: – Several ways to specify interoperability at business level – Several kinds of SOA platforms – Too big gap © 2005-2006 The ATHENA Consortium. 4 Alternatives 1: Too big gap Business expert Aris Grai Metis Moogo POP* CIM GAP IT infrastructure © 2005-2006 The ATHENA Consortium. WSA BDI Teams P2P GRID PSM 5 Alternatives 2: Too big gap Business expert Aris Grai Metis Moogo POP* CIM GAP PIM4SOA IT infrastructure © 2005-2006 The ATHENA Consortium. WSA BDI Teams P2P PIM GRID PSM 6 The challenge Business expert • The goal of creating the PIM4SOA metamodel was to define a language that could be used to describe SOAs at a platform independent level. GAP – Which are the collaborations that need to be implemented to perform the interoperability objectives stated at the business level? – What is the sequence of messages exchanged to perform the collaboration? – Which is the information exchanged? – Which are the non-functional requirements that the interaction has to meet? – …. • The resulting PIM4SOA should be able to support a formal transition IT between enterprise models and IT infrastructure implementations © 2005-2006 The ATHENA Consortium. CIM PIM PSM 7 PIM4SOA objectives • Platform independent model for specifying service-oriented architectures – Represent SOA solutions in a platform independent way – Integrate and define mappings to Web services, agents, peer-to-peer (P2P) and Grid execution platforms. – Bridging the gap between the enterprise layer and the technical layer – Establishing relationships between layers through model-based transformations – Two-way transformations supporting both • model-driven development (MDD); and • architecture-driven modernisation (ADM) © 2005-2006 The ATHENA Consortium. 8 PIM4SOA requirements Depending on the source of requirements • From the enterprise or business viewpoint – Process, Organisation, Product and System (POPS) dimensions – Mapping enterprise and business model elements to PIM4SOA • From the platform point of view – What are the necessary PSM elements to be represented at PIM level? – How do we identify these elements? – We need identify overlapping elements amongst platforms © 2005-2006 The ATHENA Consortium. 9 Characteristics for metamodel • Suited for target roles – Support domain concepts and scenarios of target roles – Ease-of-use and understandable for business modeller (use terms) – Support precise details and correctness for solution architect • Avoid unnecessary complexity – Keep it simple stupid (KISS) – Number of elements and associations – Type and navigation of associations • Make it modular – Provide core with extensions – Define and illustrate possible subsets (”dialects”) that support scenarios – Consider integration and extension points • Suited for implementation – EMF representation – Transformation from/to UML profile – Transformation to PSM © 2005-2006 The ATHENA Consortium. 10 PIM4SOA addresses four system aspects Metamodel for (software) services Services are an abstraction and an encapsulation of the functionality provided by an autonomous entity. Service architectures are composed of functions provided by a system or a set of systems to achieve a shared goal. Web Services Architecture as proposed by W3C (W3C 2004) UML Profile for Enterprise Distributed Object Computing (OMG 2002) Metamodel for information Information is related to the messages or structures exchanged, processed and stored by software systems or software components. Structural constructs for class modelling in UML 2.0 (OMG 2003) UML Profile for Enterprise Distributed Object Computing (OMG 2002) © 2005-2006 The ATHENA Consortium. Metamodel for (automated software) processes Processes describe sequencing of work in terms of actions, control flows, information flows, interactions, protocols, etc. Business Process Definition Metamodel (BPDM) (IBM et al. 2004) UML Profile for Enterprise Distributed Object Computing (OMG 2002) Metamodel for quality of service (QoS) Extra-functional qualities that can be applied to services, information and processes. UML Profile for Modeling Quality of Service and Fault Tolerance Characteristics and Mechanisms (OMG 2004) 11 Service metamodel Collaboration RegistryItem RoleBinding RoleType Behaviour ServiceProvider ProviderType CollaborationUse Role EndPoint Registry – – – © 2005-2006 The ATHENA Consortium. Collaboration represents a pattern of interaction Represents Relates In An Specify The A Registry aabstract service ServiceProviers model an a role model entity element class oriented a anservice with address describing element for atodomain can the usage and represent identifying specification have an isof and based two end atoservice. specifying aare types: point. usage aon service the of index Abstract ofin a its between participating roles RoleTypes messages turn ore service approach Executable services, containing sequence identified: roles and addressable within theconstraints requester a service services and the A binary collaboration specifies a service provider 12 Information metamodel Item ItemType Role PackageableElement Association Package Document TypeLibrary Entity BusinessTypeLibrary NameElement Attribute Element – – © 2005-2006 The ATHENA Consortium. Defines is Extracted Represents defines represents extracted imported athe packaging from from afrom set simple the an structure the the object of association the elements UML2.0 UML2.0 types: service structure with element string, aspecification. specification. between that metamodel. specific containing ofainteger information role structure two manages. and some boolean. entities. and types composed of the application by entities. It is used to describe complex types 13 Process metamodel Process elements Process aspect Step Scope Process StructuredTask Task Pin Flow ItemFlow JoinSpecification GuardSpecification – Step Scope Implements The Input Provide A Defines composite flow low is orbetween is aoutput an convergence conditions the level an single interface links aabstract task ‘building behaviour for specific node between consisting a(e.g. specific for container in behaviour blocks’ input a pins in for process, Steps terms aof item on or service of a for interactions output when a collection (tasks of type individual process such Pinprovider, when two flows contents) etc.) asflows ofto ain on making behavioral as Steps a flow the show provide under Step connects set precise which related ainput ofto decision tasks steps an to relationships to A tooutput a flow aa and single specific or Step may calling decisions flow in Step/Interaction be the subsection between isan associated or Process (Steps) external is not output of activated linked service. with a from aby • abehavior. calls another service The control Process message one ‘everyday’ flows type (Flows), being specialization transported. and optionally inputofon Step including another is Task detail • Step/Interaction require manual intervention on the exchanged messages / items. © 2005-2006 The ATHENA Consortium. 14 Non-functional metamodel All NFA Others –– Defined Represents in the Non-Functional OMG standardAspects for specifying for a quality specificofusage service of a service. • • © 2005-2006 The ATHENA Consortium. defined in Collaboration and ServiceProvider specification related with CollaborationUse element 15 Rapid prototyping with PIM4SOA © 2005-2006 The ATHENA Consortium. 16 Rapid prototyping framework for SOA • The ATHENA baseline methodology for SOA provides guidelines for developing platform independent models for SOA (PIM4SOA). • Provides a set of modelling tools and services for mapping between PIM4SOA and platform specific models (Web services and BDI agents) Modelling PIM4SOA External WSDL Documents WSDL Documents WSDL Analyzer MDD Framework Lyndon Johnson «invoke» Services • Johnson and Lyndon provide enactment of all the roles found in an SOA (consumer, provider, intermediary) and flexible communication between Web services through an intuitive user interface • The WSDL Analyzer tool detected syntactical mismatches between service descriptions and provides a basis for runtime mediation of Web service messages © 2005-2006 The ATHENA Consortium. BDI Teams «invoke» Jack Agents • The Web service extensions to the JACK autonomous agents platform allow SOAs to use agents for brokering, mediation and negotiation between Web services • BDI teams provide a flexible and composable alternative to traditional approaches to Web service composition 17 UML Profile for POP* • Process • Organisation • Product •… annotated with Enterprise Model Reference Ontology Business Requirements Analysis Model to Model Transformation Architecture Specification UML Profile for SOA • Information • Service • Process • QoS annotated with Service-Oriented Architecture Model Model to Model Transformation Model Transformation UML Profile for Web Services annotated with Web Service Specification Model UML Profile for Agents Agent Specification Model BPEL Specification Model Model to Text Transformation P2P Specification Model UML Profile for BPEL UML Profile for P2P Model Transformation annotated with OWL Ontology Web Service Execution Artefacts Agent Execution Artefacts BPEL Execution Artefacts P2P Execution Artefacts Deployment Service Wrappers (Enterprise X) Registry Repository Semantic Space ATHENA Integrated Execution Infrastructure Service Wrappers (Enterprise Y) Public Infrastructure Services Evaluation & Negotiation of Available Functionality Internal Infrastructure Services Process Execution Platform (BPEL) Goal-oriented Adaptive Execution Platform (Agents) Adaptive Distributed Resource Mgt Platform Active Model Platform (AKMii) Composed WebService Platform (WebServices) Enhanced Service Interconnection Bus (P2P) Legend Business Process/Agent Active (Business) Model Web/Server Component Middleware Process/Agent Middleware Component Crossorg. Service Wrappers (Enterprise A) Server-side Component Platform MessageOriented Platform (.NET, J2EE) (MQSeries) Existing Enterprise Applications Intraorg. ATHENA baseline methodology for SOA (overview) Enterprise Model Process View Business Requirements Analysis 1 SOA Model 1 Information View Model to Model Transformation Service View Process View 1 XML Message Service Description Process Execution 1..* OWL-S XSD WSDL BPEL Document Document Document Document BDI Plan WS-? Document Evaluation Composition Execution Legacy Applications Brokering Internal Service Interconnection Bus ... Service Mediation Service Platform Models Brokering Tool (A5) Composition Models Service Models ARES (A3) Negotiation Publishing Model Registry (A6) Contract Models UML Profile for Web Services • XML Message (XSD) • Service Description (WSDL) • Process Execution (BPEL) • QoS Method chunks for SOA and Web Service Interoperability External Registry Interaction ATHENA Web Service Execution Infrastructure Web Service Documents OWL Ontology QoS Description Model to Text Transformation 1..* Other Company annotated with QoS View JACK annotated with UML Profile for SOA • Information • Service • Process • QoS Model to Model Transformation 1..* Web Service Model Reference Ontology … View Product View Nehemiah (A2) annotated with Organisation View UML Profile for POP* • Process • Organisation • Product •… Wrappers ATHENA baseline methodology for SOA (detailed) MDI modelling environment Collaborative Enterprise Modelling CrossOrganisational Business Process Modelling Service Integration and Composition Modelling Information Mapping Modelling Platform Integration Modelling Eclipse/RSM Platform ATHENA Execution Infrastructure Model Repository © 2005-2006 The ATHENA Consortium. Model Transformation (ATL, MTF) Execution Platform and Infrastructure Services (WS, Agents, BRMF, …) 20 Tools and services (overview) Export + ARIS XML 2 Model POP* UML Profile for SOA Maestro Import / Export Model 2 Model CBP Information PIM for SOA Service Process QoS Model 2 Model Model 2 Text XSD BRMF CBP: Collaborative Business Process PIM: Platform Independent Model SOA: Service-Oriented Architecture XSD: XML Schema Definition © 2005-2006 The ATHENA Consortium. WSDL BPEL Jack UML* WS-? BRMF: Business Resource Management Framework WSDL: Web Service Description Language BPEL: Business Process Execution Language 21 RSM and UML profile for PIM4SOA © 2005-2006 The ATHENA Consortium. 22 Case study: AIDIMA e-procurement scenario © 2005-2006 The ATHENA Consortium. 23 Introduction to business scenario • Scenario is based on the current situation of the furniture SMEs regarding the procurement issues • Value in the furniture industry is concentrated in design, manufacturing, sales and marketing – Clear benefit from the adoption of e-commerce initiatives • Initiatives in the field of e-procurement of raw and semifinished materials in the coming years – Significant benefits to be achieved in terms of cost reduction and efficiency • Distribution in the furniture industry is structured in a complex way – Extranets and Internet-enabled supply-chain automation should optimize the relationships • Order management and logistics with e-commerce implementations – Beneficial to the furniture industry © 2005-2006 The ATHENA Consortium. 24 M1. Request for Quotation M2. Quotation R1. Request for Quotation R2. Quotation M3. Order M4. Order Confirmation R4. Order Confirmation R3. Order MANUFACTURER ● ● PROVIDER ● Retailer-Manufacturer ● 1. RFQ ● 2. Quote ● 3. Order Manufacturer-Supplier ● 1. RFQ ● 2. Quote ● 3. Order ● 4. Order Confirmation Retailer-Manufacturer ● 4. Order Confirmation Interior Decoration Project RETAILER Selling process: Customer-oriented scenario RETAILER R1. Request for Quotation R2. Quotation R3. Order Delivery Interior Decoration Project R4. Order Confirmation Customer communication Looks for furniture Delivery Invoice R5. Delivery Note R6. Packing List MANUFACTURER © 2005-2006 The ATHENA Consortium. R7. Invoice 26 Procurement process: Supplier-oriented scenario PROVIDER M1. Request for Quotation M2. Quotation M3. Order M4. Order Confirmation Delivery M5. Delivery Note M6. Invoice © 2005-2006 The ATHENA Consortium. MANUFACTURER 27 5 main problems 1. Repetitive manual process for regular bulk orders – Much of the manufactured products are generic and this involves repeated periodic processing of similar or identical orders 2. Confusion resulting from poor product descriptions – Clients very often order the wrong products! 3. Missing information (both from supplier and buyer!) – Permasa have 3 people employed on the client site and 1 person employed on the supplier side to ensure the integrity of orders and RFQs 4. Lag time from product order to delivery could be shorter. – Shortening time from ordering to receiving raw materials from the supplier has a direct effect on the delivery date of the finished product 5. Time spent rating supplier – Permasa conducts tri-monthly reviews of their suppliers to ensure that standards are kept © 2005-2006 The ATHENA Consortium. 28 5 main expectations 1. 2. 3. 4. Major reduction in false/incorrect orders Dramatic shortening of time from order to delivery Dramatic reduction in surplus stock in warehouse Ability to search new providers and apply Permasa criteria to rate those providers 5. Better integration between internal systems. (i.e. Stock, purchasing, manufacturing, invoicing sub-systems) © 2005-2006 The ATHENA Consortium. 29 Possible solution Client Supplier Customer Order processing Procurement Web Services Layer Integration Layer LogisticsSales Mgmt.ManufacturingPurchasing (ILE) (ILE) (ILE) (ILE) Design (AutoCAD) Database (OS400) © 2005-2006 The ATHENA Consortium. 30 Data exchange in e-procurement Send RFQ Retailer FrontEnd System (OMS – Order Management System) Respond RFQ Quotation Approve Quotation Send Order Confirm Order Change Order Manufacturer FrontEnd System (ERP – Enterprise Resource Planning) Confirm Order Changed Send Goods & Delivery Note Return Delivery Note signed Send Invoice © 2005-2006 The ATHENA Consortium. 31 Enterprise model: e-procurement process © 2005-2006 The ATHENA Consortium. 32 PIM4SOA: Order process © 2005-2006 The ATHENA Consortium. 33 PIM4SOA: Services interfaces © 2005-2006 The ATHENA Consortium. 34 PIM4SOA: Delivery and invoicing collaborations © 2005-2006 The ATHENA Consortium. 35 PIM4SOA: Obtain quotation collaboration © 2005-2006 The ATHENA Consortium. 36 PIM4SOA: Furniture procurement collaboration • Three roles – “Retailer”, – ”Manufacturer” – “Supplier” • Two usage of collaboration – “Goods Supply” – “Materials Supply” • Relationships between role and collaboration use – “RoleBinding” © 2005-2006 The ATHENA Consortium. 37 PIM4SOA: Goods supply collaboration © 2005-2006 The ATHENA Consortium. 38 PIM4SOA: Documents and type libraries Documents and type libraries Type library © 2005-2006 The ATHENA Consortium. 39 PIM4SOA: Order document Model of an order document © 2005-2006 The ATHENA Consortium. 40 Conclusions Business expert • The PIM4SOA metamodel is a valid tool to decouple the logical solution from its technical implementation. • It allows us to derive architectures that later could be implemented in heterogeneous environments. CIM • The PIM4SOA could be also used as an intermediate step when we plan to obtain platform assets from an enterprise model. PIM GAP IT infrastructure © 2005-2006 The ATHENA Consortium. PSM 41 References © 2005-2006 The ATHENA Consortium. 42 References (ATHENA deliverables) [ATHENA] ATHENA, "ATHENA Public Web Site", ATHENA Integrated Project (IST-507849). http://www.athena-ip.org/ [ATHENA A5 2005] ATHENA A5, "D.A5.1: Perspectives on Service-Oriented Architectures and there application in environments that require solutions to be planned and customisable", ATHENA IP, Deliverable D.A5.1, 2005. [ATHENA A5 2005] ATHENA A5, "D.A5.2: Model and Specification of Service Descriptions and Usage as well as Advanced Concepts", ATHENA IP, Deliverable D.A5.2, 2005. [ATHENA A5 2006] ATHENA A5, "D.A5.3: Architecture of SOA Platforms", ATHENA IP, Deliverable D.A5.3, 2006. [ATHENA A5 2006] ATHENA A5, "D.A5.4: Execution Framework(s) for Planned and Customisable Service-Oriented Architectures", ATHENA IP, Deliverable D.A5.4, 2006. [ATHENA A5 2006] ATHENA A5, "D.A5.5: Validation of Research Results", ATHENA IP, Deliverable D.A5.5, 2006. [ATHENA A6 2005] ATHENA A6, "D.A6.1: Specification of a Basic Architecture Reference Model", ATHENA IP, Deliverable D.A6.1, 2005. [ATHENA A6 2006] ATHENA A6, "D.A6.2: Enhanced Registry/Repository Infrastructure", ATHENA IP, Deliverable D.A6.2, 2006. [ATHENA A6 2006] ATHENA A6, "D.A6.3: Model-driven and Adaptable Interoperability Framework", ATHENA IP, Deliverable D.A6.3, 2006. [ATHENA A6 2006] ATHENA A6, "D.A6.4: Model-driven and Adaptable Interoperability Infrastructure", ATHENA IP, Deliverable D.A6.4, 2006. © 2005-2006 The ATHENA Consortium. 43 References (Papers) [Benguria, et al. 2006] G. Benguria, X. Larrucea, B. Elvesæter, T. Neple, A. Beardsmore, and M. Friess, ”A Platform Independent Model for Service Oriented Architectures”, to be presented at the 2nd International Conference on Interoperability of Enterprise Software and Applications (I-ESA 2006), Bordeaux, France, 2006. [Elvesæter, et al. 2005] B. Elvesæter, A. Hahn, A.-J. Berre, and T. Neple, "Towards an Interoperability Framework for Model-Driven Development of Software Systems", in Proc. of the 1st International Conference on Interoperability of Enterprise Software and Applications (INTEROP-ESA 2005), Geneva, Switzerland, 2005. [Elvesæter, et al. 2005] B. Elvesæter, R. K. Rolfsen, F. Lillehagen, and D. Karlsen, "Integrated Enterprise Service Architecture", in Proc. of the 12th ISPE International Conference on Concurrent Engineering (CE 2005), Fort Worth, Texas, USA, 2005, M. Sobolewski and P. Ghodous (Eds.), International Society for Productivity Enhancement, Inc., NY, USA, pp. 129-134. [Lillehagen, et al. 2005] F. Lillehagen, D. Karlsen, H. G. Solheim, H. D. Jørgensen, H. Smith-Meyer, B. Elvesæter, and R. K. Rolfsen, "Enterprise Architecture - from Blueprints to Design Services", in Proc. of the 12th ISPE International Conference on Concurrent Engineering (CE 2005), Fort Worth, Texas, USA, 2005, M. Sobolewski and P. Ghodous (Eds.), International Society for Productivity Enhancement, Inc., NY, USA, pp. 121-128. [Fischer, et al. 2006] K. Fischer, B. Elvesæter, A.-J. Berre, C. Hahn, C. Madrigal-Mora, and I. Zinnikus, ”Model-Driven Design of Interoperable Agents”, to be presented at the 2nd Workshop on Web Services Interoperability (WSI 2006), Bordeaux, France, 2006. [Vayssière, et al. 2006] J. Vayssière, G. Benguria, B. Elvesæter, K. Fischer, and I. Zinnikus, "Rapid Prototyping for Service-Oriented Architectures", to be presented at the 2nd Workshop on Web Services Interoperability (WSI 2006), Bordeaux, France, 2006. © 2005-2006 The ATHENA Consortium. 44 This course has been developed under the funding of the EC with the support of the EC ATHENA-IP Project. Disclaimer and Copyright Notice: Permission is granted without fee for personal or educational (non-profit) use, previous notification is needed. For notification purposes, please, address to the ATHENA Training Programme Chair at rg@uninova.pt. In other cases please, contact at the same e-mail address for use conditions. Some of the figures presented in this course are freely inspired by others reported in referenced works/sources. For such figures copyright and all rights therein are maintained by the original authors or by other copyright holders. It is understood that all persons copying these figures will adhere to the terms and constraints invoked by each copyright holder. © 2005-2006 The ATHENA Consortium. 45