Task Status
This page is part of the ongoing SWIM communities of interest discussions. The content is working material. It should not be treated as final as it is still subject to review, comment and change.
Introduction
Service design is a step in the service orientation process detailed on the SWIM reference website (https://reference.swim.aero/knowledge/service-orientation-process.html#design). One outcome is a service model (service interface(s), service operation(s), service behaviour). This leads to consideration on how to name things.
The following documents will help.
- 08.03.10_D45_ISRM_Modelling_Guidelines.docx
- 20191104 Controlled verbs for Application Functions V.1.1.pdf
Naming conventions
SWIM-SERV-140 Service functions
The functionality name could be somehow harmonised for AMQP services.
"generalDescription": { "functionality": [{ "name": "Provide Turbulence Forecast Information", "description": "A detailed and product-specific description on the delivered product.", "realWorldEffect": "Information is provided continually; the service consumer gets the subscribed data." }, { "name": "Meteorological Forecast Provision", "description": "...", "realWorldEffect": "..." }] }
SWIM-SERV-240 Service interfaces
Name and description could be harmonised e.g. AMQP Notification, AMQP Subscription, WFS Request..
SWIM-SERV-240 already contains a <noun><role> pattern. e.g
- TurbulenceForecastPublisher for https://eur-registry.swim.aero/services/dwd-turbulence-amqp-10
- ArrivalSequenceInformationPublisher for https://eur-registry.swim.aero/services/dsna-arrivalsequencedistribution-service-v11 (not AMQP but shows the same pattern for names).
- NowCastSatRequest for https://eur-registry.swim.aero/services/dwd-nowcastsat-wfs-10
As far as WFS is concerned, what are the roles?
- Request...
As far as AMQP is concerned, what are the roles?
- Publisher, Queue, Message...
SWIM-SERV-270 Service operations
Consider a controlled vocabulary of verbs for names.
Which verbs are best in the context of AMQP?
Categorisation
SWIM-SERV-100 Service categories
The following example shows how to add a service categorisation for a Web Feature Service.
"serviceCategorisation": { "other": [{ "name": "SERVICE_TYPE", "value": "FEATURE_ACCESS_SERVICE", "categorisationScheme": { "url": "http://reference.swim.aero/information-services/service-categories/CodeServiceType" } }] }