Modernizing Legacy applications can be done in such a way so as to modernize not just the code and data but the developers and their tools as well.
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.
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 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 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.
Selected examples of features considered to be part of Web 2.0 are listed below:
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.
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.
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.
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.
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.
These products support accessing SQL relational databases, such as MySQL and Derby, from tools-generated Java services and libraries.
With support for consuming services that return XML or JSON, developers can create new applications and services that utilize existing services.
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.