Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Excerpt |
---|
This page handles FAQ answers that are a work in progress. |
Table of Contents |
---|
The role of topics is discussed in the TIYP supporting material. See, e.g., the "Subject-based Filtering" section in https://reference.swim.aero/technical-infrastructure/guidance-for-pub-sub-push-implementation.html that discusses topic enumerations and topic trees. The getTopics operation allows a service consumer to request the list of topics that are available to use in the subscription. The topics themselves are URIs and should be based on the data that is exchanged, a common semantic reference such as the AIRM and the list of service categories.
How do I decide on the granularity of a service?
Granularity can mean two things: the size of the service and the size of the data it exposes.
The size of the service is based on the operational needs of the service consumer. The service should solve a whole problem for users and it is important to understand what that problem is e.g. is it to see all of the meteorological weather products or simply METARs. See the Service Orientation knowledge article - in particular the Identify and Design steps are useful in understanding users and their needs.
The size of the data exposed (e.g. get all messages, get an individual message, get a property of a message) is also driven by operational needs and the information exchange requirements. The Interoperability Architecture, in particular, the organisational view is most relevant here.
In Europe, some services that implement information exchanges are regulated, in the sense that they are listed in the EU Regulation - Common Project 1. This list may act as a guide in deciding the granularity of a service.describe a service that uses GraphQL?GraphQL is allowed using HTTP as the transport layer (i.e. using WS-Light binding in SWIM-SERV-250 SWIM TI Profile and interface bindings). GraphQL is an example of message-oriented service design (as opposed to operation-oriented or resource-oriented service design). For message-oriented services, the essential part is describing the data schema. GraphQL services do this in its own schema language “GraphQL Schema Language”. Work is being carried out at https://gist.github.com/kouak/8a13bb2730b91a797ca3354e56587f71 |