Need a Web app to run on your IBM Power Systems server? Whether you adapt an existing app via Webfacing or create a new one from scratch, there are plenty of tools to help you.
Whether you run software apps over the Internet to primarily benefit your customers or your employees, the need for Web apps on IBM Power Systems (IBM i) machines is unavoidable. These days, the first question to answer is whether to modify one of your already-running workhorse apps or to build something completely new.
There's no one-size-fits-all answer, of course. If something older has all the functionality you need, it's probably better to go with the devil you know and use Webfacing to clone an Internet-friendly version of an old standby. On the other hand, if you need your software to do more and want to incorporate the best of Web 2.0 features from the ground up, "reinventing the wheel" has its upside.
Whichever strategy you choose, it's useful to know that there are 47 high-quality tools to help your enterprise follow either strategic path to make and maintain Web-friendly apps on your IBM i.
Relying on a Veteran
It's often the case that sticking with the tried-and-true apps is the best way to go. After all, they've been shaped and honed by practical business needs and experience, often going back years if not decades. Adapting a well-known app to run on the Web can cut down on user training time, sidestep resistance-to-change issues, and save some of the time everyone will need to adapt to any new way of doing things.
Because of the role WebSphere has played in the thinking of IBM and many IBM i users over the years, the most common term for referring to adapting existing apps to run over the Web is "Webfacing." Originated as a term to describe the process of Web-enabling applications to run in a WebSphere environment when IBM introduced that product, the term has become ubiquitous in the IBM world for the action itself. It's probably more common to hear the term "Webfacing" used than to hear "Web-enablement" or other synonyms.
What's actually meant in practice by "Webfacing" can have at least three meanings. First and most common is the idea that Webfacing is a conversion of an existing application to a form that's browser-friendly, a process that basically leaves you with an unchanged original app and a new version that is Web-accessible. Second is the concept that instead of simply converting code, Webfacing translates the business logic of an application into a new software object that is Internet-compatible. Third is the idea of translating an application to a form that's executable on one of the open-systems platforms (e.g., Linux, UNIX), from which it's made available to the Web, usually as part of a larger effort to consolidate applications running across multiple platforms.
One strategic implication of Webfacing you may want to consider is the advisability of converting your application systems to a service-oriented architecture (SOA). Some Webfacing tools specifically support SOA by encouraging deployment of code objects, interfaces, or whole applications as Web services.
If modernizing existing applications is the path for you, check out the first list of products below, Webfacing Tools for IBM i Applications.
Launching a Newbie
The second major way to Webify your enterprise applications is to build them from scratch. Although this usually takes longer than adapting a legacy app, it enables addition of new features that take full advantage of Web technology and new functions that can add to the usefulness of your software business tools.
Tools for building new applications break down into the categories of application generators, Interactive Development Environments (IDEs), and application frameworks that facilitate either building Web apps from scratch or using existing apps as templates for Web-friendly ones.
An application generator is a piece of software that builds applications via a description of business rules or problems to be solved. App generators build application source rather than rely on programmers to write it manually. Web application generators, in addition to producing application functions, include as part of the generated app all the code necessary to handle the application's interface to Web browsers, databases, and data-transfer functions.
In contrast, IDEs provide tools that help developers build source code in the more traditional way. Examples of integrated tools include editors for files, code, and databases; compilers for one or more high-level languages (HLLs); analyzers for tracking down error causes and predicting impacts of the new application on existing systems; and wizards that generate pieces of code to carry out specific functions.
Application frameworks combine aspects of IDEs and app generators without being firmly in either camp. Generally, they offer libraries of reusable code that perform certain functions but let programmers change or modify those functions and the way they're carried out. Application frameworks often also include a graphical interface for development, built-in APIs to facilitate integration with other apps, and support for object-oriented programming techniques.
Choosing Between Tool Types
There are tradeoffs to consider when choosing the type of tool with which to develop Web applications for your enterprise. Naturally, not all IDEs provide all the features included in our rough definition (and may provide others in addition), while some application generators include some tools more often found in IDEs—for example, impact analysis. Application frameworks generally follow a predetermined flow, and the code of the framework itself is not designed to be altered, which can make code running under one perform sub-optimally in some situations, but they do provide a uniform backdrop for multiple applications. IDEs let a human make decisions that can result in source code that runs more efficiently on a given platform than that produced by an application generator—though, for smaller applications, this efficiency difference may prove minor in actual production. The key differentiators in deciding among the three types are the skill of existing development staff and the number and size of the applications needing to be built. Some solutions complicate the decision by not falling neatly into any of the three application-building tool types.
An important additional consideration is the projected frequency of future software maintenance tasks and the resulting need to streamline that process to a greater or lesser degree. In other words, if you anticipate frequent changes to applications in order to respond to changing business conditions, the more you will need to consider better automation of the software maintenance/upgrade process. This may favor an application generator or a framework over an IDE, although overall an IDE gives the most flexibility for designing new software. Finally, you need to consider that, if making the investment in a toolset, you'll probably want to use it to build non-Web applications as well.
Some Web application-building product vendors tout the ability of their offerings to produce "Web 2.0" features. There isn't total agreement in the market about what Web 2.0 actually constitutes, and therefore exactly what each vendor means when they promise this requires careful investigation in each case. In general, though, 2.0 means features that go beyond mere browser accessibility to server applications and can include additional capabilities such as built-in support for video, social networking, hosted services, links, blogs, wikis, content categorization via tags, and user notifications that operate independently of times when users are actually accessing the application itself.
For a list of application-building solutions that generate Web-compatible software, see the second list below, labeled Solutions for Building New Web Apps.
Having It Both Ways
Perhaps it's the case that your enterprise requirements call for both modernizing legacy apps and writing new ones for the Web. In that case, you'll probably be most interested in solutions that can provide both functions rather than buying two different toolsets. The third list of products below, titled Solutions that Modernize Old Apps and Help Build New Ones, are the toolsets that can do it all for the IBM i.
For all three lists below, organized alphabetically by vendor name, we include a brief description of some major features and a hot link to Web pages where you can find out more and see how to contact the associated vendors. Please bear in mind that the product descriptions in the lists provided here simply mention a few highlights. For a more complete picture of the capabilities of each product, you should consult the links provided for each product and contact the associated vendors for more complete information on each product's features.
And as always when looking for products or services, be sure to check the MC Press Online Buyer's Guide.
Webfacing Tools for IBM i Applications
Strategi webSTYLE is a GUI generator for existing applications. It includes features such as multiple-session tabs that don't require use of multiple open windows, desktop 5250 emulation without any client software installation, and dynamic icons that replace function keys.
ASNA's Monarch Web-enables RPG-based applications by converting them to Microsoft .NET and optionally converts IBM i databases to SQL Server. Converted applications support GUIs with browser accessibility, Web services, n-tier architectures, and enterprise-wide application integration.
Business Computer Design International (BCD)
Presto lets developers equip IBM i apps with three optional levels of Web interfaces and customize interface details, enables browser access to 5250 interfaces with legacy RPG or COBOL applications and menus, and enables converted apps to run in a browser without residing on a PC. Presto functions with no source-code changes or recompiles of the original application.
Freestyle-400 converts RPG applications to Web accessibility via any browser but without conversion to Java or .NET.
Flynet Viewer incorporates graphical tools, a browser-based terminal emulator, and an IDE that generates Microsoft .NET components to convert IBM i applications into Web applications or Web services. Flynet Viewer records screens, relationships, and data flows within legacy apps to create Web-friendly versions.
iSeries2Web provides a library of built-in functions that facilitate browser access to RPG-based legacy software. The solution lets developers access third-party data sources via XML and TCP-Socket connections, build new modules with graphical features, and reuse business logic from legacy apps.
LegacyWeb converts RPG- and COBOL-based applications to HTML, which lets the new version run in a browser environment. Alternatively, LegacyWeb can generate XML that functions as a bridge between legacy apps and wireless versions.
Rational Host Access Transformation Services (HATS) translates 5250 apps to provide browser and other types of user interfaces, as well as extend them to function as standard Web services. HATS includes a built-in editor for developing additional Web services and macros.
WDSc for System i turns DDS display file source-members to either JavaServer Pages (JSP) or XML files to let the UI of any IBM i application run in a browser. Although particularly designed to help deploy legacy apps in a WebSphere environment, the changed applications can run via browser in a non-WebSphere environment as well. Style functions also offer developers customized UI attributes and appearance.
Interactive Dynamic Technologies
DEJA.400 AS/400 to J2EE Conversion Program is a J2EE application server and relational database engine. It helps Webface host applications by converting 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 equivalent.
LANSA's aXes (which is also offered by Linoma Software under a partnership agreement) lets enterprises convert existing RPG and COBOL apps to Rich Internet apps via an automated process that requires no new code writing. Applications transformed with aXes optionally offer SSL security and XML Web connectivity. The product's eXtentions feature enables such functions as remote SQL queries, access to spooled files, and Windows-style GUI features generation.
RAMP from LANSA provides an application framework that enables assembly of applications from components built with RPG, Visual LANSA, Visual C#, Microsoft .NET, HTML, and AJAX to combine 5250 and Windows apps into new composite software that's browser-friendly. RAMP also includes a metadata repository of business rules and definitions that all apps share and from which developers can apply modifications across all existing apps as business needs change.
newlook is a Webfacing and refacing tool for IBM i and z applications. It delivers composite applications that tie together databases on multiple platforms, provides reusable components and Web-services support for SOA architectures, includes multichannel interface options, and is compatible with SSL, VPN, and other security arrangements.
The iNEXT solution converts server applications to Microsoft .NET on the fly and enables modifications to the legacy apps over time, which are translated to the .NET versions available to run in a browser. The translation process can be performed either by in-house developers or as a service from ML–Software.
Profound Logic Software
Genie converts legacy application interfaces to HTML without using applets, ActiveX controls, or PC clients. Genie's codeless visual designer lets programmers add graphical elements such as buttons, dropdowns, check boxes, images, and other Web elements. Enterprises converting apps with Genie can optionally use Profound's Atrium product to unify access to all Web-friendly IBM i software into a single menu.
LegaSuite is a library of tools for integrating IBM i apps into multiplatform and SOA environments, as well as for converting them to browser accessibility and adding Web-friendly enhancements such as dashboards and reports drawn from multiple sources.
WebMethods ApplinX works with IBM i and z servers to convert existing applications to browser-accessible modes. ApplinX converts green-screen interfaces by translating them into J2EE Java, Microsoft .NET, or Web services modules for use in Web or SOA environments, leaving the original source code untouched.
iModernize (formerly ML-IMPACT) translates existing IBM i applications written in RPG and COBOL to Microsoft .NET and Java. The solution also handles conversion of supporting CL and DB2/400 code and physical and logical data files. In addition, it provides options for converting interface screens and printing utilities, includes an application analysis tool, and offers automated finished-app testing utilities.
Solutions for Building New Web Apps
Adventure Tech Group
iSafari helps developers build new applications for Web and server and modify legacy ones, using IBM i sockets technology. iSafari works with third-party IDEs, provides an interface between browsers and application data, and is compatible with the IBM i security framework.
Apache Software Foundation (ASF)
Apache Wicket is an open-source application framework that lets users build new apps using Java and HTML. Wicket is supported by a community of developers and a growing set of open-source programming tools. To operate on the IBM i, it requires a Java compiler and the Apache Tomcat. Note that ASF is a membership community of individuals rather than corporations.
Easycom for .NET operates with Windows Visual Studio and uses ADO .NET as a database access method to produce Windows-based Web applications that can call IBM i applications and access IBM i databases. The apps conform to IBM i integrity constraints, can call SQL stored procedures, use CL commands, and support Internet, intranet, and mobile-application deployment.
Built in cooperation with PC Soft, Easycom for WebDev brings Web 2.0 application development directly to the IBM i. Developers can build PHP-sourced Web, Windows, and mobile applications that run on PHP servers, including PHP for IBM i, or on Linux and Windows platforms. WebDev enables native access to IBM i databases (without using ActiveX, ODBC, or OLE DB), complies with IBM i security, and supports SSL and EIM for cross-platform communications and user identity management.
Business Computer Design International (BCD)
WebSmart ILE is a rapid Web application design tool for building CGI-based software that accesses DB2/400, SQL, and MySQL databases. Applications run under the basic Apache HTTP Web server.
WebSmart PHP functions similarly, generating applications in the PHP language, but generated apps can access a wider range of databases on multiple platforms.
Both WebSmart tools offer highlights such as support for Web 2.0 features, an interactive debugger, visual HTML editing, and change-management tools. Developers can use both products to either generate new software or enhance and Web-enable legacy 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 building RPG-based Web apps that run on IBM i, or retrofitting IBM i apps to run in a Web 2.0 environment. It includes a library of Java scripts that work with RPG, Web 2.0 browser components, a Web portal, integrated email support, an integrated PDF generator, and utility procedures for working with IFS paths.
If you have a Java compiler, C-EMS lets developers build Web mashup applications that compile information from a variety of applications, SQL databases, and Web-page sources. Based on Eclipse, C-EMS helps information workers integrate and publish business information gathered from a wide array of sources, expose IBM i resources as Web services, and combine them into Web 2.0 applications.
CoralTree Systems Ltd.
Framework Systems A/S
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.
GeneXus is an application generator for IBM i and other platforms that creates code for Web 2.0 and server apps. GeneXus generates normalized databases to support applications and automatically generates new code to update app functions when users make changes to generated-application knowledge bases. It also includes support for impact analysis, Web services use, code reuse, team development, and workflow features.
WebSphere Application Server - Express provides all the tools necessary for building dynamic Web sites and applications in Java on IBM i. The product includes support for Web services and other Web 2.0 features, built-in wizards and configurations, an assortment of open-standard programming models, and inherent security features.
RPG-XML Suite enables programmers to use XML from within RPG programs to call or provide Web services to IBM i applications. The product also lets developers create MS Word and Excel documents via XML and pass Web services and XML document streams to other i servers. RPG-XML Suite requires the Apache Tomcat server.
re:new offers a framework for rapid application development of applications for Web and IBM i servers. Designed to facilitate .NET application development on the IBM i, re:new also lets developers build new apps, extend and integrate existing apps, and incorporate Web services into legacy enterprise software.
EngInSite Editor for PHP provides an IDE that helps developers create, edit, run, and debug application code written in the PHP language. It provides a code auto-complete function, an HTTP server emulation environment, debugging tools, code navigator, color-coding of source, and a code-performance analyzer.
Magic Software Enterprises
uniPaaS is an application generator in three editions that offer varying features, including development wizards, multiple-language support, Web services provisioning, and XML direct access. uniPaas builds rich and classic Internet applications, server applications, and applications intended to be offered on a Software as a Service (SaaS) basis.
PGM's iStart is a Web application generator that can build software from new and existing databases. The product's framework controls user interaction, database access, security, and error handling.
WOW is a Rapid Application Development (RAD) tool and runtime engine designed to provide Web applications for the IBM i and other platforms. It lets developers build apps via a browser by simply specifying JDBC/SQL operations and configuring metadata. WOW runs on top of the IBM WebSphere server or Apache Tomcat and can access database systems of multiple vendors concurrently within generated apps.
Profound Logic Software
RPG Smart Pages is a Web application IDE that includes an integrated visual debugger, code-editing and design tools, built-in charting, integrated source-control and change-management options, and wizards, templates, and code-snippet components that can form the building blocks of new software.
Surround's Solutions for LANSA are a family of products and services that help developers build new applications using LANSA software tools. Surround's offerings include a customizable development framework, a structured methodology and architecture for building new apps, Accelerator tools that shorten development time for producing new application interfaces, and a .NET service agent that helps integrate new applications into server and Web environments.
Zend Studio is an IDE specifically for developing new Web and server applications in the PHP language, which runs on IBM i servers using a PHP compiler. Zend Studio uses the Zend Framework, which includes an extensive library of tools and resources that support application development, including enhanced source-code editing, refactoring, code assist and generation, and semantic analysis.
Solutions That Modernize Old Apps and Help Build New Ones
AVR for .NET is an RPG compiler that integrates with Microsoft Visual Studio. It helps developers either modify existing RPG applications to run via a browser or generate completely new and browser-friendly IBM i apps. AVR-based apps are compatible with SOA architectures, provide data transparency between Windows and IBM i databases, and extend RPG source to be compatible with industry standards (e.g., XML, SOAP, RIA).
In partnership with Zend Technologies, AURA offers Easycom for PHP, a Web and Windows application-building toolkit that extends the PHP language to use IBM i resources (e.g., databases, commands, data queues). Easycom lets developers reuse legacy applications and data to build Web versions, build new applications, and extend IBM i resources to Linux and Windows environments.
CA 2E is an IDE that lets developers construct IBM i applications containing business logic retrieved from existing apps, new business logic, help text, databases, and other objects. It also provides a real-time environment for Web-enabling and extending such applications.
IBM Rational Developer for i for SOA Construction is a successor product to WebSphere Development Studio Client (WDSc). The framework lets users build new apps and extend legacy ones to work in a Web environment and provides an assortment of development tools to automate and streamline the development process. It also helps developers construct Web 2.0 and user interfaces that connect to back-end applications written in RPG, COBOL, and EGL.
m-Power generates Java code that both converts legacy software to browser compatibility and helps developers build new Web applications based on existing IBM i apps. The product can convert third-party software or custom programs and provides a tutorial interface that lets even non-programmers convert apps. Generated apps support secure access from anywhere, don't use time-consuming license checks, and operate across multiple platforms.
Pluta Brothers Design
PSC/400 provides three options for converting IBM 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.
System Objects Corporation
JACi400 translates IBM i programs written in any high-level language to HTML so they are Web-accessible. JACi400 includes facilities for generating new application elements or completely original browser-friendly apps. The solution also provides deployment tools that can integrate a mix of converted, generated, and developed apps.
as/400, os/400, iseries, system i, i5/os, ibm i, power systems, 6.1, 7.1, V7, V6R1