Jump to: navigation, search

STP/IM Component/Sample scenario involving the intermediate meta-model

< STP‎ | IM Component
Revision as of 17:48, 26 August 2007 by Adrian.mos.inria.fr (Talk | contribs) (Completing the SCA Architecture)

This page presents a possible scenario for creating a sample SOA architecture using several Eclipse STP editors. The scenario greatly simplifies the description of each step in order to keep the presentation focused on the representation of artefacts in the internal meta-model. In addition, the representation of the resulting internal model is kept to a minimum, ignoring some elements of the meta-model completely for the purpose of reducing visual clutter. Some of the elements that are ignored are:

  • Owner
  • Transition
  • TransitionUnderCondition
  • ObservableAttribute

Each of the following steps in creating the architecture for a [highly original] sample travel service involves the usage of an editor. Each section of this page shows one such step, highlighting the simplified output of the editor as well as the resulting intermediate model.

Defining a basic process

Using a "process editor" such as a BPMN or BPEL editor, the business analyst defines a simple travel agency scenario, reserving a hotel. The reservation process involves booking a room, obtaining the weather forecast for the trip dates and sending a confirmation email to the customer. Travel process.png

The "process editor" saves the representation of its diagram into the intermediate model. The model now contains the following instances: Initial-steps.png

Opening the SCA Editor

In order to start defining the architecture for the travel reservation system, the architect opens up the STP's own SCA Editor. Since the editor is linked with the internal model, it provides an automatic "import" of its elements and creates empty placeholders for services corresponding to the identified processes. This placeholders would later be refined to either implement the required services or to link to external services.

Since the intermediate model contains one process, the SCA Editor interprets this as a request for an orchestration service and creates one. It is this newly created orchestration service that will provide the process functionality. The services involved in the orchestration are placed inside a generated composite that will expose the process service's interface. The figure below shows a rendering of the composite. Initial-composite.png

The generated placeholders are BookHotel_Provider, GetForecast_Provider and SendEmail_Provider, corresponding to each process step. Only the BookHotel_Provider will be replaced with an actual service created with STP, as seen in the next section. The updated intermediate model now contains the following elements, corresponding to the current architecture:


The generated Service Class, "Reservation Services" will contain all the generated placeholder services as well as the orchestration service "Travel Service".

Completing the SCA Architecture

The architect knows that there exist services to fulfil the hotel booking, weather forecast and email services operations required by the reservation system. However, he/she decides to create a wrapper component for the external hotel reservation service using the STP_Service_Creation_getting_started component of Eclipse STP. For the other services, the necessary wiring is done such that the orchestration can perform its function. The actual bindings for each service are not shown in the diagram, they will be presented in the next section. With the new architecture in place, the SCA diagram looks as below. Completed-sca-architecture.png

The updated intermediate model now contains the wrapper service as well as the introduced dependency from the wrapper to the actual service. File:Added-services.png