Presto and WebSmart, Proven RPG Solutions for Rich Web Interfaces
Proven Approaches to Give Your IBM i Applications a Rich Web Interface
by Duncan Kenzie
Published: May 18th, 2010 by System iNetwork
There has been a lot hype recently about the new add-on product to RPG, Rational Open Access: RPG Edition (RPG OA), that provides 'open access' to your IBM i applications. The truth is, both RPG and the IBM i have been 'open' for many years. For example, the IBM i provides exactly the same APIs for writing to/reading from web browsers as Unix, Linux, AIX, or Windows systems.
RPG programmers have been creating sophisticated web applications using these APIs for many years with RPG, tools like CGIDEV2 or solutions provided by vendors such as ourselves (BCD). Another approach taken by many IBM i shops to get to the web is to use screen scrapers or next generation web-enablement technologies. With both of these approaches IBM i programmers are trying to accomplish two objectives: They want to provide a rich web user interface while leveraging as much as their RPG code and skills as possible.
BCD offers proven solutions for web application development and for next generation web-enablement. BCD has been exploiting IBM i APIs and technology for over 10 years to provide true, native IBM i web applications with WebSmart ILE. In addition, we have a proven instant web-enablement solution with Presto. Presto takes all your 5250 screens--whether system screens, RPG, Cobol, CL, Menus, and the like--and presents them in a web browser, running Web 2.0 technology. With WebSmart ILE and Presto you have a complete path for modernizing your IBM i applications--you can instantly web-enable existing apps, or create new native web applications easily, or do both.
Presto - Instant, Native Web GUI for RPG and Beyond
Everyone wants a web interface for their IBM i applications and screens and the fastest way to get there is to web enable them. Presto lets you instantly give your users the native GUI they want for all your existing and future IBM i screens. It is not constrained to RPG screens, but will work with any screen--system screens such as WRKSPLF, RPG, Cobol, CL, menu and help screens, and any third party applications, regardless of what language they are written in. Also, Presto does not need any underlying source code in order to run, and you do not have to change a single line of existing source code. Presto runs 100 percent on the IBM i--all you need is a browser to access your web enabled screens that are running on your IBM i through the native Apache web server.
Presto is an instant web-enablement solution that refaces your 5250 applications and runs them in a web browser, using Web 2.0 technology. In addition, it includes a powerful PC-based design tool that includes a WYSIWYG Visual Screen Editor to make it easy for RPG programmers to transform and enhance any piece of a Presto-translated 5250 screen. You have full control over the UI to add rich web UI features. These include components such as dropdown boxes, date pickers, text areas, images, and more. You can go beyond 5250 constraints and use the full browser window and you can integrate your Presto apps seamlessly with other browser apps or web pages.
You can run deployed applications in any browser, including iPhone, mobile phone, or iPad browsers. You can also hook into existing RPG code with Presto and included AJAX interfaces, to extend your application's capabilities. You make all these enhancements non-invasively, meaning you never have to touch a single line of RPG, Cobol, DDS, or any other language source code to make them run in the browser or through 5250 emulators. Your original programs are not affected in any way.
Presto Solves the Green Screen-to-Web Challenge
One of the great technical challenges of moving green screen applications to the web is the difference in the way green screen programs run, compared to web programs. Web programs run in a web server, which is a layer of software on top of the operating system that manages incoming requests for web pages and directs those requests to the appropriate resources, such as static web pages or programs that create pages on the fly. A web server shares a small pool of open jobs with all the incoming requests, queuing them for execution as each request gets processed--similar to a job queue. Green screen programs, in contrast, run in separate jobs--one for each green screen session. These two different technologies make it difficult to deliver green screen apps in browsers. Presto has solved that problem with an elegant approach that takes the best of each of these technologies and combines them under the covers so you never have to worry about it. And Presto maximizes the efficiency of your system resources by managing open jobs and cleaning up idle ones for you.
WebSmart ILE - Rapid, Native Web Development For IBM i With No Constraints
For people who want to create new IBM i applications for the web while leveraging their RPG skills and minimizing the web development learning curve, WebSmart ILE is the perfect fit. Ninety-five percent of the thousands of people who create web applications with WebSmart are RPG programmers. WebSmart ILE is a rapid web application development environment for building native IBM i web applications. It lets you build true web applications in minutes even if you have no prior web development experience. It also provides you with a complete, integrated coding environment for creating almost any kind of web application. Unlike RPG OA, there is nothing extra to license from IBM, no need to rely on a new set of unproven APIs from IBM, no need for a third-party handler, and the applications built by WebSmart ILE are true web apps, meaning you will optimize your IBM i's performance as a web server. WebSmart ILE uses native i5/OS features, the native RPG compiler and the standard Apache web server.
The Painless Way for RPG Programmers to Move to True Web Development
WebSmart ILE was built specifically with IBM i RPG programmers in mind. It uses concepts that are familiar to RPG programmers, such as HTML segments (like Display File DDS record formats), familiar record level-access op-codes (in addition to full SQL support), and powerful screen design features, such as full drag and drop of fields from files, and edit codes/edit words on fields for output formatting. It also has integrated tools to take you all the way in the complete web development cycle. WebSmart ILE's intelligent wizards will guide you step by step through creating a fully functioning web application, with no programming required. You simply answer a few questions, select a look and feel for your pages, which files and fields you want, and it does the rest.
From there, you can modify the generated code to do whatever you want--write web pages, communicate with web services as a web service consumer or provider, target mobile devices such as iPhones, include rich internet, web 2.0 features such as grids, trees, tabs, AJAX lookups, etc. Anything you see in modern web applications on the web can be created in WebSmart. You can also build secure applications, with secure login (LDAP or IBM i user profiles or custom authentication), secure transmission (SSL for browsers or web services) and secure data storage (AES 128 bit encryption). All the constraints of green screens are removed and you can create web pages with charts and graphs, KPI's, Flash components, graphics, movies, etc. In addition, you won't need a separate 'handler' design tool to build your web pages.
WebSmart comes with an integrated text-based and visual (WYSIWIG) design tool that lets you build pages using concepts like display file DDS but without the constraints of DDS. And, you can create your own templates so that each time you create a web application, it will automatically have the look, feel, and functionality you need. In addition, WebSmart provides an enterprise-level, robust development and deployment stack, including built-in project management and change management functionality.
WebSmart ILE Loves RPG
WebSmart loves RPG, because much of what WebSmart produces is RPG. This design approach lets us take advantage of the good parts of RPG, as they become available. That's why we are generally excited about V7R1--there's lots of goodies we can now include in WebSmart such as improved XML processing. In addition, WebSmart provides many tools that make it easy for you to use existing RPG code, without having to rewrite everything. And, it reduces the complexity of reusing that code. For example, if you call an RPG module within a WebSmart program--whether it is in a service program or a standalone module--WebSmart takes care of managing the correct compile process for you. It finds the correct module and binds it in, without you having to specify a custom compile command. This gives you a path to extend your existing applications' capabilities for long-term viability.
You can also extend WebSmart directly with RPG code. Simply tell WebSmart what your RPG code looks like--define a reusable function name for it--and you can reference it in the IDE just like any native WebSmart function.
WebSmart Loves Any IBM i Language
It doesn't just stop with RPG--WebSmart supports any IBM language, including ILE or OPM languages such as CL, RPG, COBOL, C, C++. You can also extend the application development environment to include any of these languages by creating WebSmart functions to call any programs, modules or procedures written in these languages.
Presto and WebSmart ILE - Making The Choice
Presto provides instant web-enablement, while WebSmart ILE makes it easy to build fast, efficient native IBM i web applications. How do you decide which product is right for you?
Choose Presto If:
- You want to do no new coding at all, but simply want all your green-screen apps to look great in a browser
- You want to add some web enhancements to your green-screens, without any web design knowledge
- You want instant results
Choose WebSmart If:
- You want to build native IBM i database-driven web apps with absolutely no constraints on page size, layout, contents etc.
- You want to build XML or web services components to share/fetch data from other servers
- You want the fastest, most efficient run-time applications for the web
- You want a medium to long-term development strategy that your IT staff can adapt to easily
Choose Both If:
- You want to instantly web-enable green-screen apps and enhance them with WebSmart components
- You want to gradually move to native, constraint-free web applications
Both Presto and WebSmart ILE are proven products, backed by an industry leader in IBM i solutions development and support. Our technical support team is consistently judged better than anyone else by our customers (* letters on file). When you acquire products from BCD you can have true peace of mind that you've chosen a strategic, long-term solution for your organization. Visit the Presto and WebSmart web pages to download free trials, to watch videos, or to learn more.
Duncan Kenzie is President and CTO of BCD Technical Services, the development and support group for WebSmart a popular iSeries Web development tool, and Nexus, a portal product specifically designed for IBM i, iSeries, i5, and AS/400 servers. Duncan has 30+ years of experience on the midrange systems platform creating software for both green-screen and native Web environments.