| Essential Integration Server |
|
|
|
|
The Essential Integration Server is an extension to Enterprise Architecture Manager that manages import and export integrations from and to external information sources - from Excel Spreadsheets to external repositories. This tutorial introduces Essential Integration Server and how to use it to import information into Essential Architecture Manager When you already have a significant amount of information about your architecture captured, importing that information into Essential Architecture Manager enables you to quickly populate the model with this pre-existing information. Information from any source - ideally XML - can be imported into and exported from Essential Architecture Manager. In addition, the Essential Integration Server enables on-going synchronisation of information held in Essential Architecture Manager with the external information source. This has been used, for example to import regular updates of part of the architecture, capturing changes, introducing new elements and enabling candidates for deletion from the model to be identified. Each run of the integration timestamps the new and updated instances in the model.
IntegrationImporting into Essential Architecture Manager requires that you define an integration between the your external data source and the Essential Meta Model for the meta classes of which you wish to import instances. Even if your data source is a spreadsheet, the columns in that spreadsheet represent classes in the source meta model and these must be mapped to the classes in the Essential Meta Model. It is vital during the integration that the integrity of the Essential Architecture Manager repository is maintained. To ensure this, the integration operates on the Java API of Protege - enabling it to make all the necessary underlying connections and updates to the repository as instances are added and related. The Protege Script Tab is used to allow scripts - which don't need to be compiled - to define the steps required to correctly map the external information into the Essential Architecture Manager repository. How to define an integrationThe Essential Integration Server provides a platform for dynamically generating the integration scripts from the source external information. To define the integration:
Define XSL IntegrationA library of useful operations for creating and updating instances in the Essential Meta Model is provided in the file standardFunctions.txt. This file uses the Jython script language, and provides the basic features of Python. Following the example XSL file, execute this library file to define the functions that it contains. Test this XSL to ensure that it generates a valid and correct script. By default, these XSL scripts are uploaded to the WebContent/IntegrationScripts/XSL directory of the Essential Integration Server. This location is controlled by a Servlet parameter.
Synchronisation ReferencesThe Essential Integration Server provides the capability to synchronise your external data source with the Essential Architecture Manager repository. As your source data changes over time, you can re-run the integration to update the Essential repository. New instances are identified and created and each update/creation is timestamped so that candidates for deletion from Essential Architecture Manager can be identified. Such candidates are not deleted during the integration process. To capture these, the external_repository_reference is used. If your data source already has unique identifiers, e.g. repository instance IDs, use these. For spreadsheets and the like, you could use the worksheet and row number as the instance reference.
Upload Your Source to ImportBy default, the source information files (e.g. XML) are uploaded to the WebContent/IntegrationScripts/XML directory of the Essential Integration Server. This location is controlled by a Servlet parameter. Invoking the Repository Integration ServiceThe Essential Integration Server includes a Repository Integration Service that is invoked using a REST-style service invocation. A simple HTML file is used to make the requests to this service, which on completing the integration responds with a web page of either the generated integration scripts or an error message. Modify the packaged index.html to describe the import source that you are using and modify the hyperlink to specify the following HTML GET parameters:
Download the Generated ScriptsClicking on the link you defined in index.html, will run the Repository Integration Service. On success, it will return a page with links to the script file(s) that it has created. Due to a limitation of the Bean Scripting Framework, each individual script must be less than 64K in length. To cater for this the Repository Integration Service splits the script that it has generated into 'bite-size' chunks and defines a top-level script file that invokes each 'bite-size' script in turn. Save each of the generated script files to your local workstation and run the top-level script (suffixed _all) in the Protege Script Tab in your Essential Architecture Manager repository. Alternatively, you can browse the WebContent/IntegrationScripts directory of the Essential Integration Server webapp and copy the generated scripts to your workstation.
More Information About the Essential Integration Server
|