Working towards the next version of the SWIM Supporting Material
Page History
Table of Contents |
---|
Requirement
Panel | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Guidance
Examples
See the Interface Overview section and a specific Interface section within the Donlon TOBT Setting Service Description.
Guidance for JSON service description
Excerpt | ||||||
---|---|---|---|---|---|---|
|
Schema
The guidance concerns JSON Schema v0.0.3 (see Schema releases).
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Rules expressed for the cases as defined in Registry URD.
|
Guidance
Within field serviceInterface, itself within field informationService, list one or more occurrences of type Interface.
Info |
---|
List all interfaces: provider side and consumer side interfaces |
Info | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
This requirement addresses many Interface attributes, but not all. The following requirements also involve Interface attributes
See example below |
Interface - Mandatory
The means by which the underlying capabilities of a service are accessed.
Rationale: This information facilitates the unambiguous identification of the interface, the understanding of its purpose, and the location to access it.
attribute name | description | type | guidance | rule | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name | The name of the interface. | string | Provide the actual name of the interface | Mandatory | |||||||||
description | The description of the entity. | string | Provide a textual description of the service interface including its purpose. | Mandatory | |||||||||
interfaceProvisionSide | An indication that the interface is a provider side interface or a consumer side interface. |
| Select the appropriate value. | Mandatory | |||||||||
tiPrimitive MessageExchangePattern | The type of primitive MEP implemented by the interface. |
| Select the appropriate value. Rationale: makes explicit the MEP used by the operations within this interface. | Mandatory | |||||||||
endPoint | Location at which information is received to invoke and configure interaction. | EndPoint | Provide one or more end points.
| Mandatory, minItems=1 |
e
EndPoint - Mandatory
Location at which information is received to invoke and configure interaction.
Rationale: This information facilitates the the understanding of the location to access the interface.
attribute name | description | type | guidance | rule |
---|---|---|---|---|
name | The name of the end point. | string | Provide a concise name that makes clear the usage of the end-point. Example: "Operational", "Pre-operational evaluation". | Mandatory |
description | The description of the entity. | string | If useful, provide additional information on the end-point, such as usage, accessibility, etc. | Optional |
address | A network-visible identifier used to designate specific endpoints in a network. | string | Provide the fully qualified network address at which the interface can be accessed | Mandatory |
addressableResource | A resource that can be addressed through this End Point. | Resource | Consider providing zero or more additional information to describe the resource that is made available at the endpoint for the consumer to better understand the connection and exchanges with the endpoint.
| Optional |
Resource - Optional
Consider providing additional information to describe the resource that is made available at the endpoint for the consumer to better understand the connection and exchanges with the endpoint.
Although resources in general can be anything, SWIM is only concerned with those resources that are relevant to information services and therefore have some additional characteristics. In particular, they incorporate the concepts of ownership and control: a resource that appears in SWIM is a thing that has a name, may have reasonable representations and which can be said to be owned. The ownership of a resource is critically connected with the right to set policy on the resource.
- E.g. An endpoint that provides a QUEUE as a resource, can be further described to explain its behaviour e.g. FIFO, LIFO,.
- E.g. An endpoint that provides a REST-RESOURCE indicates the architecture of the service, and the fact that the endpoint can have multiple resources it enables to list all the REST resources available under an endpoint for which all operations of the interface apply (typical of REST architecture)
attribute name | description | type | guidance | rule | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
type | The type of resource. |
| Select the applicable value, if any. Rationale: Indicates the type of the resource: QUEUE, TOPIC,.. | Optional | |||||||||||||
name | The name of the resource. | string | Provide a self descriptive name | Mandatory | |||||||||||||
description | The description of the resource. | string | Consider providing additional information that enables to understand the resource ( E.g. For QUEUE the behavior FIFO) | Optional |
Example
Code Block | ||
---|---|---|
| ||
"informationService": {
"serviceInterface": [
{
"name": "TOBTSettingReceiver",
"description": "The interface allows setting or deleting the TOBT of the specified flight.",
"interfaceProvisionSide": "PROVIDER_SIDE_INTERFACE",
"tiPrimitiveMessageExchangePattern": "SYNCHRONOUS_REQUEST_RESPONSE",
"serviceInterfaceBinding": "...",
"networkInterfaceBinding": "...",
"interfaceBindingDescription": "...",
"endPoint": [
{
"name": "Production Service Endpoint",
"description": "The service is available for consumption for operational usage at this endpoint",
"address": "http://www.swim.donlon-airport.com/swim-ops/gateway",
"addressableResource": [
{
"name": "Request Handler",
"description": "At this endpoint a resource is available to handle service requests",
"type": "SERVICE_REQUEST_LISTENER"
}
]
},
{
"name": "pre-operational evaluation",
"description": "",
"address": "http://www.swim.donlon-airport.com/swim-pre-ops/gateway"
}
],
"operation": [...],
"behaviour": [...]
}
]
} |
A complete JSON example is available in page JSON example - Donlon TOBT Setting service description.