Exodus, Movement of IT
The Post-PC Era is strongly characterized by new and innovative HTML5 –based web and mobile applications for our changing social and behavioral traits and this trend is shared also by the corporate sector. The migration of data-centric business computing systems from their traditional client / server architecture to the very same browser environment frequented by Facebook has become an urgent requirement for many companies. Driven by classic business logic and full-featured database tiers at the backend, it is the HTML5 frontend that provides for the consuming of apps in the new environments via mobile, anywhere, anytime.
Corporate cloud computing trends are rooted in economic and operational benefits and include lower TCO, greater accessibility and unrestricted scalability. Getting existing enterprise software and smaller line-of-business information systems to work in the new infrastructure is a major challenge facing companies today. A major aspect of the new infrastructure is the frontend shift into smaller form factors and finger-operated touch experience, now familiar to and in daily use by smartphone owners. The importance of fully utilizing the modern communications infrastructures has brought about a shift away from the early trends of virtualization and application rewriting. Virtualization cannot address the shift to the mobile form factor and smartphone user experience. Regarding application rewriting, the risk and human resource constraints translate to a clear message that you don’t know when or where the project will end. The inherent weaknesses of these two methods have caused migration to emerge as the chosen approach for moving existing data-centric systems from the old world to the new.
Migration, the Chosen Path
ISVs and enterprise companies are therefore looking towards migration as the best way to get their LOB systems to HTML5 on the web, cloud and mobile devices.
Just like its traditional use in the language, where it refers to the passage of birds from one land to another, the term migration in our context is also a movement from one environment to another. In our case, what is being moved is business logic, defined in software code.
But here the comparison stops. Firstly, because the difference with business logic, as opposed to nature, is that in order to run in its new environment the code must undergo a change. The automatic processes of system migration that are built to bring about these changes rely first of all on their ability to correctly identify the intended purpose of the original code. Only when they have done this can they adapt it to suit its new environment. This necessitates an elaborate attempt at artificial intelligence, to analyze and guess what the original author intended the code to do.
The problem is expounded by the par between the source client/server and target web architectures that are worlds apart. Two particularly problematic points in question are the inability of the browser to support complex transactional user interface actions and the whole issue of data processed on the client including browser security. These areas are so different between the architectures that they cannot be converted simply.
Migration of data, in comparison, is easier because the structure of the data is standard. When it comes to applications, the wide variation in styles and coding patterns among developers put automated migration processes to the test and to date they have not produced satisfactory results. The variations in coding style of apps that use the same frameworks and languages is as wide as the number of the developers that wrote them and even more because developers generally write more than one app in their professional life. These occur at different stages of their professional experience and under different external constraints such as corporate coding standards and team practices.
There are several players in the migration market. These include the software giant Software AG, Artinsoft, Nexaweb and the Italian vendor Code Architects.
Most have built some kind of AI engine to automatically migrate code, some opting for the VB 6.0 to .NET path, others to the J2EE platform.
Due to the complexity described above, this approach has proven to be effective automatically for no more than 80% of the code, leaving a lot of manual work still to do.
The second drawback with the current batch of offerings is that many don't migrate to a ready-to-use, maintainable web application, but rather to another intermediate stage i.e. .NET. Furthermore, none go the whole way to targeting HTML5 and mobile systems.
As a result, most vendors have turned to a service oriented approach. Furthermore, some serve only enterprise companies, something that puts them out of reach of many large corporations and all ISVs and SMBs.
Modernization is the stated aim of certain providers, whose principle target is migrating to a J2EE platform; others incorporate emulation. None can currently offer a path to HTML5 web, cloud and mobile without a significant manual rewrite and re-engineering.
This means that all the available solutions are necessarily sold as part of a partial or full turnkey project. The above offering of migration solutions is thus populated by service providers and the fact remains that none can tout an independent software tool that will allow system owners to take their Microsoft legacy systems to the web, cloud or mobile on their own. All the attempts at migrating existing code in an automatic fashion require substantial manual conversion - which they conveniently offer as part of their overall package.
However, change is in the air and for the first time a true tool-based solution has become available on the market. Gizmox, a company that for years has been pioneering web development solutions for teams coming from a Microsoft background, is the only company in the migration arena that has gone all out and produced a true tool-based approach to the need of modernizing data-centric systems. Their tool is the ground-breaking Transposition Studio, an essential part of the Instant CloudMove Suite. Transposition Studio moves applications from client/server environments to HTML5 web, cloud and mobile environments.
Instead of following the migration bandwagon of attempting an all-inclusive automated conversion run, Gizmox has created a new type of process that it calls transposition.
The key to the process is Mapping Expressions. These are out-of-the-box pattern-based rules that can identify original code sections and know how to replace them accurately in the new code environment with a pre-built code section that has identical processing logic. The patterns can be customized by the developer with parameters and conditions to fine-tune them to the needs of the system. Developers have full control to define rules down to a level of granularity as detailed as types, methods and properties.
The Transposition process is characterized by the following phases:
- It executes a deep code analysis on the source code.
- Using the supplied Mapping Expression set, it will transpose 95% of it to code that will compile first time in Visual Studio to a parallel working HTML5 ASP.NET web application.
- All code sections that are not recognized by the pre-supplied mapping expressions are presented to the developer, in a unique integrated environment, complete with rich analysis information. The developer can then make manual adaptations to the rules, aided by the recommendations and guidance provided by the Studio.
- The adaptations made are learned by the Transposition Studio and can be automatically applied throughout the system, wherever similar original coding exists. This means that once a specific processing need is identified, it can be reused time and again.
- The intermediate code is compiled error free, using Visual Studio, to a full web-based system.
The use of intermediate code enables Transposition Studio to be independent of current development and maintenance on the original system. It doesn't prevent the original system from being continually maintained because new, changed and deleted lines of original code can be imported to the Studio at any time and automatically integrated into the transposed code. The option of manual tuning is available at every stage.
Mapping Packages, Standard and Custom
As mentioned above, each Mapping Expression relates to a standard piece of original code and to a new code section that will replace it. You can think of it as a kind of link from old to new code. Mapping Expressions can be adapted and even more importantly, completely new ones can be created in the Transposition Studio by the developer, to suit the system's requirements.
Sets of Mapping Expressions are grouped into what is known as Mapping Packages. The Transposition Studio comes with a number of these pre-supplied. Developers can build their own Mapping Expressions and distribute them as private or public Mapping Packages. This is done through the Transposition Studio 'app shop'. Some will be provided for free public use; others may carry a charge, as decided by the package developer. This has enormous impact in extending the power and automatic capabilities of Transposition Studio and provides a platform for developers to both share and profit from their efforts.
The unique approach taken by Gizmox in Transposition Studio allows for moving LOB applications from any environment to any other, from and to any form factor – desktop, mobile or tablet and whatever else lies around the corner.
At the current time, the Mapping Packages available provide a ready transposition path from .NET and VB 6.0 to .NET, HTML5 web, cloud and mobile, with additional source and target environments planned for 2013.
Experience the Transposition Yourself
The Transposition Studio is now available as a Community Technology Preview (CTP). The CTP is designed to demonstrate the capabilities and features of the Transposition Studio. It enables you to experience the transposition process by transposing a demo application using the tools and also enables you to learn how to create mapping expressions and patterns.
The CTP Demo application is a VB6 Customer Management application that can be transposed to either the VWG ASP.NET extension or to the .NET WinForms environment.
Click here to Download the CTP: