Support ResourceUpdateMessages #57
Replies: 0 comments 3 replies
-
@hqarawlus and I have gathered additional requirements which need to be discussed. Currently, the handling of the resources is kept internally in the DSC. The current approach updates resources in the connector, but connected systems are not informed about updated data. This is relevant e.g. if the connector provides some policy which might be violated when using old datasets in backend systems. For this reason, the consumer connector needs to be able to broadcast this event/trigger in some way. Possible solution:
Additional handling and security measures for endpoint regulation might be needed (authorization/role based access to endpoint) |
Beta Was this translation helpful? Give feedback.
-
As discussed with @jpieperbeck, @hqarawlus, and @ronjaquensel.
Current situation: After requesting metadata and data from a provider connector, the consumer connector has to periodically send a new
DescriptionRequestMessage
to notice resource changes to then trigger a newArtifactRequestMessage
.Target: The provider connector should be able to send a
ResourceUpdateMessage
to all data consumers as soon as the resource has changed.A possible sequence (without contract handling) would look like that:
a) Sends a
DescriptionRequestMessage
.b) Stores the
ids:resource
as a requested resource in its database.c) Sends an
ArtifactRequestMessage
with therecipient
,artifact id
, anduuid
(for resource database entry) =validation key
.d) Stores the data to the previously created resource. Adds the linking to a database table consisting of:
uuid
+artifact id
+recipient
(url, not connector id).a) Updates the resource via API.
b) Sends a
ResourceUpdateMessage
to interested connectors (later: for automation, the provider has to know the URLs of its data consumers) with the updatedids:resource
in the payload.a) Receives
ResourceUpdateMessage
.b) Extracts the resource's
@id
from the received resource.c) Checks for the matching resource in its database.
d) Checks the previously created table entry for relevant attributes:
uuid
+artifact id
+recipient
. (Why? - Theids:resource
may have multipleids:artifacts
, but only the data from one of them was consumed.)e) Sends an
ArtifactRequestMessage
with the attributes of d) as parameters.f) Responds to the
ResourceUpdateMessage
with aMessageProcessedNotificationMessage
.Therefore, some changes have to be made, that are linked to issue #116 and #117.
Beta Was this translation helpful? Give feedback.
All reactions