Date post: | 22-Dec-2015 |
Category: |
Documents |
Upload: | estefania-hynes |
View: | 214 times |
Download: | 1 times |
© 2005-2006 The ATHENA Consortium.
6-3. From PIM4SOA to
Web Services
<Presenter>
<Company>, <Country>
<E-mail>
2© 2005-2006 The ATHENA Consortium.
PIM4SOAMetamodel
Web ServicesMetamodel
Agent Metamodel(AgentMM)
P2PMetamodel
GridMetamodel
PIM
PS
Ms
Symbols
Metamodel
Concept
Relationship
Correspondence
PIM4SOA → platform specific models
3© 2005-2006 The ATHENA Consortium.
PIM4SOA → platform specific models
PIM4SOAsourcemetamodel
Web servicestargetmetamodels
Mappingmodel
4© 2005-2006 The ATHENA Consortium.
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.
5© 2005-2006 The ATHENA Consortium.
WSDL 1.1 metamodel
WSDL DocumentWSDL Component
0..10..1
Port
+ Name
Operation
+ Name
Part
+ Name
+ Type
+ Element
Service
+ Name
1..*1..*
Binding
+ Name
1
1
1
1
Port Type
+ Name
11 11
Message
+ Name
1..*
0..1
1..*
+input
0..10..1
+output
0..10..1+fault 0..1
0..*0..*
Import
+ NameSpace
+ Location
Include
+ Location
Element
+ Name
+ BaseType
+ MinOccurs
+ MaxOccurs
Definition
+ Name
+ TargetNameSpace0..*0..*
0..*0..*0..*0..*
0..*0..*
0..*0..*
Schema
+ TargetNameSpaceTypes
0..10..1
A collection of related endpoints
A single endpoint defined as a combination of a binding and a network address
A concrete protocol and data format specification for a particular port type
An abstract set of operations supported by one or more endpoints
An abstract, typed definition of the data being communicated
An abstract, description of an action supported by the service
A container for data type definitions
6© 2005-2006 The ATHENA Consortium.
PIM4SOA model (.uml2)
WS-* model (.uml2)
UML profile for Web services
Web service artefacts
EMF EcoreMetamodels/Models
RSMUML Models and Profiles
XSD
WSDL
BPEL
XSD
WSDL
BPEL
M2M
M2M
UML profilefor PIM4SOA
PIM4SOA model (. ecore)
WS-* models (.ecore)
M2MM2T
M2M
1
2
3 4
X
Eclipse/RSM modelling environment
1. Build your PIM4SOA (.uml2) model in RSM using the UML profile for PIM4SOA and transform it to a PIM4SOA (.ecore) model in EMF.
2. Transform the PIM4SOA (.ecore) model to Web service (.ecore) models.
3. Transform the Web service (.ecore) models to Web service artefacts.
4. Model transformation for UML profiles for Web services
• Eclipse Modelling Framework (EMF)
• Rational Software Modeler (RSM)
7© 2005-2006 The ATHENA Consortium.
Transformation to XSD
• The XSD artefacts are generated from the Information part of the PIM4SOA model.
• The starting point for the transformation is a PIM4SOA document.
• The strategy is to convert one PIM4SOA Document into one XML schema.
• The mappings between the most relevant PIM4SOA elements and XSD are listed next.
8© 2005-2006 The ATHENA Consortium.
PIM4SOA main mappings to XSD
PIM4SOA
element
XSD equivalent Notes
Document Schema
Entity ComplexType
Association Element An association between entities is transformed into an
element in the containing type with a reference to the
complex type generated for the target Entity
Attribute Attribute Attributes having simple types are mapped to Attributes
in complex types. Attributes with complex types in the
PIM4SOA model are mapped in the same way as
Associations.
Element SimpleType If the ItemType from the PIM4SOA model is not an
entity (meaning it is a simple type) a SimpleType
definition is created in the schema.
9© 2005-2006 The ATHENA Consortium.
Transformation to WSDL
• The WSDL artefacts are generated from the Service part of the PIM4SOA model.
• While the mapping of the PIM4SOA to XSD was quite straight forward, the mapping to WSDL is a bit more complex.
• The WSDL generated has links to the XML schema, as the messages in the PIM4SOA model get their structural information from the Information part of the PIM4SOA models.
10© 2005-2006 The ATHENA Consortium.
PIM4SOA main mappings to WSDL
PIM4SOA
element
WSDL
equivalent
Notes
Package Definition The transformation takes a complete PIM4SOA model as
input and creates on WSDL artefact per model.
Message Message If the PIM4SOA Message has a type assigned to it, the
WSDL message is created with one Part corresponding to
hat type. If not one Part is created for each of the Items
contained by the PIM4SOA Message.
RoleBinding PortType A role binding within a CollaborationUse is a potential
PortType. It is transformed into a PortType if the role it is
bound to is part of a binary Collaboration without any
CollaborationUses (a leaf collaboration)
Collaboration Operation A binary Collaboration (only two roles) that does not contain
any CollaborationUses (leaf Collaboration) is transformed into
an operation. If only one of the Roles in the Collaboration
have Messages an asynchronous pattern is generated
meaning that two operations are created, each in different
PortTypes; one for the provider and one for the consumer.
11© 2005-2006 The ATHENA Consortium.
Transformation to BPEL
• Starting point for a BPEL transformation – PIM4SOA ServiceProvider participating in at least one
Collaboration and implementing a Behaviour as a PIM4SOA Process.
• The transformation from PIM4SOA to BPEL are closely tied to the generation of the WSDL interfaces
• The WSDL transformation allows – collaborations in which a ServiceProvider participates
to be converted to Services and Porttypes, and Partnerlink types to be referenced in the BPEL.
12© 2005-2006 The ATHENA Consortium.
PIM4SOA main mappings to BPEL
PIM4SOA element BPEL
equivalent
Notes
ServiceProviderProcess
Process
Task (i) (participating in collaboration)
Receive, Invoke, Reply The type of communication with other service providers must be
deduced from parameters passed to or from the task in question.
Task (ii) (no collaboration use)
Empty This might be a task requiring further implementation or human
interaction beyond the scope of the PIM4SOA.
Flow Sequence, Flow, (…) The structure of flows between Steps must be analysed to deduce the
applicable BPEL structure.
Interaction, Pin Assign Interactions have a role to play both in determining collaboration type
(see Task (ii) above), and passing particular parts of messages
between tasks (data flow, a BPEL assign).
Message Variable All messages sent and received must have appropriate variables
defined within the BPEL
CollaborationUseRoleBinding
PartnerLink The CollaborationUses defined for the ServiceProvider tell us what
PartnerLinks we will need. See CollaborationUsePath.
CollaborationUsePath PartnerLink, Role(…) This defines a specific use of a PartnerLink, alongside what role we
are playing, and even the PortType being used. See links to the
WSDL transformation described below.
13© 2005-2006 The ATHENA Consortium.
Model transformations overview
RTT ATL
EMF RSM
eProcModel(.emx)
BPEL Document(.bpel)
WID
UML Profile forPIM4SOA (.epx)
<<applied>>
EMF: Eclipse Modeling FrameworkRSM: Rational Software Modeler UML modelling toolPIM4SOA Plugin: RSM plugin – UML Profile for PIM4SOARTT: Rational Transformation ToolsMTF: Model Transformation Framework
PIM4SOAPlugin
MTF
eProcModel
(.ecore)
BPELMetamodel
(.ecore)
MOFScript
WSDLMetamodel
(.ecore)
PIM4SOA toWeb Service ModelTransformation (.atl)
WSDL UMLModel (.xmi)
WSDL UML toWSDL DocumentGeneration (.m2t)
WSDL Document(.wsdl)
EclipseWST
a)b)
c)
ATL: Atlas Transformation Language model to model transformation toolMOF Script: SINTEF model to text transformation toolEclipse WST: WSDL graphical editorWID: WebSphere Integration Developer
PIM4SOAMetamodel
(.ecore)
UML 2.0Metamodel
(.ecore)
eProc Model(.ecore)
15© 2005-2006 The ATHENA Consortium.
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.
16© 2005-2006 The ATHENA Consortium.
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.
17© 2005-2006 The ATHENA Consortium.
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 [email protected]. 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.