By: Xavier Plot, Global Business Analysis Capability Leader, Hewlett Packard Company

Luc Vogeleer, Global Chief Technologist – Application Transformation, Hewlett Packard Company

In a previous article, I explained how to not lose your application intellectual property while adopting the new style of IT by using HP application transformation re-architecture methodology. The article discussed how we use reverse modeling legacy code to UML, modify the UML and forward-engineer the UML to a new code base. This article provides more details about the forward-engineering step.

The BluAge Forward Generation Cartridge is acting as a UML2 compiler and in principle can generate any target language on top of almost any framework, standard, and norm. The cartridge comprises a collection of templates, mainly a set of pre-existing templates per framework, standard, norm: HTML5, EJB3, DROOLS, JBOSS, etc.

When working on an application re-architecture project, those templates require some adaptation depending on:

· The versions of framework, standard, or norm you select

· The combination of framework, standard, or norm you choose

· The architecture model you define

· The implementation patterns you specify

You can decide to re-use an existing configuration in its entirety from a previous project. In this case no adaptation is required because it is inherited from another project Alternatively, you can decide to converge the target architecture with your specific architecture blueprint and guidelines. This will result in creating a new combination of versions, norms, standards, etc., and therefore an adaptation of the cartridge by the vendor is mandatory.


In addition, new transformation rules must be implemented when facing a paradigm gap between legacy architecture capabilities and new architecture capabilities.. This is the purpose of the upgrade of the reverse engineering cartridge and the rules that developers will create with the first sprint.

As described above, The BluAge Forward Engineering Cartridge is a source code generator from a platform agnostic model, but it also take as an orthogonal input a set of templates. JSF2 is a good example of it: JavaServer Faces (JSF) is a Java specification for building component-based user interfaces for web applications.

The cartridge can generate almost anything that JSF2 is capable of with respect to what the UML2 model contains and expressed. In other words, it is possible to generate different implementations from a unique model by varying the template definition, as the UML2 model does not describe JSF2 specificities and choices of implementation contained in a template.

When defining the application business layer we are deciding how calls and exposed services are generated. Similarly, we define for the presentation layer how we pass information from a screen to another in our template.

Although not all proper code generation issues are solved at the time of reverse engineering or while tuning the UML2 model, this provides an industrialized approach that captures most of the changes via automation.

In summary, with the HP application transformation re-architecture approach, applications are not only converted faster at low-risk to modern technologies and languages, they permit fine tuning and alignment of the standards and mechanisms used for the transformation to insure the adoption of the converted application.


About the Authors

Xavier Plot, Global Business Analysis Capability Leader, Hewlett Packard Company

Xavier is the Global Technical Lead for HP Helion Application Transformation Re-Architecture solution offering. Xavier joined HP in December 2011 as Strategic Solution Architect for Industry Transformation Consulting. Before joining HP, Xavier acquired experience of large projects in various areas of key expertise. As a Chief Architect he acquired strong technical skills on modern environments but never forget he started his career on a legacy system called Open VMS.

Luc Vogeleer, Global Chief Technologist – Application Transformation, Hewlett Packard Company

Luc is the Global Chief Technologist for Applications Transformation in HP Enterprise Services. His primary responsibilities include research, development, and deployment of applications modernization and transformation strategies, technologies, methods, and tools focused on HP cloud offerings. Luc has over 34 years of experience within the IT industry. He joined Hewlett-Packard in 2000, where he has occupied various leadership positions in the service organization both at the European and worldwide levels.