Guidance on how to plug-in backend services in DSC v5 #79
-
Hello, I am working on adapting the IDS Dataspace Connector to work with EGI DataHub resources (backed by OneData). I (re)started from v5.2.0. What I find so far is that there is difficult to understand where I should modify/plugin our backend specific code. In v4.x there was a conditional loading of our own OfferedRepository implementation, and from that we were directly fetching/manipulating a resource. Also in v4.x there was a class ResourceMetadata used by classes OfferedResource and RequestedResource. In v5.x all these classes are replaced with a set of classes for Artifact, ArtifactImpl, ArtifactDesc, ArtifactFactory (takes an ArtifactDesc and returns an Artifact), then ArtifactView and ArtifactViewAssembler (takes an Artifact and returns an ArtifactView). The same factory patterns are used for most of the entities in this project. Can you offer some insight on how the authors envisioned using/extending this connector to work with a specific resource backend? Am I expected to modify the classes provided instead of extending them with additional classes for the specific behavior we need? E.g. trying to provide an alternative OfferedResource implementation as in v4.x causes clashes with the compiler not being able to decide which bean to use/inject, as this class is referred to in multiple places, particularly from template parameters like in this method declaration: public <S extends OfferedResource> List<S> saveAll(Iterable<S> iterable) {…} Am I really expected to go though all these places and manually specify which bean to use? Any guidance would be greatly appreciated. |
Beta Was this translation helpful? Give feedback.
Replies: 0 comments 7 replies
-
Hi, in IDS we using IDS Apps to bring in new functionalities like analytics, transformation, administration, or as in this case connection to different specific systems. For connecting a system like the EGI DataHub, we would purpose to generate a container-based Adapter Application. Copy from the ThinkTank Repository:
With this approach the customer is more flexible to load various adapters to the connector. |
Beta Was this translation helpful? Give feedback.
Hi,
in IDS we using IDS Apps to bring in new functionalities like analytics, transformation, administration, or as in this case connection to different specific systems. For connecting a system like the EGI DataHub, we would purpose to generate a container-based Adapter Application.
Copy from the ThinkTank Repository: