Here is another contribution of my friend Luc Vogeleer, Director of Strategic Partnership Development at BluAge.
The Digital Enterprise requires a responsive and fast adapting IT as IT is becoming a core enabler of the business. The New Style of IT, which promises simplicity, greater agility, speed and lower costs, is the foundation for the evolution of the IT department in support of the business. The world is looking to be more connected than ever, through the adoption of cloud technologies, big data, social media and mobile experience. While being eager to adopt the new style of IT, customers are also concerned about preserving the intellectual investment embedded in their legacy applications, where the rules in the code represent the essence of their core business processes.
It is not only about lifting & shifting, remediating and recompiling legacy code into the target platform, it is also adopting a new application architecture that maintains the business application requirement while dealing with the new requirements and non-functional requirements imposed by the New Style of IT. Those new requirements include:
- Simplicity of service reuse: the development of a performing and user friendly mobile interface, requiring the correct granularity of services in order to facilitate reuse.
- Simplify integration: with backend services and external offered services, possibly SaaS applications or social media capabilities
- Dynamic elasticity to deal with unpredictable and rising demands
- Dynamic re-composition of business processes on top of enterprise services to deliver services beyond the firewall of the enterprise.
When we consider application transformation to the cloud, the following main scenarios that could be applied on the application workload:
- Like for like migration : Re-host / Image Migration, Re-installation, COTS upgrade, Binary migration, Recompile with our without minor source adaptations
- Retire or Replace the application with potentially moving to a SaaS offering
- Re-factor the code to optimize his performance in a cloud environment
- Re-architect to adopt new technologies and architectural principles
In order for your application to fully adopt the New Style of IT requirements, a re-architecture step is recommended. However, many companies are reluctant to take that critical step due to the risk of involved in developing new applications. They want to continue capitalizing on developments objects designed and tuned for decades. They don’t want to pay for people to rewrite requirements or deal with poor documentation resulting business requirements that are unknown and where “the specifications are the code”. That’s why reverse engineering software is becoming a major topic as systems get bigger, incorporate more technologies, do more things, and survive beyond the original developers.
At HP, the application transformation to cloud (AT2C) re-architecture methodology uses an industrialized 3-step semi-automated model driven process:
- The first step reverses the model of the source application into a Platform Specific Model (PSM), which is platform dependent.
- The second step extracts business rules, calculations, and business logic into a platform agnostic model using Unified Modelling Language (UML2) to define functional specifications. It will use the source language definition cartridge enriched by conversion rules that are tuned as the project evolves with the programming standards or patterns used in the application.
- The third step generates source code to transform models into complete, modern, high-quality Java or .NET application code based on the defined target architecture patterns.
To conduct those steps, we are using the BluAge® Reverse Modeling and BluAge® Forward Engineering tooling, which allows automation of the costly and risky transformation steps of the process.
Our initial step is a Proof-of-Concept (PoC) where we prototype a well-delimited part of the legacy application toward the target architecture reflecting the adoption of the New Style of IT. The PoC is not your typical throw away, instead it is a real part of the process; it delivers an assessment results that validates:
- the legacy architecture and code can be consumed by the transformation process
- the target architecture can be produced as expected
- the generated code quality is in line with the client’s expectation and standards
In addition, it identifies project assumptions and potential risks, such as source code availability, or access and response time from application subject matter experts.
In the end, we have the ability to determine an accurate workload estimate and project planning toward an industrialized factory-based delivery model.
Once the POC is completed and accepted, a proposal for an iterative transformation approach that delivers full functionality waves qualified on the target technology. The first step is defining the architecture blueprint and performing the project planning. This results in a decomposed and organized re-architected application implementation vision. This vision functionally decomposes the application into major areas that are exposed trades and technical dependencies services.
The transformation process will convert those services in the following order:
- The base elements of the architecture.
- Common functions, validating the architecture and deployment while relying on the base elements.
- The core business functions prioritized by business importance.
Each iteration will perform system and performance testing and optimization of the application components on the target platform(s). As with any software project, testing and a continuous integration are predominant activities to perform: system integration testing, user acceptance testing, performance testing etc. Also, fully automated application regression testing based on comparing output generated by both legacy and modernized applications is available and will reassure the application business owner that the application intellectual property will be preserved.
In summary, with the HP application transformation re-architecture approach, applications can be converted at low-risk to modern technologies and languages. The New Style of IT can be implemented faster and reimburse the IT technical debt. It can also attract new talent with modern programming skills familiar with the latest technologies and social medias.