|
The Essential Integration Tab is a Protege Tab Plugin that provides a powerful capability to import and synchronise information about your architecture from existing data sources such as Microsoft Excel spreadsheets, configuration management databases, process models, databases and other Essential Architecture Manager repositories. This tutorial describes how to use the Tab to import and manage the synchronisation of this externally-managed information in Essential Architecture Manager.
Introducing the Integration Tab
The integration tab operates in both stand-alone and multi-user configurations and provides an easy-to-use interface to a powerful integration platform.
Source data from any of your external sources is transformed into an integration script that manages the import or synchronisation of the source data with the relevant instances in Essential Architecture Manager.
To ensure technical interoperability with external repositories, the source data should be represented using an XML file. Transforms are defined using XSLT to generate the integration script. Using a script-based approach provides a very powerful and extensible platform for integration, enabling very complex transformations to be defined and managed between the Essential Meta Model and any external repository.
Once you have installed the Essential Integration Tab in your Protege installation, enable it by going to the Project menu of Protege and selecting the Configure... menu item. In the list of available tabs, select 'EssentialIntegrationTab' and the tab will be added to your project.
Using the Tab
Select the source data to be imported or synchronised. This should be an XML document, for example the reportXML.xml file in the 'Integration Test Files' folder that was installed with the tab plugin.
Select the transform file to use. This is the XSLT that is used by the integration engine to build the required integration script. To try out the tab, select the 'importEssentialInstances.xsl' file from the Integration Test Files folder. This transform can be used to import any Essential Architecture Manager using the reportXML.xml file from the Essential Viewer of the external Essential installation and indeed any source data that has already been formatted or transformed into this XML representation. The transform should create a Python script that can be executed using the Jython script engine.
Select the Include Directory. This is an optional setting that tells the integration engine where to find script library files that will be referred to by the generated integration scripts. For example, a library of Python functions are provided to support integration and synchronisation in a file called 'standardFunctions.txt' that is included in the 'Integration Test Files/Include' folder. The 'importEssentialInstances.xsl' transform requires this 'standardFunctions.txt', so to try out the sample integration, select the 'Integration Test Files/Include' folder.
Having defined the details of the source data and the transform to use, we need to specify a name for the Source Repository. The Integration Engine supports integration and synchronisation with multiple external data sources and uses the repository name that you specify to identify each source. The integration tab will search your Essential Repository for any existing definitions of source external repositories but you can define a new source repository by typing in a new name. Give this source repository a short description to provide other users with a some details about this data source. The description need not be provided if you are selecting a source repository from the drop-down list shown by the tab.
Once all the required fields have been completed, the Execute Integration button will be enabled. Pressing this starts the integration process and progress details and all output from the generated integration script are reported in the output window.
When you execute the sample integration from the 'Integration Test Files', two new Business Processes are created in your Essential repository. If you press the Execute Integration button again (to re-run the integration), note in the output window that the integration engine updates the new processes rather than adding them again. This demonstrates the synchronisation capabilities of the integration engine, which can be used to import regular updates into Essential Architecture Manager from an external source repository.
Go to the Instances tab and find the two new Business Processes, MyProcess1 and MyProcess2. Scroll to the bottom of the instance definition and note that the External Repository Instance Reference field now has an entry. An instance in the Essential Meta Model can have multiple external references - to support multiple external source repositories.
Selecting this external instance reference shows the synchronisation information held against your new Business Process. The Update Date can be particularly useful when identifying candidates to remove from the Essential repository, by creating a query in Protege to find those references that were not updated at a particular time.
Writing Transforms
Importing information from any external data source into an ontology such as the Essential Architecture Manager repository means that not only the file format but also the semantics of the contents of that file must be understood. Even formats such as XMI define few standards for the semantics of the elements that it represents. What this means is that, unless the source data comes from another standard ontology or another Essential Architecture Manager ontology, custom transforms are required to import spreadsheets, database extracts and standard export files from modelling tools.
The Essential Project will provide a library of transforms via the Community Share area. In addition to the Essential Instances Transform, provided as part of the 'Integration Test Files' of the Essential Integration Tab, custom transforms for have been developed for the following sources:
- importing VMWare server and host configurations
- CA Cohesion repository for network nodes (including servers) and configuration
These custom transforms have not been made generic but can be used as a jump-start template on request.
- For more information about writing the transforms, see How to Write Integration Transforms. Help with writing your own transform is provided through the Essential Project Forums.
For additional support with - or to commission - the development of custom imports from your existing information sources, professional services from the Essential Project Team are available. Please use the Services Enquiry form for more information.
After installing the Essential Integration Tab plugin, it must be enabled in your repository project before you can use it. The tab is enabled by going to the Project menu of Protege and selecting the Configure... menu item. In the list of available tabs, select 'EssentialIntegrationTab' and the tab will be added to your project.
|