MDA Success Story
Tools used: Interactive Objects Software's ArcStyler (MDA tool), Rational Rose (UML tool), POET Fast Objects, Tomcat, Borland Jbuilder
"Our objective was to have full business continuity - for our
customers and for ourselves. After all, one of our most valuable assets is
the business and process knowledge. But many of the new features the
market required could not be implemented within the framework of our
existing development infrastructure and with the technologies we had used
so far. At least not at reasonable costs and within a reasonable
timeframe," said ff-eCommerce CEO Ekkegard Gentz.
The previous versions of the system had been developed under the 4GL RAD tool Omnis. While this allowed for fast application development and sophisticated GUIs, it implied all the drawbacks that go along with a proprietary solution, a lack of open interfaces and a native, non-scalable database. Instead of trying to keep adding functionality to a technology that might be outdated soon, Gentz and his people decided to migrate their business and process know-how to a new technological foundation and IT-architectural framework and pursue the OMG Model Driven Architecture (MDA) path.
ff-eCommerce Software AG decided to use a fully model-driven approach in the redesign of their system. The company chose ArcStyler for a variety of reasons. Gentz explained the decision as follows,"We carefully scanned the emerging MDA market. It's growing rapidly, and quite a few vendors seem to be jumping on the bandwagon at an amazing speed. Interactive Objects is backed by more than a decade of experience on the market of IT-architectural consulting, and they could prove in the pre-sales phase that their product fully supports all stages of a model-driven approach. This is extremely important because the application of the MDA approach and the usage of a fully MDA-compliant tool will not introduce any proprietary black boxes into the process."
This means that the decision for an MDA development platform does not imply a decision for any specific format of the artifacts created within the process - the problem caused by proprietary 4GL systems. The decision for a fully MDA-compliant system is reversible. All UML/XML components would still be available in a non-proprietary format following such a step.
In accordance with the MDA approach, the initial objective of ff-eCommerce AG was to describe and document the business domain dimension of the system in a platform-independent model. This model is a precise, isomorphic UML representation of the business logic in a standardized, easy to understand way, making the business-critical knowledge transparent and available without coupling it to any specific implementation technology at this stage.
ArcStyler is a complete architectural IDE and it supports the entire development cycle from the automatic refinement of the business model into UML models at various levels of detail and the automated generation of components all the way to testing and deployment. "A model-driven approach with intelligent code generation at different levels was the only solution that made sense," explained Gentz. ArcStyler uses so-called MDA Cartridges as its generator engine. These cartridges generate optimized code for IBM WebSphere, BEA WebLogic and other application servers and use a completely open format so that the generator engine can be adapted as needed by the customer. This extensibility is an important feature in terms of vendor-independence. ff-eCommerce AG customized its Cartridge to account for their company-specific requirements.
And the company took full advantage of the ArcStyler's flexible Web Accessor framework. Designing the GUI turned out to be easy, and the generation of the corresponding components was performed automatically by the ArcStyler. Some 1,000 GUIs for more than 50 Use Cases were modeled for the ERP system. The corresponding code was automatically generated by the development platform.
Another great benefit in the project was the fact that the
model-driven, generative approach automatically ensured IT-architectural
coherence across the entire development process. Whatever was modeled, was
generated automatically, i.e. the code is always a direct representation
of the model. ArcStyler's patented Verifier Framework controls the
consistency of the models at the various levels of detail in
model-to-model and model-to-code transformations. This way, the
development platform ensures coherent, automatic end-to-end impact
analysis from the highest level of abstraction of the initial model all
the way down to the code. "There was no need to develop the thing
just to find out something in the blueprint did not work properly,"
The full potential of the model-driven approach became apparent when ff-eCommerce AG needed to add Web Services to the application. This did not require changes to the model, but only a different technology projection, i.e. something that could be done by the generator. Now, ff-eCommerce features a SOAP/XML interface for powerful Web shops.
"Our system became independent of specific manufacturers or technologies. Our architects and developers really enjoyed the feeling of being able to revise, for example, the decision for the application server without automatically incurring technical or financial disaster. And the best thing is: we still have all the options, we are completely flexible," remarked Gentz.
The short time-to-market could also be attributed to ArcStyler's capabilities within the framework of automated testing. "Automated unit testing is one of the essential foundations of our development process. We use JUnit, the test classes can be generated with ArcStyler, and the call of the test ANT can be included, so that nightly builds are possible," said Gentz.
ArcStyler integrates best-of-breed tools such as Rational Rose or JBuilder into an efficient IT "machine shop", an Architectural IDE. ff-eCommerce used Rational Rose as the UML modeling tool. ArcStyler complements the modeling functions and UML data created with Rose with the generative capabilities described above. In this sense, you do not really integrate ArcStyler in Rose, but vice versa, i.e. the ArcStyler provides the IT-architectural framework around all components of the development process, not just the UML modeling tool. Without turning the UML repositories into proprietary black boxes, ArcStyler provides bi-directional impact analysis, mapping and generation.
ArcStyler's approach adds architectural capabilities to round-trip-engineering (RTE) while removing the significant disadvantages of RTE. ArcStyler manages several levels of UML model-to-model transformation up into the domains of business and process modeling. In general, MDA allows transformations between all models, i.e. it is also possible to generate a platform independent model (PIM) from a platform specific model (PSM). However, this requires a clear and consistent modeling style since this "reverse" step depends on a great variety of factors and a single element of a PIM can affect several elements of a PSM. This transformation can be automated only if the corresponding elements of a PSM fit together in such a way that exactly one element of the PIM can be generated. Usually, when a PSM is transformed into a PIM, ambiguities arise which can only be solved manually by a developer. This, of course, is inherent in the approach and must be handled by all MDA IDEs. For this reason, the ff-eCommerce team always added design information at the appropriate level of abstraction. That way, all of the dependent PSMs at the lower levels could be updated automatically to the greatest possible extent.
In addition to these technical aspects, the MDA approach and the
application of the ArcStyler also affected the structure and the workflows
in the company. Some developers had initial reservations, primarily caused
by the shift in focus from "real code" to the modeling and UML
level. However, this skepticism quickly disappeared when the team
discovered the new dimension in development speed. Said Gentz, "A
long time ago we all hacked Assembler code, then we wrote programs in
higher languages which were translated into machine code. And today, we
work with the UML model. In this sense, UML is the 'code' in advanced
"This gives our ERP system the competitive edge in the area of technology that it already had in the area of ERP expertise. We can use the ArcStyler to deliver the advantages of MDA into any IT environment required by our customers, including existing systems, CORBA or C++ infrastructures, not just new developments with Java and J2EE - exactly the kind of flexibility we had expected from an architectural IDE," concluded Gentz.
The commitment to the MDA approach and the choice of ArcStyler as an architectural IDE resulted in the following "hard facts" in this redesign project:
ff-eCommerce, an ERP software developer and application service provider, is a company of Cancom IT Systeme AG, Europe's largest Apple distributor, headquartered in Frankfurt, Germany. Additional information: www.ff-ecommerce.de