Rapid Prototyping for ServiceOriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France, March 21, 2006 Julien Vayssière1, Gorka Benguria2, Brian Elvesæter3, Klaus Fischer4, Ingo Zinnikus4 1 SAP Research, Brisbane, Australia, julien.vayssiere@sap.com 2 European 3 SINTEF 4 DFKI Software Institute (ESI), Bizkaia, Spain, gorka.benguria@esi.es ICT, Oslo, Norway, brian.elvesater@sintef.no GmbH, Saarbrücken, Germany, {klaus.fischer, ingo.zinnikus}@dfki.de Outline • Background and motivation • Framework overview – Model-driven development framework – Web services enactment framework – Agent-based execution platform • Prototyping case study • Conclusion Bordeaux, France, March 21, 2006 2 Background • Service-Oriented Architecture – architectural style – gaining momentum – mainstream in enterprise computing • Four tenets of serviceorientation (Box 2004) • Web services architecture – technology most often used for implementing SOAs – standards-based stack of specifications – enable interoperable interactions between Webbased applications – explicit boundaries – autonomy of services – declarative interfaces and data formats – policy-based service description Bordeaux, France, March 21, 2006 3 Motivation • Prototyping SOAs – working implementation of an SOA that can be used for validating the initial design choices • Different compared to traditional application development – need to take into account existing services – developed by organisations over which we have no control – introduces constraints into the prototyping exercise • Current state of the art tools – assumes that we are starting with a blank page – merely extends the approach of regular software prototyping to the scale of SOAs – they make the implicit assumption that services will behave as expected • This is why we designed an approach that – from the start, takes into account the fact that parts of the SOA needs to be considered as a given; and – should be treated with a healthy dose of caution. Bordeaux, France, March 21, 2006 4 Framework overview • 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 • Johnson and Lyndon providemethodology enactment of all the • The ATHENA baseline • The Web service extensions PIM4SOA to the JACK roles External found in an SOA (consumer, provider, forWSDL SOA provides guidelines for Documents autonomous agents platform allow SOAs to intermediary) andWSDL flexible between developing platform independent Documents communication MDD Framework BDI Teams use agents for brokering, mediation and Web services intuitive user interface models through for SOA an (PIM4SOA). negotiation between Web services WSDL Analyzer Lyndon • The WSDL Analyzer detected syntactical • Provides a settool of modelling tools and • BDI teams provide a flexible and composable mismatches between servicebetween descriptions and services for mapping Jack alternative to «invoke» traditional Johnson approaches «invoke»to Web provides a basis and for runtime of Web PIM4SOA platformmediation specific models service composition service(Web messages services and BDI agents) Agents 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 Bordeaux, France, March 21, 2006 • 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 5 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 Bordeaux, France, March 21, 2006 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 (.NET, J2EE) MessageOriented Platform (MQSeries) Existing Enterprise Applications Intraorg. ATHENA baseline methodology for SOA (overview) 6 PIM4SOA Model Model-driven development framework Information View Service View 1 Process View QoS View Model to Model Transformation UML Profile for PIM4SOA • Information • Service • Process • QoS 1..* Platform Specific Model UML Profile for XSD UML Profile for WSDL XML Schema WSDL Description 1 Execution Artefacts • BPEL Process UML Profile for BDI Agents UML Profile for BPEL Model to Text Transformation 1 • BDI Teams XSD Document WSDL Document JACK BDI Teams BPEL Document Integrated Execution Infrastructure for Web Services and BDI Agents Follows the OMG Model Driven Architecture (MDA) – Defines a Platform Independent Model (PIM) for SOA (PIM4SOA) – Platform Specific Models (PSMs) for describing Web services (XML Schemas and WSDL), Jack BDI agents and BPEL (Business Process Execution Language) PIM4SOA is a visual PIM which specifies services in a technology independent manner – Integrated view of the SOA in which different components can be deployed on different execution platforms. – The PIM4SOA model helps us to align relevant aspects of enterprise and technical IT models – Allows us to raise the abstraction level at which we can talk about and reason on the architecture we design. Bordeaux, France, March 21, 2006 7 PIM4SOA → platform specific models PIM4SOA Metamodel Symbols PIM Metamodel Concept Relationship PSMs Correspondence Web Services Metamodel Bordeaux, France, March 21, 2006 Agent Metamodel (AgentMM) P2P Metamodel Grid Metamodel 8 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) Bordeaux, France, March 21, 2006 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) 9 Web services architecture metamodel <<Metamodel>> Coordination + WS-Coordination. <<Metamodel>> Registry + UDDI. + WS-MetadataExchange. + WS-Policy. + WS-PolicyAttachement. <<Metamodel>> Composition + ACE-GIS Composition Extensions. + WS-BPEL. + WS-CDL. Bordeaux, France, March 21, 2006 <<Metamodel>> Reliability + WS-ReliableMessaging. <<Metamodel>> Endpoint Description <<Metamodel>> Service Interface Description + WSDL 1.1. + WSDL 2.0. <<Metamodel>> Eventing + WS-BaseNotification. + WS-BrokeredNotification. + WS-Eventing. + WS-Topics. <<Metamodel>> Messaging + SOAP. + WS-Addressing. <<Metamodel>> Security + WS-Security. <<Metamodel>> Resource Access and Management + WS-Enumeration. + WS-Resource. + WS-ResourceLifetime. + WS-ResourceProperty. + WS-Transfer. <<Metamodel>> Transport + HTTP. <<Metamodel>> XML + XML Core / XSD. + XML Encryption. + XML Signature. + XPATH. <<Metamodel>> eContract + ATHENA eContract Extensions. 10 PIM4SOA → platform specific models PIM4SOA source metamodel Mapping model Web services target metamodels Bordeaux, France, March 21, 2006 11 Model transformations EMF eProc Model (.ecore) PIM4SOA Metamodel (.ecore) BPEL Metamodel (.ecore) eProc Model (.emx) PIM4SOA Plugin <<applied>> EMF BPEL Document (.bpel) a) UML 2.0 Metamodel (.ecore) RSM WID EMF MTF b) eProc Model (.ecore) EMF: Eclipse Modeling Framework RSM: Rational Software Modeler UML modelling tool PIM4SOA Plugin: RSM plugin – UML Profile for PIM4SOA Bordeaux, France, March 21, 2006 UML Profile for PIM4SOA (.epx) WSDL Metamodel (.ecore) c) WSDL Document (.wsdl) Eclipse WST MTF: Model Transformation Framework Eclipse WST: WSDL graphical editor WID: WebSphere Integration Developer 12 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 Bordeaux, France, March 21, 2006 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 13 WSDL Analyzer • The WSDL Analyzer is a tool for detecting similarities between Web service descriptions. – The tool can be used to find a list of similar services and produces a mapping between messages, thereby enabling brokering and mediation of services. – The idea of the tree-edit distance is that a similarity between two XML structures can be measured by stepwise transforming a tree representation of the first structure into the other. • A possible scenario for using the WSDL Analyzer is that the user already knows a service which provides the correct format. – The WSDL of this service can be used as requirement for a similarity search. – The WSDL Analyzer allows browsing the original WSDL and the candidate files. Bordeaux, France, March 21, 2006 14 Web services enactment framework (1) • Inbound processing chains Folders for storing messages Outbound processing chains Outbound Endpoints Outgoing messages Inbound Endpoints OUTBOX INBOX Incoming messages User Interface Johnson is a runtime enactment tool – It enables users to enact most of the roles typically found in an SOA. – It allows sending real SOAP messages between Web services without having to write a single line of code. – It features a Web-based user interface designed to closely resemble Web-based email applications – SOAP messages and Web Services endpoints are used in place of email messages and email addresses – The user can see incoming SOAP messages in the Inbox and create outgoing SOAP messages in the Outbox that will be sent to external Web services. – A powerful user-interface generator relieves the user from having to deal with XML documents by generating forms for displaying and editing any XML-based data type. Bordeaux, France, March 21, 2006 15 Web services enactment framework (2) • Inbound processing chains Folders for storing messages Outbound processing chains Outbound Endpoints Outgoing messages Inbound Endpoints OUTBOX INBOX Incoming messages User Interface Lyndon is the design-time counterpart of the Johnson tool – It analyses WSDL files and automatically configures Johnson for playing either the role of consumer or provider of the service described. – Lyndon parses a WSDL file and determines which endpoints need to be created, and which processing chains need to be assigned to them. – Determining which processing modules to include in the processing chain takes into account information extracted from the WSDL file as well as options set by the user. – The user may, for example, specify whether Johnson should be configured as a service consumer or a service provider, or whether messages sent to or from the service should be logged – Some configuration information can be extracted from the WSDL file, such as the need for implementing the WS-Addressing specification, which is specified as part of the description of the bindings of a Web service. Bordeaux, France, March 21, 2006 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 Bordeaux, France, March 21, 2006 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 Agent-based execution platform Teams/Agents Web Service send Incoming request use Events Plans trigger handle Supplier 1 WS calls User Supplier 2 Web Service Interface • • • • Beliefs modify Web Service At its core the JACK agent framework with plan library and knowledge base. Following the MDA approach, a modeller specifies at design time a set of plans (PSM level) that constitute the workflow library of the agents. Web service calls are integrated as steps into plans. Workflows are modelled graphically and most of the common workflow patterns are supported. Bordeaux, France, March 21, 2006 18 Prototyping case study e-procurement PIM4SOA External WSDL Documents WSDL Documents Services Enactment WSDL Analyzer 2 MDD Framework Lyndon 1 3 4 «invoke» • Johnson BDI Teams 5 «invoke» Jack The following approach was followed for the validation of the rapid prototyping framework – Used the MDD framework (1) to derive the WSDL files and BDI models from the eprocurement PIM4SOA model. – Enact the services identified for the e-procurement scenario using the WSDL Analyser (2) and the Lyndon (3) tools. • Used the WSDL Analyser to locate existing services similar to those required in the eprocurement scenario. • Used the Lyndon tool to configure the Johnson platform to simulate required, new services. – Configure Johnson (4) to act as a service proxy • This allowed us to change the final service endpoints without affecting the process execution. – Finally the PSM model for Jack (5) was implemented and tested with the enacted services. Bordeaux, France, March 21, 2006 19 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 PIM4SOA: Order process Bordeaux, France, March 21, 2006 21 PIM4SOA: Furniture procurement collaboration • Three roles – “Retailer”, – ”Manufacturer” – “Supplier” • Two usage of collaboration – “Goods Supply” – “Materials Supply” • Relationships between role and collaboration use – “RoleBinding” Bordeaux, France, March 21, 2006 22 PIM4SOA: Goods supply collaboration Bordeaux, France, March 21, 2006 23 PIM4SOA: Services interfaces Bordeaux, France, March 21, 2006 24 PIM4SOA: Order document Bordeaux, France, March 21, 2006 25 Conclusion • This paper presented a rapid prototyping framework for SOAs built around a model-driven development (MDD) methodology which is used for – transforming high-level specifications of an SOA into executable artefacts – Web Services – autonomous agents • The framework can handle – a mix of new and existing services; and – provides facilities for simulating, logging, analysing and debugging • The framework was validated in an industrial electronic procurement scenario from the furniture manufacturing industry – input from business expert had been collected – creating the high-level PIM4SOA model – deriving the Web service description and incorporating existing Web services took less than a day for a person already familiar with all the tools involved • The model-based approach helps us in – keeping all the pieces of the SOA aligned with high-level business objectives throughout rounds of prototyping Bordeaux, France, March 21, 2006 26