Creating the Business
Trip Service Specification
A Tutorial
This document demonstrates how the faceted specification approach
and supporting tool is used to create a specification for the Business Trip
service. It should be used in conjunction with the user guide that also exists.
Overview of the Business
Trip Service
Business Trip is a service that can be utilised by drivers
whilst they are in their cars. At present the service offers two capabilities:
·
A Journey Scheduler - that allows a journey to be
planned and monitored (based on location and time).
·
A Car Parking Booker - that lists nearby car parks that
possess free spaces, and allows the driver to book a space.
Alongside the development of this service, a corresponding
faceted service specification was built. The specification consisted of
Description, Signature, Commerce, Management, Operational Semantics, Exception,
Testing and Quality of Service facets
Creating the Specification
Setting up the facets
The specification tool was first used to create the
specification structure. As part of this a set of facets were defined. In this
case, the 'Full' facets that come with the tool were used - this resulted in
the creation of placeholders for the desired facets.

Figure 1 - Setting up the Business Trip
specification

Figure 2 - The facets for the Business Trip
service
Creating a
specification for the Description Facet
The Description Facet is used to capture a general
description of the service. The default form that is provided by SeCSE uses
natural language to allow the specifier to provider an overview of the purpose
and functionality of the service - and is structured in a way to aid the
requirements-driven discovery techniques that have also been developed within
SeCSE.
By using the default form provided by the tool, the
specifier is guided in the information that needs to be entered. Figure 3 shows
how details of the BusinessTrip service were entered into the Description form.

Figure 3 - Describing the Business Trip
Service
Creating a
specification for the Signature Facet
The Signature Facet is used to capture information about a
service that relates to its binding and operational footprint. Within SeCSE we
do not provide a form, however we recommend the use of the WSDL for specifying
this information. Although the specification tool does not provide a WSDL editor,
it does allow files to be imported from 3rd party editors. Figure 4 shows an
XML editor being used to create the Business Trip WSDL specification that is
then imported into the Signature Facet.

Figure 4 - Specifying the Signature of the
Business Trip Service
Creating a specification for the
Commerce Facet
The Commerce Facet is used to capture information about the
commercial aspects of a service. For example, cost, payment mechanisms, service
policies, Service Level Agreements, etc. The default form provided by SeCSE
allows such information to be captured in a simple way. Figure 5 shows the
commercial data being provided for the Business Trip service.

Figure 5 - Specifying the Commercial
aspects of the Business Trip Service
Creating a specification
for the Quality of Service Facet
The Quality of Service (QoS) Facet is used to capture
information about the quality levels being provided by the service provider.
This includes, for example, the QoS levels for individual operations and the
service as a whole. The default form provided by SeCSE supports the use of the
SeCSE QoS ontology. By using the ontology specifiers are able to draw upon a
'vocabulary' of QoS characteristics and metrics, which in turn can be easily
understood by service consumers who are performing discovery activities. Figure
6 shows QoS data being provided for the Business Trip service and also
illustrates the QoS ontology being used.


Figure 6 - Creating the QoS specification
for the Business Trip Service
Creating a specification
for the Operational Semantics Facet
The Operational Semantics Facet is used to capture
information relating to the services behaviour, and in particular relating to
its operations. For example, the pre and post conditions of a given operation
and the states it can put the service in to. SeCSE provides two default forms
for specifiying operational semantics information; one based around OCL BM and
the other based around BPEL. Figure 7 shows the operational semantics
information being provided for the Business Trip service by the use of BPEL.

Figure 7 - Using the BPEL based form to
create the Operational Semantics specification for the Business Trip service
Creating a specification for the
Exception Facet
The Exception Facet is similar to the Operational Semantics
Facet, but is instead used to capture information relating to a services
possible exception states. For example, the conditions for entering and leaving
the state, and a description of what the state means. SeCSE provides a default
form that uses OCL BM to specify exception information. Figure 8 shows
information about the Business Trip services exception states being entered
into the Exception Facet form.

Figure 8 - Creating the exception facet
specification for the Business Trip service
Creating a specification for the
Management Facet
The Management Facet is instead used to capture information
relating to the administration of the service. For example, this could be
details of the current version, a description of the change history,
information about the type of service (abstract, concrete, etc). SeCSE provides
a default form to assist in specifying management information. Figure 9 shows
management information about the Business Trip service being entered into the
Management Facet form.

Figure 9 - Creation the management facet
specification for the Business Trip service
Summary
This
document has provided a brief tutorial that illustrates how the Business Trip service
specification was created used the faceted specification approach and the
accompanying tool. More information on how to actually use the tool can be
found in the accompanying user guide.