简单信息
Title
Current solutions for Web service composition
Journal
IEEE Internet Computing
Year
2004
Author
Nikola Milanovic, Miroslaw Malek
1. 文章结构
- Introduction
- Four Key Requirements for Service Composition
- connectivity
- nonfunctional Qos properties
- correctness
- scalability
- Review of Web Service Composition Approaches
- BPEL
- OWL-S
- Web Components
- Algebraic Process Composition
- Petri Nets
- Model Checking and FSM
- Matrix: Existing Approaches and the Requirements
Figure 1 Comparing Service composition requirements
- Conclusion
2.Claims
(1) Help service-composition designers and developers focus their efforts and deliver more usable and durable solutions, while also addressing the technology’s critical needs.
(2) The main problems with “industrial” approaches is correctness verification, while formal approaches are often difficult to apply in real-world enterprise environments, and some face scalability problems.
(3) The Web Service Composability problem will likely be around for a while.
Short-term goal: adopt an industry standard.
Long-term goal: incorporate verification mechanisms that both scale well and let developers and users perform everyday chores using web services.
3. Service Composition Requirements
connectivity
Refer to a program or device's ability to link with other programs and devices. For example, a program that can import data from a wide variety of other programs and can export data in many different formats is said to have good connectivity. However, computers that have difficulty linking into a network (many laptop computers, for example) have poor connectivity.
(refer to http://www.informatica.com/solutions/resource_center/glossary/default.htm )
连通性,这里指不同的web service相互交流的能力(比如一个service的输出是否可做另一个service的输入)
nonfunctional Qos properties
timeliness
适时性,比如两个service之间的一个握手协议,如果开发者不清楚需求的话,就没法决定哪个服务先发出请求。
security
一个trusted服务和一个untrusted服务组合成的服务是否是trusted?两个trusted服务组合成的服务还是trusted吗?
dependability
correctness
验证组合成的服务的属性,如安全和依赖性。
scalability
4. Web Service Composition Approaches
第一代Web Service Composition Language, 如IBM的WSFl,BEA的WSCI相互之间不兼容。
第二代, 如 BPEL等。
文中提到的六种方法中,BPEL和OWL-S更加接近工业界,其他几种则更加理论。
BPEL
An XML language that supports process-oriented service composition. 目前OASIS组织正在对它做标准化工作。
Terminology of BPEL:
process: composition result.
partners: participating services
activity: message exchange or intermediate result transformation
一个process由以下部分构成:
1个 BPEL source file(.bpel): describle activity
a process interface (.wsdl)
deployment descriptor(.xml)(optional)
BizTalk是微软的BPEL orchestration server implementation.
.bpel文件较容易看懂。
Sementic Web (OWL-S)
OWL-S (previously known as DAML-S) is as services ontology that enables automatic service discovery, invocation, composition interoperation and execution monitoring.
OWL-S models services using a three-part ontology:
service profile:
what the service requires from users and what it gives them
service model:
how the service works
service grounding
how to use the service
先学习一下RDF。
Web Components
This Approach treats services as components in order to support basic software development principles such as resue, specialization, and extension.
Main idea:
Encapsulate composite-logic information inside a class definition, which represents a web component.
A web component’s public interface can then be published and used for discovery and reuse.
Algebraic Process Composition
Petri Nets
Model Checing and FSM
5. Method Comparison
Figure 2 Comparing Service composition requirements
Connectivity and Nonfunctional Properties
All approaches offer services connectivity.
Only OWL-S allows to define some nonfunctional properties but that capability has yet to be fully specified.
Composition Correctness
BPEL and OWL-S provide no way to verify correctness.
Automatic Composition
Modeling services as FSMs is the most promising automatic composition approach.
Composition Scalability
BPEL and OWL-S have no standard graphical notation; some orchestration servers offer graphical representation but they don’t map one-to-one to BPEL/OWL-S’s complex language constructs.