A Technology Based Solution to Move Client Server Applications to

advertisement
A Technology Based Solution to Move
Client Server Applications to Java / .NET in
Native 3-Tier Web Code Structures
Accelerated Application Modernization (AAM)
Page 1 of 16
Table of Contents
TABLE OF CONTENTS ....................................................................................... 2
THE CLIENT SERVER MODERNIZATION IMPERATIVE ................................... 3
PROBLEMS OF TRADITIONAL TECHNOLOGY BASED 4GL MIGRATION ..... 4
ACCELERATED APPLICATION MODERNIZATION (AAM) ............................... 6
THE MOST COMPLETE SUITE OF MODERNIZATION TECHNOLOGY ............ 7
CODE TRANSFORMATION ENGINE .................................................................. 8
MODEL TRANSFORMATION SYSTEM (MTS) ................................................... 9
VISUAL APPLICATION ANALYZER (V-APP) ................................................... 10
CLEARVIEW TEST CASE MANAGEMENT SYSTEM ....................................... 11
METEX IMPLEMENTATION PLAN.................................................................... 12
FLEXIBLE ARCHITECTURE SELECTION ........................................................ 13
METEX MODERNIZATION PRINCIPLES .......................................................... 14
CONCLUSION .................................................................................................... 15
ABOUT METEX .................................................................................................. 16
Page 2 of 16
The Client Server Modernization Imperative
CIOs are increasingly considering the modernization of legacy languages as one of their top
priorities. Client server languages that were very popular during the 1990’s are now considered to
be a liability due to a shortage of qualified staff, an inability to move client server applications to
the cloud and no practical application access via wireless devices. Companies with legacy client
server applications that move to Java or .NET will reap a range of advantages including:

Hiring and retaining developers will be much easier;

Applications can be moved to the cloud;

More third party utilities and solutions are available for Java and .NET;

Maintenance and deployment will be reduced with web based Java or .NET applications;

Web based applications can be accessed from anywhere by increasingly popular
wireless pad devices;
The benefits of moving 4GL client server applications to web based Java or .NET solutions is
clear but the cost of application upgrade projects is often viewed as prohibitive. Manual projects
are extremely expensive and time consuming while the use of technology based syntax
translation technology in the past has resulted in poor quality code that is difficult to maintain and
results in higher cost in the long run.
Metex has developed a whole suite of technology to manage the complete process of 4GL
application modernization that includes an application analyzer utility, advanced code
transformation engine, code mining technology, project management and bug tracking software
and technology for test case creation. The whole solution is described as Accelerated Application
Modernization (AAM) and the key objective is to use technology in all steps of the process but
never compromise on code quality. The code quality is equal to or better than what can be
achieved in a manual project but the cost is far lower, project timelines are a fraction of a manual
project and completion times are more predictable.
Page 3 of 16
Problems of Traditional Technology Based 4GL Migration
The Traditional Syntax Migration Approach is Flawed
The majority of companies in the 4GL legacy migration sector have technology based on tools
that do syntax (statement-to-statement) translation. Additionally, the differences between 4GL
and modern languages were covered by the introduction of libraries that emulated 4GL features
and supported functionality in the generated code. As an outcome, the traditionally migrated Java
/ NET applications reproduced the functionality of the original applications, but remained within an
inferior architecture, provided poor performance (a payment for 4GL emulation) and were difficult
to maintain.
The Structure of 4GL Applications Are Based On Outdated Principles
4GL applications were designed on completely different principles than modern Java / .NET
applications. 4GL applications are based on the concept of visual controls instead of the modern
domain model definition and 4GL applications utilize the windows messaging system, often
introducing user defined events that controls use to interact with each other
Reproducing the 4GL design in Java / .NET invariably leads to poor code quality with the
following issues and more:

Controls in 4GL applications become “logic fat” whereby each control supports validation,
loading, saving etc. As a result, business logic becomes spread out in the application
controls instead of being centralized.

Emulation of 4GL features leads to huge supporting libraries that are difficult to maintain
and Java or .NET developers would likely not understand them. Any attempt to make a
significant modification to the library would end up with an extremely unstable
environment for the entire application.

Reproduction of 4GL design concepts in Java / .NET leads to poor application
performance and large objects are often stored in HTTP sessions.
The difference between 4GL design and modern model n-tier design is so significant that many
customers do not believe that it is even possible to be covered by any migration approach and in
general they believe the only option to rewrite applications completely.
What is Not Achieved in Traditional Automated 4GL Migration
From the very outset, Metex understood that the Traditional 4GL Technology Migration solution
did not have a future because it did not provide what clients were trying to achieve. Here are
some of the limitations of the Traditional approach:
i.
Clients require a reengineering of the client-server architecture into modern 3-layer
architecture with clear separation of layers, good performance and easy to maintain
code.
ii.
Often clients are looking not only to accurately reproduce functionality of the existing 4GL
application, but to add or enhance some features such as improve the security
implementation, apply demarcated transaction support, modernize the look and feel of
the user interface, move to the cloud, and more.
Page 4 of 16
iii.
It has become a common requirement to extract reusable components from the
application, to prepare the foundation for SOA.
iv.
The security implementation of 4GL client server applications does not meet the modern
requirements web applications such as found in the OWASP standards at
www.owasp.org.
None of the above options are possible with the original Traditional Automated Migration
Approach and a time consuming and difficult manual effort was invariably required to implement
them.
Page 5 of 16
Accelerated Application Modernization (AAM)
AAM – Technology Based Client Server Modernization
The unique benefit of the Metex AAM Solution lies in the ability to accomplish the conversion of a
two-tier client server application into a clean three-tier Java / .NET application with a modernized
and well organized code structure. The ultimate objective of the AAM solution is to utilize
technology to modernize client server applications into modern 3-tier web based solutions in Java
or .NET and a lower cost and shorter timeline than a manual project.
The AAM solution achieves the intended objective by utilizing many tools and varying technology
at different phases of the modernization process. This is very different from traditional technology
for client server migration that generally used one non configurable code conversion tool that was
little more than a syntax translator which is basically a form of “sausage machine” that reproduces
statement by statement of the original application in the new language.
The Metex AAM process is based on a complete suite of highly configurable tools that improve
the complete modernization process from the initial step application assessment to the final
function of automated creation of test scripts for the new enhanced web based application.
The Metex client server Accelerated Application Modernization Solution (AAM) has a number of
key advantages for customers including:

A process proven that has been refined over twelve years with many satisfied reference
accounts;

Transformed code that is of very high quality and easy to maintain;

A fixed price solution with a transparent view for client’s during all key stages;

Transformation and upgrade to specific Java / .NET specifications, including integration
with 3-rd part libraries and components;

An aggressive project timeline that Metex can achieve;

Moving business functions to REST or web services business objects to ensure an SOA
structure.
Page 6 of 16
The Most Complete Suite of Modernization Technology
Metex has developed the most complete suite of tools to manage all facets of client server
application modernization projects. The advanced tools enable Metex to complete projects in a
fraction of the time of a manual project but with very high standards.
Metex Advanced Technology For All Steps in the Transformation Process

Visual Application Analyzer (V-APP)

Code Transformation Engine

Model Transformation System (MTS)

ClearView Test Management Suite
Page 7 of 16
Code Transformation Engine
The Metex Code Transformation Engine (MCTE)
The code transformation technology is only one element of the Metex technology. The Metex
Code Transformation Engine is the most advanced and highly configurable application
transformation technology that currently exists. The Transformation Engine has been
continuously refined over a period of 12 years but it is only one of the many tools in the advanced
Metex suite of advanced technology.
There are other vendors that have more recently entered the application transformation market
that have more simplistic tools that can only create one specific architecture in Java or .NET.
The MTCE is a flexible technology that can be adjusted to generate different formats of code
based on client requirements.
Page 8 of 16
Model Transformation System (MTS)
The Metex Model Transformation System (MTS) was developed to enable code structure
transformation of client server 4GL languages into modernized 3-tier architectures in Java or
.NET. The MTS technology is an integral part of the Metex modernization solution and it is the
reason that Metex is the only vendor that can transform 4GL applications such as PowerBuilder
into a pure 3 tier structure compliant with SOA requirements.
The Metex Model Transformation System (MTS) Makes a Break Through
Model Transformation System (MTS) is the Metex tool that enables Metex business logic
specialists to refactor the code generated by the Metex Transformation Engine, and make it
into the target architecture with a clean separation and logical re-organization of the 3
application layers. It has the functionality similar to UML tools, but has many unique
specialized features designed to enable code restructuring for the purpose of modernization:

MTS diagrams work not with classes / objects, but with attributes / operations. For each
attribute / operation it shows references to it from other operations. For each operation it
shows what other attributes / operations it references to, what is the “base” operation
(corresponding operation in the base class), what are “overridden” operations
(corresponding operations overridden in the derived classes).

MTS links target a business logic code skeleton with generated code, allowing the
modernization designer to logically fill the target business logic code skeleton with the
refactored code.

MTS provides suggested intelligent pattern changes of the generated code, making
refactoring easier. For example, MTS can systematically extract code for some user
events wrap extracted code as separate services. Each code transformation is organized
as a plug-in to MTS; that allows building repository of pattern changes and quick
implementation of new patterns.

MTS uses not only generated code but also runtime behavior analysis provided by the
Metex Visual Application Analyzer (V-APP). For example in order to generate proper
AJAX refactor list, MTS analyses what controls of 4GL application may react to each user
action and determines where an AJAX implementation will be required.

MTS can handle synchronization with actual project code. It is possible to import real
project code into MTS, then do reengineering and then export the code back.
Page 9 of 16
Visual Application Analyzer (V-APP)
The Metex Visual Application Analyzer is a unique technology that optimizes a wide range of
application modernization functions.
The key benefits of the V-APP are as follows:

Run time “application listeners” enable automated capture of application behavior. After
the listeners are linked to the 4GL application, they begin recording all user actions,
inputs, window flows, window behavior, etc.

Recorded information is used for a wide range of analysis including window flows, most
frequently used windows, etc.

Identification of dynamic properties of controls changed during runtime

Replay and analyze behavior for any specific window

Testing of the application – use recorded information as test cases.

Creation of tests scripts for leading automated testing solutions

Provide foundation for Test Driven Development and Agile Development
Page 10 of 16
ClearView Test Case Management System
The Metex ClearView project control system was developed to manage all aspects of application
modernization projects. It is a web based application that has been used and refined with many
projects over a period of years. It extensively by the customer during the Final User Testing
Phase of a Modernization Project but Metex uses the ClearView system throughout the complete
modernization project.
Test Cases View
Metex uses intensive test cases to verify that the modernized application accurately reproduces
business logic of the original application.
Tracking View
An issue tracking system is an integral part of ClearView and it manages defect repair of the
modernized application.
Task View
Tasks are used to manage activities of the developers during the modernization process. Tasks
can be linked to the test case, to the bug or can be any other activity.
Message View
Message View allows developers to exchange information with each other. This functionality is
similar to an email system, but has key differences that enhance communication and productivity.
When a test/bug is assigned to a developer, there is an automatic notification to this individual
and when the issue is resolved the QA team automatically is notified.
Report View
Reports View is used by project managers, team leads and customers to understand the status of
the project on a real-time basis.
Page 11 of 16
Metex Implementation Plan
1. Creation of an Architecture Design Document
The very first step in the transformation process is the development of a design document. Metex
and the client mutually confirm a very detailed application design document that includes all
elements of the architecture, code style, user interface style to be used and what all the different
elements will be in the different layers. All of the elements of the detailed finer points such as
security, use of any third party objects, code naming conventions, reports and how they will be
organized will all be presented in detail within the architecture design document.
2. Application Analysis
Detailed application analysis and Application Transformation project planning takes place after
the client and Metex have confirmed the final detailed architecture requirements and
specifications for the target language. The detailed application analysis will be used in both the
automated transformation and the professional services phases of the code transformation
project.
3. Automated Code Transformation
The process of sending code through the Metex’s Application Transformation technology is a
complex multi-step process that requires significant effort from senior architects. The process
that Metex uses to run legacy code through the Transformation tools has never been a simple
“double click” methodology. The automated portion of the Application Transformation process is
very complex because Metex is focused both on matching the client’s specific architecture
standards and producing a very high quality of code that will be used in the next phase by the
transformation professional services team.
4. Professional Services
The Metex Professional Services Team takes the output from the Metex’s Suite of Transformation
Tools and completes any code that could not be converted. During this phase the Services Team
extensively makes use of code mining and code analysis tools that have been developed by
Metex to facilitate the accurate completion of the code. The Services Team works on the
transformed code according to a specific roadmap that was developed by the Visual Application
Analyzer.
5. Integration Phase
During the integration phase, the testing team and quality control work with the development
team to ensure accuracy and quality. The test team will be testing the application using test cases
provided by the client. What is important to note is that Metex has the experience to convert the
automated test scripts that have already been created and convert them into a new format that
can be used in the transformed application. Metex will be using a combination of testing that will
make use of the new converted automated test scripts, as well as any manual word-based test
scripts that Magellan will provide us.
6. Metex Testing
Metex actually begins testing the transformed application very early during the project and in fact
employs a Test Driven Development (TDD) practice through all of the professional services steps
of the project.
7. User Testing
The final phase will be the user testing phase. The Metex ClearView project management and
test control software is used to efficiently manage the testing process.
Page 12 of 16
Flexible Architecture Selection
The Accelerated Application Modernization solution provides a wide range of architecture options
to meet the customers varied standards. There are a range of decisions that must be made in
determining the optimal architecture selection in the target language to meet different business
requirements. Some organizations have clearly defined corporate standards for all applications in
Java or .NET, while other organizations may request information from Metex to clarify the pros
and cons of the various code architecture options. The Metex Solution uses a variety of
automated tools to convert the majority of the Legacy code into Java or.NET, but the automated
portion of the Transformation is run in a series of steps that are configured to produce the
required code structures to meet the clients target architecture.
Page 13 of 16
Metex Modernization Principles
Metex has a modernization process and technology that have been refined over a period 12
years and numerous 4GL to Java / .NET modernization projects. The following principles are the
key factors in the Metex Advanced Modernization solution achieving market leadership.
1. The Transformed Java / .NET Solution Should Not Mimic the Structure of the 4GL
The Metex process relies on automation but does not create code that is based on the structure
of the original 4GL language. The outcome of a Metex modernization process is native style Java
or .NET code. There are no libraries that mimic the functions of the client server input language.
2. The Modernized Java / .NET Solution Should Not Contain Proprietary Software
There are vendors that require their proprietary software be imbedded as part of the converted
Java or .NET solution. This is good for the vendor as they receive ongoing payments for their
proprietary code but bad for the customer as they are forever locked into a proprietary
architecture. The Metex Accelerated Application Modernizations (AAM) creates pure native Java
or .NET code with no non-standard or proprietary code.
3. Restructuring as Part of the Modernization Process
4GL languages are based on different concepts than modern Java / .NET solutions. Converting
2-tier client server applications into modern 3-tier web based applications is just the beginning.
The business logic must be restructured and centralized and when required re-useable
components should be created as the start of an SOA solution.
4. Clear Project Timelines Defined in Advance
Metex is able to define clear timelines for a modernization project. Processes that have been
refined over a period of many years enable Metex to complete projects consistently on schedule.
5. Flexible Application Architecture Selection
The use of advanced technology does not restrict the client’s selection of architecture. Metex
uses a range of transformation tools that are highly modifiable for different architecture types.
6. Tools for More than Code Transformation
Metex has developed a range of software tools to manage a wide range of functions from project
management and bug status tracking to application analysis and automated test case creation.
These advanced tools are the pillars to the success of Metex application transformation projects.
Page 14 of 16
Conclusion
Having transformed over 100 million lines of legacy 4GL code, Metex Inc. has perfected the
Accelerated Application Modernization Technology and Process. With a highly experienced
team, the most advanced suite of application transformation technology, the transformation
process time is reduced, while code quality is at a very high Level. The end result is code quality
that can be expected from a manual project, but at a more competitive price and far better
timeline. Over the years, Metex has continued to enhance it’s transformation technology to reflect
the changes in technology and standards.
Metex is the high quality / low risk option for a 4GL Application Modernization project. The crisp
timelines that Metex can complete a project within are targets that other companies simply cannot
match. The innovative project management methodologies, one-of-a-kind suite of automated
tools, experience that has been enhance in the past twelve years, and the knowledge base of the
Metex professional services team are unparalleled.
When it comes to 4GL transformations, customers consistently select Metex over any other
option by knowing confidently that they will receive an on-time, on-budge, high quality product.
Using specially-designed automated tools that improve productivity shorten project timelines and
retaining high code quality, it should come to no surprise that Metex’s Transformation Solution
process has been selected by Fortune 500 companies and major government agencies.
Providing a mature high quality method that has been refined over a period of many years and
projects, Metex Inc. is the leader in Client Server to Java or .NET transformations. Metex has
transformed more 4GL applications to Java and .NET than any other vendor
Page 15 of 16
About Metex
Established in 1989, Metex commenced business initially as a contract enterprise application
development company, completing client server applications for major government and
commercial clients. In the mid 1990’s, Metex developed a number of software utilities to enhance
the functionality of 4GL languages such as PowerBuilder, Centura, Oracle Forms and more. In
1995 Metex became Rational’s first solution partner when it developed the “LINK” product line to
“connect” Rational Rose to a number of 4GLs including PowerBuilder, Centura and DOORS.
In 1999, the management at Metex recognized that Client Server architecture were losing
popularity and that three-tier web based solutions would be the norm for new application
development. Based on this viewpoint, a significant investment in R & D commenced to create
advanced technology to transform legacy client server applications into high quality three tier
solutions in Java or .NET.
Metex has achieved and continues to maintain the clear technical lead in application
transformation and modernization. The technology includes advanced project management and
control software to keep large projects on track with progress transparent to the client. Hundreds
of application modernization projects in over 20 countries have been successfully completed with
a 95% satisfaction measurement.
Page 16 of 16
Download