rapid prototyping for service- oriented architectures · rapid prototyping for service-oriented...

26
Rapid Prototyping for Service- Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France, March 21, 2006 Julien Vayssière 1 , Gorka Benguria 2 , Brian Elvesæter 3 , Klaus Fischer 4 , Ingo Zinnikus 4 1 SAP Research, Brisbane, Australia, [email protected] 2 European Software Institute (ESI), Bizkaia, Spain, [email protected] 3 SINTEF ICT, Oslo, Norway, [email protected] 4 DFKI GmbH, Saarbrücken, Germany, {klaus.fischer, ingo.zinnikus}@dfki.de

Upload: phungmien

Post on 17-Sep-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

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, [email protected] European Software Institute (ESI), Bizkaia, Spain, [email protected] SINTEF ICT, Oslo, Norway, [email protected] DFKI GmbH, Saarbrücken, Germany, {klaus.fischer, ingo.zinnikus}@dfki.de

Page 2: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

2Bordeaux, 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

Page 3: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

3Bordeaux, France, March 21, 2006

Background

• Service-Oriented Architecture– architectural style– gaining momentum– mainstream in enterprise

computing

• Four tenets of service-orientation (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

Page 4: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

4Bordeaux, 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.

Page 5: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

5Bordeaux, France, March 21, 2006

Framework overview

PIM4SOA

MDD FrameworkWSDL 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

Page 6: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

6Bordeaux, France, March 21, 2006

SemanticSpace

Service-OrientedArchitecture Model

Web ServiceExecution Artefacts

AgentExecution Artefacts

BPELExecution Artefacts

P2PExecution Artefacts

Web ServiceSpecification Model

Agent SpecificationModel

BPEL SpecificationModel

P2P SpecificationModel

Model Transformation

UML Profile for Web ServicesUML Profile for AgentsUML Profile for BPELUML Profile for P2P

Model Transformation

Architecture Specification

ATHENA IntegratedExecution Infrastructure

RegistryRepository

Service Wrappers (Enterprise A)

Evaluation & Negotiation of Available Functionality

Enhanced Service Interconnection Bus

Cross-org.

Intra-org.

Existing Enterprise Applications

PublicInfrastructure Services

Service Wrappers(Enterprise X)

Service Wrappers(Enterprise Y)

InternalInfrastructure Services

Process Execution Platform(BPEL)

Goal-orientedAdaptive ExecutionPlatform(Agents)

Goal-orientedAdaptive ExecutionPlatform(Agents)

ActiveModel Platform(AKMii)

ActiveModel Platform(AKMii)

Legend

Message-OrientedPlatform(MQSeries)

Message-OrientedPlatform(MQSeries)

Server-side Component Platform(.NET, J2EE)

Server-side Component Platform(.NET, J2EE)

ComposedWebServicePlatform(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• QoSR

efer

ence

Ont

olog

y

annotated with

Model to Model Transformation

Model to TextTransformation

OWLOntology

annotatedwith

annotatedwith

EnterpriseModel

UML Profile for POP*• Process• Organisation• Product• …

Model to ModelTransformation

Business Requirements

Analysis

annotated with

ATHENA baseline methodology for SOA (overview)

Page 7: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

7Bordeaux, 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.

WSDLDocument

BPELDocument

JACKBDI Teams

XSDDocument

PIM

4SO

AM

odel

InformationView

ServiceView

ProcessView

QoSView

UML Profile for PIM4SOA• Information• Service• Process• QoS

XMLSchema

WSDLDescription

BDITeams

BPELProcessPl

atfo

rmSp

ecifi

cM

odel

Model to Model Transformation1

Model to Text Transformation

Exec

utio

nA

rtef

acts

1

UML Profile for XSD

UML Profile for WSDL

UML Profile for BDI Agents

UML Profile for BPEL

Integrated ExecutionInfrastructure forWeb Servicesand BDI Agents

1

1..*

Page 8: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

8Bordeaux, France, March 21, 2006

PIM4SOAMetamodel

Web ServicesMetamodel

Agent Metamodel(AgentMM)

P2PMetamodel

GridMetamodel

PIM

PSM

s

Symbols

Metamodel

Concept

RelationshipCorrespondence

PIM4SOA → platform specific models

Page 9: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

9Bordeaux, 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)

Page 10: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

10Bordeaux, 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.

Page 11: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

11Bordeaux, France, March 21, 2006

PIM4SOA → platform specific models

PIM4SOAsourcemetamodel

Web servicestargetmetamodels

Mappingmodel

Page 12: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

12Bordeaux, France, March 21, 2006

EMF EMF

EMF RSM

eProcModel(.emx)

BPELDocument(.bpel)

WID

UML Profile forPIM4SOA (.epx)

<<applied>>

PIM4SOAPlugin

MTF

eProcModel

(.ecore)

BPELMetamodel

(.ecore)WSDL

Metamodel(.ecore) WSDL

Document(.wsdl)

EclipseWST

a)b)

c)

PIM4SOAMetamodel

(.ecore)

UML 2.0Metamodel

(.ecore)

eProc Model(.ecore)

EMF: Eclipse Modeling FrameworkRSM: Rational Software Modeler UML modelling toolPIM4SOA Plugin: RSM plugin – UML Profile for PIM4SOA

MTF: Model Transformation FrameworkEclipse WST: WSDL graphical editorWID: WebSphere Integration Developer

Model transformations

Page 13: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

13Bordeaux, France, March 21, 2006

Rapid prototyping framework for SOA

PIM4SOA

MDD FrameworkWSDL 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)

AgentsServices

Modelling

Page 14: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

14Bordeaux, 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.

Page 15: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

15Bordeaux, France, March 21, 2006

Web services enactment framework (1)

OutboundEndpoints

Outbound processing chains

Folders forstoring messages

Inbound processing chains

InboundEndpointsIn

com

ing

mes

sage

s

INB

OX

OU

TBO

X

User Interface

Out

goin

g m

essa

ges

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

Page 16: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

16Bordeaux, France, March 21, 2006

Web services enactment framework (2)

OutboundEndpoints

Outbound processing chains

Folders forstoring messages

Inbound processing chains

InboundEndpointsIn

com

ing

mes

sage

s

INB

OX

OU

TBO

X

User Interface

Out

goin

g m

essa

ges

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

Page 17: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

17Bordeaux, France, March 21, 2006

Rapid prototyping framework for SOA

PIM4SOA

MDD FrameworkWSDL 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)

AgentsServices

Modelling

Page 18: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

18Bordeaux, 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.

PlansEvents

Beliefs

Supplier 1

Supplier 2

Web Service

Web Service

usesend

handle

modify

trigger

WS calls

Incoming request

Web ServiceInterface

User

Teams/Agents

Page 19: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

19Bordeaux, 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 FrameworkWSDL Documents BDI Teams

Services Enactment WSDL Analyzer

External WSDL Documents

Lyndon

Johnson Jack

1

2 3

54«invoke» «invoke»

Page 20: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

R3. Order

R1. Request for QuotationR2. Quotation

R4. Order Confirmation

Interior Decoration

Project

M2. Quotation

M1. Request for Quotation

M3. OrderM4. Order Confirmation

MANUFACTURER

RETAILERPROVIDER

● Retailer-Manufacturer● 1. RFQ● 2. Quote● 3. Order

● Manufacturer-Supplier● 1. RFQ● 2. Quote● 3. Order● 4. Order Confirmation

● Retailer-Manufacturer● 4. Order Confirmation

Page 21: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

21Bordeaux, France, March 21, 2006

PIM4SOA: Order process

Page 22: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

22Bordeaux, France, March 21, 2006

PIM4SOA: Furniture procurement collaboration

• Three roles – “Retailer”,– ”Manufacturer”– “Supplier”

• Two usage of collaboration – “Goods Supply”– “Materials Supply”

• Relationshipsbetween role and collaboration use – “RoleBinding”

Page 23: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

23Bordeaux, France, March 21, 2006

PIM4SOA: Goods supply collaboration

Page 24: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

24Bordeaux, France, March 21, 2006

PIM4SOA: Services interfaces

Page 25: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

25Bordeaux, France, March 21, 2006

PIM4SOA: Order document

Page 26: Rapid Prototyping for Service- Oriented Architectures · Rapid Prototyping for Service-Oriented Architectures 2nd Workshop on Web Services Interoperability (WSI 2006) Bordeaux, France,

26Bordeaux, 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

objectives throughout rounds of prototyping