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.