tconz's picture

Today, I'd like to tell you about an interesting customer project handled by IDS Scheer, in which an MDA approach based on ARIS was used to generate an SOA specification in a top-down manner.

A model-driven architecture (MDA) is an OMG framework for software design. The framework contains several layers, each of which models the different aspects of software design. At the highest level, the model contains the business description only (i.e., without any technical details), while the lowest level is the executable description. The models on the different levels are obtained by model transformations. The aim was to perform these transformations between the highest and lowest level in several steps by automated conversion. Each transformation generates a new model containing more technical details than the previous one. 

MDA BPM Architecture

This idea was developed in one of our customer projects that comprised two phases, the objective being to obtain a service-oriented architecture (SOA) specification that can be subsequently used for implementation. The first phase was a conventional BPM project, in which we defined the business processes at different layers of abstraction. These layers are the business levels of an MDA approach. In the second phase of the project, we defined the technical levels needed to create a technical description for implementation purposes.

The procedure of the first phase will be familiar to anyone involved in BPM, so I'll restrict myself to explaining the second phase in more detail. Here, we added technical details to the processes mapped in the first phase. This entailed modeling a data description containing all data used in the processes in an entity-relationship model (ERM) and designing services to support the different process steps of the business processes. We also defined user interface (UI) models for each process step, which was performed manually (human task). All in all, this produced a very detailed specification of the software to be built.

Based on the above models, we executed an automated transformation. This transformation converts the models defined in the ARIS Platform to the XML specifications required to build an SOA. From the data model, we generated an XSD (XML schema), which is used with the WSDL generated from the service model to obtain a specification for Web service implementation. The UI models are used to generate Extensible Application Markup Language (XAML), which is a Microsoft standard. The XAML description can be either displayed in a browser or directly used as a UI description for implementation (see next figure). 

MDA BPM artefacts

The advantage of this approach is that you obtain a business and a technical specification in one step. This helps to save costs and automatically aligns the business specification with the technical specifications. It also ensures that the business requirements defined in the business processes are actually implemented, which makes the users happy.

Tags: soa