Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Table of Contents |
---|
Introduction
Service implementations can use the Advanced Message Queuing Protocol (AMQP) v1.0 international standard. This is available at https://www.amqp.org/.
It is discussed in connection with the EUROCONTROL SWIM TI Yellow Profile Specification on the SWIM reference website. See:
- https://reference.swim.aero/technical-infrastructure/guidance-for-pub-sub-push-implementation.html
- https://reference.swim.aero/technical-infrastructure/binding-selection-guidelines.html
The issue of topics has been discussed in the FAQ. See:
Documenting its use
title | The overall approach |
---|
design...
Naming conventions
SWIM-SERV-140 Service functions
The functionality name could be somehow harmonised for AMQP services.
Code Block | ||||
---|---|---|---|---|
| ||||
"generalDescription": { "functionality": [{ "name": "...", "description": "...", "realWorldEffect": "..." }, { "name": "..", "description": "...", "realWorldEffect": "..." }] } |
SWIM-SERV-240 Service interfaces
Name and description could be harmonised e.g. AMQP Notification, AMQP Subscription.
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).
As far as AMQP is converned, what are the roles?
- Publisher, Queue, Message...
Name and description could be harmonised e.g. WFS Request.
SWIM-SERV-
250 SWIM TI Profile and interface bindingsThe best practice could be a link to ... specifications to header/content-type information (e.g. AMQP header information to encoding, message-annotation etc.)
language | js |
---|---|
title | Example of SWIM-SERV-250 using Service Metadata Schema |
240 already contains a <noun><role> pattern. e.g
- NowCastSatRequest for https://eur-registry.swim.aero/services/dwd-nowcastsat-wfs-10
As far as WFS is concerned, what are the roles?
- Request...
SWIM-SERV-270 Service operations
A harmonised entry for AMQP delivery. Consider a controlled vocabulary of verbs for names.
SWIM-SERV-270 proposes <verb><noun> e.g.getAlerts; requestTrajectoryAnalysis; publishAirportMETInducedCapacity; setCoordinationAndTransferData; proposeARESDeActivation.
Which verbs are best in the context of AMQP?
Categorisation
SWIM-SERV-
280100 Service
messagescategories
The following example shows how to document the service messageadd a service categorisation for a Web Feature Service.
Code Block | ||||
---|---|---|---|---|
| ||||
"serviceInterface": [{ "messagesserviceCategorisation": [{ "name": "AMQP message body", "description": "The AMQP message body contains the OPMET data in IWXXM3.0", "schema": { "url": "https://schemas.wmo.int/iwxxm/3.0.0/" } }], ... }] |
Adding the reference
Info |
---|
There is no need to mention the use of AMQP as part of SWIM-SERV-120 Service standard reference. It is more concerned with service definitions produced by the various ATM communities. However, a service standard listed as part of SWIM-SERV-120 may include statements on the use of AMQP. In that case, any deviations from the service standard should be noted. |
The following example shows how to document the use of AMQP in the list of references.
Code Block | ||||
---|---|---|---|---|
| ||||
"references": { "serviceDocument": "other": [{ "documentTypename": "PROTOCOLSERVICE_SPECIFICATIONTYPE", "titlevalue": "Advanced Message Queuing Protocol (AMQP)FEATURE_ACCESS_SERVICE", "versioncategorisationScheme": "1.0",{ "description": "The Advanced Message Queuing Protocol (AMQP) is an open internet protocol for business messaging.", "reference": { "url": "httpshttp://wwwreference.amqp.org/swim.aero/information-services/service-categories/CodeServiceType" } } ] } |