GFM3 Orchestration of Web Services Report

download GFM3 Orchestration of Web Services Report

of 7

Transcript of GFM3 Orchestration of Web Services Report

  • 8/2/2019 GFM3 Orchestration of Web Services Report

    1/7

    ORCHESTRATION OF SERVICE CHAINSGROUP REPORT ASSIGNMENT 3 IN MODULE 8 GFM-3

    Submitted By:Federico Jacoba Jr.Jordi Castells

    I. Introduction

    With today's current technology, Spatial Data Infrastructures (SDIs) providean easy means by which Geographic Information (GI) can be distributed, accessed,and utilized. This is mainly due to the manner in which distributed systems caninteroperate through the implementation of standards and protocols establishedby consortiums like the OGC, ISO, and W3C. A wealth of GI resources are made

    available over the web via various interoperable geo-webservices (e.g. WMS, WFS,WCS, WPS, etc.) that are built and designed using the Service Oriented Architecture(SOA). A particular user has numerous options to choose from these availableservices depending on his/her purpose.II. Composite Services

    Even with the myriad of resources and services offered by the web, a userwill find it almost impossible to find one web service (WS) that will suit all of his/herneeds. He/she may need WS-1 for one purpose to extract something, then use WS-2 to process the results from WS-1, and thereafter invoke WS-3 to further process

    the output of WS2, and so forth. In short, the user needs a chain of services toperform his/her task. Various web services are typically independent, and thereforemust be chained/linked together to maximize the benefits of many different services.As can be gleaned from the above example, it is obvious that no single service canpossibly deliver everything and fully satisfy the users expectations.

    Chaining is the process of building application from various individualdistributed services whose sequence is determined in a coordinated manner. Aservice chain is defined as a sequence of services where, for each adjacent pair ofservices, occurrence of the first action is necessary for the occurrence of the secondaction [Percival, 2002]. Capitalizing on the advantages of distributed applicationsarchitecture of SDIs, a limitless combination of numerous services (e.g. WMS, WFS,

    WPS, WCS, etc.) can be utilized by a user. More importantly, if these chainedservices would satisfy the requirements of another user, it can be re-used and thuseliminate the need for the other user to start from scratch.III. Orchestration vs. Choreography

    There are two ways of combining or chaining services together: orchestrationor choreography [Juric, 2012].

    The fundamental difference between the two approaches is that inorchestration, a central entity (the conductor of the orchestra) which is a serviceby itself, controls the participating services [Figure 1; Juric, 2012]. The different web

    services involved are unaware (and does not need to be aware) that they are part ofthe orchestra. Only the conductor or coordinator knows that the members (i.e., the

    1

  • 8/2/2019 GFM3 Orchestration of Web Services Report

    2/7

    participating services) that they are playing a part in a business process definition.Thus in this setup, the orchestration is centralized through explicit definitions ofoperations and the invocation order of the services [Juric, 2012.]

    Figure 1. Composition of Web Services by Orchestration [Adapted fromAlbreshne, 2009]

    In contrast, choreography does not require a central orchestrator, with the

    participating services aware of which service/s to interoperate with, and when toperform their respective tasks [Figure 2; Peltz, 2003]. Furthermore, choreography isrooted on collaboration and mainly used to exchange messages in public businessprocesses [Albreshne, 2009]. All the participating web services that are involved inthe choreography must be aware of the business process, operations to execute,messages to exchange, as well as the timing of messages [Juric, 2012].

    2

  • 8/2/2019 GFM3 Orchestration of Web Services Report

    3/7

    Figure 2. Composition of Web Services by Choreography[Adapted from Peltz, 2003]

    Orchestration provides greater efficiency and flexibility in terms of composition

    of web services and has the following advantages over choreography [Juric, 2012]:

    The coordination of component processes is centrally managed by a

    specific coordinator.

    Web services can be incorporated without being aware of the fact that

    they are taking part in a larger business process.

    Alternative scenarios can be put in place in case faults occur.

    IV. Standards used in Orchestration

    From the previous discussion, it is clear that chains of services are involvedin a process; i.e., an ordered activities that has a start and an end. To control theworkflows of processes, various standards are proposed by different organizationsand consortiums. A couple of these are discussed in this section.

    BPEL or BPEL4WS

    Business Process Execution Language (For Web Services) is an OASIS1standard. It is based on an XML grammar that defines how an orchestration engine

    has to process different web services.

    The language provides multiple facilities to orchestrate web services,

    processing the resulting data. The following list shows the general functionalities

    offered by BPEL4WS and the corresponding XML tags:

    Variable definition and modification (, )

    Local variables within scopes ()

    1 Organization for the Advancement of Structured Information Standards. Is a consortium for e-

    business standards.

    3

  • 8/2/2019 GFM3 Orchestration of Web Services Report

    4/7

    Structured programming (, , , and )

    Batch processing ( tag)

    Parallel processing ( tag)

    Fault handlers ()

    Calling Web Services ()

    Different orchestration engines are already implemented to understand

    the BPEL4WS language, provide the needed execution environment: ActiveVOS,

    BizTalk Server, iBolt and WebSphere are proprietary solutions, while Apache ODE,

    OpenESB, OW2 Orchestra and Petals BPEL engine provide the open source

    environment.

    WSCI

    The Web Service Choreography Interface (WSCI) is the XML-based

    interface description language described by W3C to control the flow of messages ofchoreographed web services.

    4

  • 8/2/2019 GFM3 Orchestration of Web Services Report

    5/7

    VI. Use Case

    A simple example is given (showcased in Figure 3), of a basic batch web

    services execution controlled by an orchestration engine. The task is to obtain a list

    of restaurants along a street and generate a route leading to one of the restaurants,

    given a position and a street name.

    Figure 3. An example of of Web Service Composition by Orchestration

    It is assumed that the three Web Services listed below already exist:

    WS1: Geocoding web service (address latitude,longitude)

    WS2: Points of Interest given a radius distance (p1,radius List of POI)

    WS3: Routing webservice (p1,p2 Vector)

    In the above example, the orchestration engine has to execute the web

    services sequentially because the result of one web service is the input of the next.

    The BPEL4WS code configuration for this example is represented on Figure 4.

    Note that some parts of the code contain a [CODE] tag in a comment. This tag is

    added so that the reader would know that in between these comments, more codeis needed for it to work correctly. For the sake of simplicity, this code is omitted

    and only the basic code to illustrate the example is written. The same holds true

    with the parameters of the tag. Ellipses are written in red to represent the missing

    parameters.

    5

  • 8/2/2019 GFM3 Orchestration of Web Services Report

    6/7

    1.

    2.

    3.

    4.

    5.

    6.

    7. 8.

    9.

    10.

    11.

    16.

    17.

    18.

    19. 20.

    21.

    22.

    23.

    24.

    25.

    26.

    27.

    28.

    33.

    34.

    35.

    40.

    41.

    42.

    47.

    48.

    49.

    50.

    Figure4.Code Example for Figure 3 Orchestration process

    6

  • 8/2/2019 GFM3 Orchestration of Web Services Report

    7/7

    http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.w3.org/TR/wsci/http://www.oracle.com/technetwork/articles/matjaz-bpel1-090575.htmlhttp://www.oracle.com/technetwork/articles/matjaz-bpel1-090575.htmlhttp://www.oracle.com/technetwork/articles/matjaz-bpel1-090575.htmlhttp://www.oracle.com/technetwork/articles/matjaz-bpel1-090575.htmlhttp://www.oracle.com/technetwork/articles/matjaz-bpel1-090575.htmlhttp://www.oracle.com/technetwork/articles/matjaz-bpel1-090575.htmlhttp://www.oracle.com/technetwork/articles/matjaz-bpel1-090575.htmlhttp://www.oracle.com/technetwork/articles/matjaz-bpel1-090575.htmlhttp://www.oracle.com/technetwork/articles/matjaz-bpel1-090575.htmlhttp://www.oracle.com/technetwork/articles/matjaz-bpel1-090575.htmlhttp://www.oracle.com/technetwork/articles/matjaz-bpel1-090575.htmlhttp://www.oracle.com/technetwork/articles/matjaz-bpel1-090575.htmlhttp://www.oracle.com/technetwork/articles/matjaz-bpel1-090575.htmlhttp://www.oracle.com/technetwork/articles/matjaz-bpel1-090575.htmlhttp://www.oracle.com/technetwork/articles/matjaz-bpel1-090575.htmlhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfhttp://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf.