Ongoing discussions within the SWIM communities of interest
Ongoing discussions within the SWIM communities of interest
Task Status
This page is part of the ongoing SWIM communities of interest discussions. The content is working material. It should not be treated as final as it is still subject to review, comment and change.
Introduction
Purpose and usage
The purpose of a service definition is to harmonize service implementations.
A service definition is produced by a community of interest. It contains a set of service metadata that defines a type of service.
For example, a service definition may define an AMAN service.
However, the service definition does not provide every piece of metadata about resulting service instances. For example, some service definitions will be technology agnostic and say nothing about the technologies to be used when implementing the service. The metadata is collected throughout the Service Orientation process. Much of it is collected by the end of the design step. This may also include recommendations for some technical aspects e.g. exchange model or a particular binding.
A service definition may be registered in the SWIM Registry. This will allow it to be discovered by service providers.
A service definition is used by service providers. The service instance they implement is a running service that conforms to the service definition. A service provider will produce a service description that completes the service metadata, expanding on that that was available in the service definition. The service description refers to the service definition ("standard") that was used as the basis for the service instance (see SWIM-SERV-010 Service standard reference).
Creation
Bottom-up, top-down, middle-out
The service orientation process is written with a classical top-down approach e.g. starting with operational needs and the identification of a new service if this has not already performed.
However, it acknowledges that much of the activities can occur based on existing services that are in need of alignment. A service definition can therefore be the result of a community coming together to align a service that its members have already implemented.
It is, of course, also possible to start the service orientation process somewhere in the middle and develop the justification for the services at the same time as implementing it.
Legacy to new
A service definition can be used as a part of the service lifecycle process to support the transition from a legacy service or system to the SWIM environment. The legacy service can be "abstracted" into a service definition that ensures the same requirements are carried forward into the new service as it is implemented and deployed.
Minimum content of service definitions
Interpreting the content
The table below gives the minimum content to be included in a service definition by the issuing community of interest.
The content is to be used by the different service providers. In that regards, the service definition places requirements on the service provider. The goal is for a set of harmonised service instances that conform to the service definition by implementing its requirements.
Requirement SWIM-SERV-120 - Service standard reference in the EUROCONTROL SWIM Service Description Specification, requires that the deviations and additions to the referenced service definition are listed. This makes it clear to service consumers when the service definition has not been followed.
Minimum content
Identifier | Title | Requirement | Examples/Notes |
---|---|---|---|
SWIM-DEFN-010 | Service definition coverage | A service definition shall define a single service | Note: This concerns the definition of a service that can be implemented by service providers. It is not used to describe a running service - use a service description in that case. Note: This requirement uses "define" rather than "describe". |
SWIM-DEFN-020 | Service definition language | The textual descriptions in a service definition shall be written in English using the spelling listed as the primary British spelling when conflicting spellings exist. | - |
SWIM-DEFN-030 | Service definition identification | A service definition shall include:
| Example:
|
SWIM-DEFN-040 | Service identification | A service definition shall include the name of the service. | Example:
|
SWIM-DEFN-050 | Service abstract | A service definition shall include a short textual description summarising the service. | Example:
|
SWIM-DEFN-085 | Service definition provider | A service definition shall include the following information about the service definition provider:
| Note: the service definition provider is the community of interest or standards development organisation that developed the service definition. Example:
|
SWIM-DEFN-090 | Geographical extent of information | A service definition may include information about the expected geographical coverage of the exchanged information service payload. | Note: the information is intended to help potential service providers understand the service. Example:
Example:
|
SWIM-DEFN-095 | Intended service providers and consumers | A service definition should include information about the typical service provider type and typical service consumer(s) type. | Note: the list service provider and consumer types is intended to help potential service providers understand the service. The list is not prohibitive. Note: service descriptions that describe running services can have a different list. Example:
|
SWIM-DEFN-100 | Service categories | A service definition shall include the service categories to which the service belongs and, if applicable, reference the service categorisation schemes used. | Example:
Example:
|
SWIM-DEFN-120 | Service standard reference | If the service is based on a service standard the service definition shall include:
| Example:
|
SWIM-DEFN-130 | Operational environment | A service definition shall include or refer to information about:
| Example:
|
SWIM-DEFN-140 | Service functions | A service definition shall include or refer to information about:
| Example:
|
SWIM-DEFN-150 | Service access and use conditions | A service definition should include or refer to information about the constraints which are expected to be applied to accessing and using the service, including:
| Example:
|
SWIM-DEFN-160 | Security constraints | A service definition should include or refer to information about the security constraints which are expected to apply to accessing and using the service. | Example:
|
SWIM-DEFN-180 | Quality of service | A service definition shall include or refer to information about the expected minimum quality of service offered with regards to:
| Example:
|
SWIM-DEFN-185 | Quality of data | A service definition shall include or refer to information about the expected minimum quality of the data to be provided by the service. | Note: The items used to describe quality of data vary between information domains. They may include, for example, accuracy, resolution and precision. Example:
|
SWIM-DEFN-190 | Source of information | A service definition should include information about the expected types of sources of the information provided. | Example:
Example:
|
SWIM-DEFN-200 | Service validation information | A service definition may include or refer to information about any service prototyping activities that have taken place. | Example:
|
SWIM-DEFN-210 | Application message exchange pattern | A service definition shall include or refer to information about the application message exchange pattern(s) expected to be used by the service. | Example:
|
SWIM-DEFN-220 | Service behaviour | A service definition shall include or refer to information about the expected typical behaviour of the service. | Note: The requirement covers the minimum content. Handling of unexpected behaviour is possible to define. Note: A diagram showing how the operations support the typical behaviour can be provided. This can be made available in the model view (SWIM-DEFN-330). Example:
|
SWIM-DEFN-230 | Service monitoring | A service definition may state whether a service monitoring mechanism is expected to be made available to service consumers. | Example:
|
SWIM-DEFN-240 | Service interfaces | A service definition shall include or refer to information about the expected exposed service interfaces, including for each service interface,
| Note: If no service interfaces are expected, the service implemented can group operations and messages as fit. Example:
|
SWIM-DEFN-250 | SWIM TI Profile and interface bindings | A service definition shall include information about the selected SWIM TI Profile and its version for each service interface. | Note: This can be captured at service level if all of the service interfaces will use the same SWIM TI Profile. Example:
|
SWIM-DEFN-255 | SWIM TI Profile and interface bindings | A service definition may include for each service interface:
| Example:
|
SWIM-DEFN-260 | Service interface protocols and data format | A service definition may include or refer to information about:
| Note: Protocols are normally linked to the service interface binding. The information provided here must be consistent with what is selected in SWIM-DEFN-255. Note: If a data format is listed, it must be consistent with what is allowed by the bindings mentioned in SWIM-DEFN-255. Example:
|
SWIM-DEFN-270 | Service operations | A service definition shall include or refer to information about the expected exposed service operations including:
| Example:
|
SWIM-DEFN-280 | Service messages | A service definition shall include or refer to information about the expected messages that are exchanged by the service including input, output and error messages. Note: there needs to be at least one message. | Example:
|
SWIM-DEFN-290 | Information definition (minimum) | A service definition shall include or refer to the following information about the exchanged information service payload:
| Note: Service definitions can use an information exchange schema that is uses the data format selected in SWIM-DEFN-260. Example:
Example:
|
SWIM-DEFN-300 | Information definition (extended) | A service definition should include or refer to information about the exchanged Information service payload including:
| Example:
|
SWIM-DEFN-310 | Filter encoding | If information service payload filtering is expected, a service definition shall or refer to information about the filter encoding. | Example:
|
SWIM-DEFN-320 | Machine-readable service interface definition | If the service interface binding specifies the use of machine-readable formats, a service definition should include or refer to a service interface definition in a machine-readable format using a standard service definition formalism/language. | Note: 'include' means to embed the machine-readable format into the service definition. It is still a separate artefact. Example:
|
SWIM-DEFN-330 | Model view | A service definition may
| Example:
|
SWIM-DEFN-350 | Abbreviations and acronyms | A service definition shall include or refer to definitions for all the abbreviations and acronyms used in the service definition. | Example:
|