Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Enhancement] Query if OMAG Server Platform has a connector provider on the class path #7103

Closed
2 tasks done
mandy-chessell opened this issue Nov 13, 2022 · 0 comments
Closed
2 tasks done
Assignees
Labels
enhancement New feature or request triage New bug/issue which needs checking & assigning

Comments

@mandy-chessell
Copy link
Contributor

mandy-chessell commented Nov 13, 2022

Is there an existing issue for this?

  • I have searched the existing issues

Please describe the new behavior that that will improve Egeria

There are already a number of points where the OMAGServerPlatform validates that a connector's implementation is available in its classpath.

  • The admin services checks that the connector can be created when it is configured. This check is used to flush out spelling mistakes in any connector provider class name supplied.
  • The Integration Services in the Integration provide a REST API operation to validate the impementation of a connector configured in their service. This is used to extract information about the configuration properties options. It is designed for tools and operator services that are making runtime changes to the configuration of an integration connector.
  • The Engine services in the Engine Host provide a REST API operation to validate the impementation of a connector configured in their service. This is used to extract information about the configuration properties and other configurable options. It is designed for tools that are building governance action processes.

This enhancement proposes a new platform services request that is passed a connector provider class name and retrieves the ConnectorType implemented by a connector provider. The connector type describes the properties of the connector created by the connector provider.

This new operation will create a new instance of the connector provider. This provides simple validation that the connector jar is properly installed in an OMAG Server Platform (since the connector and connector provider are typically packaged together). This is useful for developers and deployers alike. The return of the connector type helps administrators setting up the connection information.

The userId passed on the request must be in the platform investigator's security group. This is the same group that is protecting the platform methods that retrieve the registered services and the status of the OMAG servers running on the platform.

This new operation does not create an instance of the connector. Creating the connector instance could possibly flush out missing dependent libraries - but this is not guarenteed since it does not have the endpoint information that would confirm all of the right dependencies are available and so is not as useful as it first appears.

New method signature:

    /**
     * Return the connector type for the requested connector provider after validating that the
     * connector provider is available on the OMAGServerPlatform's class path.  This method is for tools that are configuring
     * connectors into an Egeria server.  It does not validate that the connector will load and initialize.
     *
     * @param userId calling user
     * @param connectorProviderClassName name of the connector provider class
     * @return ConnectorType bean or exceptions that occur when trying to create the connector
     * @throws InvalidParameterException  one of the parameters is invalid
     * @throws UserNotAuthorizedException the user is not authorized to issue this request
     * @throws PropertyServerException    there is a problem reported in the open metadata server(s)
     */
   ConnectorType getConnectorType(String userId,
                                                             String connectorProviderClassName) throws InvalidParameterException,
                                                                                                                                      UserNotAuthorizedException,
                                                                                                                                     PropertyServerException;

Underlying REST API:

GET <serverURLRoot>/open-metadata/platform-services/users/{userId}/server-platform/connector-types/{connectorProviderClassName}

Alternatives

No response

Any Further Information?

No response

Would you be prepared to be assigned this issue to work on?

  • I can work on this
@mandy-chessell mandy-chessell added enhancement New feature or request triage New bug/issue which needs checking & assigning labels Nov 13, 2022
@mandy-chessell mandy-chessell self-assigned this Nov 13, 2022
mandy-chessell added a commit to mandy-chessell/egeria that referenced this issue Nov 13, 2022
Signed-off-by: Mandy Chessell <mandy.e.chessell@gmail.com>
mandy-chessell added a commit to mandy-chessell/egeria that referenced this issue Nov 15, 2022
Signed-off-by: Mandy Chessell <mandy.e.chessell@gmail.com>
mandy-chessell added a commit that referenced this issue Nov 15, 2022
Improve the content of connector types (#7103)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request triage New bug/issue which needs checking & assigning
Projects
None yet
Development

No branches or pull requests

1 participant