METEOR-S Process Design Tool - Computer Science

Download Report

Transcript METEOR-S Process Design Tool - Computer Science

Designing Web Processes Using
Semantic Templates
Ranjit Mulye, John A. Miller, Kunal Verma,
Amit P. Sheth, Karthik Gomadam
LSDIS Lab, University of Georgia, Athens, Georgia
http://lsdis.cs.uga.edu/
Topic Outline
•
•
•
•
•
•
•
•
Introduction
XML-based languages for Web Service Composition
Comparison of process designer tools
Screenshots of process designer tools
Why Run-Time Binding?
Why Semantics?
Current process composition: Design
Semantic Template Based Approach
–
–
–
–
–
–
Semantic Web Services, Semantic Template
WSDL-S
Semantic Annotation
Dynamic Semantic Discovery
Service Binding in a Web Process
Service Binding Comparison
• Designing a Web Process Example (use-case)
• Step-by-step implementation of the use-case
– 8 steps
• Why use ?
• Conclusion
• Key METEOR-S papers
Introduction
• What is a Web process?
– Using various Web Services or other Web
Processes to interact together to achieve a
desired goal
• When to use?
– when the expected functionality cannot be
combined in a single Web Service
– when individual activities cross domain/
organizational/ departmental boundaries
XML-based Languages for Web Service Composition
A.
Orchestration – process centric.
–
WS-BPEL provides an XML-based language for the formal
specification of business processes and business interaction
protocols. [OASIS WS-BPEL specification]
( www.oasis-open.org/committees/download.php/11600/wsbpel-specification-draft-022705.htm )
•
•
B.
C.
•
Business Process: a collection of related structural activities that produce a
specific outcome for a particular customer.
Interaction Protocol: possible communication scenarios between 2 or more
partners in a multi-partner system.
Predecessors: WSFL and XLANG
Choreography – conversation centric
-
-
WS-CDL provides an XML-based language for describing
peer-to-peer collaborations of Web Services participants by
defining, from a global viewpoint, their common and
complementary observable behavior; where ordered
message exchanges result in accomplishing a common
business goal. ( http://www.w3.org/TR/2004/WD-ws-cdl-10-20041217/ )
Predecessors: WSCI and BPML
Workflow – XPDL
( http://www.wfmc.org/standards/XPDL.htm )
Comparison of BPEL Process
Designers
IBM
WSADIE Designer
Oracle BPEL
Process Designer
CapeScience
Orchestrator
Active Webflow
Semantic
Template Based
Process Designer
BPEL support
WS-BPEL
WS-BPEL
WS-BPEL
WS-BPEL
WS-BPEL
Drag’n’Drop
Yes
Yes
Yes
Yes
Yes
Type
UML Activity
Diagram
variant
BPEL
Elements
BPEL
Elements
UML Activity
Diagram
variant
BPEL
Elements
Service Binding
Design-Time
Design-Time
Design-Time
Design-Time
Run-time
Use of
Semantics
No
No
No
No
Yes
Free/ Open
Source
No
Free
No
No
Open Source
(August)
Screenshots of Available Designers
Cape Clear Orchestrator
Oracle BPEL Process Manager
Active Webflow
IBM Websphere Studio Application Developer Integration Edition
Why Run-Time Binding ?
• Problems with Design-Time:
– Web process bound to pre-selected partners.
– Finalizing partners before design time may not
be optimal.
– Partner status/terms-of-service may change
after process is already deployed, e.g.,
• service may have gone down in the meantime
• Advantages of Run-Time:
– Newer, better, cheaper services could be used.
– Alternative services can be switched to.
Why Semantics ?
• Problems with non-semantic approach:
– Limited discovery based on keywords
– UDDI implementation varies by company
– Optimal services may not be used in a process
• Another service providing lower cost and shorter delivery
time in the supply chain may be available later and
remains undiscovered.
• Advantages of Semantics:
– Better discovery due to more meaningful publication and
annotation of a WS.
– Tool feature: Built-in semantic discovery with Designer
Current Process Composition: Design
• How to design a process?
– Do it with a text-editor (assumes BPEL expertise)
OR
– Use a process designer, e.g., Oracle BPEL Process
Designer, IBM’s WSADIE Designer, etc.
– Steps (now):
• Find partner Web services/processes beforehand (UDDI)
• Create logical flow of interactions in the process (BPEL)
• Deploy and hope partners don’t change status (WSDL,
SOAP)
Semantic Template Based Approach
• Leverages the use of Semantics throughout the entire lifecycle of a Web
Processes/Services – annotation,
discovery, composition, execution.
• Semantics?
– Meanings of entities are better expressed
using Ontologies and relationships instead of
keywords.
Semantic Template Based Approach
• Semantic Web Services (SWS):
– Web services are enhanced by semantically annotating
the operations, messages and services using Ontological
concepts (e.g., RosettaNet). The semantic information
captures the functional and non-functional capabilities of
the WS.
– WSDL-S: is a lightweight (compared to OWL-S or
WSMO) enhancement to WSDL specification which can
capture the semantics of a WS.
• Semantic Template:
– Is used to capture user’s requirements from a WS. It is
an abstract representation of the functionality of a
service and its operations using ontological concepts.
Semantic Annotation: WSDL-S
• Web services can be
semantically
annotated into
WSDL-S files using
the Radiant Tool.
• They can then be
published into an
enhanced UDDI
registry for discovery.
Technical Note: http://www.alphaworks.ibm.com/tech/wssem
Dynamic Semantic Discovery
• Dynamic Discovery
– Capability to choose partner services rather
than having them pre-selected.
• Four ways to bind services:
–
–
–
–
Design-time
Deployment-time
Process Instance Initiation-time
Run-time
Service Binding in a Web Process
• Design-time:
– The set of partners are permanently bound to the Web
process during the design phase
• Deployment-time:
– Uses a virtual partner at design-time, but during
deployment the partners are bound to discovered Web
services. This happens before execution of the process.
• Process Instance Initiation-time:
– After deployment of the process, before each instance is
started, all the partners are bound. This allows different
instances of the same process to use different partners.
• Run-time:
– After process instances have started executing, the
partners are (re-)discovered and bound.
Service Binding Comparison
Requires
Semantic
Template
Requires
Proxy
Reconfigurable
Design-time
No
No
No
Deployment-time
Yes
No
No
Process Instance
Initiation-time
Yes
Yes
No
Run-time
Yes
Yes
Yes
Proxy: Uses Semantic Template for service redirection.
Designing a Web Process - Example
To Build a computer system :
• Typical Steps involved:
1. Requirement Elicitation & Analysis
2. Find a suitable vendor’s WS for computer
components and then place order. In this case
for:
• Motherboard
• Processor
• Memory
3. Design the process
4. Deploy
5. Execute
How to Design? Step 0
• Requirements Elicitation & Analysis:
– UML Use Case Diagrams
– Other supporting diagrams & documentation.
• Logical Design:
– UML Activity Diagrams
– Alternatives
How to Design? Step 1
• Fill in Top Level Sequence:
UML Activity Diagram for Supply Chain Process
How to Design? Step 2
• Fill in Nested Constructs:
Structured activities can have other elements.
How to Design? Step 3a
• Identify Partners (2 ways):
–
Design-time binding by plugging
in a pre-selected WS.
•
–
Use the discovery popup to
graphically create a template,
dynamically discover and then
select from the returned set
(design-time).
Use virtual partners for
deployment time or run time
discovery by using Semantic
Templates.
Discovery popup GUI
For Ordinary Partners
How to Design? Step 3b
• Semantic Templates are created
based on user’s functional and
non-functional requirements for
a Web service, which is put into
a virtual partner. Radiant Tool
can be used for creating the ST.
Semantic Template:
Industry Category = NAICS:Electronics
Product Category = DUNS:RAM
Location = Athens, GA
Operation1 = RosettaNet#requestPurchaseOrder
Input = RosettaNet#PurchaseOrderRequest
Output = Rosetta#PurchaseOrderConfirmation
Operation2 = Rosetta#QueryOrderStatus
Input = Rosetta#PurchaseOrderStatusQuery
Output = Rosetta#PurchaseOrderStatusResponse
For Virtual Partners
Steps:
- Service Level Meta data
(SLM)
- High Level functionality
chosen from a taxonomy,
e.g., NAICS, DUNS
- Map it to Ontology, e.g.,
RosettaNet
- Choose inputs and
outputs
Ontology – RosettaNet
• Developed with
Portege.
• Visualized with
OWLviz.
How to Design? Step 4
Add Definition Elements: namespaces,
variables.
• Related features provided by the designer:
– Namespaces are auto-created when selecting a
discovered partner WS.
– Variables are used to establish data flow
between elements and also may be used for
simple transformation.
– Minimal user typing, most element property
fields allow user to select from a drop-down
list.
How to Design? Step 5
• Link Partners: to Invoke, Receive, Reply
elements.
• How ?
– Element property values -> select partner from a drop
down list.
OR
– Partner from the
Partner Box can be
dragged with the
mouse into the invoke
box. Relevant
property fields autofilled.
– Select operation from
a drop down list given
by the invoke element.
How to Design? Step 6
•
•
Add Basic Activity
Elements and fill
in details for
constructs.
Process is now
ready to be saved.
How to Design? Step 7
Code Generation:
ActiveBPEL
BPWS4J
Process BPEL file
(.bpel)
Yes
Yes
Process WSDL file
(.wsdl)
Yes
Yes
Deployment
descriptor files
(.pdd)
Yes
No
WSDL Catalog file
(.xml)
Yes
No
Utility file (.util)
No
Yes
Ant Script (.xml)
Yes
No
How to Design? Step 8
• Deployment
– Active BPEL:
• Run Ant script
– Create directory structure
– Create .bpr file
– Copy to folder: $TOMCAT_HOME/bpr/
– BPWS4J:
• Use BPWS4J admin GUI
– Locate process BPEL and WSDL files
– Locate Partner WSDLs
– Click ‘Deploy’
Why use a Semantic Template Based Process
Designer?
• WS-BPEL specifications are difficult to learn and remember
• Process developer should be able to specify process steps at
a higher level.
• Use of semantics allows better discovery, and more optimal
process creation.
• Use of run-time binding allows greater dynamism.
• Integrated Dynamic Discovery Module for selecting partner
services while designing a process.
• Easy to use drag-and-drop UI.
• Error checking for invalid constructs.
• Color coded process elements.
• Minimizes user typing by using auto-filling, drop-down lists,
auto-creating Namespace elements from partner WSDL
parsing.
• Easy enough for almost anyone to compose a BPEL process !
Conclusion
• The only BPEL Process Designer tool available
that harnesses the usage of semantics and
provides delayed service binding for greater
flexibility and process optimization.
• A Front end tool that puts together several
technologies at work –
–
–
–
–
–
Semantic Annotation (WSDL-S)
Semantic Publication,
Semantic Template (WSDL-S),
Semantic Discovery,
Composition & Deployment
Main METEOR-S Papers:
•
•
•
•
•
•
Kaarthik Sivashanmugan, Kunal Verma, Amit P. Sheth, John A. Miller,
Adding Semantics to Web Services Standards, Proceedings of the 1st
International Conference on Web Services (ICWS'03), Las Vegas, Nevada
(June 2003) pp.395 - 401.
Kunal Verma, Rama Akkiraju, Richard Goodwin, Prashant Doshi,
Juhnyoung Lee, On Accommodating Inter Service Dependencies in Web
Process Flow Composition, Proceedings of the AAAI Spring Symposium on
Semantic Web Services, March, 2004, pp. 37-43
Preeda Rajasekaran, John A. Miller, Kunal Verma1 and Amit Sheth
"Enhancing Web Services Description and Discovery to Facilitate
Composition," Semantic Web Services and Web Process Composition: First
International Workshop, Revised Selected Papers, Lecture Notes in
Computer Science (LNCS), Vol. 3387, J. Cardoso and A. Sheth, Editors,
(January 2005) pp. 55-68. Springer Verlag, Berlin-Heidelberg, Germany.
Kaarthik Sivashanmugam, Kunal Verma, Amit P. Sheth, Discovery of Web
Services in a Federated Registry Environment, Proceedings of IEEE Second
International Conference on Web Services, June, 2004, pp. 270-278
Rohit Aggarwal, Kunal Verma, John A. Miller and William Milnor,
"Constraint Driven Web Service Composition in METEOR-S," Proceedings of
the 2004 IEEE International Conference on Services Computing (SCC
2004), Shanghai, China, September 2004 , pp. 23-30
Kunal Verma, Karthik Gomadam, Amit P. Sheth, John A. Miller, Zixin Wu
"The METEOR-S Approach for Configuring and Executing Dynamic Web
Processes", LSDIS Technical Report. June, 2005