CoralTree Toolkit Streamlines CGIDEV2 Web App Development
March 23, 2010 Alex Woodie
A UK company called CoralTree Systems is quietly building out its Renaissance Framework, an open source toolkit designed to help RPG developers create CGIDEV2-based Web applications that run under i/OS. Under development for four years, the toolkit generates Web 2.0 screens that feature all the reliability and security of their green-screen brethren, but without the skills and investment required to replicate enterprise-level functions on the Web. This month Coral Tree added support for jQuery, a popular collection of JavaScript libraries that expands the framework’s functionality. The Renaissance Framework story begins in late 2004, when the folks at CoralTree–a System i software developer and consultancy that specializes in enterprise CRM and billing software–began playing with the CGIDEV2 service program from IBM. CoralTree used the software to Web-enable its report conversion and distribution utility, called iSIMS, and grew to like the software. However, while CoralTree discovered the Common Gateway Interface (CGI) techniques to be a powerful way to Web-enable simple 5250 applications, it found the CGIDEV2 program lacked the depth of functionality needed for the complex architectural requirements found in enterprise business applications. Things like session management, security, and logging audit trail functions were never part of what CGIDEV2 did out-of-the-box, and this complicated attempts to create Web-based apps that behaved like regular RPG programs. So CoralTree decided to build a surrounding framework that added these functions, and named it the Renaissance Framework. Embracing and Extending CGIDEV2 With its first exposure to CGIDEV2, the folks at CoralTree began to realize it had a lot of support within the System i community. (IBM figured this out the hard way in 2005 when it temporarily stopped distributing the software after its primary developer retired. After a minor uprising, it reinstated distribution from this IBM Systems Lab Web page). CoralTree recognized that the overall simplicity of the CGI-style of Web development, as well as the capability to leverage existing RPG skills, appealed a lot to RPG programmers hesitant to invest in new skills and new languages. This focus on reusing RPG skills generated a lot of interest in CGIDEV2, but the overall lack of ready-to-use enterprise-level functionality posed an obstacle to wider adoption, as CoralTree saw it. With the Renaissance Framework, CoralTree sought to fill in the gaps by providing that functionality. The list of surrounding functionality includes: login security; environment control; role-based user authorizations; application function definition; parameter configuration; audit trail functions; performance logging; and an entity-locking framework.
The core program within the Renaissance Framework, called CGISRVPGM2, simplifies development of Web-enabled CGI applications by hiding the complexities of CGIDEV2 APIs from the developer, the company says. The software provides “very little” in terms of specific business application functionality, apart from a couple of sample templates. ,.Instead, “what it does provide is the infrastructure for other developers to build applications upon, without having to worry about the minutiae of CGI technology,” the company says. In addition to the service program and templates, the framework contains various bits of JavaScript, HTML, style sheets, images, and ILE RPG programs. Users must also use commands for starting and stopping various Framework server functions. Real World Test The company developed the first Renaissance Framework prototype in 2005, and after a short period of review, “promptly threw most of it away and rewrote it from scratch,” the company says in a product backgrounder. In early 2006, the company was hired to write a front-end to an existing i/OS application, which gave Renaissance Framework its first real-world use. The first project started when a subsidiary of the German telecommunications company, Unity Media GmbH, hired CoralTree to develop a new front-end for a System i billing application. Unity Media had just secured an exclusive three-year deal to broadcast German soccer games, and it needed to extend its existing customer care and billing application to handle the sale of the pay television signal via satellite. And with the season set to begin in late summer, there was a hard deadline to meet (with a slight emphasis on the word “dead”–this is European football, after all). The Renaissance Framework performed well, according to a case study written by Heiko Lippert, Unity Media’s director of systems integration. “The call center application went live as planned on the 6th May 2006, with the new order entry function being used by around 75 agents,” Lippert writes. “Subscription orders and call center agent numbers increased as the new season kick-off approached, with a peak of around 200 agents online in the first week of August.” For the last three years, Unity Media’s outsourced call center operation has used the software to take orders for the games, without any application-related downtime, according to John Phillips, a principal with CoralTree, who says the telecom company is going forward with plans for a new, larger Web-enablement project using the software. Going Open Source Coral Tree publicly released the software for the first time in March 2007 under Mozilla‘s MPL open source license, which allows for commercial distribution by third-party software vendors. While the Renaissance Framework hasn’t been massively successful as an open source product, it seemed like the right decision to release it as open source at the time, Philips says. Over the last three years, the software has been downloaded more than 1,200 times by organizations and System i professionals from all over the world. The framework has also provided the basis for much consulting business for CoralTree Systems, which today employs 25 people from its headquarters in Fareham, on England’s southern shore. “The company has been hugely successful using the Framework for commercial development,” Phillips writes via e-mail. “We currently make no money directly from the Framework, either in license fees or service fees. We provide message board-based support for the Framework free of charge, but would be happy to provide fee-based support to businesses needing that extra layer of comfort.” Today the product is at version 4.12. The latest release, unveiled earlier this month, adds support for jQuery, which is one of the most popular open-source JavaScript libraries. jQuery is designed to make it easier to create Web applications by simplifying things like HTML document traversing, event handling, animating, and AJAX interactions, according to the official jQuery Web site. CoralTree says the addition of jQuery to the Renaissance Framework is a “match made in heaven.” In addition to eliminating the need for other third-party JavaScript libraries, the addition of jQuery creates “a foundation for incremental improvements based around various jQuery plug-ins in future Framework releases,” the company says. The addition also makes it easier to install the framework. CoralTree has big plans for the Renaissance Framework, according to Kevin Turner, the company’s technical director. “I am delighted by the way that the Framework continues to move forward, largely as a result of us using it for our own commercial software development, but also with contributions from the wider System i development community,” Turner states in a press release. “We already have a major look-and-feel improvement scheduled for the next Framework release, and later this year we will be launching a variety of new Framework-associated services, ranging from classroom-based training to on-site project mentoring.” Renaissance Framework version 4.12 is available now. To download the Renaissance Framework, go to www.renaissanceframework.com.
|