Rapid Prototyping for Service- Oriented Architectures 2nd Workshop - - PowerPoint PPT Presentation

rapid prototyping for service oriented architectures
SMART_READER_LITE
LIVE PREVIEW

Rapid Prototyping for Service- Oriented Architectures 2nd Workshop - - PowerPoint PPT Presentation

Rapid Prototyping for Service- Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France, March 21, 2006 Julien Vayssire 1 , Gorka Benguria 2 , Brian Elvester 3 , Klaus Fischer 4 , Ingo Zinnikus 4 1 SAP


slide-1
SLIDE 1

Rapid Prototyping for Service- Oriented 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 Software Institute (ESI), Bizkaia, Spain, gorka.benguria@esi.es 3 SINTEF ICT, Oslo, Norway, brian.elvesater@sintef.no 4 DFKI GmbH, Saarbrücken, Germany, {klaus.fischer, ingo.zinnikus}@dfki.de

slide-2
SLIDE 2

2

Bordeaux, France, March 21, 2006

Outline

  • Background and motivation
  • Framework overview

– Model-driven development framework – Web services enactment framework – Agent-based execution platform

  • Prototyping case study
  • Conclusion
slide-3
SLIDE 3

3

Bordeaux, France, March 21, 2006

Background

  • Service-Oriented

Architecture

– architectural style – gaining momentum – mainstream in enterprise computing

  • Four tenets of service-
  • rientation (Box 2004)

– explicit boundaries – autonomy of services – declarative interfaces and data formats – policy-based service description

  • Web services architecture

– technology most often used for implementing SOAs – standards-based stack of specifications – enable interoperable interactions between Web- based applications

slide-4
SLIDE 4

4

Bordeaux, France, March 21, 2006

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.

slide-5
SLIDE 5

5

Bordeaux, France, March 21, 2006

Framework overview

PIM4SOA

MDD Framework WSDL Documents BDI Teams WSDL Analyzer External WSDL Documents Lyndon Johnson Jack

«invoke» «invoke»

  • 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

Services 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

  • 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

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

  • 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

  • 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

slide-6
SLIDE 6

6

Bordeaux, France, March 21, 2006

Semantic Space

Service-Oriented Architecture Model Web Service Execution Artefacts Agent Execution Artefacts BPEL Execution Artefacts P2P Execution Artefacts Web Service Specification Model Agent Specification Model BPEL Specification Model P2P Specification Model Model Transformation UML Profile for Web Services UML Profile for Agents UML Profile for BPEL UML Profile for P2P Model Transformation Architecture Specification

ATHENA Integrated Execution Infrastructure

Registry Repository Service Wrappers (Enterprise A) Evaluation & Negotiation of Available Functionality Enhanced Service Interconnection Bus Cross-
  • rg.
Intra-
  • rg.
Existing Enterprise Applications Public Infrastructure Services Service Wrappers (Enterprise X) Service Wrappers (Enterprise Y) Internal Infrastructure Services Process Execution Platform (BPEL) Goal-oriented Adaptive Execution Platform (Agents) Goal-oriented Adaptive Execution Platform (Agents) Active Model Platform (AKMii) Active Model Platform (AKMii) Legend Message- Oriented Platform (MQSeries) Message- Oriented Platform (MQSeries) Server-side Component Platform (.NET, J2EE) Server-side Component Platform (.NET, J2EE) Composed WebService Platform (WebServices) Business Process/Agent Active (Business) Model Web/Server Component Middleware Process/Agent Middleware Component Adaptive Distributed Resource Mgt Platform (P2P)

Deployment UML Profile for SOA

  • Information
  • Service
  • Process
  • QoS

Reference Ontology annotated with Model to Model Transformation Model to Text Transformation OWL Ontology annotated with annotated with Enterprise Model UML Profile for POP*

  • Process
  • Organisation
  • Product

Model to Model Transformation Business Requirements Analysis annotated with

ATHENA baseline methodology for SOA (overview)

slide-7
SLIDE 7

7

Bordeaux, France, March 21, 2006

Model-driven development framework

  • 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.

WSDL Document BPEL Document JACK BDI Teams XSD Document PIM4SOA Model Information View Service View Process View QoS View UML Profile for PIM4SOA

  • Information
  • Service
  • Process
  • QoS

XML Schema WSDL Description BDI Teams BPEL Process Platform Specific Model Model to Model Transformation 1 Model to Text Transformation Execution Artefacts 1 UML Profile for XSD UML Profile for WSDL UML Profile for BDI Agents UML Profile for BPEL Integrated Execution Infrastructure for Web Services and BDI Agents 1 1..*

slide-8
SLIDE 8

8

Bordeaux, France, March 21, 2006

PIM4SOA Metamodel Web Services Metamodel Agent Metamodel (AgentMM) P2P Metamodel Grid Metamodel

PIM PSMs

Symbols

Metamodel Concept Relationship Correspondence

PIM4SOA → platform specific models

slide-9
SLIDE 9

9

Bordeaux, France, March 21, 2006

Metamodel for (software) services Metamodel for (automated software) processes Metamodel for information Metamodel for quality of service (QoS)

PIM4SOA addresses four system aspects

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)

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)

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)

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)

slide-10
SLIDE 10

10

Bordeaux, France, March 21, 2006

Web services architecture metamodel

Registry <<Metamodel>> + UDDI. Endpoint Description <<Metamodel>> + WS-MetadataExchange. + WS-Policy. + WS-PolicyAttachement. Service Interface Description <<Metamodel>> + WSDL 1.1. + WSDL 2.0. Reliability <<Metamodel>> + WS-ReliableMessaging. Coordination <<Metamodel>> + WS-Coordination. Eventing <<Metamodel>> + WS-BaseNotification. + WS-BrokeredNotification. + WS-Eventing. + WS-Topics. Resource Access and Management <<Metamodel>> + WS-Enumeration. + WS-Resource. + WS-ResourceLifetime. + WS-ResourceProperty. + WS-Transfer. Transport <<Metamodel>> + HTTP. Messaging <<Metamodel>> + SOAP. + WS-Addressing. XML <<Metamodel>> + XML Core / XSD. + XML Encryption. + XML Signature. + XPATH. Security <<Metamodel>> + WS-Security. eContract <<Metamodel>> + ATHENA eContract Extensions. Composition <<Metamodel>> + ACE-GIS Composition Extensions. + WS-BPEL. + WS-CDL.

slide-11
SLIDE 11

11

Bordeaux, France, March 21, 2006

PIM4SOA → platform specific models

PIM4SOA source metamodel Web services target metamodels Mapping model

slide-12
SLIDE 12

12

Bordeaux, France, March 21, 2006

EMF EMF EMF RSM

eProc Model (.emx) BPEL Document (.bpel)

WID

UML Profile for PIM4SOA (.epx)

<<applied>>

PIM4SOA Plugin MTF

eProc Model (.ecore) BPEL Metamodel (.ecore) WSDL Metamodel (.ecore) WSDL Document (.wsdl)

Eclipse WST

a) b) c)

PIM4SOA Metamodel (.ecore) UML 2.0 Metamodel (.ecore) eProc Model (.ecore) EMF: Eclipse Modeling Framework RSM: Rational Software Modeler UML modelling tool PIM4SOA Plugin: RSM plugin – UML Profile for PIM4SOA MTF: Model Transformation Framework Eclipse WST: WSDL graphical editor WID: WebSphere Integration Developer

Model transformations

slide-13
SLIDE 13

13

Bordeaux, France, March 21, 2006

Rapid prototyping framework for SOA

PIM4SOA

MDD Framework WSDL Documents BDI Teams WSDL Analyzer External WSDL Documents Lyndon Johnson Jack

«invoke» «invoke»

  • 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

  • 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

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

Agents Services Modelling

slide-14
SLIDE 14

14

Bordeaux, France, March 21, 2006

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.

slide-15
SLIDE 15

15

Bordeaux, France, March 21, 2006

Web services enactment framework (1)

Outbound Endpoints Outbound processing chains Folders for storing messages Inbound processing chains Inbound Endpoints Incoming messages

INBOX OUTBOX

User Interface Outgoing messages

  • 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.

slide-16
SLIDE 16

16

Bordeaux, France, March 21, 2006

Web services enactment framework (2)

Outbound Endpoints Outbound processing chains Folders for storing messages Inbound processing chains Inbound Endpoints Incoming messages

INBOX OUTBOX

User Interface Outgoing messages

  • 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

  • f the description of the bindings of a Web service.
slide-17
SLIDE 17

17

Bordeaux, France, March 21, 2006

Rapid prototyping framework for SOA

PIM4SOA

MDD Framework WSDL Documents BDI Teams WSDL Analyzer External WSDL Documents Lyndon Johnson Jack

«invoke» «invoke»

  • 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

  • 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

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

Agents Services Modelling

slide-18
SLIDE 18

18

Bordeaux, France, March 21, 2006

Agent-based execution platform

  • 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.

Plans Events Beliefs

Supplier 1 Supplier 2 Web Service Web Service use send handle modify trigger WS calls

Incoming request

Web Service Interface

User

Teams/Agents

slide-19
SLIDE 19

19

Bordeaux, France, March 21, 2006

Prototyping case study

  • 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 e- procurement 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 e-

procurement 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.

e-procurement PIM4SOA

MDD Framework WSDL Documents BDI Teams

Services Enactment

WSDL Analyzer External WSDL Documents Lyndon Johnson Jack

1 2 3 5 4 «invoke» «invoke»

slide-20
SLIDE 20
  • R3. Order
  • R1. Request for Quotation
  • R2. Quotation
  • R4. Order

Confirmation Interior Decoration Project

  • M2. Quotation
  • M1. Request for Quotation
  • M3. Order
  • M4. Order

Confirmation

MANUFACTURER RETAILER 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
slide-21
SLIDE 21

21

Bordeaux, France, March 21, 2006

PIM4SOA: Order process

slide-22
SLIDE 22

22

Bordeaux, France, March 21, 2006

PIM4SOA: Furniture procurement collaboration

  • Three roles

– “Retailer”, – ”Manufacturer” – “Supplier”

  • Two usage of

collaboration

– “Goods Supply” – “Materials Supply”

  • Relationships

between role and collaboration use

– “RoleBinding”

slide-23
SLIDE 23

23

Bordeaux, France, March 21, 2006

PIM4SOA: Goods supply collaboration

slide-24
SLIDE 24

24

Bordeaux, France, March 21, 2006

PIM4SOA: Services interfaces

slide-25
SLIDE 25

25

Bordeaux, France, March 21, 2006

PIM4SOA: Order document

slide-26
SLIDE 26

26

Bordeaux, France, March 21, 2006

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

  • bjectives throughout rounds of prototyping