Page 0
Legacy Applications and Cloud Technologies:
Modernization to the Cloud
10/2/2013
More Information: http://modernization.xformix.com Email: [email protected]
© Transformix Computer Corporation Charles Finley
Page 1
Table of Contents
Management Summary ... 3
Introduction ... 6
Legacy Applications and How to Extend Their Value ... 8
Legacy Modernization as part of an overall cloud-centric strategy ... 9
Who uses this type approach? ... 10
Legacy Challenges ... 11
Saving Time and Money with Cloud Architecture ... 12
What needs to be modernized? ... 13
IT infrastructure ... 13
Applications and Application Development ... 14
Benefits of Legacy Modernization Solution ... 15
Solution Overview ... 20
A Solution to Do List ... 21
1. Modernize Using Cloud Architecture (UI, SOA)... 21
2. Make use of the following Toolkits ... 22
3. Use Cloud Hosting (optional) ... 22
Modernize Using Cloud Architecture (UI, SOA) ... 22
Make use of the following Toolkits ... 22
Unified Development Environments for New and Legacy Application Development ... 22
Development Features Needed ... 22
Deployment Features Needed ... 23
Legacy integration tools ... 24
Migration tools... 24
Modernization tools ... 25
Application servers ... 25
RDBMS ... 25
Page 2
Demonstrations... 26
Demonstration Overview ... 26
Featured Demos ... 26
Existing or Re-hosted System – Hybrid Cloud ... 26
Key Features ... 26
Re-hosted and Re-architected System – Full Cloud ... 26
Two featured Strategies for getting legacy applications to the cloud ... 27
The Unified Development and Deployment Environment ... 27
The Hybrid Cloud Approach ... 28
How the Hybrid Cloud Approach Works ... 30
Extending the FlyNet Model ... 31
The Full Cloud Modernization and Migration Approach... 32
Re-hosting ... 34
Migration to RDBMS ... 34
Migrating Forms and Programs ... 36
Migrating Databases and Data Sources ... 34
Modernization ... 37
Advantages and Disadvantages ... 41
Using Both Approaches on the Same Legacy Application ... 42
How did we do? - Key Issues with Legacy applications ... 42
How did we do? - Today’s key development challenges ... 44
Summary and Conclusions ... 44
Toolkits, Partners, Open Source, Platforms and RDBMS ... 45
Toolkits ... 46
Partners ... 46
Open Source ... 47
Platform ... 47
RDBMS ... 47
Page 3
Legacy Applications and Cloud Technologies:
Modernization to the Cloud
Charles Finley – Transformix Computer Corporation
Management Summary
Information Technology is not a sport for wimps. It is a complex business that is getting increasingly more complex with time. If it is viewed as a whole, it is almost daunting. Change is constant and we who are part of the Information Technology industry are controlled by the events, products, and demands created both inside and outside the field. In addition, staffing issues and maintaining infrastructure for all of the new and existing technologies, while at the same time keeping the extended data center in production, complicate and make our task that much more difficult.
What we hear most often, in the context of cloud, typically has nothing to do with Legacy applications. The promised benefits from cloud hosting are mostly focused on applications other than Legacy. The most important reasons for this are that typically Legacy applications do not run on platforms that are hosted in the cloud and their architecture is usually not suited to the kind of integration needed for cloud-based usage.
Also at issue are newer technologies such as mobile and web applications in the organization. Mobile devices, web applications and social media use, necessary by organizations with Legacy applications, present additional challenges. Similar
integration issues make the use of these technologies with Legacy applications more difficult than with newer application types.
Legacy staff skills can also be at odds with the use of technologies normally associated with cloud and modern applications. Maintaining these skills is becoming increasing difficult due to the aging of those with the requisite skills and the lack of new developers who are willing to take their place.
Cloud technologies (architecture components), those hardware and software components that are used for networking and interoperability, are not normally associated with legacy applications. However, when one looks at the advancements that have been made in development tools and networking one can see that by modernizing legacy applications in a strategic way, it can help simplify some of the complexity in today’s modern IT environment and can make it so that legacy
Page 4 applications can gain compatibility with newer applications. More specifically, it can mean that Legacy applications can be adapted in a way that makes them suitable for integration with newer and cloud-based applications.
These applications can also be configured for seamless integration with mobile, web and social media. Moreover, an opportunity exists to retool the application so that more uniformity is achieved in both Legacy and its staff development. This results in the opportunity to have legacy and newer developers work as teams and share skill sets.
Solution Component Modern Application Legacy Application Modernized Legacy Application Application and Data Integration Yes No Yes
SOA enablement Yes No Yes
User Experience Modernization Yes No Yes Development Environment Modernization Yes No Yes Development Staff Modernization Yes No Yes Cloud Compatible
Infrastructure Optional No Optional
FIGURE 1 - GOAL FOR THE LEGACY SYSTEM
This whitepaper explores the benefits of modernizing Legacy applications in such a way so as to modernize not just the code and data but the developers and their tools as well.
Page 5 Part of the solution is to use modern development IDE based workbenches and, in some cases, bolting a cloud like infrastructure to the existing application using web services that talk to the terminals.
In other cases the solution is achieved by migrating the application and modernizing other aspects of it. Included is changing COBOL code to JAVA that is maintainable by both COBOL programmers and new JAVA programmers. This paper also discusses the economic and time saving benefits of such an approach.
The goals for the approach presented in this paper are highlighted in Figure 1. Our main emphasis is to put Legacy applications on the same, or a similar footing to newer, modern applications.
What follows is a brief explanation of this:
Application and Data Integration: Making tools available so that the Legacy
application data, and any needed applications, can be accessed securely by servers and clients outside of its own traditional network. In addition, to make it so the Legacy application can access data, applications and services external to itself.
SOA enablement: Create the ability to offer resources from the Legacy application as web services.
User Experience Modernization: Provide the ability to create web, mobile and social media interoperability with the Legacy system and applications.
Development Environment Modernization: IBM, Microfocus, Oracle and othershave shown that the same or similar tools can be used by both Legacy and new developers. The skills overlap can be of great benefit to organizations that take advantage of them. This approach helps to address the skills shortage of Legacy developers and helps prepare for the future so that new developers are available to maintain and enhance the Legacy applications once the current developers retire.
Development Staff Modernization: Legacy development tools usually lack the productivity of a more modern development and deployment environment.
Modernization provides an opportunity to modernize the tools and the skills of the development staff.
Cloud Compatible Infrastructure: Other things in this list are made possible after the infrastructure is modernized to a cloud - For example, the architecture.
Page 6 A great man once said “Ain’t nothin’ easy”.
IBM reports that it is 5x cheaper to reuse and revitalize a main frame application than to move it to another platform and rewrite it. Therefore, if it is determined that the legacy application is worth continuing to use, we think it is worth considering modernizing it in a
way that leads to maximum benefits.
Introduction
According to Wikipedia “Cloud computing, or the cloud, is a colloquial expression used to describe a variety of computing concepts that involve a large number of computers connected through a real-time communication network such as the Internet.
Cloud computing is a term without a commonly accepted unequivocal scientific or technical definition. In science, cloud computing is a synonym for distributed
computing over a network and means the ability to run a program on many
connected computers at the same time. The phrase is also more commonly used to refer to network-based services which appear to be provided by real server hardware, but are actually served up by virtual hardware, simulated by software running on one or more real machines.
Such virtual servers do not physically exist and can therefore be moved around and scaled up or down on the fly without affecting the end user - similar to a cloud. The popularity of the term “cloud” can be attributed to its use in marketing to sell hosted services like Application Service Provisioning that run client server software from a remote location.”
Also from Wikipedia “Cloud Computing Providers offer their services according to several fundamental models. These are (1) infrastructure as a service (IaaS), (2)
platform as a service (PaaS), and (3) software as a service (SaaS). IaaS is the most basic of the three with each higher model building from its basic attributesl.”
Finally, according to Wikipedia, “Cloud computing architecture refers to the
components and subcomponents required for cloud computing. These components typically consist of a front end platform (fat client, thin client, mobile device), back end platforms (servers, storage), a cloud based delivery, and a network (Internet, Intranet, Intercloud). Combined, these components make up cloud computing architecture.”
Page 7 This whitepaper is NOT about the IaaS, PaaS or SaaS hosted services. It is about
modernizing Legacy applications so that they can be integrated with applications that are hosted. Optionally, if the user chooses, those Legacy applications can also be hosted. can be hosted.
Although convincing arguments can be made for the benefits of modernizing Legacy applications so that they can be hosted, that is not the emphasis of this article. The focus of this article is that modernizing legacy applications so that they will work in a cloud computing architecture environment has many benefits beyond those provided by hosting providers. A
After modernization, stakeholders may be able to achieve additional benefits by hosting the application with a hosting provider.
Page 8
Legacy Applications and How to Extend their Value
Even solid, proven Legacy systems, architectures and processes can waste money and cost organization opportunities.
A significant part of the world's data resides in mainframes and is accessed by COBOL and other older language-based systems. CIOs and IT managers responsible for
mainframe-based enterprise applications face many challenges. Among these:
Value
In most cases, Legacy applications have already established their value to
organizations. They provide the IT foundation on which most of the world runs. Existing business logic is among the most valuable assets a company owns. That value needs to be exploited. Its data and business rules must be exposed and leveraged for
competitive advantage. Organizations who are able to combine new technologies with old and make the best of their existing assets and unique strengths can derive a competitive advantage over comparable organizations.
Still, Legacy systems need to integrate with other systems, be accessible to modern Web and mobile interfaces and work seamlessly with real-time transactional processes. Alternatives
There are alternatives to reusing Legacy applications through modernization. IBM reports that it is 5x cheaper to reuse and revitalize a mainframe application than to move it to another platform and rewrite it. Replacing a working application with packages can be very expensive, time consuming and much riskier than reusing solid, existing applications with established and proven business logic and data.
The Costs of Doing Nothing
To show one example of how important it can be to modernize Legacy applications, customer self-service in a utility illustrates the point. Several sources including JD Power and Forrester report that a utility with 1.5 million customers can save $1,387,500/yr by implementing customer self-service using mobile and web applications. The savings are much more dramatic with 3 million customers. The utility can save $2,775,000/yr. Therefore, even if it cost the utility $1,387,500 to modernize their existing application, which is unlikely, the ROI is less than one year! Alternatively, it is extremely unlikely that the same application can be replaced or rewritten in the 6-12 months it might take to modernize the existing application.
Page 9 What would you invest in your business to save $1,387,500/yr.?
Legacy Modernization as part of an overall Cloud-centric Strategy
Managing IT development and administration is becoming increasingly difficult. This is partly illustrated in Figure 2. While the old languages and tools are still around, an almost bewildering collection of new ones appear. It is difficult and expensive to keep up. Cloud architecture provides needed integration of Legacy, new and cloudapplications.
Cloud architecture facilitates access to data from modern devices including web, mobile, and fat clients, to name a few. Legacy application modernization, targeting cloud architecture and tools that support both new and legacy development, help simplify IT management.
FIGURE 2 - TODAY'S ENVIRONMENT GETTING MORE COMPLICATED
This white paper shows an example of how legacy applications can be brought to the cloud as part of an overall cloud-centric approach. This white paper also shows how modernizing legacy applications for cloud architecture can help simplify and save time and money for IT management.
Finally, it provides a real world example of a development and deployment framework that can be used for Legacy and new development.
This whitepaper starts with a vision of what could be as illustrated in Figure 3. It is an idea that has been embraced by IBM, Microfocus, CA, Oracle, Unisys and others. The ideal is to have a networked-Cloud Architecture-like environment on which
Page 10 Modernizing Legacy applications in this way gives organizations the opportunity to accomplish much more than simply dealing with the Legacy application.
This approach provides the opportunity to: . Modernize existing Legacy assets. . Leverage modern cloud architectures. . Leverage cloud infrastructures.
. Leverage existing knowledge and skills. . Attract new skills.
. Leverage a common development environment for all development teams. . Better leverage development spending.
. Achieve development platform independence.
. Reduced number of development tools – Fewer tools are required to meet modern needs.
Who use this type of approach?
. IBM . Microfocus . Oracle . CA . Attachmate . Transformix . Others
Page 11 FIGURE 3 - VISION FOR MODERNIZING A DEVELOPMENT ENVIRONMENT
Legacy Challenges
Information Technology is a complex business that is getting increasingly complex with time. Legacy applications can contribute to the complexity in some unique ways and present additional challenges to IT management. Some of these challenges are:
High costs: High cost of maintaining and upgrading Legacy systems.
The cost to support antiquated or obsolete hardware is usually much higher than the costs to support more modern systems.
Risks: Risks associated with running business-critical applications on potentially unsupported hardware and software.
There are many inherent risks associated with running a business on unsupported
hardware and software. In some cases hardware parts are difficult to find and a system could be down for days waiting for a minor part. Eventually, it may not be possible to find those parts. Moreover, many software products are no longer supported and the vendor may be long gone.
Inflexible and closed architectures: Architectures that hinder Web and mobile enabling and integration with contemporary platforms.
. Function: While the existing legacy system provides a host of mission critical functionality, company staff must also supplement the lack of key features, functions, and reporting capabilities with standalone Commercial Off-The-Shelf
Page 12 (COTS), Access and Excel applications (shadow systems). This approach results in staff time to compile, synthesize, and/or reconcile business data.
. Limited Integration: Legacy systems usually lack integration with contemporary technologies like Mobile Apps/Devices, Enterprise Content Management Systems, Automated Workflow, E-Forms/E-Signatures, Geographic Information Systems, and so on.
. User Friendliness: The existing system uses command-based screens and cannot provide a contemporary Graphical User Interface (GUI), web, or mobile which have become commonplace.
. Customer Access: The Legacy system lacks web-enabled features and functions that could significantly improve customer service by providing conveniences such as online bill payments and a customer portal.
These are top concerns for company executives.
Tools: Lack of modern development tools and techniques.
Modern development environments are based on an integrated development workbench such as Eclipse or Microsoft Visual Studio. These programs contain such features as fully integrated visual source editors, visual debuggers, database access, code generators, test servers and the ability to deploy applications from the
workbench. By comparison, Legacy development tools are usually more primitive.
This wastes developer time and results in extra costs due to lower productivity.
Time to market: Longer time to market resulting from complex development life cycles and a lack of productivity tool.
Labor pool: Shrinking labor pool expertise on Legacy systems.
. Language: Legacy is programmed in COBOL, RPG, PASCAL, other 3GL and 4GLS’s - some of which are obsolete. These are outdated languages. . Programming: Technical professionals with older and obsolete programming
Page 13 Transformix has assembled a comprehensive set of tools over the past 15 years and
migrated a variety of Legacy applications in a variety of industries.
Save Time and Money with Cloud Architecture
Legacy applications should not be viewed in a vacuum. Most organizations that have Legacy applications also have a need to develop new, web and mobile applications. Because of the variety of tools, staff, training and infrastructure required to support these diverse environments, all of them have time and cost implications.
We believe that adapting the Legacy applications to the cloud computing
architecture model provides an opportunity to save both time and money in each of those ancillary areas. A well-chosen Legacy modernization strategy can pay dividends by reducing the overall cost and complexity in the whole of an IT organization.
IT Development Challenges
It is important to note at this juncture how many different major categories of issues challenge IT. Here is a partial list that is addressed in this document:
. New Applications . Legacy Applications . Cloud Applications . Skills
. Platforms/Middleware
What needs to be modernized?
It is not just legacy application artifacts (code, data, and documentation) that are candidates for modernization. There is an opportunity to modernize developers, development tools and infrastructure.
The most important message in this whitepaper is that by consolidating the use of resources in IT, it is possible to save both time and money. Our quest starts with a vision of what IT should be like after modernization.
Page 14
IT Infrastructure
Changing an infrastructure to one that supports cloud computing architecture has far reaching implications for modernizing developers and development tools. The most common platforms for cloud hosting are Linux and Windows. With these environments come plethora of software, both commercial and open source, that can lead to an advanced set of development tools.
Once the infrastructure changes, or is supplemented by cloud compatible platforms, as is illustrated in Figure 4, options for improvement in other areas change as well. The networked – cloud-like architecture creates is part of what makes it possible to change such things as web and mobile enabling of legacy applications as well as how
Page 15 FIGURE 4 – A CHANGED IT INFRASTRUCTURE – CLOUD ARCHITECTURE THAT INCLUDES LEGACY APPLICATIONS
Applications and Application Development
IBM uses the term Enterprise Modernization to offer a set of tools and services that provide “A simple, robust, unified approach to end-to-end construction of application and services that shields developers from intricacies of runtimes and middleware”. The IBM solution approach has the following features:
. A common development language that they call Enterprise Generation Language (EGL).
. Legacy development . New development
. Web, mobile and web services development . The ability to consume outside web services
. A common toolset that is shared for all types of development
. A common strategy and toolset to test and deploy applications to all environments.
The Transformix approach follows the same basic guidelines and strives to focus on overall organizational needs as a way to save development time and money.
Benefits of Legacy Modernization Solution
When one looks at the advancements that have been made in development tools and networking, one can see that by modernizing Legacy applications in a strategic way, it can help simplify some of the complexity in today’s modern IT environment. This also enables Legacy applications for compatibility with newer applications.
More specifically, the modernization approach means that Legacy applications are adaptable for integration with newer and cloud-based applications. At the same time
Page 16 these same applications can be made more suitable for mobile, web and social media integration as well. Moreover, there is an opportunity to retool the application so that more uniformity is achieved when developing Legacy and new development staffs. Legacy and newer developers can also work as teams and share skill sets.
Some of the benefits of modernizing Legacy applications in a strategic way are:
Reduced cost: Lowers high maintenance cost of existing Legacy platforms and development tools, resulting in substantial savings in IT budgets.
Lower risks: Reuse of business rules and data is less risky than alternatives.
Enhanced flexibility: Creates a flexible IT environment with new architectural paradigms such as web services; aligns IT systems to dynamic business needs.
Modern development tools: Legacy and new developers can use the same or similar tools, enabling both to develop Legacy applications.
Shorter development times: Modernizes development tools and retrains developers which lead to shorter development times.
Minimized disruption: Reduces the risk when modernizing Legacy platforms by
combining two decades of development experience with contemporary platforms, a proven modernization framework and rich domain knowledge.
Modern Application Development Tools
There is no doubt that application development has changed. The web has become a gigantic application server and user interaction is increasingly focused on the web browser and various mobile devices. We feel it is important to highlight a selected few modern development tools that are not usually present in a Legacy development environment.
Web 2.0
Web 2.0 is a collective term that refers to a series of technological improvements for using web and browser technology. These improvements are based primarily on two major paradigm shifts in the way people use the Web - Thin client computing and User-generated content.
Page 17 Portals – Portals can make use of the Thin Client and User Generated Content
technological improvements. In Thin Client computing, data and applications are stored on web servers. A user has access from any computer via a web browser, thus turning the Web into a gigantic application server. Portals also make it possible for users to control what content they get and, in some cases, incorporate user generated content.
Web applications - A broad range of new applications make it possible for users to run programs directly in a web browser.
The ability to develop interactive web applications that access data and services will become increasingly important for most organizations. Tools must be available to help do this.
Mobile
Smart, hand held device CIOs need to find ways to leverage mobile in a positive way for the enterprise. This includes developing new mobile applications, working with business leaders on new mobile business strategies, and securing enterprise data. Suffice to say, Mobile is such a big trend that it must be a core component of every organization’s IT strategy.
The ability to develop mobile applications is also becoming increasingly important.
IDE Features and Capabilities
The figures below are used by IBM to describe tools used to develop in EGL, the key development language in their Enterprise Modernization Solution. Below are just a few of the many great features of modern development tools.
Page 18 A fully integrated source code editor provides syntax highlighting, content assist, code
formatting, quick fix, import organization, folding, and more to make writing code fast and simple.
Visual Editing
A true WYSIWYG visual editor for visual editing and previewing web UIs. The Design tab contains
an embedded browser that supports the visual construction of UIs by dragging and dropping widgets from the Palette, moving and deleting widgets and more. Because the Design tab is an actual browser, what you see in the Design screen is what you get. The Preview tab provides a live, running version of the UI.
Rich Widget Library
Included out of the box is a variety of UI widgets, including standard HTML widgets. And with the popular, open source Dojo toolkit built in, you have the ability to create rich, compelling UIs.
Page 19
Using the integrated debug tools, developers can fully debug applications (end to end) by setting breakpoints in code (regardless of whether that code is targeted for Java, JavaScript, or both) and running the application from the IDE. Developers can step through the code, view variable values, and more.
IDE Test Server
With an integrated IDE Test Server, applications can be fully tested and debugged from within the IDE without configuring or deploying to a conventional server.
Database Access
These products support accessing SQL relational databases, such as MySQL and Derby, from tools-generated Java services and libraries.
Web Services
With support for consuming services that return XML or JSON, developers can create new applications and services that utilize existing services.
Page 20
In the IBM solution, EGL supports creation of batch-style Java programs that can be run from command line, offering the ability to perform post-processing on a database, report generation, and more.
Web Service and Integration
Most people who have a smart phone or a tablet use web services. Google maps are a good example. There is an increasing need for what used to be ordinary internal
applications to “consume” external web services and incorporate them in what used to be internal applications.
The Need for a Common Development Toolkit So, what do our requirements look like now?
. Modernize existing Legacy assets . Leverage modern cloud architectures . Leverage cloud infrastructures
. Leverage existing knowledge and skill sets . Attract new skills
. Leverage a common development environment for all development teams . Better leverage development spending by combining Legacy development with
new, mobile and web development into a common toolset. . Achieve development platform independence
. Reduced number of development tools to meet modern needs
Earlier in this document we made the assertion that modernizing Legacy applications using cloud architecture and a cloud compatible toolkit can reduce development and management complexity which saves time and money.
If you place the Legacy application in a network where it has access to the cloud, you can achieve these objectives.
Page 21
Solution Overview
The Transformix approach relies on 6 primary modernization components that can be used in various combinations to achieve desired results.
1. Development Environment Modernization: Eclipse IDE and tools used by both Legacy and new developers enabling the development of web, mobile, and thick and thin client applications.
2. Development Staff Modernization: Retraining staff to use modern development tools.
3. Re-hosting: Non-invasive and mostly automated approach towards
deploying Legacy applications on a contemporary platform; Reduce high maintenance cost of applications on Legacy platforms.
4. Re-engineering: Rebuilding Legacy applications on new technology / platform with the same, or enhanced business functionality, in a service-oriented architecture.
5. Application and Data Integration and SOA enablement: Unlocking of data in a service-oriented approach from closed architecture Legacy systems to provide new access channels.
6. User Experience Modernization: Rebuilding alternative user interfaces for Legacy applications based on web, mobile, and GUI’s.
Each organization is different. Therefore, the Transformix approach is based on assessing each customer’s needs and selecting the best mix of tools and techniques to
suit the unique needs of that customer.
A Solution To Do List
Although each solution is different, we suggest a common strategy to achieve the potential benefits described in this white paper. This is shown as a set of high level steps:
Page 22 2. Make use of the following Toolkits
a. Unified Development Environments for New and Legacy Application Development
b. Legacy integration tools c. Migration tools
d. Modernization tools e. Application servers f. RDBMS
3. Use Cloud Hosting (optional)
Before demonstrating examples of these target environments, it is useful to describe what goals we have for each of them. Keep in mind that each solution does not have every one of these features. Still, modernizing using cloud architecture is always part of the solution set.
Modernize Using Cloud Architecture (UI, SOA)
A key part of this strategy is interoperability and integration with the platforms outside of the Legacy application platform.
Make Use of the Following Toolkit
Unified Development Environments for New and Legacy Application Development Many leading software companies including IBM, Oracle, CA and Microfocus have recognized the need to provide a unified development and deployment environment in which the same or similar tools can be used to develop and maintain Legacy and new development.
The solution path proposed later in this document suggests that it is possible to
modernize the application in such a way that the same base development platform is used to develop, manage and maintain Legacy, web and mobile applications in Intranet, Internet or Inter-cloud environments all with the same toolset.
Page 23 FIGURE 5 - IDE VIEW OF A MIGRATED LEGACY SCREEN
Development Features Needed
. UI Developmento Web and Thin Client. o Desktop and Rich Client. o Mobile.
. Powerful IDE
o Smart code editor, Code templates and snippets, Code completion. o SQL visualization, editing, validation.
o References and declarations; Refactoring. . Integrated Interactive Debugger
o State-of-the-art.
o No compile necessary, just click and animate execution as you define the code!
o Full control, step, run, reposition, skip, change variables content, etc… . Legacy Migration and Integration tools
o Generate fully functional UI from existing forms or report definitions. Generate web services.
Page 24 . Application Server support for
o Web and Thin Client. o Desktop and Rich Client. o Mobile.
o Database integration. . Scalability
o Single user to tens of thousands of concurrent users. o Develop on a laptop and deploy on large servers. o Clustering. o Load balancing. . Cross Platform o Microsoft Windows. o Mac OS X. o Solaris. o FreeBSD. o Red Hat Linux. o Novel Suse Linux. o Other Linux flavors. . Miscellaneous Features
o Hosts solutions.
o Provides database connectivity. o Data broadcasting between Clients.
o Hosts running Web Clients, Batch Processors and Headless Clients. o Provides email functionality.
o Executes report requests.
o Hosts Web service connectivity.
o Legacy migration and integration tools.
Legacy Integration Tools
Our goal is to make it so that the data and applications that are needed by outside applications can be integrated with the Legacy applications. There are many ways to do this.
Here are three common ones that do not require a change in program logic or structure.
1. Create a hybrid cloud. That means to connect another server to the network whose purpose is to act as an interface between the Legacy server(s) and the outside world. This application server contains adapters and other interface software that allows integration with the Legacy platform.
Page 25 Here are some examples of what can be done with this.
a. Interact with a terminal - Use a web terminal emulator and create a web service.
b. Direct database access – JDBC, ODBC, etc. – create a web service
c. Remote program and procedure calls
i. SOAP ii. JAVA RMI iii. RPC
iv. Remote SSH command execution 2. Migrate the user interface to the application server.
3. Migrate (re-host) the entire application to a cloud compatible server.
Each of these approaches makes it possible for the application to serve as part of the cloud.
Migration Tools
In general, software migration (re-hosting) is the process of moving from one operating environment to another. For example, moving from an HP 3000 Server to Redhat Linux Server would usually be considered a migration because it involves making sure that program logic does not require changing and taking steps to ensure that current applications continue to work in the new environment. Migration, in our sense of the word, would usually involve moving to new hardware and software so that the application becomes cloud compatible.
During migrations it is usually necessary to migrate data from one kind of database to another.
The goal of a migration is typically to achieve functional equivalence on the new platform.
Transformix uses software tools to perform migrations.
Modernization Tools
Software modernization goes beyond migration in that the goal is not just functional equivalence for all aspects of the application. There are many different approaches to modernization.
Page 26 At Transformix, we use a low risk modernization strategy. Our approach to
modernization is to make minimal changes to the application logic. First, we migrate the application to functional equivalence and then we modernize selectively using various tools.
Application Servers
Application servers are extended web servers that also run, or control the execution of, programs. Examples are Microsoft IIS, Apache Tomcat, JBOSS and IBM Websphere. In the case of Java application servers, the server behaves like an extended virtual machine for running applications, transparently handling connections to the database on one side, and connections to the Web client on the other.
One of the most important roles for application servers is that they serve as
communications gateways to the cloud and hosts for Web services. Therefore, an application server like Tomcat can be used to frontend a Legacy application server and serve as it’s gateway to the cloud.
RDBMS
Many more options are available to Legacy applications that run on RDBMS’s such as Oracle, Microsoft SQL Server, IBM DB2, Sybase, Postgresql and MySQL. A large and growing number of commercially available open source products target RDBMS’s.
Use Cloud Hosting
(optional)
Discussions of hosting in the cloud through use of SaaS, PaaS and IaaS are outside the scope of this document. If the application is migrated and minimally modernized, it can be hosted anywhere you like.
Alternatively, if it remains on the Legacy hardware and it is only connected to the cloud through an application server, it can be co-located in the same facility as other cloud hosted computers and supported that way. Obviously, one is free to do whatever is needed if implementing a private cloud.
Page 27
Demonstrations
Demonstration Overview
There are almost as many modernization tools and strategies as there are vendors selling them. Out of the mix, Transformix has selected two different approaches and two key strategies for modernization that have the following characteristics:
1. Cloud architecture compatible.
2. Different enough from each other to draw a contrast. 3. Representative of offerings from several vendors.
4. A unified development environment currently in wide use can be used with each.
5. Based on standard technology.
6. These tools can be extended to develop modern web and mobile applications. 7. All of the application types we have mentioned in this white paper can be
developed and maintained with these tools.
Featured Demos
. Hybrid approach using screen scraping – No change in platform, ASP .NET solution.
. Full cloud architecture – Migration from HP 3000 to Linux, Modernization – JEE, Java and Java Script (client and server side AJAX).
Existing or Re-hosted System – Hybrid Cloud
Key Features
. Mostly automated
. Tool assisted screen capture and web services definition – FlyNet Viewer . UI to JAVA and Java Script
. Microsoft .NET Framework . IIS Application Server
Re-hosted and Re-architected System – Full Cloud
Key Features
. Automated.. COBOL to JAVA – JavaCOBOL. . Java.
. UI to JAVA and Java Script. . J2EE Tomcat Application Server.
Page 28 . Transformix Tools.
. Servoy Framework.
Two Featured Strategies for Getting Legacy Applications to the Cloud
Just as there is no commonly accepted definition of what “The Cloud” is, there is no exact industry standard definition of the components of cloud architecture. For this whitepaper the focus is on the adaptations necessary to place the retained Legacy application in a position to seamlessly interact with others, as described above. This allows us to focus on two strategies.The Hybrid Cloud and the Modernization and Migration approach. While there may be other approaches available, these will suit the purpose of understanding what benefits are possible when Legacy applications are brought to the cloud logically intact. It will also provide some flexibility so that we can customize our approach to suit the business needs of the organization.
The first approach is called the Hybrid Cloud approach because the application continues to run on a platform that is not-necessarily suitable for cloud adaptation. Simply, the application remains unchanged and hosted in its original Legacy
environment.
The cloud architecture comes from an additional application server that is
programmatically connected to the Legacy environment through existing API’s and interfaces.
The second approach involves rehosting (migrating) the application to a new cloud suitable environment. Each of these approaches has their advantages and
disadvantages and we will examine those after describing the approach.
The Unified Development and Deployment Environment
As was mentioned previously, many leading software companies including IBM, Oracle, CA and Microfocus have recognized the need to provide a unified development and deployment environments in which the same or similar tools can be used to develop and maintain Legacy and new development.
For users who are already familiar with a particular vendor’s offering, a similar type of approach can be followed using their products. However, there will be differences. For example, the IBM solution works with a language called EGL.. IBM provides a complete set of tools that one can use to implement a similar solution to that described in this
Page 29 document. The Microfocus solution is built for COBOL users and we are not aware that it provides the tools necessary to implement the Hybrid cloud approach.
For the benefit of others, we present a Servoy and Transformix based tools approach that can be used to implement the kind of solution we think will work best to achieve specific objectives.
To reiterate, the proposed target environment and both solution strategies include:
1. Cloud architecture
According to Wikipedia “Cloud computing architecture refers to the components and subcomponents required for cloud computing. These components typically consist of a front end platform (fat client, thin client or mobile device), back end platforms (servers, storage), a cloud based delivery, and a network (Internet, Intranet, Intercloud). Combined, these components make up cloud computing architecture.” Virtualization is also strongly associated with Cloud Computing Architecture or infrastructures.
2. Servoy Product Suite
The Servoy Product Suite consists of Servoy Developer, the Servoy Application Server and the Servoy Clients. Servoy Developer is used to design, develop, test and debug applications. Servoy Server is used to deploy the solution towards users, either as a zero-deployment, native Smart Client or a browser-based Web Client.
3. Transformix Tools
This is the glue to make Legacy applications work with Servoy.
The Hybrid Cloud Approach
Several vendors such as FlyNet, Attachmate and IBM have tools and strategies that frontend the Legacy environment with a cloud-based server. Attachmate provides an excellent article that describes this approach. It is part of the series of articles
mentioned above and is available for access @
http://www.realtimepublishers.com/esce.php.
FlyNet provides the same kind of approach as Attachmate from the above article. The FlyNet approach is illustrated by the diagram in Figure 5. The essence of the approach is
Page 30 to use a terminal emulator to interact with the original application.The application is usually unaltered in its current host environment. This is typically called screen scraping. Instead of users interacting directly with the application, programs or scripts that mimic user behavior, are recorded. A special workbench, FlyNet Studio, is provided so that a trained person can playback the recordings and fine tune the interactions. Once a set of screens and screen navigation rules are recorded, these are saved.
These stored scripts have two uses, they can be used to test the application and the can be used to generate C# programs that interact with the screens as a user would. These program objects mimic user behavior and can also be used as part of a FlyNet generated web service. In this way the runtime behavior of the application can be programmatically controlled.
The three most important reasons to consider this approach are
(1) It can be implemented very quickly and economically.
(2) In most cases it can be implemented with no changes to the existing application. (3) It can remain hosted on the current computing platform.
Page 31
How the Hybrid Cloud Approach Works
Here’s a high level view of how the FlyNet Hybrid approach works:
1. A user records an interactive terminal session like the one shown in Figure 7. 2. A special set of tools in FlyNet Viewer Studio are used to select representative
screens from the recorded session as well as identify and name unique screens and how they flow.
FIGURE 7 – FLYNET GREEN SCREEN
1. FlyNet Viewer studio generates program objects that are used to recreate the activity that the user recorded.
2. The program objects can be attached to an entirely different web, mobile or graphical user interface which can also be turned into a web service.
Page 32 3. FlyNet tools can be used to change the screen into a more graphical look and
feel with ASP .Net as is shown in Figure 8.
Even though the FlyNet tools are intended for use in a .Net environment, the web services can be consumed by a Java Environment.
FIGURE 8 - FLYNET MODERN SCREEN
Extending the FlyNet Model
Adding a Unified Development Environment to FlyNet is done through the web services interface. Therefore, JAVA based tools can be used to develop and extend the user interface.
Page 33 Many vendors offer migration and modernization solutions. The approaches used vary considerably. Oracle has put forth an article entitled “ Moving your application and data forward - Oracle IT Modernization Series: Approaches to IT Modernization “ which can be found @ http://www.oracle.com/us/technologies/modernization/036341.pdf
The article describes a representative set of solution paths that are consistent with keeping the application logically intact. These solution paths include Re-hosting, Migration to RDBMS and Modernization.
Our firm, Transformix Computer Corporation, also provides some relevant materials and examples.
Page 34 FIGURE 9 - CLOUD ARCHITECTURE TARGET ENVIRONMENT
Visit the Transformix website @ http://modernization.xformix.com/
Re-Hosting
Transformix believes that re-hosting, or migration, is the shortest and most economical path to move an application from one platform to another. There are many ways to accomplish this.
The process consists of creating a runtime environment that is functionally equivalent to the original source environment and using automated tools to transform existing source code so that it runs on that target environment. For example, a COBOL program that was originally written for use on the IBM mainframe, HP 3000 or IBM iSeries, retains its logic and functionality. It also might maintain its calls to external source operating system API’s with code that maps source operating system calls, functions and products to the target environment.
The process is further described here http://modernization.xformix.com/?page_id=364.
Migrating Databases and Data Sources
Migration to RDBMSIn today’s world, the term ‘database’ is often used interchangeably with ‘RDBMS’. Other database models such as hierarchical are not as easily accessed and come with other limitations. See the article entitled Migrating to Relational Systems: Problems, Methods, and Strategies for a more complete discussion of the subject.
As a result of these limitations, organizations now opt for migration of data to a more flexible and easy-to-use RDBMS. This way data is represented as an entity and attributes. Data access on many Legacy computing platforms can be unique and proprietary. These platforms range from mainframe and minicomputer data stores such as IBM IMS, HP TurboIMAGE, IBM VSAM, ISAM, HP KSAM, Adabas, DataComm and CA-IDMS. However there are newer Legacy data stores such as FileMaker, and Microsoft FoxPro, even though they are considered relational and lack the features of modern RDBMS’s. Still, much corporate data is stored in a variety of miscellaneous databases that have undesirable limitations or are obsolete.
Page 35 When the objective is to preserve a data source which is currently part of a Legacy application, the ability to access the data while allowing other applications to access it as well, must also be preserved.
Two common solutions to this issue are (1) the use of adapters and (2) the use of a database access layer.
First, adapters such as Mule USB, exist to make some of these data sources accessible externally and therefore, cloud accessible. In the second scenario, the data is actually migrated to an RDBMS and an access layer is provided to allow the Legacy
applications to continue working against the data source through implementation of the Legacy API’s.
Page 36 FIGURE 10 – TURBOIMAGE DATABASE CONVERTED TO ORACLE
Page 37 Perhaps the most common screen type on an HP 3000 is the VPLUS form which is stored in a proprietary format. The development language in this case is COBOL. The original program screen is show in Figure 10.
FIGURE 11 - RE-HOSTED CHARACTER MODE APPLICATION
An overview of the migration steps for forms and programs is provided in Figure 12. 1. Using JavaCOBOL we convert the code to JAVA which looks very similar
to COBOL. See Figure 14 for an example. 2. The VPLUS forms file is converted to XML.
3. It is then converted to the internal format used by Servoy. 4. Thereafter it is maintained in Servoy.
5. At runtime, a combination of JAVA and JavaScript are used along with Transformix libraries to perform equivalent functions to on the HP 3000.
Page 38 FIGURE 12 - SCREEN AND PROGRAM MODERNIZATION OVERVIEW
For example: On the HP 3000 The database is usually TurboIMAGE. It is accessed using TuboIMAGE intrinsics which are collectively called the TurboIMAGE API.
Other proprietary file types are KSAM, MPE Message Files, MPE Circular files and MPE flat files. Programs and utilities using MPE-based data expect to be in an environment that offers labeled files and file equations.
Transformix’s xformix tools allow TurboIMAGE data, KSAM files and MPE Message files to be stored in the leading industry standard RDBMS’s. These include Oracle, Microsoft SQL Server, IBM DB2 and Postgresql. Other file types are stored in the native file system of the platform.
Programs that access the data in the RDBMS can either use the MPE intrinsics or native SQL for access. At the time of migration, data types can be converted to a RDBMS format with native being the most popular change.
However, even though dates can be changed from a COBOL X(6) to an RDBMS date type as an example, the existing MPE/iX programs do not need to be changed. They can still refer to the data as an X(6).
Page 39 FIGURE 13 - JAVACOBOL SAMPLE CODE
Modernization
There is a seemingly endless list of Modernization possibilities for Legacy applications. This white paper focuses on one approach that illustrates features that can help an organization maximize the benefits of using cloud architecture.
Page 40 The Servoy Developer is a typical modern IDE. It provides the ability to maintain the modernized application going forward. An image of the workbench is shown in Figure 14.
An image of the automatically generated screen created by Transformix tools is shown in Figure 15.
FIGURE 15 - SERVOY GENERATED UI UNMODIFIED
After migration of the forms and COBOL modernization are completed, users are free to enhance the application as a native Linux or UNIX Servoy-based JAVA and JavaScript application. Figure 16 shows how a screen might be enhanced by tools in the Servoy workbench.
Page 41 FIGURE 16 - SERVOY RE-ARCHITECTED UI
Goals for Modernization
Table 1 is used to relate our goals for modernization to steps in the solution presented. TABLE 1 - GOALS FOR MODERNIZATION AND HOW TO ACHIEVE THEM
Considerations Modernization Step
Access to latest technologies: It is not necessary to replace a proven application to get access to the latest technologies such as web enablement, mobile device integration, relational databases, etc. The right choice of a modernization approach can help make the legacy application suitable for these things as well.
Servoy and Transformix tools
Shortened Development Times: With the right approach, and under the right circumstances, customers can see web or
Page 42 mobile interfaces added to legacy
applications in a much shorter timeframe than what can be achieved by completely replacing the application. Reduced TCO due to lesser maintenance and maintenance cost
Public or private cloud
Integration: Service enabling your application promotes the interaction of system with any type of applications enabling data exchange easier and faster
Web services, JavaCOBOL
Staffing and Training Expense Reduction:
Training and availability All in one development environment
Advantages and Disadvantages
There is no absolutely best “under all circumstances” approach to modernization. It depends on the goals of the organization. Table 2 is used to show how the two solutions presented compare.
TABLE 2- APPROACH ADVANTAGES AND DISADVANTAGES
Criteria Hybrid Cloud Approach Full Cloud Modernization
Startup time short Varies (3 months to 3 years)
Time to implement a specific
project short short
Expenses Low to moderate varies
Business Risk low low
Reusability Very good Excellent
Legacy Environment
Performance Impact Low to moderate Low to moderate
Implementation in stages Possible immediately Must wait until initial like for like migration is completed
Page 43
Using Both Approaches on the Same Legacy Application
As was mentioned previously, use of the above strategies, are not mutually exclusive. If for example, the organization would prefer the Full Modernization approach but finds a compelling reason to provide mobile access to company data for which a terminal based application already exists, there is no reason to wait.
The hybrid approach can be implemented on a limited basis to use as an interim solution until re-hosting is done. The mobile application can be created with tools that will allow the reuse of almost 100% of the code used to create the hybrid application.
How did we Do ? Legacy Challenges
At the beginning of this white paper we wrote about Legacy application challenges. Table 3 lists those challenges and a few more. It shows how the proposed solution approach addresses these.
TABLE 3 – REPORT CARD
Key Issue Description Solution
Function
Supplement the lack of key features, functions, and reporting capabilities with standalone Commercial Off-The-Shelf (COTS), Access and Excel applications (shadow systems)
Functions are available through Servoy using a combination of built in features and third-party plugins
Flexibility
Lacks the Enterprise
Architecture/Service-Oriented Architecture (SOA)
SOA is available through Servoy both for client access to services and to create web services
Language COBOL JavaCOBOL
Programming
Technical professionals with COBOL programming expertise are a diminishing resource
JavaCOBOL enables existing COBOL trained staff to continue to maintain programs and learn Java at the same time and helps new developers learn the
Page 44 application and extend it.
Limited Integration
Lacks integration with
contemporary technologies, e.g., Mobile Apps/Devices, Enterprise Content Management Systems, Automated Workflow, E-Forms/E-Signatures, Geographic Information Systems, and so on
Integration is possible through the Servoy application server. It uses cloud architecture features and contains the features needed to interface with whatever it needs to interface with.
User Friendliness
Command-based screens and cannot provide a contemporary Graphical User Interface (GUI)
Servoy allows applications to be deployed to both a native Smart client / Rich client and to a pure html Web client and on mobile devices from the same codebase and user interface definitions.
Customer Access
Lacks web-enabled features and functions that could significantly improve customer service
Servoy provides web and mobile interfaces
Uniform Development Environment
Staffing and Training expense reduction, Shortened
development time, Leverage existing and new staff on multi-platform projects, Improve quality and flexibility with a consolidated team infrastructure, reduce maintenance costs
The use of Servoy as a
development platform for both legacy and new applications coupled with JavaCOBOL leverage new and existing staff on the same projects. This saves time and money and addresses the declining numbers of
COBOL programmers problem.
Cloud
Architecture
Leverage modern processes, tools and middleware to reduce costs, improve quality and productivity
Integration is the key here. This gives management the flexibility to integrate cloud services with legacy and new applications.
Uniform Deployment
Simplifies IT management and systems administration, reduces
Page 45 Environment the number of skills required
Open Source Lowers costs and reduces business risks
Servoy is open source and is built with open source products
How did we Do ? Today’s key Development Challenges
Also in the Legacy Challenges section, we wrote about key development challenges that are addressed in this white paper. It is worthwhile to examine how those were addressed as well.
TABLE 4 - KEY DEVELOPMENT CHALLENGES Key Development
Challenge
Solution
New Applications Single toolkit used for all application development with variations
Legacy Applications Single toolkit used for all application development with variations
Cloud Applications Single toolkit used for all application development with variations
Skills Skills are leveraged across application development type and platforms
Platforms/Middleware Works across platforms
Summary and Conclusions
In order to really be in charge of IT, management needs to be free to pick the best application for the job and to choose the best developers for the task. Applications can be Legacy applications, COTS packages or services provided by cloud hosting companies.
Page 46 Cloud architecture gives management the flexibility to choose. Cloud-centric Unified Development of Legacy and Modern Applications simplify the IT development
environment.
Tools are needed for use in new development of Legacy applications. A strategically selected modernization approach for Legacy applications mitigates most, if not all, of the challenges facing IT management.
The use of cloud architecture and hosting techniques can provide substantial benefits to organizations that use Legacy applications. In this whitepaper we have focused on these key benefits:
Access to latest technologies Shortened Development Times Reduced TCO
Integration
Staffing and Training Expense Reduction
We have attempted to show two approaches to enabling Legacy applications for use on the cloud and have provided a list of advantages and disadvantages of each approach.
Toolkits, Partners, Open Source, Platforms and RDBMS
Toolkits
. Unified Development Environments for New and Legacy Application Development . FlyNet
. Legacy integration tools . Language translators . Migration tools . Application servers . RDBMS Partners . Inventu . Servoy
Page 47 . IBM . Microfocus . HP Open Source . JavaCobol . Servoy . Apache Tomcat . Java . JavaScript Platform . Linux . AIX . Solaris . HP-UX . Windows . IBM I RDBMS . Oracle . DB2
Page 48
Transformix Computer Corporation
Transformix provides software solutions and services that include migration tools, custom programming language translators and development tools that help automate the migration, transformation and enhancement of Legacy software applications into modern environments.
Our skills include the use of older programming languages such as COBOL, PASCAL, FORTRAN, SPL, C andC++. Additionally, we are well versed in newer languages including JAVA, C#, Python/Jython, JavaScript and Groovy.
Our RDBMS (Oracle, IBM DB2, Microsoft SQL Server, Postgresql) centric approach
includes the use of both commercially available off the shelf products (COTS) as well as open source products.
Target platforms include Legacy-UX, AIX, Linux and Microsoft Windows Server. We provide technical support, consulting and training.
For More Information
Homepage: http://modernization.xformix.com
Contact: Charles Finley (619) 795-0720
email: [email protected]