{
    "informationService": {
        "descriptionInformation": {
            "descriptionIdentification": {
                "title": "Aeronautical Data Set Management Service",
                "edition": "1.0.0",
                "referenceDate": "2023-06-20"
            },
            "abbreviations": [
                {
                    "name": "AIP",
                    "description": "Aeronautical Information Publication"
                },
                {
                    "name": "AIS",
                    "description": "Aeronautical Information Services"
                },
                {
                    "name": "DPS",
                    "description": "Data Product Specification"
                },
                {
                    "name": "HTTP",
                    "description": "Hypertext Transfer Protocol"
                },
                {
                    "name": "ICAO",
                    "description": "International Civil Aviation Organisation"
                },
                {
                    "name": "SWIM",
                    "description": "System Wide Information Managemen"
                },
                {
                    "name": "TI",
                    "description": "Technical Infrastructure"
                },
                {
                    "name": "WS",
                    "description": "Web Service"
                },
                {
                    "name": "YP",
                    "description": "Yellow Profile"
                }
            ]
        },
        "serviceIdentification": {
            "name": "Aeronautical Data Set Management Service",
            "version": "1.0.0"
        },
        "serviceAbstract": "The Aeronautical Data Set Management Service allows an aeronautical information service (AIS) to upload and manage ICAO Annex 15 digital data sets, customised data sets and accompanying metadata within a data set store.The service provides support for the management of data set series, data sets and data product specifications.The service is part of a series of services that supports the provision of digital data sets as defined by ICAO Annex 15.",
        "serviceDefinitionProvider": {
            "providerType": [
                "AERONAUTICAL_INFORMATION_SERVICE_PROVIDER"
            ],
            "pointOfContact": [
                null
            ],
            "provider": "EUROCONTROL",
            "providerDescription": "<p>EUROCONTROL is an intergovernmental organisation with 42 Member and 2 Comprehensive Agreement States.</p>"
        },
        "serviceCategorisation": {
            "serviceType": "SWIM_DEFINITION",
            "businessActivityType": [
                "INFORMATION_MANAGEMENT"
            ],
            "intendedConsumer": [
                "AERONAUTICAL_INFORMATION_SERVICE_PROVIDER"
            ],
            "applicationMessageExchangePattern": [
                {
                    "name": "SYNCHRONOUS_REQUEST_REPLY"
                }
            ],
            "other": [
                {
                    "name": "Service Type",
                    "value": "AERONAUTICAL_DATA_PRODUCT_ACCESS_SERVICE",
                    "categorisationScheme": {
                        "url": "https://reference.swim.aero/information-services/service-categories/CodeServiceType.html"
                    }
                }
            ]
        },
        "generalDescription": {
            "operationalEnvironment": {
                "operationalNeeds": [
                    {
                        "name": "Operational Needs",
                        "description": "The service enables Aeronautical Information Services to publish digital data sets to satisfy international requirements for the exchange of aeronautical information."
                    }
                ],
                "capabilities": [
                    {
                        "name": "Capabilities",
                        "description": "The service supports the publication of the aeronautical digital data sets as defined by ICAO Annex 15:- AIP data set;- Obstacle data set;- Terrain data set;- Aerodrome mapping data set;- Instrument flight procedure data setThe service supports the publication of customised digital data sets for specific purposes."
                    }
                ]
            },
            "functionality": [
                {
                    "name": "Publish and manage data set series",
                    "description": "The service consumer shall be able to publish and manage (e.g., update/withdraw) data set series including its corresponding metadata within the data set store.",
                    "realWorldEffect": "The data set series is published and managed."
                },
                {
                    "name": "Publish and manage data set",
                    "description": "The service consumer shall be able to publish and manage (e.g., update/withdraw) data sets within a data set series including its corresponding metadata and files.",
                    "realWorldEffect": "The data set is published and managed."
                },
                {
                    "name": "Publish and managedata product specification",
                    "description": "The service consumer shall be able to publish and manage (e.g., update/withdraw) data product specification.",
                    "realWorldEffect": "The data product specification is published and managed."
                }
            ],
            "qualitiesOfService": {
                "performance": [
                    {
                        "name": "Capacity",
                        "description": "The service shall achieve a quality that is sufficient to ensure the service is fit for purpose."
                    },
                    {
                        "name": "Response Time",
                        "description": "The service shall achieve a quality that is sufficient to ensure the service is fit for purpose."
                    }
                ],
                "reliability": [
                    {
                        "name": "Availability",
                        "description": "The service shall achieve a quality that is sufficient to ensure the service is fit for purpose."
                    },
                    {
                        "name": "Recoverability",
                        "description": "The service shall achieve a quality that is sufficient to ensure the service is fit for purpose."
                    }
                ],
                "security": [
                    {
                        "name": "Confidentiality",
                        "description": "The service shall ensure confidentiality by using SWIM Technical Infrastructure (TI) Yellow Profile bindings."
                    },
                    {
                        "name": "Integrity",
                        "description": "The service shall ensure integrity by using SWIM Technical Infrastructure (TI) Yellow Profile bindings."
                    }
                ]
            },
            "qualityOfData": [
                {
                    "name": "Quality of Data",
                    "description": "The data contained in the digital data set shall meet the data quality requirements outlined in ICAO Annex 15.The data contained in the digital data set shall meet the data quality requirements outlined in the PANS-AIM Data Catalogue.If the data quality requirements are not me, the data product specification shall record which requirements are not met."
                }
            ],
            "accessAndUseConditions": [
                {
                    "name": "Business Policy",
                    "type": "SERVICE_POLICY",
                    "description": "The service may support the possibility to indicate a price for a data set or a data set series."
                },
                {
                    "name": "Authentication",
                    "type": "SECURITY_CONSTRAINT",
                    "description": "Consumer and provider authentication shall be ensured.The service shall ensure consumer authentication in accordance with the EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile through the use of a X.509 certificate or the use of a username/password (SASL).The service shall ensure provider authentication in accordance with EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile through the use of a X.509 certificate."
                },
                {
                    "name": "Authorisation",
                    "type": "SECURITY_CONSTRAINT",
                    "description": "The service shall ensure that satisfactory authorisation is put in place according to EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile requirement SWIM-TIYP-0070."
                },
                {
                    "name": "Confidentiality",
                    "type": "SECURITY_CONSTRAINT",
                    "description": "The service shall ensure point-to-point confidentiality in accordance with EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile through the use of Transport Layer Security (TLS) 1.2 or above."
                },
                {
                    "name": "Integrity",
                    "type": "SECURITY_CONSTRAINT",
                    "description": "The service shall ensure point-to-point integrity in accordance with EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile through the use of Transport Layer Security (TLS) 1.2 or above."
                }
            ],
            "validation": [
                {
                    "type": "USER_VALIDATION",
                    "description": {
                        "validationSteps": "The service was prototyped in 2021.",
                        "validationResults": "The service operations and information definition were tested. However, the quality of service was not tested.",
                        "evidence": "https://ext.eurocontrol.int/aixm_confluence/display/ADS/EUROCONTROL+prototype"
                    }
                }
            ]
        },
        "informationDescription": {
            "sourceOfInformation": "The service shall accept digital data sets from the appropriate authorised originating sources, e.g.,- AERONAUTICAL_INFORMATION_SERVICE_PROVIDER",
            "informationDefinition": [
                {
                    "name": "Aeronautical Data Set Information Definition",
                    "definition": "https://ext.eurocontrol.int/swim_confluence/display/ASW/Aeronautical+Data+Set+Information+Definition",
                    "airmCorrespondence": "airm:"
                }
            ]
        },
        "technicalDescription": {
            "serviceMonitoring": {
                "monitoringDescription": "This field is left empty."
            },
            "behaviour": [
                {
                    "name": "Typical Behaviour",
                    "description": "The service behaviour shall be in accordance with the patterns detailed in the Message Exchange Patterns: Identification Guidelines.add data set seriesA typical sequence to add a data set series is:- The service consumer requests data set series based on a number of selection criteria, and receives back a list containing zero, one or more data set series.-- The service consumer checks that the data set series to be added is not yet present.- The service consumer creates the data set series metadata.- Optionally, the service consumer uploads a data product specification file.add data setA typical sequence to add a data set is:- The service consumer requests data set series based on a number of selection criteria, and receives back a list containing zero, one or more data set series.-- The service consumer analyses that list to identify the data set series to which the data set(s) need to be added.- The service consumer requests data sets from the selected data set series, possibly supplying additional selection criteria, and receives back a list containing zero, one or more data sets.-- The service consumer checks that the data set to be added is not yet present.- The service consumer creates the data set metadata within the selected data set series.- The service consumer uploads data set file for the newly created data set.-- In case of a data set with multiple files, the upload operation is repeated for each file."
                },
                {
                    "name": "Exception Handling",
                    "description": "The services shall make use of the standard HTTP status codes."
                }
            ]
        },
        "serviceInterface": [
            {
                "name": "Publish",
                "description": "The interface allows the publication and management of data set (series) and data set files.",
                "provisionSide": "PROVIDER_SIDE",
                "serviceInterfaceBinding": {
                    "name": "WS_LIGHT",
                    "description": "EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile version 1.1"
                },
                "networkInterfaceBinding": {
                    "name": "Network Interface Binding",
                    "description": "The service shall use the network bindings of the SWIM TIYP."
                },
                "operations": [
                    {
                        "name": "createDataSetSeries",
                        "description": "The operation accepts metadata for a data set series, stores it as a new data set series, and returns the stored object.",
                        "idempotency": "IDEMPOTENT",
                        "messages": [
                            {
                                "name": "CreateDataSetSeriesRequest",
                                "direction": "IN"
                            },
                            {
                                "name": "CreateDataSetSeriesReply",
                                "direction": "OUT"
                            }
                        ]
                    },
                    {
                        "name": "createDataSet",
                        "description": "The operation accepts metadata for a data set, stores it as a new data set, and returns the stored object.",
                        "idempotency": "IDEMPOTENT",
                        "messages": [
                            {
                                "name": "CreateDataSetRequest",
                                "direction": "IN"
                            },
                            {
                                "name": "CreateDataSetReply",
                                "direction": "OUT"
                            }
                        ]
                    },
                    {
                        "name": "uploadDataSetFile",
                        "description": "The operation accepts a file and returns a file object.",
                        "idempotency": "IDEMPOTENT",
                        "messages": [
                            {
                                "name": "UploadDatSetFileRequest",
                                "direction": "IN"
                            },
                            {
                                "name": "UploadDataSetFileReply",
                                "direction": "OUT"
                            }
                        ]
                    },
                    {
                        "name": "uploadDPSFile",
                        "description": "The operation accepts a file and returns a file object.",
                        "idempotency": "IDEMPOTENT",
                        "messages": [
                            {
                                "name": "UploadDPSFileRequest",
                                "direction": "IN"
                            },
                            {
                                "name": "UploadDPSFileReply",
                                "direction": "OUT"
                            }
                        ]
                    },
                    {
                        "name": "updateDataSetSeries",
                        "description": "The operation allows a user to update the metadata for an existing data set series.",
                        "idempotency": "IDEMPOTENT",
                        "messages": [
                            {
                                "name": "UpdateDataSetSeriesRequest",
                                "direction": "IN"
                            },
                            {
                                "name": "UpdateDataSetSeriesReply",
                                "direction": "OUT"
                            }
                        ]
                    },
                    {
                        "name": "withdrawDataSetSeries",
                        "description": "The operation accepts the id of a given data set series, validates the request and withdraws the data set series together with its data product specification if any.",
                        "idempotency": "IDEMPOTENT",
                        "messages": [
                            {
                                "name": "WithdrawDataSetSeriesRequest",
                                "direction": "IN"
                            },
                            {
                                "name": "WithdrawDataSetSeriesReply",
                                "direction": "OUT"
                            }
                        ]
                    },
                    {
                        "name": "withdrawDataSet",
                        "description": "The operation accepts the id of a given data set, validates the request and withdraws the data set together with its data set file(s).",
                        "idempotency": "IDEMPOTENT",
                        "messages": [
                            {
                                "name": "WithdrawDataSetRequest",
                                "direction": "IN"
                            },
                            {
                                "name": "WithdrawDataSetReply",
                                "direction": "OUT"
                            }
                        ]
                    }
                ],
                "messages": [
                    {
                        "name": "Service Messages",
                        "description": "https://ext.eurocontrol.int/swim_confluence/display/ASW/Aeronautical+Data+Set+Management+Service+-+Service+Definition#AeronauticalDataSetManagementServiceServiceDefinition-ServiceMessages",
                        "isError": false
                    }
                ]
            }
        ],
        "references": {
            "serviceDocument": [
                {
                    "documentType": "",
                    "title": "Publish/Subscribe Push MEP: Implementation Guidance",
                    "version": "JULY 2nd, 2019",
                    "description": "Guidelines on implementing the publish subscribe message exchange patterns",
                    "reference": {
                        "description": "Publish/Subscribe Push MEP: Implementation Guidance",
                        "url": "http://reference.swim.aero/technical-infrastructure/guidance-for-pub-sub-push-implementation.htm"
                    }
                }
            ],
            "implementedStandard": [
                {
                    "title": "-",
                    "standardType": "EUROCONTROL_SPECIFICATION_FOR_SWIM_INFORMATION_DEFINITION",
                    "conformanceStatement": "-"
                }
            ]
        }
    }
}