Semarchy xDI Architecture
This document details the various components of the Semarchy xDI architecture and their interactions.
Overview
Semarchy xDI :
-
The Designer is a thick client based on the Eclipse platform, used by integration designers to design their integration flows.
-
The Runtime is a lightweight Java process that runs the integration flows. It connects to the systems and applications containing the data to integrate.
-
Semarchy xDI Production Analytics is a Java EE application that provides a web-based interface used in production to deploy, manage and monitor the integration flows.
The Designer
The Designer uses an intuitive, familiar and robust Integrated Development Environment (IDE). It contains features that ensure better productivity for development and higher efficiency for maintenance, including:
-
Metadata Driven Approach: The entire integration logic design is driven by metadata, supporting powerful cross-referencing and impact analysis capabilities that simplify the development and maintenance of the data integration flows.
-
Declarative Design: Data Mappings are designed graphically in a declarative way, focusing on the purpose of these mappings. The technical processes required for achieving the data movement and transformation are automatically generated using built-in process templates.
-
Integration Process: Integration processes combining the mappings with actions from the toolbox are designed in diagrams. These processes support parallelism, conditional branching and event-based execution.
-
Components Reusability and Templates: The mappings and the workflows can be reused within the same project or in other projects. Processes can also be converted into user-defined templates and used to drive the mappings logic.
-
Source Control: The Designer stores projects in workspaces located in the local machine filesystem. However, source control systems such as GIT, CVS or SVN can be used in Designer for team collaboration and integration in CI/CD.
Designer is the only component that you need to get started with your integration flows. It contains a built-in Runtime that you use for testing your integration flows at design-time. |
The Runtime
A Runtime is a Java process that runs the integration flows. It connects to the source and target systems to extract, load and transform data, leveraging all the capabilities provided by these systems.
In addition to these capabilities, the Runtime provides other capabilities:
-
Session Logging and Reporting: It stores its session execution log in a database, and provides access to these logs to Designer and Analytics.
-
Scheduling: The Runtime contains a built-in scheduler. You can also use an enterprise scheduler to manage sessions in the Runtime.
-
APIs and Web Services: Integration flows can be deployed as SOAP Web Services and REST APIs, served by the Runtime.
The Designer has a built-in Runtime that you use for testing your integration flows. In production, multiple instances of the Runtime are deployed as a standalone processes, that you monitor with Semarchy xDI Production Analytics.
Semarchy xDI Production Analytics
Semarchy xDI Production Analytics is a the web-based interface for production monitoring. It is a Java EE application deployed in an application server such as Apache Tomcat.
Semarchy xDI Production Analytics is used to:
-
Deploy and configure the integration flows in production
-
Schedule these integration flows
-
Monitor the integration flows execution.
-
Manage and monitor the Runtime instances deployed in production.
-
Consolidate the execution logs the Runtime production instances.