Introduction to Semarchy Plug-in Architecture

About the Plug-in Architecture

With the Open Plug-in Architecture, Semarchy Convergence for MDM allows extending its capabilities using Java code and external APIs. Through the plug-ins, existing services or information systems can contribute to the master data processing and enrichment.

You can extend the following capabilities in Semarchy:

Understanding the Plug-ins

Plug-in Development

Plug-ins are developed in Java using the Semarchy Open Plug-in API. This API exposes several Java interfaces that your code must implement to interact with Semarchy Convergence for MDM.

The plug-ins are developed in plug-in projects into which you defined extension endpoints. Each endpoint appears as an enricher or validation plug-in available in Convergence for MDM. These endpoints are based on two predefined endpoints types:

Each extension endpoint has:

To design a plug-in, you define first the plug-in metadata, then you implement the code, based on this metadata. The metadata is used in the Semarchy workbench to expose the plug-in information, parameters and input/output fields.

Plug-in Packaging and Deployment

Plug-ins are packaged as bundles that can be installed or updated from the Workbench in a running instance of Semarchy Convergence for MDM. The server does not need to restart to take new or updated bundles into account.

Bundles are tagged with a version number. Installing a new version of an existing plug-in will automatically make the platform take into account and work with the new version of the plug-in.

Process for Creating a Plug-in

Run the following steps create a plug-in:

  1. Create a plug-in project to host one or more plug-ins.
  2. Define the plug-in metadata.
  3. Implement the plug-in code.
  4. Test the plug-in by implementing a test project and JUnit test cases.
  5. Generate the plug-in binaries.
  6. Deploy the plug-in in Semarchy Convergence for MDM.

About the Example

In this book, we will design a sample enricher plug-in called International Phone Standardizer.
This plug-in:

Note: To keep the code simple, the standardization algorithm provided in this sample plug-in only works for phone numbers from France. It standardizes them to the +33<9 digits> format. It is intended to work with the data provided in the Getting Started demonstration environment of Semarchy Convergence for MDM, and not in production environments.