Programming / Development Tools
Today's tools are getting so sophisticated that business users with no programming experience can easily develop robust applications.
The importance of tools to the IBM i community can't be underestimated, but they, like restaurants, come into and go out of favor depending on what clients need and what they are asking developers to do at the moment. Is it a Y2K challenge this month, or must you Web-enable a green-screen legacy program for which you don't have the source code? Most developers use a variety of tools for different tasks, mixing and matching depending on project requirements. At last count, there were some 80 tools available to developers to modernize or build new applications on IBM i.
So how did we ever come up with the top 10 development tools? What criteria did we use to determine which would make the top 10 list, and which ones would fall into the "others" category? I would like to say that the ones we picked were the most widely used or most popular and that we surveyed every developer in the midrange space and carefully tabulated who was using which tools—how many were using tool A versus tool B, etc. A noble effort indeed, but if I had such a list of all the developers in the world writing code for Power Systems, I would surely be a person revered and sought after by frenzied tool vendors eager to make another sale. Alas, I do not have such a list. The fact is, even the tool vendors don't know how many people are using their tools—or how many bought it and left it in the box after it arrived because it didn't do what they needed. Not all tool vendors who are giving away free versions of their tools are even asking people to register before downloading them. It's a jungle out there!
So I decided that I would have to apply my own subjective standards and pick the ones that I liked. It could be because I had overheard someone say something nice about the tool at a trade show, it could be because they have the best user testimonials on their Web site, or it could be because I have been briefed on some new technology recently introduced that impressed me. Having covered the IBM midrange industry for 20 years, however, I have to trust my instincts, and I decided I would just go on my gut.
There are also about a half dozen more that could have been, or even should have been, in our top-10 list, but that's just the point: it's the top 10, not the top 15. Someone had to be left off. Knowing that the list is the subjective expression of my personal favorites, does it really matter? Not really. It's just a list (ah, but what a list!). I might add that the chosen few are a mix of Web facing, Web enablement, new application development, and frameworks all mixed into a single list. That said, here are our top 10 favorites.
1. The big crackerjack in the group, one I think most would agree with, is IBM Rational Developer for Power Systems Software. You can develop for all operating systems running on Power— including IBM i, AIX, and Linux—from an Eclipse workbench that integrates a rich family of tools. It's a comprehensive application development environment intended to be used with IBM Power Systems compilers and fits in nicely with Rational Team Concert. You can create, maintain, or port applications to IBM Power. One of the big selling points of the tool is that, because many developers are familiar with the Eclipse environment, you can get them up to speed faster and transfer their skills across projects on the three different platforms since they can output the build in different languages, including Java, Java EE, C/C++, RPG, and COBOL.
Now, if you just want a tool for building new Web apps, then try Websphere Application Server - Express, which provides all the tools needed for building great Web applications in Java for IBM i. It has built-in wizards, an assortment of open-standard programming models, and built-in security features.
2. One of the most popular tools for RPG programmers in the new millennium is WebSmart PHP from Business Computer Design International (BCD). Yes, Zend Studio 9 is a very fine and popular tool too, and there are a gazillion free PHP development tools out there. But how many of these give you all the DB2/400 and MySQL application templates and wizards that WebSmart PHP does—and the great BCD support? And how many of them are designed for RPG programmers? Yes, we're talking about multi-platform Web applications here; otherwise, we would be mouthing about WebSmart ILE, which is ILE CGI based and helps get those legacy RPG applications out onto the Web.
Now you can do amazing things with PHP applications—look at Facebook—so learning to create apps in PHP doesn't mean that you are limited to Web applications, but if you already know RPG, you're probably going to use that for heavy lifting. Unless of course you want to run your application on Linux, UNIX, or Windows—hello! WebSmart PHP also comes with IBM i-centric PHP extensions that help you leverage your existing RPG code as well as skills.
It is not just a tool, by the way; WebSmart PHP is a complete IDE with PHP syntax-checking, prompting, and organization of more than 5,000 PHP functions. It also includes a visual HTML editor and built-in Model-View-Controller (MVC) that separates HTML from PHP. It comes with its own database repository for defining your business and presentation rules at the file level. If you're a BCD customer already, you will like the fact that it uses the same IDE as WebSmart ILE and Clover Query, so now you're getting up to speed faster. Once you've finished building a collection of PHP apps with WebSmart, you'll want to package them up for the users. Voila! WebSmart comes with a free copy of Nexus Portal (maintenance required) that provides a secure deployment framework for your PHP applications, including a dynamic menu system with drop-down menus and menu trees. It also has a secure log-in feature.
If all you want is Web-enablement of your legacy applications, then BCD Presto is doing some truly amazing things with refacing these days, allowing extensive GUI customizations and even calling newly written application extensions for enhanced program functionality.
3. looksoftware has been in the modernization game for quite some time now, offering its newlook rules-based dynamic environment, and the company was one of the first to jump on the Rational Open Access for RPG bandwagon when first announced by IBM. It was one of the few companies that had the technical expertise to build its own handler to work with RPG OA. It has a collection of tools that requires concentrated study to understand and appreciate all they do. For simplicity, it has bundled them all under the nice clean umbrella of "Dynamic Environment." looksoftware promises to reduce the time, cost, and effort of modernizing legacy applications with its re:new framework for rapid application development (RAD) for Web and IBM i servers. The company has taken the pragmatic position that if you want to develop new functionality, you very well could be better off doing it in the .NET environment, so they let you do just that—on the IBM i. There could be benefits down the road if you're having trouble finding just the right RPG programmer a few years from now.
With re:new, you can build new applications, for mobile and other clients, extend and integrate existing apps, and incorporate Web services into existing legacy software. Best of all, your applications can continue to be enhanced without repeated conversion, collection, or recompilation. You have the ability to respond to new business opportunities because your new object model architecture supports refacing, Web-enablement, new user interfaces, Web services, server access, and access to other databases, such as MS SQL Server, in addition to DB2.
Now, if you have a specific need, say integrating your back-end RPG applications with something more modern like MS Office or Outlook, looksoftware's snap products can do so quickly and painlessly. The company also has chosen to build, then give away for free, a product called ilook that provides a rich graphical user interface for legacy applications that is state of the art.
4. Another company that sees benefits in the .NET platform is ASNA. The company's Monarch product actually migrates RPG applications to .NET in what the company says is a "proven and highly automated" process rendering green-screens in the browser with ASP.NET. That was before the company released ASNA Wings. Employing the new IBM technology Rational Open Access for RPG, Wings leaves the RPG logic intact on IBM i while modernizing traditional 5250 green-screen interfaces. The company emphatically notes that this process is not screen-scraping; rather, it employs RPG OA to "naturally extend" the RPG applications using open standards and extensibility. Wings doesn't require a lot of analysis or migration of business logic and only changes the presentation layer so the backend logic and database access remain intact. You begin by modernizing the screens that are of greatest importance, and the others are presented using Wings' built-in 5250 terminal emulator. One of the nice things about Wings is that you can use a standard tool like Visual Studio with ASNA Visual RPG for .NET, VB.NET, or C# to extend and enhance the user interface. If you later choose to migrate your entire application out of RPG, you can do so with Monarch, reusing the same screens you have transformed with Wings. The Wings tool set offers a vast array of possibilities to get additional years out of your RPG applications.
5. LANSA is another company that has been in the modernization business for some time. It recognized early on that green-screens were going the way of the dinosaur and invested heavily in technology that allowed companies to modernize and, eventually, replace their older applications. It rejected the IBM solution offered with Rational Open Access for RPG, preferring instead its already mature modernization solutions.
The company has a staged approach to modernization. It offers aXes as a fast, effective, and impressive Web-enabling tool that buys you time to gradually renovate later the necessary parts of the application user interface. aXes transforms the 5250 screens to GUI Web pages through refacing at which point you can use aXes extensions to further customize the screens. It works well if you need to get on the Web yesterday and plan to have time to extend and enhance the look and feel of the application in the future.
A more thorough approach is to use the company's RAMP from LANSA product that addresses both immediate needs for a solution to green-screen modernization as well as long-term goals for application upgrades. The RAMP tool allows you to consolidate your 5250 applications into a graphical application framework that then allows you to build composite applications. At that point, you can start replacing the apps one component at a time. Once modernized with RAMP, an application can run on virtually any client device running Windows, Linux, Apple Mac, iPad, or Android tablet.
6. Perhaps the most steadfast and determined adopter of IBM RPG OA is Profound Logic. The company's Profound UI seemingly has broken the code on application modernization, using its handler that integrates nicely with the IBM OA opportunity. Releasing updates and new versions to its products as frequently as once a week, even Profound Logic would admit that the journey has been a challenge. Nevertheless, it is now cresting the hill and promises to offer one of the most useful and technically sophisticated modernization solutions on the market. It is one of the few, if not the only, non-screen-scraping solutions to handle everything natively in IBM i.
With a simple recompile, the once-staid green-screen not only now looks like a GUI (it is a GUI), but the elements on the screen can be manipulated in ways that would have required changes to the source code only a few months ago. A browser-based solution, Profound UI operates on IBM i systems running V4R3 or later. All components are installed on the server and utilized through a browser interface. Once Profound UI is activated, you can launch the Visual Designer. For applications for which you don't have source code, Profound Logic has Genie, a 5250 screen-refacing solution. The company's menu and navigation system is Atrium, which encourages users to create a Favorites database that allows renaming and organizing of frequently used applications.
7. Among the more creative application modernization solution companies to rise almost out of nowhere is CNX Corp. with its Valence framework for "RPG-centric" Web development. The company began as an AS/400 services and solutions provider, developed its own ATOMIC suite of order management and inventory control applications that works with IBM i ERP systems, and began looking for a Web application development tool set that would work with RPG applications. Not finding anything satisfactory on the market, CNX founders decided to build their own. The result is Valence, a framework, or collection of tools that allow the developer to interface your IBM i applications with graphical desktops, laptops, smartphones, and even touch-screen devices.
Valence runs natively on IBM i using RPG ILE and Apache Web Server, so you don't need to know anything about WebSphere Application Server, Java, or PHP. The Valence RPG Toolkit enables RPG programs to communicate with browsers, send physical file or RPG array data to front-end browser grids and trees and back again, and route embedded SQL results to a browser with a single line of RPG. The new Nitro App Builder allows the creation of IBM Web apps, including charts and graphs, data grids downloadable to Excel, and even kiosk-type apps without programming. The new Nitro File Editor allows for viewing and even editing of physical and logical file records in IBM i in an intuitive browser-based grid format. There are both free, or community edition, and paid versions of Valence.
9. Getting some buzz lately in the enterprise modernization arena is the venerable Magic Software, which continues to offer its widely known iBOLT integration solution but also provides developers with the uniPaaS 2 application platform for development. According to Magic, uniPaaS combines a business application engine with a single development framework and support for deploying on different operating systems. uniPaaS 2 supports .NET development for Windows-based applications while continuing to offer cross-platform support for multiple server platforms, including IBM i, AIX, and others. Only the Windows version of the uniPaaS deployment engine was ported to the .NET Framework, so uniPaaS 2 applications will continue to support non-Windows OSes including IBM i and AIX.
uniPaaS 2 combines uniPaaS Studio with a .NET user interface, and the new Magic runtime engine for client/server and server-side applications is based on the .NET framework. It uses controls from the Windows Forms .NET library as the GUI front-end that allows users working in client/server configurations to implement advanced GUI capabilities. uniPaaS 2 also supports deployment of mobile applications using native mobile clients, with Windows Phone and BlackBerry available currently and the other Apple and Android clients planned for future release.
10. The final pick in our top 10 was a tough call. I must admit that Apex Award winner m-Power from mrc, an IBM Business Partner that hosts a booth at all the COMMON conferences and steadfastly supports the organization, was a strong candidate, as was Web Object Wizard (WOW) from PlanetJ Corp., used to build other popular industry tools including CYBRA's EdgeMagic RFID control software (and now there is even a free community edition of WOW CE 7.0, an award-winning IBM i development tool). Both tools, however, generate Java code, rather than RPG, and thus are in a slightly different category. Zend Studio from Zend Technologies also was a candidate because it is such a widely accepted IDE all around the world, and IBM i now supports PHP.
Nevertheless, we decided to go with a relative newcomer, GeneXus X Evolution 2 from GeneXus, which can output RPG. The latest version that was just released last month allows for building once and deploying on multiple platforms, including mobile. The new version includes HTML 5 and supports easy deployment of applications to the cloud. In addition, it has a smart device generator that allows for support of tablets and smartphones, including iPhone, iPad, Blackberry, and Android operating systems.
GeneXus believes that users in the future will determine the path of technology and that employers will have to cater to their needs. The bring-your-own-device paradigm will be standard operating procedure in the future, and GeneXus is building tools to make such accommodations possible. GeneXus can seamlessly integrate new applications into legacy systems while allowing developers to build state-of-the-art business intelligence, reporting, and Web-based solutions.
Among the benefits of GeneXus' Web Services and XML features are execution platforms that include Java/J2EE, .NET, .NET Compact Framework, and Ruby as well as operating systems that include IBM i, Linux, UNIX, Windows NT/2000/2003/2008 Servers, Windows NT/2000/XP/Vista/7, Windows Mobile, Blackberry OS, Google Android, iOS, and Windows Phone. Applications can integrate with DB2, Informix, Microsoft SQL Server, Microsoft SQL Server CE (Compact Edition), MySQL, Oracle, PostgreSQL, and more. Among the languages it outputs to are RPG, Java/J2EE, C#, Ruby, COBOL, Visual Basic, and Visual FoxPro. The apps can run on Microsoft IIS, Apache, WebSphere, and other Web servers.
GeneXus is popular in Mexico and Latin America and is starting to catch on in the U.S. Our bet is that we will be hearing more about it in North America in the future.
Needless to say, there are dozens of other tools we couldn't mention, so if we left your favorite one off the list, send us a note, and we will try to include it next time we do a wrap-up of our favorite development tools!