Application modernization on the IBM i remains a moving target for nearly everyone. That's probably because it's actually become a code phrase for many different approaches. Webfacing or refacing is the most common.
"Application modernization" as a term has been floating around the IBM i market long enough that it should be old hat by now, except it isn't. It's even still a buzzword…although perhaps "buzz phrase" would be a better characterization. In both the past and present it means modifications referred to in as varied ways as screen-scraping, refacing, re-engineering, and now, being capable of mobile-device access.
What follows is a two-part article covering application modernization tools and some commentary from modernization tool vendors that shows how they view some of the issues in their market. Part 1, published this month, will cover refacing apps for display on the web, as well as list approximately half of the vendors offering all types of modernization tools. Part 2, published next month, will discuss the issue of transforming apps for use with mobile devices and will list the app modernization tools available from vendors in the second half of the alphabet.
Webfacing: Not a Total Panacea
To what does Webfacing, or refacing, owe such longevity as a term, and more importantly, as a market issue? Probably the very fact that it has come to mean so many different things to so many different people.
"Some may categorize technologies like Java, PHP, EGL, Ruby, NodeJS, etc., as 'modernization' options on IBM i," observes Alex Roytman, CEO at Profound Logic Software. "But to me, these are 'application development' options, often used for new requirements or rewrites, rather than modernization. I think of modernization as the process of taking existing code and 'evolving' it (i.e., refactoring it, perhaps little by little) into a more modern application. It's an ongoing process."
"When you switch languages, you can't really modernize the code; you have to scrap it and rewrite it," Roytman goes on to say. "And when you have a substantial enterprise-wide application running on IBM i that has been honed over the years, rewriting all the code to another language, or even switching to a packaged solution, is usually an unrealistic and unnecessary endeavor. I do often see companies underestimate this effort and consider 'ditching' the platform, but I have rarely witnessed this done successfully or as planned. The typical scenario I see is that after many years and tens of millions of dollars spent, the organization realizes that they can't get away from the platform so easily. Then they realize that there are better options available, like modernization. For business applications, the IBM i platform is actually more modern and more robust than other platforms out there. The same goes for the RPG language. The older applications just need be brought up to speed with the current capabilities of the platform."
"By far, Web or browser-based access to the IBM i application portfolio is the most popular [modernization request]. More specifically, 'green-screen' modernization is at the top of the list," agrees Charles Jones, solution architect at Rocket Software.
Not everyone agrees, however, with the idea that adapting IBM i apps to a browser is the most effective form of modernization.
"Refacing is the most prevalent form of modernization request we encounter," notes Richard Milone, co-founder and CTO of CNX Corporation. "However, I think it does the platform a disservice because it's not a great way of getting older applications to the Web. The user experience is not as good when you're just browser-enabling something. Refacing is fast and cheap. You just have to buy some tools, and the labor cost is relatively low. But the final product is not optimal. The user experience is the biggest challenge. A refaced app just looks like a green-screen app moved to a browser. The real question is whether or not my users think it's modern."
Getting to a Modernized App
"The two most popular modernization approaches that I have seen are refacing and RPG Open Access," offers Profound Logic's Roytman. "The two options work well together. These approaches also open applications up to integration with other languages and technologies—JavaScript and PHP being the languages I see more often than others."
"I attribute the popularity of this approach to their effectiveness," Roytman continues. "Refacing is an easy way to get started and get results quickly, which is important because we live in an agile environment. RPG Open Access, while a bit more involved, still produces results quickly and has no limitations as far capabilities go. There is not much another system or language can do that you can't do with RPG ILE and RPG OA, and typically more quickly and in a more reliable manner."
What follows are the major tools for modernizing apps on the IBM i. For reasons of length, this list leaves out solutions used only for building apps from scratch unless they are included as part of a product that converts existing apps to Web or mobile use or generates new apps from existing ones. Also, this list doesn't cover other categories of products that clearly help with administration of new apps but aren't involved in actual code-conversion efforts, such as change-management software, application-analysis tools, modernization services, app-deployment tools, and utilities for refactoring or reformatting databases or integrating new app versions.
Each product listing consists of a brief description and a link to the appropriate vendor's product page. The product descriptions merely point out a few highlights of each product. For more complete information, please consult the product pages or the appropriate vendors directly.
Application Modernization Tools for IBM I, Vendor Company Names A through G
Advanced BusinessLink
Strategi SOA installs directly on host servers and enables separation of server applications into SOA components, enabling developers to build new Web applications or Web extensions of legacy applications, using any standard languages and development environments. Strategi-generated apps support multiple interfaces (e.g., Flash, HTML, WML) and actively deliver host reports and files to desktop apps.
Strategi webSTYLE generates browser-based interfaces that support power-user features to legacy apps, enable an integration point between legacy and desktop apps, and replace function keys with visual icons.
ARCAD Software
ARCAD Pack for Rational is a suite of developer tools that includes ARCAD-Converter, which automatically converts ILE RPG application code into free-format RPG. Other tools provide services that support app conversions, such as checking dependencies, upgrading databases, and handling change-management tasks across platforms.
ASNA
ASNA DataGate works directly with either the IBM i or MS SQL Server databases to provide record-level access to IBM i DB2 and Microsoft SQL Server databases. This lets apps written in ASNA's AVR connect to either IBM i DB2 or Microsoft SQL Server without making any major changes to the database access logic.
ASNA Mobile RPG helps ILE RPG programmers build smartphone and tablet apps that connect to IBM i databases with read/write access. The product's MR option is a Windows-based mobile UI designer that includes many IBM i-specific UI elements, as well as providing an Apple and Android native shell that can perform as a hybrid app on corresponding mobile devices.
AVR Classic works with RPG and Microsoft COM environments to create graphical Windows apps with read/write access to IBM i servers. Updated to support Windows 7 and 8, while still supporting Windows XP, AVR Classic will support Windows COM environments until Microsoft's planned phase out of COM in January 2018.
ASNA Visual RPG (AVR) for .NET
AVR for .NET is an RPG compiler that works within Microsoft Visual Studio and produces .NET binaries as Microsoft Intermediate Language files. This lets developers use familiar RPG idioms, opcodes, and record-level access, as well as Visual Studio's rich array of features, to build IBM i server apps using .NET.
ASNA's Monarch converts RPG-based applications to Microsoft .NET to browser-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. Monarch also includes tools for analyzing legacy RPG apps of up to more than one million lines of code.
Wings offers an RPG application modernization tool that transforms green-screen display files to browser pages. Wings uses IBM's Rational Open Access RPG Edition so program logic and file IO remain on the IBM i. Wings uses all display file data, so developers can enhance UIs in other ways without changing underlying RPG program logic.
Attachmate Corporation, a division of MicroFocus
Verastream Host Integrator lets developers repurpose server apps to support mobile deployment, SOA integration, and Web access, but without changing the base apps' code or business logic. The product helps developers map, model, and deploy new versions of apps or break them down into functional services to build new apps.
Verastream Terminal Client delivers 5250 terminal screens to Apple iPads and Android tablets, with all host function keys appearing as they do on native screens. It also lets developers personalize translated green-screen displays with server-run macros, security profile settings, and custom front-ends for IBM i and other server hosts.
BCD Software
Presto generates new GUIs for legacy IBM i apps using 5250 (no source changes required) or RPG OA, which are browser-friendly, accessible by mobile devices, and can contain new graphical elements such as drop-down boxes, images, and tabs.
Available in both ILE and PHP versions, WebSmart helps developers create RPG or PHP desktop and mobile applications. Templates generate customizable client-and server-side code, can provide database-driven web apps quickly, and produces software accessible from mobile devices.
CA
CA's 2E provides an interactive development environment (IDE) for System i apps, as well as offering modernization options for existing apps. It generates source code in RPG, COBOL, ILE RPG, and COBOL ILE. It features model-based development, relational database design, reusable objects, direct-to-Web deployment options, and full lifecycle support tools for developed apps.
CNX Corporation
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 email support, and an integrated PDF generator. It also includes tools for building mobile apps for iPhone, iPad, Android devices, and BlackBerry smartphones.
Convertigo
Convertigo Mobile Enterprise Application Platform
Convertigo Mobile Enterprise Application Platform is an open-source tool that lets developers generate new versions of old apps that can run on mobile devices and incorporate such features as SOA, Web services, Browser accessibility, SQL connectivity, and mashup support.
Databorough Corporation, a division of Fresche Legacy
X-2E is a tool suite that provides analysis, design recovery, and migration of existing IBM i apps built using CA's 2E IDE. X-2E Migrate helps developers move legacy apps into Java, C#, and RPG /free versions for deployment on the Web and in other environments.
Experia
SilverDev is an IDE for building new IBM i apps with modernization features or for providing a graphical framework for accessing IBM i server apps from Windows platforms. The system uses RPG IV for developing application internal functions and lets programmers develop GUIs on Windows systems.
Framework Systems
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.
Genesis V
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.
LATEST COMMENTS
MC Press Online