- Research Article
191
- 10.1016/j.datak.2009.02.016
RESTful Web service composition with BPEL for REST
- Mar 10, 2009
- Data & Knowledge Engineering
- Cesare Pautasso
RESTful Web service composition with BPEL for REST
Web services technology is the most common implementation of service oriented architecture. Web services are based on open technologies such as eXtensible Markup Language (XML) and offer a distributed approach for the integration of heterogeneous applications across the internet. The process of combining web services functionalities into one composite service is called web services composition. To perform this task, several languages such as Business Process Execution Language (BPEL), Web Services Flow Language (WSFL) and Web Service Choreography Interface (WSCI) have emerged. These languages are based on programming concepts and neglect the specification step which is very important in any software development process. In this paper, we address the formal specification of web services descriptions and the modelling of their composition using the model driven engineering principles. To this end, we propose a domain specific language (DSL) called S-GNet. The proposed DSL introduces new modelling elements which make it well adapted to the web services characteristics. We also propose a graph grammar which transforms Web Services Description Language (WSDL) descriptions into their equivalent S-GNet specifications. This grammar is integrated within an S-GNet modelling tool.
RESTful Web service composition with BPEL for REST
RESTful Web service composition with BPEL for REST
Generating Request Web Services from Annotated BPEL
Business Process Execution Language (BPEL) has been popularly used to describe a collaborative business processes which is executed by Web services. However, the original BPEL language is defined in a strict format which the developers must follow. This leads to difficulties to create or modify the BPEL documents. In order to overcome the problem, the original BPEL has been extended to an annotated-BPEL so that BPEL documents can be freely modified. One of the applications of annotated-BPEL is that it is employed to describe "request" Web service information. Since Web service discovery systems may support different Web service description languages, annotated BPEL must be translated into specific description languages so that it can be readable and understood. This paper introduces a system that generates "request" Web services from the annotated BPEL. The system supports the two most popular Web services description languages, namely, OWL-S and WSDL. The description is first translated into OWL-S since it contains semantics in describing the service. This is done by searching 'the best matched' OWL concepts in a OWL repository and then filling these concepts into an predefined OWL-S template. If we cannot find any suitable concepts, a WSDL document will be generated.
Read moreBusiness Semantics Centric Reliability Testing for Web Services in BPEL
The Business Process Execution Language (BPEL) has become the standard in Web service composition, so that been adopted by industries to create mission critical services. The business process reliability especially business process consistency when some services failed is critical to composite services especially involving various organizations. However, it is difficult to conduct business process reliability testing for composite services due to complex business process in service composition, remote deployed services and long time testing duration. Little research is done to test fault tolerance capabilities of composite services only from low level. This paper proposes a technique on how to test the reliability of composite service defined in BPEL from the view of business semantics with little cost using fault injection. We present an approach for reliability testing of web services by using service stubs with semantic faults instead of real services which can be placed at service provider side or service consumer side. Dislike existing studies, we focus on how to find the reliability problems associating with business process - called semantics as the problems are not pure coding error but faults related to business process. In addition, the behavior of composite services in BPEL is analyzed when there are faults in orchestrated services invoked. Finally, a case study is given to show the whole process of reliability testing for composite web service.
Read moreModel-Driven Web Service Development
Web service technologies are becoming increasingly important for integrating systems and services. There is much activity and interest around standardization and usage of Web service technologies. Contemporary Web services are described in the Web Service Description Language (WSDL). However, WSDL documents can be difficult to understand for service developers. This article recommends a model-driven process for Web service development combining the graphical modeling language UML with WSDL. The Unified Modeling Language (UML) is developed by Object Management Group. In the proposed process, Web service descriptions (in WDSL) are converted to UML; their UML models are integrated to form composite Web services; and then the new Web service descriptions are exported. The main contribution of this article is a “pure UML” modeling strategy supported by implementation of two-way conversion rules between the UML models and the WSDL documents.
Read moreAutomation of Test Case Generation and Execution for Testing Web Service Orchestrations
Testing service orchestrations is a challenging research domain due to necessity of additional testing efforts, complementing traditional software testing. Although various testing approaches and tools have been proposed, most of them provide partial solutions covering single testing activities such as test path analysis, test case generation, Web service emulation, fault injection and so on. Following the current research direction, we have developed an integrated testing framework, called TASSA, which aims to provide end-to-end testing of Business Process Execution Language (BPEL) orchestrations. This paper introduces its core capability for automation of test cases generation, execution and management implemented in an open source tool for WSDL-based testing of both single Web services and composite Web services, described with BPEL. The tool's functionality includes identification of web service operations as well BPEL variables in case of service composition testing, generation of SOAP request templates, data driven testing, definition of assertions at different levels (HTTP, SOAP and BPEL variable), execution and management of test cases.
Read moreMethod for developing and modelling composite web-services
The article describes a method for developing and modelling composite web-services. Web-service composition is used to derive new functionality from the interaction of existing web-services. Composite web-services are built in several stages: specifications (determining the type of service); development of the structure of the service based on the algebra of services; service composition modelling; selecting a service variant and generating a service. The main elements of the proposed approach are the algebra of services and web-services interaction models (basic and composite). The above approach formally presents the consideration of the main aspects in solving problems related to the construction of effective composite web-services and the selection of mathematical models, namely: description of web-services, determining the structure of web-services, taking into account the dynamics of information changes, taking into account the main uncertainties in building the structure web-services. Based on the approach, a method for constructing composite web-services has been developed. The method is based on an algebraic description of a web-service based on a specialized algebra of services. The method consists of the following steps: description of the task of developing a web-service; development of the structure of a web service based on the algebra of services; formal description of the structure and clarification of service operations; building models of functioning and interaction of service components; building simulation models of the composite service; defining the final structure of the composite service; web-service implementation. The main tool for describing composite services is the algebra of services, and the model building tool is colouredPetri nets implemented using СPN Tools. As an example of the application of the developed method, the construction of a pharmaceutical service is described, in which the modellingof the interaction of web-services based on Petri nets is used. The process of building a composite model of a web-service is considered. The process begins with building a pharmaceutical web-service model structure based on the service algebra. Based on the service algebra, operators were developed to implement composite services. The structure of the model is developed, which is presented in the form of a formal description. The process of building pharmaceutical service models in the СPN Tools environment is described in detail.
Read moreResearch on web service composition selection based on QoS metrics
Aiming at the hot and difficult issues in Web services and service composition, this paper analyzes and studies the selection of Web services and service composition from the functional and non functional attributes of Web services, and mainly makes the following work and innovation. First of all, the functional attributes of Web services are studied, Web services on various service provision platforms are collected, and Web services are classified. Secondly, aiming at the shortcomings of existing Web service QoS attribute evaluation models, an improved method is proposed, which introduces a comprehensive evaluation mechanism of variable weight vector. Based on the constant weight comprehensive evaluation method, the state variable weight vector is established to dynamically adjust the attribute weights of various service QoS indicators, so as to improve the accuracy and objectivity of the Web service QoS attribute evaluation. Finally, in view of the defects and deficiencies of traditional algorithms in the selection of Web service composition, the particle swarm optimization algorithm with linearly decreasing inertia weight and learning factor is introduced, which better balances the self cognition and social learning ability of particles, and improves the search speed and global search ability of particles. And a large number of experiments are carried out to compare it with the traditional algorithm, which verifies the effectiveness and superiority of the improved particle swarm optimization algorithm.
Read moreSemantic Web Service Composition System Supporting Multiple Service Description Languages
Semantic Web services have become a core technology in developing business operation on the Web. Web service composition is an important activity to leverage the use of semantic Web services. Several composition systems have been proposed to meet this need. However, these systems only support a particular Web service description language such as OWL-S or WSMO, thus limiting the capability of invoking the services available from various sources over the Internet. This paper introduces a Web service composition system which supports multiple service description languages. As of practical aspect, we have implemented the system supporting the two most popular service description languages, i.e. OWL-S and WSMO. However, our design is left open to support additional language if. needed. The composition algorithm employed in our system is based on an existing composition algorithm for OWL-S Web service but it is extended to support WSMO. An example will be introduced to present how the system works.
Read moreWSLA extensions for managing composite semantic Web Services
Managing Service Level Agreement (SLA) for composite semantic web services is a very complex process, as it involves many complex tasks such as components discovery, provisioning, monitoring, recovery, and coordination. Indeed, managing all these tasks manually is a very cumbersome operation, nevertheless it is time consuming and prone to errors. To overcome such problems, automated SLA management for composite semantic web services is needed. This requires the SLA of the composite service to be described in a machine-understandable format such that it can be understood and processed by the automated SLA management tool. Currently, there is no SLA description language for composite semantic web services, but there exists an SLA description language for atomic web services, known as the Web Service Level Agreement (WSLA). Hence, in this paper, we aim to extend the WSLA language to describe composite semantic web services' SLAs, then we show how we can automatically generate the components' SLAs from the composite semantic web services' SLAs; adopting the CRECENT framework that we previously proposed for managing composite web services.
Read moreThe Semantics of Web Services: An Examination in GIScience Applications
Web service is a technological solution for software interoperability that supports the seamless integration of diverse applications. In the vision of web service architecture, web services are described by the Web Service Description Language (WSDL), discovered through Universal Description, Discovery and Integration (UDDI) and communicate by the Simple Object Access Protocol (SOAP). Such a divination has never been fully accomplished yet. Although it was criticized that WSDL only has a syntactic definition of web services, but was not semantic, prior initiatives in semantic web services did not establish a correct methodology to resolve the problem. This paper examines the distinction and relationship between the syntactic and semantic definitions for web services that characterize different purposes in service computation. Further, this paper proposes that the semantics of web service are neutral and independent from the service interface definition, data types and platform. Such a conclusion can be a universal law in software engineering and service computing. Several use cases in the GIScience application are examined in this paper, while the formalization of geospatial services needs to be constructed by the GIScience community towards a comprehensive ontology of the conceptual definitions and relationships for geospatial computation. Advancements in semantic web services research will happen in domain science applications.
Read moreSecurity testing of orchestrated business processes in SOA
Service Oriented Architecture (SOA) has been widely used during the past decade due to its ability to seamlessly integrate various applications developed using different technologies. Web services based on open standards are the most commonly used technology to realize an SOA. Business processes are executed by appropriate orchestration of various services from different departments that belong to a single organization or from multiple organizations. Security is an important quality attribute that has to be built into any application that is developed using SOA. XML is the underlying technology for Web Service Description Language (WSDL), SOAP protocol and Business Process Execution Language (BPEL). It is highly probable that an attacker could inject malicious information into these XML files to modify the flow of the business process. Further, SOAP was not designed with security in mind, it is possible to tamper the SOAP messages while they are in transit. There exist a number of such potential vulnerabilities which lead to possible security breach in the individual services. In an orchestrated business process, there are possibilities of more vulnerabilities. One of the existing tools namely WS-Attacker is only capable of testing the security of individual web services alone. In spite of the widespread usage of SOA, currently there is limited automatic tool support for testing the security provided by an entire SOA application involving service orchestration. In this context, this paper focuses on designing and implementing a plug-in for WS-Attacker to analyze a few security vulnerabilities present in SOA business processes.
Read moreIT Application Development with Web Services
The advent of Web Services (WS) has signaled a true revolution in the way service-oriented computing and remote procedure invocation over the Web are conducted. Web Services comprise of a set of loosely coupled specifications to coordinate process execution from distance, based on common and widely accepted Web protocols such as HTTP, FTP, and XML, and therefore, providing increased development flexibility. Since the WS Framework was built on top of those protocols, Web Services have been widely acclaimed by the Web development community and paradoxically; they have marked one of the few examples in the history of computer protocols where a global consensus has been reached. The Web Service framework consists of essentially three basic components: 1. The Web Service Description Language (WSDL), a language that allows formal functional characterization of the provided functionalities; 2. The Simple Object Access Protocol (simply SOAP from its version 1.2), a protocol that defines the format of the information interchange; and 3. The UDDI (Universal Description, Discovery and Integration) is a catalog of Web Service descriptions. All three of these components are specified using XML markup. The elegance of the WS architecture lies in the fact that every WS transaction is taking place over established Web protocols such as HTTP and FTP. As remarked in Ballinger (2003, p. 5): “A Web Service is an application logic that is accessible using Internet standards.” This very fact has accounted for the rapid and universal adoption of Web Services. This work is organized as follows: First, a review of underlying technologies and tools is presented. Consequently, existing techniques for design methodologies are described. Next, an overview of storage and retrieval techniques for Web Services is given followed by real-world applications of Web Services. We conclude with open issues and discussion.
Read moreIntroducing Enterprise Java Web Services
Web services are a technology that has gained enormous popularity in the industry over the past two years. Web services introduce a new paradigm in the field of distribute computing where the emphasis is on the protocol that’s used rather than how the technology is implemented. The main advantage Web services have over other technologies that support distributed computing is that Web services are based on open standards such as Extensible Markup Language (XML), Simple Object Access Protocol (SOAP), Web Services Description Language (WSDL), Hypertext Transfer Protocol (HTTP), and so on, and hence are widely accepted in the industry. More than any other distributed computing technologies in the past, Web services promote interoperability between heterogeneous and incompatible systems.
Read moreA Survey on Quantitative Evaluation of Web Service Security
The number of web services available on the Internet has grown rapidly. Service consumers face a hard decision over which service to choose among the available ones. Security holds a key after various vulnerabilities have been exploited by attackers on number of notable web services. This paper carries out a survey on how security has been expressed and promised for web services, through both the Web Service Description Language and Service Level Agreements. It reviews existing technologies used for comparing individual web services, as well as for service compositions. Taking security into account further complicates the already difficult process of choosing the right service. The paper reveals that despite existing efforts, a quantitative solution needs to be established urgently in order to help service consumers to choose the most secure service for them to use.
Read moreBPEL for REST
Novel trends in Web services technology challenge the assumptions made by current standards for process-based service composition. Most RESTful Web service APIs, which do not rely on the Web service description language (WSDL), cannot easily be composed using the BPEL language. In this paper we propose a lightweight BPEL extension to natively support the composition of RESTful Web services using business processes. We also discuss how to expose the execution state of a business process so that it can be manipulated through REST primitives in a controlled way.
Read more