egeria
egeria copied to clipboard
[Enhancement] Add framework clients to all OMASs
Existing/related issue?
No response
Please describe the new behavior that that will improve Egeria
Each Open Metadata Access Service (OMAS) Client should have two framework clients plus one or more specialized clients. This enhancement is to ensure that the two framework clients are added to all OMASs.
The OMASs are implemented under module open-metadata-implementation/access-services
. They each should have a client module. For example, the Community Profile OMAS has a module called community-profile-client
under open-metadata-implementation/access-services/community-profile
.
The source code for Community Profile OMAS's client has a number of clients. The two framework clients are called ConnectedAssetClient
and MetadataSourceClient
:
This enhancement is to check each OMAS and make sure it has a client module with at least these two clients in place.
Alternatives
None
Any Further Information?
You will need to add dependencies to the updated client module's build.gradle
file. I think this is what you need:
implementation project(':open-metadata-implementation:framework-services:ocf-metadata-management:ocf-metadata-api')
implementation project(':open-metadata-implementation:framework-services:ocf-metadata-management:ocf-metadata-client')
implementation project(':open-metadata-implementation:framework-services:gaf-metadata-management:gaf-metadata-api')
implementation project(':open-metadata-implementation:framework-services:gaf-metadata-management:gaf-metadata-client')
In addition, each client needs to have the correct serviceURLMarker
value set. This tells the server which module is calling the framework services so it performs the correct security check for the calling module.
It is OK to copy the two standard clients from Community Profile OMAS into another OMAS. Then update the serviceURLMarker
value in each client to be the correct value for the receiving OMAS. This is its name in lower case with a dash in between. For example:
- Community Profile OMAS is
community-profile
- Asset Catalog OMAS is
asset-catalog
etc
Some OMASs are also missing their client module so you may have to add that too. You can copy the structure of the client module from Community profile - remembering to update the package name to match the OMAS. Then add the new client module name to settings.gradle
in the top level directory.
Would you be prepared to be assigned this issue to work on?
No response
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 20 days if no further activity occurs. Thank you for your contributions.
Hi @mandy-chessell , Sorry for being late with this issue, I just started this (while on vacation :) ). The MetadataSourceClient class from community profile extends a CommunityProfileBaseClient and which implements MetadataSourceInterface. Both of these are unique to community profile. So if we are get this client on to other OMAS, we would have to have implementations of these two also
@odttlnt Apologies Sachin - it should be OpenMetadataStoreClient
Ok, so OpenMetadataStoreClient and ConnectedAssetClient , right ?
@mandy-chessell I have created a PR for the code changes. Please feel free to do the review and provide your feedback
This function is complete