Working towards the next version of the SWIM Supporting Material
Working towards the next version of the SWIM Supporting Material
Requirement
Title | Service interface protocols and data format |
Identifier | SWIM-SERV-019 |
Requirement | A service description shall include the list of service interface protocols (including name and version) and data format to be used. |
Rationale | Makes explicit within the service description what the protocols are. |
Verification | Completeness: Verify that all relevant protocols and versions are listed; verify that the information is provided for each provider side and consumer side interface. Consistency: Verify that the protocols are consistent with the selected interface binding. Correctness: Not Applicable. |
Examples/Notes | Note: The list of supported protocols are the ones corresponding to the selected interface binding. The supported versions of the protocols need to be declared. E.g. version of the Transport Level Security (TLS). |
Level of Implementation | Mandatory |
Guidance
Examples
See the Service interface protocols and data format section within the Donlon TOBT Setting Service Description.
Guidance for JSON service description
UNDERWORK
tentative JSON Guidance
Guidance for JSON service descriptions integrated within the SWIM Service Description Handbook.
Schema
The guidance concerns JSON Schema v0.0.3 (see Schema releases).
schema for service interface protocols
TBD
schema for data formats
Guidance
guidance for service interface protocols
Protocol specification document - Optional
Additional information may be provided as a document of type PROTOCOL_SPECIFICATION.
See Guidance on serviceDocument on how to fill in documents.
guidance for data formats
Within field exchangeSchema, itself within field serviceInformationDescription, list one or more occurrences of type ExchangeSchema.
attribute name | description | type | guidance | rule |
---|---|---|---|---|
--- | A container for the description of the information exchanged by the information service. | --- | Rationale: Provide a description of the information/data that is exchanged by the service. Guidance: SWIM-SERV-019 Protocols and data format requires a description of the elements of the exchanged information. This is provided here. It can be provided by reference and can make use of a published information exchange model. Therefore, use the option best suited to your service. | (M) |
informationDefinition | A formal representation of information concepts or data concepts. [SWIM-SERV-022] | InformationDefinition | Rational: Enables to understand the information provided by the service, with a specific focus to the semantics of the information | Mandatory |
exchangeSchema | Formal description of the data involved in an information exchange. | ExchangeSchema | Rational: Enables to understand data structure, and should include definition documents (XSD, JSON Schema,). | Mandatory |
ExchangeSchema - Mandatory
attribute name | description | type | guidance | rule |
---|---|---|---|---|
--- | Formal description of the data involved in an information exchange. | --- | Rational: Enables to understand data format(s), and should include definition document(s) (XSD, JSON Schema,). Question: how far is this covering the requirement SWIM-SERV-020 Machine-readable interface as well? | (M) |
name | The name of the exchange schema. [SWIM-SERV-019] | string | Guidance: Provide a clear name that represents the data format that is used by the service. | Mandatory |
schemaLanguage | Description of the language used (e.g. XML, JSON). [SWIM-SERV-019] | string | Guidance: Indicate the language in which the data format is expressed (e.g. XSD, JSON, natural language,..) | Mandatory |
reference | A reference to the exchange schema containing the specifications of the data structures. | string | Guidance: Indicate with a reference the location of where the data format is defined (e.g. See Documents section ) Question: Is this not redundant with service documents of type MACHINE_READABLE_SERVICE_DESCRIPTION? see Guidance on serviceDocument. | Mandatory |
Example
example on service interface protocols
TBD
example on data formats
"serviceInformationDescription": { "exchangeSchema": [ { "name": "TOBT Setting Schema", "schemaLanguage": "XML", "reference": "This schema defines the data structures used to exchange data with the service. See service documents" } ] }
A complete JSON example is available in page JSON example - Donlon TOBT Setting service description.