Services represent features related to business concepts, business process and their sub-processes and
required functionalities, which have to be provided by services mapped to software
subsystems. The use of SoaML in this activity implies defining the Services Architecture (SA) diagram which specifies
the participants, the contracts for the services and the roles they play in each one as provider or consumer of the
service. To identify the services to support the business process, we look at each interchanged
message between the pools, first defining which activities will be supported by services, and setting the activity type
to “Service”. This identification is carried out from the point of view of the provider of the service. Upon
considering the direction of the interchanged messages, we therefore define that the activity to which the message is
an incoming message is that to be supported by a service. The activity from which the message is an outcoming message
is therefore the consumer of the service. The pool containing each activity will define the participant that provides
or consumes the service, depending on where the activity is supported or invokes the defined service. This
information will then be set in the Service Contract for the defined
service, indicating the consumer and provider roles as defined. For each
general Participant, its internal participants are also identified in correspondence with its internal defined Lanes,
and the internal Architecture for the Participant corresponding to the organization in which the development effort is
carried out, can be later defined using an specific Service Architecture diagram for that participant
only. QVT transformations are defined to generate services
models specified in the OMG SoaML standard from business process models specified in BPMN, that can be executed in the
Eclipse environment.
SoaML Services Architecture diagram for the Reseller business
process:
Other view in the Services Architecture diagram shows some of the participants defined along with their ports for
providing (Service) and consuming (Request) identified services, and its interfaces (provided and consumed)
corresponding to each port.
The categorization of services into a conceptual
hierarchy is helpful for avoiding their proliferation in an indiscriminate manner, which is known as "services
syndrome", and can be done analyzing the service obtained (atomic, composed).
|