JBoss.orgCommunity Documentation

Chapter 5. Service Design and Implementation

5.1. Generating a Service
5.1.1. BPMN2 Process

The Savara Eclipse tooling includes the ability to generate services from source models. These models can vary, including (currently) choreographies and BPEL process definitions.

Select the "Savara->Generate->Service" menu item associated with the context menu of the source model. For example,

This will display a dialog window to allow the user to select how each role, identified within the source model, should be generated as a service design or implementation:

The "Service Role" check box is used to indicate whether that role, within the source model, should result in a service being created.

The "Project Name" field is used to enter the name of the project that will be generated. The project name is constructed from a combination of the model name and the role. If the project already exists, then the background of this field will be red, and the OK button will be disabled until either the service role checkbox for that role is unchecked, or the project name changed.

The "Service Type" field displays a list of service generation types, which will be dependent upon the installed plugins and will change as new target representations are supported. The particular structure of each generated project will be dependent upon the service type selected. Some of these service types will relate to implementation technologies (e.g. SCA Java and BPEL), while others may be used to represent a service design (e.g. BPMN2 Process - although a BPMN2 Process can also evolve into an executable implementation).

When the OK button is pressed, each of the projects for the enabled roles will be created with their relevant artifacts.

NOTE: The list of target 'service types' is not related to the source model type. So (for example) if the source model is a BPEL process definition, then it is still possible that BPEL will be offered as a target service type. Although this may seem redundant, it can offer the opportunity to generate a abstract skeleton (observable behavior) version of a fully implemented executable BPEL process.