CNX Aims to Streamline Web 2.0 Development for i OS with Valence
July 22, 2008 Alex Woodie
CNX has released a new development tool that’s aimed at making it easy for RPG developers to create Web 2.0 style interfaces. The new toolset, called Valence, is based on the collection of JavaScript classes called EXTJS, and uses JavaScript’s native data-formatting language, JSON. According to CNX executives, Valence delivers a native and extremely fast connections between Web browsers and back-end RPG applications running on the i-based Power Systems server. The Valence story starts in 2001, when the folks at Chicago-based CNX started looking for a tool to Web-enable their add-on planning system for BPCS called ATOMIC, according to Richard Milone, CNX’s managing partner. “We were totally trained up in Java, and have written Java applications for customers that are working great,” he says. “But we still consider ourselves and our development team RPG people. We were never fully comfortable with Java on the System i.” With Java out, CNX began looking for something a little more “native.” They tried the multitude of commercial Web enablement tools for the platform, but didn’t much like what they saw. Then Milone had an epiphany of sorts. “I can remember a particular point. It was early 2005 when Google had just came out with Google Maps. Within two minutes of using it, I knew that all applications in the future on the Web would be written like that. I didn’t know if it would take five or 10 years, but I knew that that was the direction.” What Milone saw, of course, was one of the first Web 2.0-style GUIs (graphical user interfaces). Instead of regenerating the entire screen when the user provides input, which slows down the application, Web 2.0 applications like Google Maps update only the part of the screen that the user is interacting with, thereby speeding up the application compared to Web 1.0 applications. The collection of technology behind most Web 2.0 applications is called AJAX–for Asynchronous JavaScript And XML. So Milone and his partners at CNX started looking into how they could use AJAX to Web enable ATOMIC. “We reviewed pretty much every [JavaScript] toolkit out there,” Milone says. The one that rose to the top was the collection of JavaScript libraries called EXTJS, from the company EXT. “EXTJS is one that has everything in it that you could ever want to have on the front end–popup windows, dynamic drop-down boxes, type ahead, and trees.” Valence is an i OS implementation of sorts of the EXTJS toolkit. CNX struck an OEM deal that allows the company to redistribute EXTJS, in exchange for an annual fee paid to EXT. In addition to the EXTJS tooling, Valence includes an RPG toolkit that allows RPG programs to communicate with the front-end EXTJS tools, a Web portal based on EXTJS, and a charting application called Fusion. The RPG toolkit is the “secret sauce” in Valence, the part that took several developer-years to create and document. The RPG toolkit essentially translates RPG output into JavaScript’s native formatting language, which is called JavaScript Object Notation, or JSON. “JSON is super fast,” Milone says. “It uses a lot less characters than XML. If I can create JSON-formatted data from my files, with my RPG program, and send that to the front-end to display in the grid, that is far, far faster than it would be if I were to format XML on my RPG applications and have the browser’s XML parser parse it all out, and then fill in everything in the grid. If you can go straight to JSON, which is the native language of JavaScript, you can render it nearly instantaneously.” The Valence RPG Toolkit gives almost everything needed to create Web 2.0-style interfaces for existing RPG applications. “You can, for example, do things like load an array of data in RPG, then call a procedure in our Valence RPG toolkit that says ‘translate to JSON’ and you pass it the array, and it will send back the formatted JSON, which you then send back to the browser and it’s rendered in the grid.” Valence is a self-contained application that installs on i5/OS V5R3 and V5R4. It plugs into the Apache Web server, and utilizes CGI calls to interact with RPG applications. Users don’t need any special development environments to use Valence. CNX developers use Rational Developer for i (RDi) and WebSphere Development Studio Client (WDSc) to create Web 2.0 front-ends for their RPG applications. One thing Valence does not include is a way to translate entire green-screen applications to AJAX-enabled Web 2.0 applications. “We want to be on the modernization bandwagon, of course. But what we don’t give you is the ability to automatically translate your existing programs,” Milone says. “We might provide this functionality in the future. We’ve had a lot of requests for it.” Milone is straight up with the fact that it will take a little bit of elbow grease to create Web 2.0 applications in Valence. In an industry where everybody seems to downplay the work involved, that’s refreshing. “We’re not asking customers to rewrite everything from scratch, but you do have to take your existing RPG programs and separate out that green-screen logic,” Milone says. “If you’re going to take your green screens and convert them to work in a Web page, then HATS [Host Access Transformation Services] is fine. The existing tools that IBM gives you are fine. “What we’re trying to give customers is the ability to really modernize, to give the users better functionality, and to do that you really have to re-engineer your programs,” says Milone, who’s not immune to the product pitch. “If you want to continue to develop in RPG and have the best possible user interface to your programs, totally modern Web 2.0, then we are really the only product right now that handles that for System i natively.” CNX released a beta of Valence in late April, and announced the general availability of Valence version 1.0 at the RPG World conference in Las Vegas in June. Valence version 1.1, which fixed a few bugs, shipped July 11. CNX is also working on a new version of ATOMIC that will be Web-enabled using Valence, which it expects to ship later this year. Licenses for Valence cost $4,950 per i-based Power Systems server, System i, i5, iSeries, and AS/400; there are no per-user developer fees. For more information, visit www.cnxcorp.com. RELATED STORIES CNX Brings ATOMIC Planning System to BPCS
|