Model-driven adapter development for “talking” System Architect’s technical language

IBM Rational® System Architect® (SA) is a great tool for enterprise architecture (EA) projects, e.g. using meta-models such as ArchiMate® from The Open GroupArchiMate® has been implemented as a modeling language for SA by CORSO with support by IBM. The tight integration of an EA tool such as SA is a must-have in the enterprise management tool landscape of large organizations where general EA frameworks like TOGAF®, ArchiMate® or specific defense frameworks (DoDAF, MoDAF, NAF etc.) are employed and the models shared with other tools like Visio®, Sparx® Enterprise Architect, ARIS®, TROUX® or non-IBM BPM(S) tools.All of these tools “speak” XML or standards like XMI or XPDL – but the true story is that an integration in terms of an easy model exchange is basically not available or only achievable by coding legacy point-to-point interfaces with very limited functionality, high coding effort and the need for ongoing support when things are changing, as it usually happens in life.

Our R&D team has included SA into the set of integrated tools of the BPM-Xchange EAI component by using a model-driven approach for a commercial off-the-shelf (COTS) adapter.

To support a bi-directional model exchange, we have created adapters for reading (inbound) and writing (outbound) the SA “technical language”, i.e. the SA XML schema which is described by a DTD. SA encyclopedias or parts of it can be exported to SA XML. SA supports various model types, among them organizational charts and BPMN models. Behind such real-world models there is a meta-model and a graphical notation (they establish a “modeling language”, but this is a different story I shall blog about…). The following sceenshot shows a BPMN model in the “modeling language”of SA:

Apply For Financial Credit Product Process System Realization Business Process 1BPMN process model in System Architect

At BPM-X we have implemented SA´s technical XML language using a great technology called XML binding. Based upon DTD or XSD descriptions of the technical language, an object-oriented layer for languages like C++, C# or Java is generated. There is no longer a need to hard-code XML tags or struggle with bulky Xerces code. The XML binding technology delivers a very compact and easily maintainable code which permits a transparent handling of technical entitities and their transition from XML into a highly-normalized object structure (and vice versa). In this way, transformations between different “modeling languages” can be processed easily. From the above SA model the developer obtained the corresponding model in Visio®:

Business Process Apply For Financial Credit Product Visio 1024x492Generated Visio diagram out-of-the-box without any “beautification” of results

Generated Visio® diagram out-of-the-box, without any “beautification” of the result.

We have additional standard transformation operations for our BPM-X enterprise service bus, e.g. for the layout of texts and captions. The above Visio® diagram is a quick result achieved without any of these “beautifier” operations involved.

The basic idea behind XML binding is to use UML® to describe the binding of the object structures to the normalized database and then to generate code from the UML® class diagrams. This model-driven approach permits us to generate new standard or custom adapters, such as for SA, transparently and quickly. And having such adapters provides the capability to exchange model data between quite different enterprise management tools.


Latest Comments

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join other 25 subscribers

Archive

© 2017 TransWare AG is a registered trademark.