Ongoing discussions within the SWIM communities of interest

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

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 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:

The issue of topics has been discussed in the FAQ. See:

Documenting its use

The overall approach

There is no need to rewrite the standards. For example, there is no need to document the operations defined by the standard. It is preferable to refer to where they are documented.

SWIM-SERV-140 Service functions

The functionality name could be somehow harmonised for AMQP services.

Example of SWIM-SERV-140 using Service Metadata Schema
"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

As far as AMQP is converned, what are the roles?

  • Publisher, Queue, Message...

SWIM-SERV-250 SWIM TI Profile and interface bindings

The best practice could be a link to ... specifications to header/content-type information (e.g. AMQP header information to encoding, message-annotation etc.)

Example of SWIM-SERV-250 using Service Metadata Schema
"serviceInterface": [{
 "serviceInterfaceBinding": {
  "name": "SWIM_TI_YP_1_1_AMQP_MESSAGING",
  "description": "..."
 }
}

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?

SWIM-SERV-280 Service messages

The following example shows how to document the service message.

Example of SWIM-SERV-280 using Service Metadata Schema
"serviceInterface": [{
 "messages": [{
  "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

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.

Example of references using Service Metadata Schema
"references": {
 "serviceDocument": [{
  "documentType": "PROTOCOL_SPECIFICATION",
  "title": "Advanced Message Queuing Protocol (AMQP)",
  "version": "1.0",
  "description": "The Advanced Message Queuing Protocol (AMQP) is an open internet protocol for business messaging.",
  "reference": {
	"url": "https://www.amqp.org/"
  }
 }
 ]
}
  • No labels