From 3e0dcfcffaaef0dfa58fe0e845386aeb242523f4 Mon Sep 17 00:00:00 2001 From: Chris Little Date: Thu, 18 Jan 2024 15:58:55 +0000 Subject: [PATCH 1/6] Update clause_1_scope.adoc Defined topic structure --- extensions/pubsub/standard/sections/clause_1_scope.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/pubsub/standard/sections/clause_1_scope.adoc b/extensions/pubsub/standard/sections/clause_1_scope.adoc index 9c4edbd9a..81068960b 100644 --- a/extensions/pubsub/standard/sections/clause_1_scope.adoc +++ b/extensions/pubsub/standard/sections/clause_1_scope.adoc @@ -1,7 +1,7 @@ == Scope ==== -The OGC API - Environmental Data Retrieval - Part 2: Publish-Subscribe Workflows Standard defines building blocks that can be assembled to implement Publish-Subscribe workflows (discovery, topic structure, encoding) as part of OGC API - Environmental Data Retrieval - Part 1: Core. +The OGC API - Environmental Data Retrieval - Part 2: Publish-Subscribe Workflows Standard defines building blocks that can be assembled to implement Publish-Subscribe workflows (discovery, topic structure, encoding) as part of OGC API - Environmental Data Retrieval - Part 1: Core. A topic structure is the structured information that a publisher makes available to allow subscribers to choose information of interest to them. This Standard defines a discovery capability that contains a topic structure in support of binding to notifications for data access and retrieval. From a61fa2a009f542905a276a2ad10a458daae43790 Mon Sep 17 00:00:00 2001 From: Chris Little Date: Thu, 18 Jan 2024 16:12:21 +0000 Subject: [PATCH 2/6] Update clause_7_pubsub.adoc expound hierarchy of channels --- extensions/pubsub/standard/sections/clause_7_pubsub.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extensions/pubsub/standard/sections/clause_7_pubsub.adoc b/extensions/pubsub/standard/sections/clause_7_pubsub.adoc index 68355a379..6866820c8 100644 --- a/extensions/pubsub/standard/sections/clause_7_pubsub.adoc +++ b/extensions/pubsub/standard/sections/clause_7_pubsub.adoc @@ -15,13 +15,13 @@ include::../recommendations/pubsub/PER_protocols.adoc[] === OGC API Considerations -The OGC API building block approach would typically be used for shared components in API implementations in support of a polling workflow. Using HTTP, this means that the client initiates and invokes requests and receives responses from the server. A key concept of the OGC API building blocks architecture is the endpoint hierarchy, which can be applied for Pub/Sub workflow as follows: +The OGC API building block approach would typically be used for shared components in API implementations in support of a polling workflow. Using HTTP, this means that the client initiates and invokes requests and receives responses from the server. A key concept of the OGC API building blocks architecture is the service endpoint of the URL path specifying a resource and anysimialr sub-resources, which can be applied for Pub/Sub workflow as follows: * Data producers: Messages are published to a broker, applied to a given channel (example: ``collections/mycollection``). * Broker provisioning: Published messages are sent to subscribers. * Subscribers and data consumers: Messages are received by users subscribed to one or more channels (explicitly or using wildcards or filtering). -The above workflow requires adherence to a hierarchy of channels, auto-discovery of channels, as well as processing of generic messages for broad interoperability by all components. +The above workflow requires adherence to a structure of information channels, auto-discovery of those channels, as well as processing of generic messages for broad interoperability by all components. ==== AsyncAPI From 4790c1cbc1e4316fed272a052d11a9f40fab392d Mon Sep 17 00:00:00 2001 From: Chris Little Date: Thu, 18 Jan 2024 16:16:25 +0000 Subject: [PATCH 3/6] Update clause_8_pubsub-channels.adoc Expounbd endpoint hierarchy --- .../pubsub/standard/sections/clause_8_pubsub-channels.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/pubsub/standard/sections/clause_8_pubsub-channels.adoc b/extensions/pubsub/standard/sections/clause_8_pubsub-channels.adoc index 9e60fd13f..f3cd3933d 100644 --- a/extensions/pubsub/standard/sections/clause_8_pubsub-channels.adoc +++ b/extensions/pubsub/standard/sections/clause_8_pubsub-channels.adoc @@ -7,7 +7,7 @@ include::../requirements/requirements_class_pubsub_channels.adoc[] ==== Channels -The OGC API endpoint hierarchy can be used in parallel as a channel description when the data publisher wishes to provide Pub/Sub capability for resources normally available via an OGC API implementations instance in the same way. Below are examples of endpoints normally available via HTTP, and how they can be re-used as topics for Pub/Sub workflow: +The OGC API service endpoint specified by a URL path of resources and sub-resources can be used in parallel as a channel description when the data publisher wishes to provide Pub/Sub capability for resources normally available via an OGC API implementations instance in the same way. Below are examples of endpoints normally available via HTTP, and how they can be re-used as topics for Pub/Sub workflow: - ``/collections``: Notifies Subscribers whenever there is a change to the ``/collections`` endpoint (for example, addition of a new collection). The message payload would be collection metadata as defined in the https://docs.ogc.org/DRAFTS/20-024.html#collection-description[OGC API - Common Standard], or a message referencing the collection metadata. - ``/collections/{collectionId}``: Notifies Subscribers whenever there is an update to a single collection (for example, spatial or temporal extents, new items, etc.). The message payload would be defined by the resource model of the given collection (items, etc.), or a message referencing the resource model of the collection. From fc6d2419be39e010541610f6d25d1ca42662e054 Mon Sep 17 00:00:00 2001 From: Chris Little Date: Thu, 18 Jan 2024 16:20:33 +0000 Subject: [PATCH 4/6] Update PER_links.adoc Expound collection endpoint --- .../pubsub/standard/recommendations/pubsub/PER_links.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/pubsub/standard/recommendations/pubsub/PER_links.adoc b/extensions/pubsub/standard/recommendations/pubsub/PER_links.adoc index e3ab58b48..24733098e 100644 --- a/extensions/pubsub/standard/recommendations/pubsub/PER_links.adoc +++ b/extensions/pubsub/standard/recommendations/pubsub/PER_links.adoc @@ -5,7 +5,7 @@ *A:* -A collection endpoint MAY provide a link reference to a Publish-Subscribe server from an OGC API implementation endpoint when Publish-Subscribe capabilities exist related to the collection endpoint. +A `collection` resource MAY provide a link reference to a Publish-Subscribe server from an OGC API implementation endpoint when Publish-Subscribe capabilities exist related to the `collection` service endpoint. *B:* From 5819d08c1b7635101af536588929b74ff445f578 Mon Sep 17 00:00:00 2001 From: Chris Little Date: Thu, 18 Jan 2024 16:25:59 +0000 Subject: [PATCH 5/6] Update clause_8_pubsub-channels.adoc another endpoint hierarchy --- .../standard/sections/clause_8_pubsub-channels.adoc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/extensions/pubsub/standard/sections/clause_8_pubsub-channels.adoc b/extensions/pubsub/standard/sections/clause_8_pubsub-channels.adoc index f3cd3933d..f2cd015aa 100644 --- a/extensions/pubsub/standard/sections/clause_8_pubsub-channels.adoc +++ b/extensions/pubsub/standard/sections/clause_8_pubsub-channels.adoc @@ -7,12 +7,12 @@ include::../requirements/requirements_class_pubsub_channels.adoc[] ==== Channels -The OGC API service endpoint specified by a URL path of resources and sub-resources can be used in parallel as a channel description when the data publisher wishes to provide Pub/Sub capability for resources normally available via an OGC API implementations instance in the same way. Below are examples of endpoints normally available via HTTP, and how they can be re-used as topics for Pub/Sub workflow: +The OGC API service endpoint specified by a URL path of resources and sub-resources can be used in parallel as a channel description when the data publisher wishes to provide Pub/Sub capability for resources normally available via an OGC API implementations instance in the same way. Below are examples of service endpoints or resources normally available via HTTP, and how they can be re-used as topics for Pub/Sub workflow: -- ``/collections``: Notifies Subscribers whenever there is a change to the ``/collections`` endpoint (for example, addition of a new collection). The message payload would be collection metadata as defined in the https://docs.ogc.org/DRAFTS/20-024.html#collection-description[OGC API - Common Standard], or a message referencing the collection metadata. -- ``/collections/{collectionId}``: Notifies Subscribers whenever there is an update to a single collection (for example, spatial or temporal extents, new items, etc.). The message payload would be defined by the resource model of the given collection (items, etc.), or a message referencing the resource model of the collection. +- ``/collections``: Notifies Subscribers whenever there is a change to the ``/collections`` resource (for example, addition of a new collection). The message payload would be collection metadata as defined in the https://docs.ogc.org/DRAFTS/20-024.html#collection-description[OGC API - Common Standard], or a message referencing the collection metadata. +- ``/collections/{collectionId}``: Notifies Subscribers whenever there is an update to a single `collection` resource (for example, spatial or temporal extents, new items, etc.). The message payload would be defined by the resource model of the given collection (items, etc.), or a message referencing the resource model of the collection. -Using the OGC API endpoint hierarchy provides the key benefit that developers implementing OGC API Standards do not need to learn a different, additional approach or hierarchy for Pub/Sub (same content, additional interface). +Using the OGC API service endpoints of the URL path of resource and sub-resources provides the key benefit that developers implementing OGC API Standards do not need to learn a different, additional approach or resource path for Pub/Sub (same content, additional interface). include::../requirements/pubsub-channels/REQ_rc-channels.adoc[] include::../recommendations/pubsub-channels/REC_message-payloads.adoc[] From 3607dd9bb45dc7758bc2a01275eb1c96f97f54aa Mon Sep 17 00:00:00 2001 From: Chris Little Date: Thu, 18 Jan 2024 16:31:50 +0000 Subject: [PATCH 6/6] Update clause_7_pubsub.adoc spelling --- extensions/pubsub/standard/sections/clause_7_pubsub.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/pubsub/standard/sections/clause_7_pubsub.adoc b/extensions/pubsub/standard/sections/clause_7_pubsub.adoc index 6866820c8..14991f357 100644 --- a/extensions/pubsub/standard/sections/clause_7_pubsub.adoc +++ b/extensions/pubsub/standard/sections/clause_7_pubsub.adoc @@ -15,7 +15,7 @@ include::../recommendations/pubsub/PER_protocols.adoc[] === OGC API Considerations -The OGC API building block approach would typically be used for shared components in API implementations in support of a polling workflow. Using HTTP, this means that the client initiates and invokes requests and receives responses from the server. A key concept of the OGC API building blocks architecture is the service endpoint of the URL path specifying a resource and anysimialr sub-resources, which can be applied for Pub/Sub workflow as follows: +The OGC API building block approach would typically be used for shared components in API implementations in support of a polling workflow. Using HTTP, this means that the client initiates and invokes requests and receives responses from the server. A key concept of the OGC API building blocks architecture is the service endpoint of the URL path specifying a resource and any similar sub-resources, which can be applied for Pub/Sub workflow as follows: * Data producers: Messages are published to a broker, applied to a given channel (example: ``collections/mycollection``). * Broker provisioning: Published messages are sent to subscribers.