Web-enabling existing applications is just one way to establish your enterprise's Web presence. A second is to custom-build your Internet apps with one of these tools.
Last July, in "Technology Focus: Facing the Strain: Web-Enablement Tools for System i," we reviewed the solutions available for IBM Power Systems (System i) that can help developers convert legacy apps to the Web. Here, we'll review a second category of tools that can meet this goal—namely, 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.
Tool Types
Generally speaking, 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 relying 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 that 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 how 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.
Tool Tradeoffs
There are tradeoffs to consider when deciding which 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 application(s) 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.
What follows is a list of solutions available for producing Web applications on the System i. Each product includes a brief description of some major features, but these descriptions are merely a thumbnail sketch. 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 a more complete idea of what each product's capabilities include.
And as always when looking for products or services, be sure to check the MC Press Online Buyer's Guide.
Solutions for Building New Web Apps on System i
ANSA Visual RPG for Microsoft Visual Studio .NET (AVR)
ASNA—A Blue Phoenix Company
AVR for .NET is an RPG compiler that integrates with Microsoft Visual Studio and lets developers modify existing RPG applications to run via a browser or to generate completely new and browser-friendly System i apps. AVR-based apps can also 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).
Apache Wicket
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, it requires a Java compiler and the Apache Tomcat server on the System i. Note that ASF is a membership community of individuals rather than corporations.
CA 2E
CA Technologies
CA 2E is an IDE that helps developers build code, databases, help text, and other objects needed to construct System i applications, as well as providing a realtime environment for Web-enabling and extending such applications. It lets developers create new business logic for applications, as well as retrieve that logic from existing apps and change it to meet new business needs.
GeneXus
GeneXus
GeneXus is an application generator for System i and other platforms that produces code for both server and Web 2.0 apps. It includes tools for impact analysis, team development, Web services use, code reuse, and workflow. It generates normalized databases to support applications and automatically generates new code to update app functions when users make changes to generated-application knowledge bases.
iSafari
Adventure Tech Group
iSafari uses System i sockets technologies to help programmers build new applications for Web and server and to modify old ones. The product interfaces to the System i security framework, provides a bridge between application data and browsers, and works with third-party IDEs.
iSeries2web
Framework Systems A/S
The iSeries2web solution is a collection of built-in RPG functions that enable browser access to System 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.
iStart
PGM Systems
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.
PSC/400
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.
re:new
looksoftware
Designed to facilitate .NET application development on the System i, re:new provides a framework for rapid application development for Web and server that lets developers build new apps, extend and integrate existing apps, and incorporate Web services into legacy enterprise software.
RPG-XML Suite
Krengel Technology
RPG-XML Suite lets RPG programmers use XML from within RPG programs to call or provide Web services to System 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.
UniPaaS
Magic Software Enterprises
UniPaaS is an application generator that builds rich and classic Internet applications, server applications, and applications intended to be offered on a Software as a Service (SaaS) basis. The product has three editions with varying features, such as development wizards, multiple-language support, Web services provisioning, and XML direct access.
Valence Web Application Framework
CNX
Valence is a Web 2.0 framework designed for RPG programmers. It includes a JavaScript library that's compatible with RPG, a collection of Web 2.0 browser components, AutoCode routines that help with writing front- and back-end code segments, and a built-in Web portal. The solution includes an option to use IBM i passwords when logging in with Valence user IDs, an EIM/Kerberos login option, and full international character-set support.
Web Object Wizard (WOW)
PlanetJ Corporation
WOW is a Rapid Application Development (RAD) tool and runtime engine designed to provide Web applications for the System i and other platforms. It runs on top of the IBM WebSphere server or Apache Tomcat, can access database systems of multiple vendors concurrently within generated apps, and lets developers build apps with just a browser by specifying JDBC/SQL operations and configuring metadata.
WebSmart ILE
WebSmart PHP
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.
IBM Rational Developer for i for SOA Construction
WebSphere Application Server - Express
IBM Corporation
IBM Rational Developer for i for SOA Construction is a successor product to WebSphere Development Studio Client (WDSc) and lets developers build Web 2.0 and user interfaces that connect to back-end applications written in RPG, COBOL, and EGL. 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.
WebSphere Application Server - Express provides an all-in-one solution for building dynamic Web sites and applications in Java on System i. The product provides built-in wizards and configurations, support for Web services and other Web 2.0 features, an assortment of open-standard programming models, and inherent security features.
Zend Studio
Zend Technologies
Zend Studio is an IDE specifically designed for developing new Web and server applications in the PHP language, which run on System i servers using a PHP compiler. Zend Studio uses the Zend Framework, which offers a wide assortment of tools and resources that support application development, including enhanced source-code editing, refactoring, code assist and generation, and semantic analysis.
as/400, os/400, iseries, system i, i5/os, ibm i, power systems, 6.1, 7.1, V7,
LATEST COMMENTS
MC Press Online