Working towards the next version of the SWIM Supporting Material

Page tree

Working towards the next version of the SWIM Supporting Material

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

This is an example of Service Description for a fictitious service, with the intention to illustrate EUROCONTROL SWIM specifications and JSON Schema v0.0.3.

work on going

This example will be improved as an outcome from the SSCONE Service Description Schema task.

This example validates with SWIMRegistrySchema_v0.0.3e-Compliant.json (see Schema releases v0.0.3).


JSON service description
{
	"informationService": {
		"descriptionInformation": {
			"serviceDescriptionIdentification": {
				"serviceDescriptionTitle": "Donlon TOBT Setting Service Description",
				"serviceDescriptionEdition": "0.93i",
				"serviceDescriptionReferenceDate": "2020-06-02"
			},
			"abbreviations": [
				{
					"name": "TOBT",
					"description": "Target Off-Block Time"
				}
			]
		},
		"name": "TargetOffBlockTimeSetting",
		"version": "1.0.0",
		"serviceAbstract": "The TargetOffBlockTimeSetting service supports the Airport CDM concept and its implementation by allowing A-CDM Partners, typically aircraft operators and ground handlers, with the capability to set the Target Off-Block Time (TOBT) that indicates the target time for the aircraft to be ready for Off-Block.It is part of a set of services supporting the Airport CDM concept and its implementation by providing the A-CDM partners with Common Situation Awareness about flights at a CDM airport.\r\nThis is an example of Service Description for a fictitious service, with the intention to illustrate the Registry in development.",
		"serviceProvision": {
			"provider": "Donlon Airport Operator",
			"providerDescription": "Donlon Airport Operator is the organisation responsible for all operations at Donlon airport.",
			"providerType": [
				"AIRPORT_OPERATOR"
			],
			"dateInOperation": "2019-05-15",
			"serviceSupport": "For Incidents on services in operation, contact the Service desk [24/7]: +693 555 01 [email protected]",
			"pointOfContact": [
				{
					"name": "access request",
					"description": "to request access to the service, use folliwng link http://www.donlon-airport.com/swim/service-request",
					"email": "",
					"phoneNumber": ""
				},
				{
					"name": "service support",
					"description": "For any issues relate to the operation of the Donlon service",
					"email": "[email protected]",
					"phoneNumber": "+693 555 01"
				}
			]
		},
		"serviceCategorisation": {
			"serviceType": "SWIM_COMPLIANT",
			"lifeCycleStage": "OPERATIONAL",
			"businessActivityType": [
				"AERODROME_OPERATION"
			],
			"informationCategory": [
				"FLIGHT_INFORMATION_EXCHANGE"
			],
			"intendedConsumer": [
				"AIRSIDE_GROUND_HANDLER",
				"CIVIL_AIRSPACE_USER",
				"MILITARY_AIRSPACE_USER"
			],
			"applicationMessageExchangePattern": [
				"SYNCHRONOUS_REQUEST_REPLY"
			],
			"geospatialCategorisation": {
				"aerodromeICAOLocationIndicator": [
					"EADD"
				]
			}
		},
		"serviceGeneralDescription": {
			"operationalNeed": [
				{
					"name": "Operational and Business context",
					"description": "The context is the Airport Collaborative Decision Making (A-CDM) concept as defined in Airport CDM Implementation Manual v4. In A-CDM it is important to allow A-CDM Partners to set the value of some milestones when necessary. The classical example is to allow the Aircraft Operator or the Ground Handler to set the Target Off-Block Time (TOBT) that indicates what is the target time for the aircraft to be ready for off-block. Setting the TOBT value is possible at many stages during the A-CDM process, as early as Milestone 2 (EOBT-2hr) up to and including Milestone 11 (Boarding starts).\n\r The Business Logic may involve validations such as: not accepting values in the past; not accepting a new value too close the existing one (there is a minimum change involved); Limiting the number of changes after TSAT has been issued."
				},
				{
					"name": "Information Exchange Requirements",
					"description": "The service is defined to satisfy two IERs, which were derived from the A-CDM Implementation Manual :\r\n[IER1] To allow the Aircraft Operator or Ground Handler to set, update or delete the value of the Target Off-Block Time of a departing flight. This is done in accordance with the operations involving Target Off-Block Time that take place between A-CDM Milestones 2 and 11 (derived from: Airport CDM Implementation Manual v4)\r\n[IER2] To allow the competent authority to set the value of the Target Off-Block Time for a given aircraft in specific circumstances. In other words, under adverse conditions or special circumstances this service allows the competent authorities to set the Target Off-Block Time value of the flight. (derived from: Airport CDM Implementation Manual v4)."
				}
			],
			"functionality": [
				{
					"name": "Set TOBT",
					"description": "Allow the service consumer to set (i.e. define or update) the TOBT value for a specific flight.",
					"realWorldEffect": "The Target Off-Block Time (TOBT) value is defined"
				},
				{
					"name": "Delete TOBT",
					"description": "Allow the service consumer to delete the TOBT value for a specific flight.",
					"realWorldEffect": "The Target Off-Block Time (TOBT) value is undefined"
				}
			],
			"accessAndUseCondition": [
				{
					"type": "SECURITY_CONSTRAINT",
					"name": "User id + password",
					"description": "The access to the service is based on user id and password."
				},
				{
					"type": "SECURITY_CONSTRAINT",
					"name": "SLA",
					"description": "The access to the service is subject to the signature of a Service Level Agreement with the Donlon Airport Operator."
				}
			],
			"qualityOfService": [
				{
					"name": "Availability",
					"description": "99.95 % outside the planned outages. Schedule of planned outages: http://www.donlon-airport.com/swim/planned-outages"
				},
				{
					"name": "Capacity",
					"description": "2000 service requests per hour"
				},
				{
					"name": "Response time",
					"description": "2s delay for 95% of messages"
				}
			],

			"validation": [
				{
					"description": "The service has not been validated yet.",
					"type": "SELF_VALIDATION"
				}
			]
		},
		"serviceInformationDescription": {
			"informationDefinition": [
				{
					"name": "Service Information Definition",
					"description": "The information definition is described in a separate document. This includes the semantic correspondence. See References.",
					"airmConformant": true,
					"airmVersion": "1.0.0"
				}
			],
			"exchangeSchema": [
				{
					"name": "TOBT Setting Schema",
					"reference": "This schema defines the data structures used to exchange data with the service.\r\nSee Service_References.",
					"schemaLanguage": "XML"
				}
			]
		},
		"serviceTechnicalDescription": {
			"securityMechanism": [
				{
					"name": "TLS 1.2",
					"description": "The service relies on TLS 1.2 to provide integrity and confidentiality.",
					"type": [
						"AUTHENTICATION",
						"CONFIDENTIALITY",
						"INTEGRITY"
					]
				},
				{
					"name": "Cypher Suites",
					"description": "The following cipher suites are allowed in accordance with ECRYPT-CSA recommendations https://www.ecrypt.eu.org/csa/documents/D5.4-FinalAlgKeySizeProt.pdf: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 , TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
					"type": [
						"AUTHENTICATION",
						"CONFIDENTIALITY",
						"INTEGRITY"
					]
				},
				{
					"name": "X.509v3 Server Certificate",
					"description": "The service utilizes X.509v3 public certificate to authenticate the provider.",
					"type": [
						"AUTHENTICATION"
					]
				},
				{
					"name": "X.509v3 Client Certificate",
					"description": "The service utilizes X.509v3 public certificate to authenticate the consumer.",
					"type": [
						"AUTHENTICATION"
					]
				}
			],
			"serviceMonitoring": {
				"monitoringDescription": "The service is monitored, however there is no monitoring interface provided to the consumers"
			}
		},
		"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": "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).",
				"operation": [
					{
						"name": "setTOBT",
						"description": "The setTOBT Service Operation receives the Target Off-Block Time for a specific flight. The operation returns a confirmation of the validity of the provided Target Off-Block Time taking into account the processing considerations.",
						"idempotency": "IDEMPOTENT",
						"synchronicity": "SYNCHRONOUS",
						"precondition": "No preconditions identified",
						"tiProtocolMethod": [
							"HTTP POST"
						],
						"processingConsideration": [
							{
								"name": "Historic values constraint",
								"description": "The operation does not accept values in the past"
							},
							{
								"name": "New Value Difference Constraint",
								"description": "Not accepting a new value too close to the existing one (there is a minimum change involved)"
							},
							{
								"name": "TSAT issued constraint",
								"description": "Limiting the number of changes after TSAT has been issued"
							}
						],
						"operationMessage": [
							{
								"name": "TOBTSettingRequest",
								"description": "Message which provides the Target Off-Block Time value of a specific flight.",
								"direction": "IN",
								"isFault": false,
								"headers": "application\/XML",
								"body": ""
							},
							{
								"name": "TOBTSettingResponse",
								"description": "Message which responds the validity of a previously sent TOBTSettingRequest message",
								"direction": "OUT",
								"isFault": false,
								"headers": "application/XML",
								"body": "none"
							}
						]
					},
					{
						"name": "deleteTOBT",
						"description": "The deleteTOBT Service Operation receives a request for deleting the Target Off-Block Time for a specific flight. The operation returns a confirmation of the validity of such request taking into account this business rule: Not accepting request affecting a flight with no Target Off-Block Time set yet.",
						"idempotency": "IDEMPOTENT",
						"synchronicity": "SYNCHRONOUS",
						"precondition": "",
						"tiProtocolMethod": [
							"HTTP POST"
						],
						"operationMessage": [
							{
								"name": "TOBTDeleteRequest",
								"description": "Message which requests deleting the last TOBT value of the specified flight.",
								"direction": "IN",
								"isFault": false,
								"headers": "",
								"body": ""
							},
							{
								"name": "TOBTDeleteResponse",
								"description": "Message which responds the validity of a previously sent TOBTDeleteRequest message",
								"direction": "OUT",
								"isFault": false,
								"headers": "",
								"body": ""
							}
						]
					}
				],
				"behaviour": [
					{
						"name": "nominal behaviour",
						"description": "Each operation of the interface can be called independently.\r\nThe following diagram illustrates the interaction between the service consumer and the service"
					}
				],
				"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"
					}
				]
			}
		],
		"serviceDescriptionReferences": {
			"implementedStandard": [
				{
					"standardType": "SERVICE_STANDARD",
					"isConformant": false
				}
			],
			"serviceDocument": [
				{
					"title": "Example of messages",
					"description": "A set of message examples",
					"version": "v1.0",
					"reference": "public:/2019-09/MessageExamples.txt",
					"documentType": "CODE_EXAMPLE"
				},
				{
					"title": "TOBT Setting Information Definition",
					"description": "Information Definition for the DONLON TOBT Setting service. Includes Semantic correspondence with traces to the AIRM",
					"version": "1.0",
					"reference": "public:/2019-09/TraceToAIRM.txt",
					"documentType": "INFORMATION_DEFINITION"
				},
				{
					"title": "TOBT Setting Schema",
					"description": "JSON Schema describing the structure of information",
					"version": "v1.0",
					"reference": "public:/2019-09/TOBTSetting_JSON.txt",
					"documentType": "MACHINE_READABLE_SERVICE_DESCRIPTION"
				},
				{
					"title": "Interface WSDL",
					"description": "Machine processable description of the service interface",
					"version": "",
					"reference": "public:/2019-09/TOBT_Interface.wsdl",
					"documentType": "MACHINE_READABLE_SERVICE_DESCRIPTION"
				}
			]
		}
	}
}
  • No labels