中英文对照外文翻译
(文档含英文原文和中文翻译)
Modeling and specification of Web services composition using
UML-S
Abstract
As Web services composition arouses a growing interest, most research works address implementation and execution issues. Therefore, many composition languages (BPEL, XLANG, WSFL, WSCI, to name a few of them) have been proposed in the past few years. However, a weakness of these languages is that they are difficult to use in early stages of development, such as specification. In this paper, an extension to UML 2.0 called ”UML-S: UML for Services” is introduced. UML-S allows for a Model Driven Engineering (MDE) of Web services and their interactions.
1
1. Introduction
Many companies are now using the Web as a platform to communicate with their partners. The Web and its technologies allows them to provide Web services to individuals as well as other businesses.
The main challenges in the Web services paradigm are their discovery and their composition. In other words, one must be able to find a suitable Web service for a given task. This process is called the discovery [18, 19]. The second challenge is the one that is addressed in this paper. It is known as Web services composition [4, 10]. In Web services composition, already defined services are used together to achieve a larger task, resulting in a new composite and value-added Web service. To accomplish this purpose, a common approach is to allow the Web services to interact in a scenario through the use of messaging mechanisms.
Although a lot of research works deal with Web services interactions, most of them address language, implementation or application issues, neglecting early stages of the development process, such as specification. To address this issue, an extension to UML 2.0 called ”UML-S: UML for Services” is introduced. UML-S allows for modeling Web services as well as their interactions.
The Unified Modeling Language (UML) has been defined by the Object Management Group (OMG) [2] to express graphically system development models.
UML-S enables the developers to build composite Web services by following the principles of the Model-Driven Architecture (MDA). As a consequence, it is possible to generate platform-specific code from high-level UML-S models.
This paper is structured as follows. Section 2 provides a survey of existing approaches to model Web services interactions. In section 3, the requirements for a good Web services composition modeling language are put forward. UML-S is then presented in details in section 4. After that, a case study is provided in section 5 to observe UML-S in action. Finally, section 6 draws the conclusions and presents future work. 2. Related Work
The Business Process Management Initiative (BPMI) has developed the Business Process Modeling Notation (BPMN). This notation is particularly useful to visualize BPEL processes.BPMN [23] is now maintained by the OMG. Unfortunately, one could reproach to
2
BPMN its lack of formalism, as explained by Wohed et at. in [24]. Although BPMN is an interesting solution, we preferred to extend UML 2.0 to achieve the same purpose. Indeed, UML was already used as a Process Modeling Language (PML) [9, 13, 16].As a matter of fact, UML has some very interesting features as a PML: it is standard, graphical, popular and it contains several diagrams which allows to model different views of a system.
UML was already considered to describe Web services composition. In [20], an approach using UML activity diagrams to do so was presented by Skogan et al.They provide a way to model the coordination and the sequencing of the interactions between Web services. They also explain how UML activity diagrams can be converted into BPEL [1] or in WorkSCo [3].However, in this approach, methods input/output and data transformation are modeled in notes (i.e. comments) on the side of the workflow, which can get quite confusing when the composition flow gets complex.
Chunming Gao et al. also present in [11] a non-graphical way to model Web services composition with some mobility and time constraint. To do so, they introduce Discrete Time Mobile Ambient calculus (DTMA), an extension to the formal model called Mobile ambients calculus [5]. Using DTMA, they focus on modeling BPEL operations. Due to their non-graphical nature, languages such as DTMA are less user-friendly than graphical like UML.
Another approach to Web services composition modeling was proposed by De Castro et al in [6]. In their work, they make use of the behavior modeling method of MIDAS, a Model-Driven Architecture (MDA) framework [14]. MIDAS is a model-driven methodology for the development of Web Information Systems (WIS) based on the MDA [21], proposed by the OMG [2]. They introduced Web services composition through UML activity diagrams in their paper. However, the model is not detailed as much as necessary to allow code generation as BPEL. Some features could also be added such as data transformation and flow control mechanisms.
In [12], Hamadi et al. put forwards Petri nets [17] based algebra for composing Web services. Petri nets are a well-known process modeling technique. The pros of using such Petri net based algebra is that it allows the verification of properties and the detection of inconsistencies. However, Web services need to be expressed using algebra constructs before being translated into a Petri net representation, adding consequently another necessary stage in the process.
UML-S transformation rules from WSDL 2.0 and to WS-BPEL 2.0 were provided in [8]. UML-S activity diagrams verification and validation using Petri nets was also detailed in [15].
3
3. Web services composition model requirements
In this part, we state what the requirements for a good Web services composition modeling language. First of all, it is better to extends an already existing, well-known standard if it is adapted instead of coming up with a new model. UML modeling language is the de facto industry standard. Therefore it is a good candidate to be extended for Web services composition modeling. Moreover, UML is widely used and its graphical models are easily understandable. The modeling language should allow to represent Web services interfaces as well as the dynamism induced by their composition. UML class diagram is particularly adapted to represent interfaces. Additionally, UML activity diagram is a excellent candidate to model Web services composition, due to its strength to represent the dynamic. A good modeling language can also be judged by its simplicity and its clarity. Graphical languages such as UML are known for being user-friendly. Finally, it is worth noting that a composite Web service simply calls other services and makes them interact. Therefore, there is not a lot of programming involved compared to usual Web services. As a consequence, a composite Web service’s code can be generated in its totality from highlevel graphical models such as UML’s. 4. UML-S: UML for Services The main contribution of this paper is ”UML-S: UML for Services”, an extension to UML 2.0 that allows for modeling Web services as well as their interactions. In UML-S, both class diagrams and activity diagrams are used to model and specify respectively Web services and their interactions. In part 4.1, we present UML-S extended class diagram. After that, the activity diagram proposal is detailed in part 4.2.
4
5
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库在线聊天系统中英文对照外文翻译文献在线全文阅读。
相关推荐: