Rapid Prototyping for Service- Oriented Architectures 2nd Workshop on Web Services

advertisement
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
Download