|
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.
|