Back to top

SyncPipes

Last modified by Manoj Mahabaleshwar Feb 17

A framework for implementing reusable adapters

Overview

The SyncPipes framework addresses the general use case of data integration and synchronization. This framework empowers end users in enabling the integration and synchronization of the data that is spread across disparate software engineering lifecycle tools within one centralized knowledge base. SyncPipes acts like a “bot” with sensors and actuators. The sensors monitor the current state of the projects’ artifacts and actuators keep the information within the knowledge base synchronized.

The above figure illustrates the conceptual model of the SyncPipes framework. The Source concept represents various source tools that can be handled by SyncPipes (e.g., JIRA, MS Project, Excel, Enterprise Architect) whereas the Target concept corresponds to SocioCortex platform or your custom knowledge base. Both the source and target concepts are specializations of the ToolModel. The ToolModel provides interfaces to connect with the tools using user credentials. It also implements methods such as getTypes and getEntities to work with a unified data-model representation. The data-model of the source and target tools confirm to a meta-model represented using the JSON schema format. The SyncPipes component uses a Mapper to capture the mapping of the concepts from the source to the target tool’s data-model. The mapper allows end users to consider only those concepts and attributes that are relevant and necessary to establish traceability across the artifacts. Once the mapping is specified by an end user, the Handler concept uses the mapping information to extract data from the source tool, transform the data, and persist it in the target tool. Subsequently, the Handler also starts the SyncJob that triggers the transformation process based on specific events or at regular time intervals. The above mentioned concepts support selective model selection, alignment, transformation, and synchronization of data residing in different tools into one target platform. The workflow is picturized below.

For further detailed description, please refer to: REST-basierender Datenintegrationsdienst für die Domäne des Software Engineering

This is an open-source project and the source code is available on Github - https://github.com/sebischair/syncpipes-server, https://github.com/sebischair/syncpipes-client