Being able to offer a nice UI, browser access, and Web services access in your IBM i apps is all to the good. However, there are hidden bumps in the road to app modernization.
"Application modernization" has come to mean many things, from simply improving the execution of RPG code (e.g., by translation of old code to RPG ILE), to adding a graphical UI to legacy apps ("screen-scraping"), to revamping applications to function in a Service-Oriented Architecture (SOA) or Microsoft's .NET environment and adding browser access. Strategies for doing this are driven by many reasons, the most obvious of which are better appeal to users, better functioning of applications for business missions, and opportunities to re-engineer IBM i software to work in multiplatform environments.
"Uniting the best user experience with the best possible back-end platform," is how Lee Paul, CEO and chief modernization strategist at Surround Technologies, sums up app modernization for the i. "Combining the i with [Microsoft's] .NET is an unbeatable solution," he adds, touting his company's approach for achieving that.
There seems little doubt that Windows-like graphics, browser accessibility, added functionality, and better integration into multiplatform environments are important reasons for modernizing applications on the i. But these perennial justifications for app modernization aren't the whole story any more.
Paul points out mobile devices as the next challenge facing companies seeking to modernize their software. "Technology is changing faster than ever. Now we have phones, tablets, kiosks, and way-finding devices to tie in.
David Brault, product marketing manager at LANSA, is in sync at least with Paul's assessment of mobile devices as the next horizon for application modernization. "LANSA strongly believes that the next future challenge for application modernization revolves around delivering mobile apps. The Internet is littered with debates on whether mobile Web apps (written in HTML) are better or worse than native mobile apps (written in a variety of phone-specific languages). The truth is that both types of mobile apps have positives and negatives and, in reality, most enterprises need to deploy both [types] in the future."
Naturally, Brault sees the road to application modernization taking a different direction than Paul does. "Because the LANSA platform maximizes reuse of 5250 applications in a variety of different ways, [our technology path lets] companies quickly address their immediate modernization requirements by deploying modern applications with added productivity and functionality."
Twentieth-Century Solutions with a Twenty-First-Century Problem
Probably because it's slow-moving and therefore doesn't attract so much attention, there's another reason for application modernization on the IBM i that's not cited very often, yet is approaching critical mass. That's the aging of the cadre of developers who've been at the core of IBM i software since the System/38 days.
"Many businesses started out with their mission-critical apps running on the S/38 back in 1980 or 82," recalls Roger Pence, U.S. customer service and education director at ASNA. "Some years later, the same team moved that app to the AS/400, and later the i. But now the expertise that's been in place all that time has given notice that they plan to retire in the next few years. When that happens, the businesses affected aren't just going to lose their coders. They're going to lose the people who are carrying around the applications' structure and data flows in their heads. Those applications have become quite large over the years and are now irreplaceable components in the way those companies do business. You can't replace them with some off-the-shelf software application, no matter how good it is."
Brault sees this challenge as extending beyond just the i platform itself. "The IBM i organization needs to start investigating how they are going to satisfy their future mobile requirements because few companies can afford to staff HTML 5, Objective-C (iPhone/iPad), Java (Android), and .NET developers to build mobile apps."
Paul sees trouble ahead also. "[Software] systems are so big, built over years of heavy investment. Some have millions of lines of code. For some companies, the people who built those are long gone, and sometimes the original source code is unavailable. Often, we see people responding to this by doing nothing or by trying to revamp all their software and having a number of false starts. Instead of focusing on business needs, they're forced to stop and focus on their technology instead."
"[Enterprise systems] contain millions of lines of code with embedded business logic, validation rules, and programming intelligence that can't be easily discarded," is how Brault puts it. He goes on to point out that simply chasing the latest modernization tools can be counterproductive. "Look at how many technologies have come and gone over the last decade. And look at how many companies have been left stranded with dead-end solutions because their tool of choice was not architected for the future. Usually, one of two things happens when technology changes. The first is to run out and buy a new tool, and then another. This continues until IT is smothered by technology and becomes counterproductive."
So what's the solution?
Focus on Easy Stages
"We feel that businesses need to do incremental, stepwise modification of their applications. Make it as non-invasive a procedure as possible," Pence notes, which seems like solid advice in the general sense. "All new technologies are new to the users," Paul adds, "and users aren't 100 percent comfortable with anything new."
"LANSA's philosophy is to provide a single, low-risk solution that addresses a company's immediate tactical modernization and [then provides] a strategic, long-term path for the future," Brault notes. "Companies can choose to incrementally reengineer the least productive and most rigid parts of their [applications] with LANSA technology, combining new and reused technology inside the same application. Optionally, the customer can continue to reengineer all their legacy applications over time [until] the final result is a fully reengineered application built with their vision, their plan, and is ready for their choice of interface, database, or platform."
"It used to be that the AS/400 was the center of the universe at shops that used it. Now," notes Pence, "the IBM i is just one cornerstone in a network that has other cornerstones based on AIX or UNIX or some other platform."
Pence also emphasizes how ASNA products let customers add modernization features to RPG programs, then later migrate to a .NET environment. "If you're hosting the presentation layer in .NET, then you can build new .NET apps around that."
Whichever road one follows to modernization, doing things one step at a time rather than tackling modernization all at once seems to be universal advice from these three vendors.
One other thing all three tool providers agreed on was that the IBM i has still got staying power in the future. "The IBM i's scalability, reliability, low cost of ownership, and return on investment means it's positioned well for the future," Brault states. "It's solid. It's the best platform. I wouldn't want to run my business on anything else," is Paul's opinion. "In most shops, the IBM i is now a cornerstone in a network that has other cornerstones such as AIX and UNIX. Businesses still rely on them and have mission-critical dependencies on them. [These businesses] need to pull the i back into the natural workflow of their networks, and whatever we can do to pull it back into the mainstream is good," Pence concludes.
Buying a Modernization Tool
So the top priority in buying app modernization tools (or suites) appears to be a matter of fitting the modernization method to the business mission and the available talent, as well as the obvious time and budgetary concerns. It seems best to take the view that modernization is a process that extends indefinitely into the future rather than a problem that actually ends in a permanent solution. What's the best strategy to follow depends on factors that are different from company to company. As difficult as it is to predict the future in an environment where technology is morphing as quickly as it does in IT, it almost requires companies to pick a strategy to stick with and then seek tools that will help move it in that direction.
Another consideration in purchasing app modernization tools is the level of automation the tool offers. Some tools, for example, provide various means of altering applications but still require considerable design and coding work by a programmer. Other tools automate many of the application-alteration steps.
What follows are tools for modernizing apps on the i. This article does not include systems for building new apps unless that is a capability of the product in addition to its ability to modernize legacy apps.
Application Modernization Tools for IBM i
Strategi SOA enables separation of server applications into SOA components, enabling developers to build new Web applications or Web extensions of legacy applications. Strategi can generate components from legacy apps that function in Visual Studio, .NET, and Eclipse environments.
Strategi webSERVICES is a framework that lets developers create UIs for legacy apps using third-party development tools (e.g., Visual Studio, Eclipse, and Dreamweaver), send messages to and from other IBM i applications (i.e., those of business partners) via the Internet, and consume Web services on the same or other systems coming from .NET, XML, Java, RPG, and COBOL apps or public providers.
Strategi webSTYLE generates graphically rich UIs for legacy applications and includes features such as dynamic icons that replace function keys and multi-session tabs that don't require use of multiple open windows.
iSafari functions as either a Web-enablement tool for legacy applications or a means of generating new Web applications for IBM i. Using Socket technologies, iSafari provides browser interfaces, HTML compatibility, and IBM i security support for Web apps.
AVR for .NET is an RPG compiler for Microsoft's .NET framework that integrates with Microsoft Visual Studio and lets developers build new RPG or Windows apps, as well as modernize existing apps to accommodate Web services, provide data transparency between Windows and System i databases, and extend RPG source to be compatible with industry standards (e.g., XML, SOAP, RIA).
ASNA's Monarch automates processes needed to convert RPG-based applications to Microsoft .NET to Web-enable them, as well as optionally converting System i databases to SQL Server. Converted applications support n-tier architectures, GUIs with browser accessibility, Web services, and enterprise-wide application integration.
Wings offers an RPG application modernization tool that builds browser UIs for legacy applications via IBM/Rational's Open Access API. Developers can integrate this UI with other applications and legacy systems and convert applications one screen at a time.
Verastream is a suite of products that includes tools for bridging 5250 and 3270 emulation systems, DB2 and other databases, and transaction systems to help make legacy applications part of a larger system of composite applications. Composite applications can take advantage of reusable Web services, XML, JavaBeans, and .NET components.
Business Computer Design International (BCD)
ClearPath Modernization Suite is an integrated tool suite for constructing Web-based and SOA-friendly applications, either from scratch or based on legacy applications. The suite includes WebSmart Presto, which lets developers integrate new SOA, AJAX, and UI elements into legacy apps without changing those apps' source code. Other members of the suite include WebSmart ILE and WebSmart PHP, which also support SOA-friendly Web app building or Web legacy extensions in RPG or PHP; the Catapult and Clover Query report distribution and query tools; and Nexus Portal, a Web-portal generator.
CA's 2E provides an interactive development environment (IDE) for System i apps, as well as modernization options for existing apps. It generates source code in RPG, COBOL, RPG ILE, and COBOL ILE. It features model-based development, relational database design to support apps, reusable objects, direct-to-Web deployment options, and full lifecycle support tools for developed apps.
CA Plex is a multiplatform RAD tool that helps programmers build apps for server, Web, and SOA environments. Features include a language editor, GUI screen designers, a diagrammer, drag-and-drop business objects, and impact-analysis tools.
Valence offers an application framework for retrofitting IBM i apps to run in a Web 2.0 environment or for building RPG-based Web apps that run on IBM i. It includes a library of Java scripts that work with RPG, Web 2.0 browser components, a Web portal, integrated e-mail support, and an integrated PDF generator.
Convertigo Enterprise Server is an open-sourced tool suite that lets developers generate new applications from old ones. New app versions can incorporate such features as mashups, SOA and Web services compatibility, browser accessibility, SQL connectivity, and HTML support.
Freestyle-400 converts RPG applications to Web accessibility via any browser, but without conversion to Java or .NET.
X-2E is a tool suite that provides analysis, design recovery, and migration of existing IBM i apps built using CA's 2E IDE. Available in professional and enterprise versions, X-2E helps developers move legacy apps into Java, Silverlight/C#, and RPG/Free versions for deployment on the Web and in other environments.
Flynet Viewer lets developers convert IBM i and UNIX application screens into Web applications or Web services by recording screens, relationships, and dataflows within the original apps and automating their transformation. Viewer incorporates graphical tools and an IDE that generates .NET components for making customizations or new features.
The iSeries2Web solution is a collection of built-in RPG functions that enable browser access to IBM i applications. It lets developers reuse business logic from legacy apps, build new modules with graphical features, and access third-party data sources via XML and TCP-Socket communications.
LegacyWeb automatically translates existing RPG, ILE RPG, and COBOL applications to HTML, enabling those apps to run in a browser environment. LegacyWeb can also generate XML that provides a gateway between legacy applications and wireless applications.
Rational Developer for i for SOA Construction specializes in providing an IDE for constructing Web 2.0 applications and user interfaces, as well as linking them to existing back-end server applications or modernizing those applications directly, as needed. The Eclipse-based IDE uses IBM's EGL language but can link to existing RPG and COBOL source code to emplace applications within an SOA architecture.
Previously known by other product names (most recently Rational Developer for i), Rational Developer for Power Systems Software includes facilities and tools for building new IBM i applications and modifying old ones. Features include integrated development environments for all major languages supported by the IBM i, application performance-analysis tools, programmer productivity utilities, and a collaborative application lifecycle-management environment.
Rational Host Access Transformation Services (HATS) converts 5250 green-screen applications to Web and other user interfaces and extends them as standard Web services.
Major features include an editor for developing macros and Web services.
Rational Migration Extension assists in upgrading Windows and Linux applications that access IBM DB2 databases under IBM i V5R4 or later.
Rational Open Access RPG Edition provides enhancements to the RPG language that let developers write I/O handlers that open legacy applications to a wide range of resources, such as browsers, mobile devices, cloud computing, Web services, external databases, XML files, and MS Office applications such as Excel spreadsheets.
WDSc for System i converts DDS display file source members to JavaServer Pages (JSP) or XML files to let the UI of any System i application run in a browser. This facilitates deployment of the interface as a WebSphere application. Style properties embedded in WDSc let developers change graphical attributes and other aspects of the UI at any point prior to runtime.
Interactive Dynamic Technologies
DEJA.400 AS/400 to J2EE Conversion Program is a J2EE application server and relational database engine that Webfaces host applications by converting each application's existing DB2 databases to relational databases, extracting business logic from RPG and CL code and converting it to Java, and transforming 5250 display screens to a browser-friendly GUI equivalent.
RPG-XML Suite is an RPG service program that lets developers incorporate XML and Web services into legacy applications and also offer legacy applications as Web services.
LANSA's aXes (which is also offered by Linoma Software under a partnership agreement) lets enterprises deploy legacy host applications to a browser without writing new code via an automated process. The product's eXtensions feature also generates Windows GUI features (e.g., images, dropdowns, checkboxes), and other options enable remote SQL queries and access to spooled files.
RAMP (Rapid Application Modernization Process) from LANSA is a modernization suite for IBM i applications. It provides an application framework that's deployable as either a Windows rich-client or Web app browser, within which developers can integrate application navigation and organization components, repurposed 5250 screen applications, and browser applications.
newlook generates improved UIs for legacy applications. The product features drag-and-drop support for refacing options, multiple APIs, SOA compatibility, and integrated support for emulation, mobile clients, and zero-deployment and smart-client GUIs.
re:new is a Microsoft .NET development system for building apps that run on IBM i and Windows systems. It works with existing business logic and lets developers transform existing apps to more modern forms, as well as to build new modules and interfaces.
soarchitect helps transform legacy applications written in RPG or Cobol to an SOA environment. This enables integration with applications on Windows and other platforms, use of Web services, and smart-client UIs.
OnWeb converts System i apps to Web or .NET interfaces, deploys applications securely to internal users, generates Web services automatically from System i screens and business logic, and can present data from multiple sources as Web pages.
The iNEXT solution translates System i applications to .NET on the fly, enabling modifications to the original apps over time that are reflected in the .NET versions available to run on the Web. Translation can be carried out by enterprise developers or as a service from ML–Software.
m-Power offers a solution for both converting legacy software to browser compatibility and developing new Web applications based on System i software. The product generates Java code for portability and scalability, provides a tutorial interface that lets even non-programmers convert apps, and can convert third-party software or custom programs.
Pluta Brothers Design
PSC/400 provides three options for converting System i applications to run on the Web: a Web-enabled green-screen mode, a "gray-screen" JavaServer Pages (JSP) conversion mode using Cascading Style Sheets (CSS), and a rules-based application-generator mode.
Profound Logic Software
Profound UI is an enhancement for RPG based on IBM's RPG Open Access that offers direct generation of UIs within RPG. The product offers point-and-click tools for building browser interfaces that can then be integrated with new or legacy applications for the IBM i. The Profound UI includes Profound Logic's established Genie product, which helps enterprises Web-enable their legacy apps without altering any existing code by generating standard HTML to handle Web interfaces.
LegaSuite offers a collection of tools for converting System i apps to the Web, integrating them into multiplatform and SOA environments, and building Web enhancements such as dashboards and reports drawn from multiple sources.
WebMethods ApplinX is the core technology of Software AG's suite of solutions for automatic conversion of legacy applications to Web access, enterprise-wide integration, and conformity with SOA. It works with System i, IBM mainframe, and other-platform applications.
Surround Technologies' Accelerator suite consists of three applications that can be used for modernizing IBM i applications: Accelerator for IBM i Silverlight, Accelerator for IBM i Windows Presentation Foundation, and Accelerator for IBM i HTML 5. The first works with Microsoft Silverlight, a plug-in tool for the .NET framework that helps developers create and deliver RIA applications and media experiences. Accelerator for IBM i Windows Presentation Foundation works with the MS WPF of .NET to generate documents, media, two- and three-dimensional graphics, animations, Web-like characteristics, and more. The third application works with HTML 5, a still-in-development version of Hypertext Markup Language, used for structuring and presenting Web content.
System Objects Corporation
JACi400 is a suite of software tools that helps developers modernize existing applications, construct new server-based applications, and build new (or convert older) applications that run over the web. It generates source in COBOL and all versions of RPG, generates HTML for web apps, includes new-app deployment tools, and includes HTML objects such as check boxes and radio buttons.
Transoft Legacy Liberator is primarily designed as a tool for migrating System i applications to an open-systems environment. However, after conversion, the applications can be made available to the Web via tools appropriate to the target platform.
WebsydianExpress for RPG converts System i apps to run over the Internet by using multiple APIs as part of a solution-intrinsic enterprise Web site framework. Wizards automate generation of GUI and site features as well as appropriate HTML. The solution also provides security tools, role-management aids, and site-administration features designed for non-technical users.