Jazillian Design Philosophy

The Legacy Code Dilemma

Organizations struggle both in supporting legacy computing environments as well as in moving away from legacy computing environments to modern systems and environments. Jazillian legacy translation offerings can help in the move to modern systems for both legacy modernization and legacy transformation initiatives.

What do organizations do with that business critical legacy code when they need to get to Web-based services and a SOA/J2EE/Java environment?

For the IT team in enterprise organizations and software companies alike, creating new applications for the business is the primary focus, yet, maintaining and keeping the legacy business applications current is a huge endeavor that must be addressed but one where keeping time, dollars and resources to a minimum is critical. The problem looks like this:

In short, organizations desire to re-architect the application and environment, while at the same time reusing a substantial portion of the existing business logic.

Until recently, the alternatives included:

  • Rewrite the code manually, often outsourced. This is the “big-team” approach, often leveraging low cost developers.
  • The traditional automated legacy transformation approach. This approach incorporates the use of 4GL languages, XML code, byte code and wrappers is common to get the code to run in a Java Virtual Machine (JVM) environment.
  • The Mainframe Application with a Web-based User Interface (UI). Several companies offering this solution retaining the COBOL application code and incorporating a Web-based front end user interface.

Jazillian solves this difficult problem by offering a new alternative in translating legacy code to “natural” Java code, effectively offering a new approach to legacy modernization projects. Jazillian does this by translating the legacy business logic code to “natural” Java code that can be plugged it into a new J2EE architecture. The Jazillian generated code is clean, consistent Java code. It is ideal for creating the Java application platform for today and for future development quickly and cost effectively. Jazillian generated “natural” Java code changes the landscape of alternatives considerably.

Below are more details on each of these alternatives.

Solution #1: The Manual Rewrite

Rewriting a business application will take a huge amount of time and resources as well as some special individuals familiar with that “old” world, the “new” world and the world of the application. Studies show that many of these efforts fail. Whether done internally or outsourced, the time, labor and quality can be challenging.

The challenges include:

  • It takes a long time and the output is uncertain.
  • The legacy source code documentation may not exist and the authors are gone too.
  • Rewriting requires an army of developers will with many different styles and approaches on re-writing the code. They will also be introducing new interpretations of the legacy code as well as new bugs into the new system. The code and logic will need to be completely debugged and re-proven.
  • The larger the team of developers, the more complex the coordination of the effort becomes. Also, larger teams will have more duplication of effort and more overlap.
  • At some point, a larger team can complicate the project and will extend the development timeframe.

Solution #2: The 100% Automated Legacy Translation Approach.

There are many automated legacy translation tools available that claim to translate 100% of your legacy code to Java code. The translated code takes the form of emulated code, proprietary 4GL code, code in wrappers and XML code. This code is rarely readable, which makes is very difficult to support or customize. Enhancements must still be done in the legacy code language. This approach does not relieve the dependency on the legacy application developers.

Other issues that come up include the new user interface that still looks like the original user interface on the CRT or terminal emulation screen. The Java resources in-house can’t do much with the code and the Java tools are irrelevant as well. The new Java code base size has not been reduced and in some cases, it may have even grown to be larger.

The challenges include:

  • The new code will run in a J2EE environment.
  • The Java code is very difficult to read and to work with.
  • Development is still done in the legacy language. The readily available Java developers and tools are not much help.
  • The user interface is dated. It will need to be rewritten.
  • Future development and support efficiencies will not be realized.

Solution #3: The Mainframe with the “new” Web-based User Interface Approach:

This approach works for some organizations, primarily those who are very content with their mainframe applications and environment yet want to add a Web-based front-end User Interface. If this works, go to it. There are at least a couple firms offering this approach to their mainframe clients.

This solution helps get the application to a Web-based user interface. It may offer limited relief to the firms’s efforts to reduce legacy platform or application support.

New Solution #4: A Fresh Approach - The “Jazillian Design Philosophy”

Is there a better way? If the legacy code were to be manually rewritten, it would be readable, maintainable, natural code. Can that process be automated?  Yes, It can; and that is what Jazillian does.

Jazillian will automatically translate and generates 99% or more of the legacy code to “natural” Java source code. This is done with custom rules to deal with idiosyncrasies in the legacy source code as well specific desired output in the new Java code.

So what would that all look like and would it save any time?

  • The time savings on the translation and generation of the new code are huge.
  • Real Java applications that run in the J2EE and SOA environments are created.
  • The business logic code is automatically translated and working correctly in the new environment before introducing any new features or customization.
  • Redesign and re-architecture work can then begin and also take advantage of the power of the Java language and resources.
  • New data storage mechanisms can be implemented.
  • The new web-based user interface is attached it to the business logic code.
  • Time savings of potential tens to hundreds of man-years of development are realized over the “rewrite by hand” approach.
  • The Jazillian generated “natural” Java code is easily readable as Java code making it highly maintainable and customizable, as it has no wrappers, emulation or proprietary Java code involved. Any Java developer will be able to understand it, maintain it or modify it

Additional benefits of this approach:

  • The code looks like it was designed and developed by the single top architect/designer, with a high quality, consistent style.

  • Consistent high quality Java code is ideal for moving forward from a maintenance and future development perspective.

  • The debugging, training and process modification is significantly simplified

Summary

Jazillian generates “natural” Java code that works today and it designed to be a starting point for enhancements and future development. Jazillian ties the best of an automated tool with intelligent intervention and augmentation to provide high quality, useable, “natural” Java source code.

Clients like the approach and love the results. The development cycle is drastically reduced, enabling the organization to focus on the architecture.

Copyright 2003-2007 Jazillian, Inc. Java is a registered trademark of Sun Microsystems, Inc. in the U.S. or other countries.