Working towards the next version of the SWIM Supporting Material

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Table of Contents

Requirement

Panel
borderColorlightgrey
bgColorwhitesmoke
borderStyledashed

Title

SWIM TI Profile and interface bindings

Identifier

SWIM-SERV-018

Requirement

A service description shall include for each service interface,

  • the selected SWIM TI Profile and its version;
  • a reference to a service interface binding as specified in the selected SWIM TI Profile;
  • a reference to a network interface binding as specified in the selected SWIM TI Profile; and
  • reference to additionally supported requirements as specified in the selected SWIM TI Profile.

Rationale

To support the concept of interoperability between the service provider and service consumer, the SWIM TI Profiles only allow a certain set of technical solutions, which can be chosen by the service designer.

This is used by technical experts to assess feasibility to implement.

Verification

Completeness: Verify that the reference information is provided for each provider side and consumer side interface.

Consistency: Verify that the selected service interface binding, network interface binding and additionally supported requirements are consistent with the selected SWIM TI Profile and version.

Correctness: Not Applicable.

Examples/Notes

Note: If configuration options are available in the service interface binding, it is best practice to document them (e.g. use of GZIP compression, Message Transmission Optimization Mechanism (MTOM) encoding).

Example additionally supported requirements:

  • “SWIM-TIYP-0092, SWIM-TIYP-0098”.

Level of Implementation

Mandatory


Guidance

Examples

See the TI Profile and interface bindings section within the Donlon TOBT Setting Service Description.


Guidance for JSON service description 

Excerpt

Include Page
SCOI:with JSON guidance
SCOI:with JSON guidance

Schema

The guidance concerns JSON Schema v0.0.3 (see Schema releases).

Expand
titleSchema excerpt [+]
Code Block
languagejs
		"Interface" : 
		{
			"description" : "The means by which the underlying capabilities of a service are accessed. [SWIM-SERV-016]",
			"type": "object",
			"additionalProperties": false,
			"required": ["name", "description", "interfaceProvisionSide", "tiPrimitiveMessageExchangePattern", "endPoint", "serviceInterfaceBinding", "networkInterfaceBinding", "interfaceBindingDescription", "operation", "behaviour"],
			"properties":
			{

				"serviceInterfaceBinding":
				{
					"description" : "An interface binding that enables services to exchange data with consuming applications. [SWIM-SERV-018]",
					"$ref" : "#/definitions/CodeServiceInterfaceBindingType"
				},
				"networkInterfaceBinding":
				{
					"description" : "An interface binding that enables the SWIM TI to exchange data with the network. [SWIM-SERV-018]",
					"$ref" : "#/definitions/CodeNetworkInterfaceBindingType"
				},
				"interfaceBindingDescription":
				{
					"description" : "Complementary description of the protocols and other specifications used by the interface complementing the selected bindings, or any additional requirement specified in a SWIM TI Profile that is supported by the interface. [SWIM-SERV-018], [SWIM-SERV-019]",
					"type" : "string",
					"minLength":1
				},

			}
		},
Expand
titleRules [+]

Rules expressed for the cases as defined in Registry URD.

caserules
COMPLIANTmandatory
CANDIDATE
DEFINITION

Guidance

Additional attributes to Interface type as described in SWIM-SERV-016 Service interfaces

Rationale: To support the concept of interoperability between the service provider and service consumer, the SWIM TI Profiles only allow a certain set of technical solutions, which can be chosen by the service designer.

Tip

The TI profile and version are embedded within the selected code value for field serviceInterfaceBinding.

Interface - additional attributes

attribute namedescriptiontypeguidancerule
serviceInterfaceBindingAn interface binding that enables services to exchange data with consuming applications.
Expand
titleCodeServiceInterfaceBindingType +

A code listing the interface bindings that enable services to exchange data with consuming applications.

SWIM_TI_YP_1_0_WS_LIGHT 

See chapter 3.1.1.1 of the EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile.

SWIM_TI_YP_1_0_WS_SOAP 

See chapter 3.1.1.2 of the EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile.

SWIM_TI_YP_1_0_WS_SOAP_WITH_BASIC_MESSAGE_SECURITY 

See chapter 3.1.1.3 of the EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile.

SWIM_TI_YP_1_0_WS_SOAP_WITH_MESSAGE_SECURITY 

See chapter 3.1.1.4 of the EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile.

SWIM_TI_YP_1_0_WS_SOAP_WITH_FEDERATED_SECURITY 

See chapter 3.1.1.5 of the EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile.

SWIM_TI_YP_1_0_WS-N_SOAP 

See chapter 3.1.1.6 of the EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile.

SWIM_TI_YP_1_0_WS-N_SOAP_WITH_BASIC_MESSAGE_SECURITY 

 See chapter 3.1.1.7 of the EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile.

SWIM_TI_YP_1_0_WS-N_SOAP_WITH_MESSAGE_SECURITY 

See chapter 3.1.1.8 of the EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile.

SWIM_TI_YP_1_0_WS-N_SOAP_WITH_FEDERATED_SECURITY 

See chapter 3.1.1.9 of the EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile.

SWIM_TI_YP_1_0_AMQP_MESSAGING 

See chapter 3.1.1.10 of the EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile.



Select the appropriate code value.

Rationale: To support the concept of interoperability between the service provider and service consumer, the SWIM TI Profiles only allow a certain set of technical solutions, which can be chosen by the service designer.

Info

The code value includes the TI profile and version.

  • Eg The part "SWIM_TI_YP_1_0" means "EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile version 1.0".


Mandatory
networkInterfaceBindingAn interface binding that enables the SWIM TI to exchange data with the network.
Expand
titleCodeNetworkInterfaceBindingType +

A code listing the interface bindings that enable the SWIM TI to exchange data with the network.

IPV4_UNICAST 

See chapter 3.1.2.1 of the EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile.

IPV4_SECURE_UNICAST 

See chapter 3.1.2.2 of the EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile.

IPV6_UNICAST 

See chapter 3.1.2.3 of the EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile.

IPV6_SECURE_UNICAST 

See chapter 3.1.2.4 of the EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile.
Select the appropriate code value.Mandatory
interfaceBindingDescriptionComplementary description of the protocols and other specifications used by the interface complementing the selected bindings, or any additional requirement specified in a SWIM TI Profile that is supported by the interface. [SWIM-SERV-018], [SWIM-SERV-019]string

Provide here a textual description of

additionally supported requirements as specified in the selected SWIM TI Profile

list of service interface protocols (including name and version), except for security mechanism protocols which are mentioned in SecurityMechanism (see

, if any.

Info

This field is used as well by requirement SWIM-SERV-019 Protocols and data format)

.Rationale: Makes explicit within

to list the service

description what the

interface protocols

are

.


Mandatory

Example

Code Block
languagejs
		"serviceInterface": [
			{

				"serviceInterfaceBinding": "SWIM_TI_YP_1_0_WS-N_SOAP",
				"networkInterfaceBinding": "IPV4_UNICAST",
				"interfaceBindingDescription": "XML requests and replies embedded into SOAP messages, themselves embedded into HTTP requests and responses. Operation names are associated to SOAP requests. The interface does not use compression or message transmission optimization mechanism (MTOM).",

			}
		],



A complete JSON example is available in page JSON example - Donlon TOBT Setting service description.