SWIM Supporting Material
Example service description using the Service Metadata Schema
This is an example of service description for a fictitious service, with the intention to illustrate the EUROCONTROL Specification for SWIM Service Description.
The json validates against: https://github.com/eurocontrol-swim/service-metadata-schema/blob/sds-upgrade/description/SRV-DESC_SCHEMA.json
Guidance
General requirements to remember:
SWIM-SERV-010 | Service description coverage | A service description shall describe a single service. |
SWIM-SERV-020 | Service description language | The textual descriptions in a service description shall be written in English using the spelling listed as the primary British spelling when conflicting spellings exist. |
ficticious DONLON example
{ "informationService": { "descriptionInformation": { "descriptionIdentification": { "title": "Donlon TOBT Setting Service Description", "edition": "0.93i", "referenceDate": "2020-06-02" }, "abbreviations": [{ "name": "AACO", "description": "ACRIS Airport CDM Operational project" }, { "name": "A-CDM", "description": "Airport Collaborative Decision Making" }, { "name": "ACI", "description": "Airport Council International" }, { "name": "ACRIS", "description": "Airport Community Recommended Information Services" }, { "name": "AIRM", "description": "ATM Information Reference Model" }, { "name": "ATM", "description": "Air Traffic Management" }, { "name": "CDM", "description": "Collaborative Decision Making" }, { "name": "FT10", "description": "SESAR A-CDM Service Activity" }, { "name": "IATA", "description": "International Air Transport Association" }, { "name": "ICAO", "description": "International Civil Aviation Organisation" }, { "name": "IER", "description": "Information Exchange Requirement" }, { "name": "IFPL", "description": "Individual Flight Plan message" }, { "name": "IFPS", "description": "Integrated Initial Flight Plan Processing System" }, { "name": "ISRM", "description": "Information Service Reference Model" }, { "name": "SESAR", "description": "Single European Sky ATM Research Programme" }, { "name": "SOA", "description": "Service Oriented Architecture" }, { "name": "SWIM", "description": "System Wide Information Management" }, { "name": "TOBT", "description": "Target Off-Block Time" }, { "name": "TSAT", "description": "Target Start Up Approval Time" }, { "name": "UML", "description": "Unified Modeling Language" }, { "name": "WSDL", "description": "Web Services Definition Language" }, { "name": "XSD", "description": "XML Schema Definition" }] }, "serviceIdentification": { "name": "TargetOffBlockTimeSetting", "version": "1.3.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.", "serviceProvider": { "provider": "Donlon Airport Operator", "abbreviation": "DAO", "providerDescription": "Donlon Airport Operator is the organisation responsible for all operations at Donlon airport.", "providerType": ["AIRPORT_OPERATOR"], "pointOfContact": [{ "name": "Customer Relations", "contactInformation": [{ "type": "URL", "address": "http://www.donlon-airport.com/swim/service-request" }], "role": "To request access to the service." }] }, "serviceCategorisation": { "serviceType": "SWIM_COMPLIANT", "lifeCycle": [{ "lifeCycleStage": "OPERATIONAL", "from": "2020-04-07" }], "businessActivityType": ["AERODROME_OPERATION"], "intendedConsumer": ["CIVIL_AIRSPACE_USER", "AIRSIDE_GROUND_HANDLER", "MILITARY_AIRSPACE_USER"], "informationCategory": ["FLIGHT_INFORMATION_EXCHANGE"], "applicationMessageExchangePattern": [{ "name": "SYNCHRONOUS_REQUEST_REPLY" }], "geospatialCategorisation": { "aerodrome": ["EADD"], "geometry": { "type": "GeometryCollection", "geometries": [{ "type": "Point", "coordinates": [100.0, 0.0] } ] } }, "other": [{ "name": "SERVICE_TYPE", "value": "FEATURE_ACCESS_SERVICE", "categorisationScheme": { "url": "http://reference.swim.aero/information-services/service-categories/CodeServiceType" } }] }, "generalDescription": { "operationalEnvironment": { "operationalNeeds": [{ "name": "Airport Collaborative Decision Making", "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. Not any value can be accepted. There may be many business rules for validating the value. As for example: value cannot be in the past, value can no longer be changed, too many changes, etc. 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). 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 Requirement 1", "description": "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)" }, { "name": "Information Exchange Requirement 2", "description": "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": "Please refer to the A-CDM Implementation Manual for more information on the impact of the TOBT value at various stages of the A-CDM process" }, { "name": "Delete TOBT", "description": "Allow the service consumer to delete the TOBT value for a specific flight.", "realWorldEffect": "Please refer to the A-CDM Implementation Manual for more information on the impact of the TOBT value at various stages of the A-CDM process" }], "accessAndUseConditions": [{ "name": "TBD", "type": "LEGAL_CONSTRAINT", "description": "tbd." }, { "name": "Need for SLA", "type": "SERVICE_POLICY", "description": "The access to the service is subject to the signature of a Service Level Agreement with the Donlon Airport Operator." }, { "name": "TBD", "type": "SERVICE_CONSUMPTION_CONSTRAINT", "description": "tbd." }, { "type": "SECURITY_CONSTRAINT", "name": "authentication", "description": "Authentication is required - the access to the service is based on user id and password. The service utilizes X.509v3 public certificates." }, { "type": "SECURITY_CONSTRAINT", "name": "confidentiality", "description": "The service relies on TLS 1.2 to provide integrity and confidentiality." }, { "type": "SECURITY_CONSTRAINT", "name": "integrity", "description": "The service relies on TLS 1.2 to provide integrity and confidentiality." }], "dateInOperation": "2020-04-07", "qualitiesOfService": { "performance": [{ "name": "CAPACITY", "description": "2000 service requests per hour" }, { "name": "TIME BEHAVIOUR", "description": "2s delay for 95% of messages" }], "reliability": [{ "name": "AVAILABILITY", "description": "99.95 % outside the planned outages Schedule of planned outages: http://www.donlon-airport.com/swim/planned-outages" }, { "name": "RECOVERABILITY", "description": "best effort" }], "security": [{ "name": "CONFIDENTIALITY", "description": "Confidentiality mechanisms have been implemented." }, { "name": "INTEGRITY", "description": "Integrity mechanisms have been implemented." }] }, "serviceSupport": [{ "name": "Service Desk [24/7]", "contactInformation": [{ "type": "PHONE", "address": "+693 555 01" }, { "type": "EMAIL", "address": "service-desk@donlon-airport.com" }], "role": "To report incidents on services in operation." }], "validation": [{ "type": "SELF_VALIDATION", "description": { "validationSteps": "The service was validated by a selected group of users.", "validationResults": "The service adheres to pre-defined validation rules.", "evidence": "For a report of the achieved results, please get in contact with http://www.donlon-airport.com/swim/service-request." } }] }, "informationDescription": { "informationDefinition": { "reference": [{ "description": "Service Information Definition", "url": "https://ext.eurocontrol.int/swim_confluence/display/SWIM/Example+service+description+-+information+elements" }] }, "filtering": { "capability": [{ "name": "time period", "description": "The service allows filtering based on a start and end time given as HTTP Query parameters start_date and end_date. The values are formatted in ISO8601. Example: &start_date=2022-06-22&end_date=2022-06-25." }] }, "sourceOfInformation": "The service will receive information from the service consumer." }, "technicalDescription": { "serviceMonitoring": { "monitoringDescription": "A heartbeat service is used to periodically check the status of the service and determine whether it is available." }, "technicalConstraint": [{ "name": "TSAT issued constraint", "description": "There is a limit on the number of changes after TSAT has been issued." }], "behaviour": [{ "name": "TYPICAL", "description": "The service consumer uses the setTOBT operation to upload a Target Off-Block Time for a specific flight and receives a response on the validity of the request. The service consumer uses the deleteTOBT operation to delete the Target Off-Block Time for a specific flight and receives a response on the validity of the request. Each operation of the interface can be called independently. The operations are detailed in a model view." }] }, "serviceInterface": [{ "name": "TOBTSettingReceiver", "description": "The interface allows setting or deleting the TOBT of the specified flight using SynchronousRequestReply.", "provisionSide": "PROVIDER_SIDE", "endpoints": [{"url": "http://www.swim.donlon-airport.com/swim-ops/gateway"}], "serviceInterfaceBinding": { "name": "SWIM_TI_YP_1_0_WS-N_SOAP", "description": "XML 1.0 requests and replies embedded into SOAP 1.2 messages, themselves embedded into HTTP/1.1 requests and responses. Operation names are associated to SOAP requests. The interface does not use compression or message transmission optimization mechanism (MTOM). 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." }, "networkInterfaceBinding": { "name": "IPV4_UNICAST" }, "operations": [{ "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 these business rules: Not accepting values in the past; Not accepting a new value too close to the existing one (there is a minimum change involved);Limiting the number of changes after TSAT has been issued.", "idempotency": "IDEMPOTENT", "messages": [{ "name": "TOBTSettingRequest", "direction": "IN" }, { "name": "TOBTSettingResponse", "direction": "OUT" } ] }, { "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", "messages": [{ "name": "TOBTDeleteRequest", "direction": "IN" }, { "name": "TOBTDeleteResponse", "direction": "OUT" } ] } ], "messages": [{ "name": "TOBTSettingRequest", "description": "Message which provides the Target Off-Block Time value of a specific flight.", "schema": { "url": "https://donlon.eu/schema/1.0.0/tobt/donlon-schema.xsd" } }, { "name": "TOBTSettingResponse", "description": "Message which responds the validity of a previously sent TOBTSettingRequest message.", "schema": { "url": "https://donlon.eu/schema/1.0.0/tobt/donlon-schema.xsd" } }, { "name": "TOBTDeleteRequest", "description": "Message which requests deleting the last TOBT value of the specified flight.", "schema": { "url": "https://donlon.eu/schema/1.0.0/tobt/donlon-schema.xsd" } }, { "name": "TOBTDeleteResponse", "description": "Message which responds the validity of a previously sent TOBTDeleteRequest message.", "schema": { "url": "https://donlon.eu/schema/1.0.0/tobt/donlon-schema.xsd" } }, { "name": "TOBTErrorReponse", "description" : "Error message in response to a user query.", "schema": { "url": "https://donlon.eu/schema/1.0.0/tobt/donlon-schema.xsd" }, "isError": true } ] }], "references": { "serviceDocument": [{ "documentType": "MACHINE_READABLE_SERVICE_DESCRIPTION", "title": "Interface WSDL", "version": "1.0", "description": "Machine processable description of the service interface", "reference": { "url": "public:/2019-09/TOBT_Interface.wsdl" } }, { "documentType": "SERVICE_MODEL", "title": "TOBT Model", "version": "1.0", "description": "XMI 2.1", "reference": { "url": "public:/2019-09/TOBT_Model.xmi" } }, { "documentType": "CODE_EXAMPLE", "title": "Example of messages", "version": "1.0", "description": "A set of message examples", "reference": { "url": "public:/2019-09/MessageExamples.txt" } } ], "implementedStandard": [{ "title": "Initial system-wide information management (SWIM) technology solution", "reference": { "url": "http://www.sesarju.eu/node/2255" }, "standardType": "SERVICE_STANDARD", "conformanceStatement": "The original payload has been adapted in order to better fulfill the role of example." }] } } }
Status: Living Material