Things do keep getting better for iSeries customers except, of course, if you want IBM to keep the name the same. At COMMON, an IBM executive stated as long as he has his job, the name will never change from the new System i name. Of course, we don't know any senior IBM executives that have actually had the same job for three years running.
Your Web application server options were limited
Not long ago, your choices on running your company's Web workloads were limited. If you wanted to run your company's Web workloads (HTTP server and related Web applications) you had to choose between running on the iSeries or, perhaps, a Windows server. If you choose to use the iSeries to run your Web applications, you could choose either WebSphere or an older version of Tomcat (3.24). Today, your choices have expanded greatly on the iSeries.
Many Web application server options exist today
Things have changed quickly in a few years! You have many options to run Web application servers on other platforms. Linux has become a popular, reliable, secure, affordable platform for running Web application servers compared to Windows servers. In addition, your options for running Web application servers on an IBM server have expanded.
IBM provided application servers for iSeries, OS/400 V5R3 or later
Let's quickly list just the IBM-provided options to run Web applications on a newer IBM server running under OS/400 V5R3 or later:
1. WebSphere Network Deployment, version 6
2. WebSphere Application Server, version 6
3. WebSphere Express, version 6 ( free with a new server purchase )
4. Tomcat, version 3.24 (free on all iSeries servers)
Those are still good, reliable application server choices for all iSeries customers. In some cases, you have to pay a license fee for the server software (depending on what server bundles you buy from IBM). IBM has documented these server choices for iSeries customers well in Redbooks and on the IBM Web site.
Other application servers to run on OS/400 V5R3
You can run other application servers on OS/400, as well. While we've setup some of these options for customers nicely, IBM doesn't support all of these server options for customers yet especially since many of them are newer. Let's look at three newer, no-charge, powerful application server choices more closely:
1. Apache Tomcat Web server, version 5.5.x
2. Apache Geronimo J2EE server
3. WebSphere Community Edition
Apache Tomcat, version 5.5.x
This is the current version of the very popular, open-source Tomcat application server. It supports the Web container well (applications that run Servlets, JSPs (Java Server Pages), Java beans and many other frameworks). It does NOT include an EJB container to run EJBs (Enterprise Java Beans). This is an older persistence framework that wasn't well implemented by vendors and, as a result, is not commonly used.
The nice thing about Tomcat 5.5.x is it is designed to run on the latest production version of Java (1.5 also known as 5.0 with the new Java naming scheme). Java 1.5 runs on the iSeries under OS/400 and is a free program product you can install (5722-JV1). You need to explicitly install option 7 to load Java JDK 1.5. You can also run Tomcat 5.5.x using JDK 1.4 but that requires setting up an adapter for backward compatibility on the older JDK.
Running Tomcat 5.5.x (currently 5.5.9) on OS/400, I have the latest Java support, the latest Web application server functionality, access to the latest runtime frameworks for JSPs, Java beans etc on a free application server runtime that is easy to maintain and install! IBM likes to point out that WebSphere scales well, especially in version 6, which is true. They've claimed Tomcat doesn't scale well, but it can. You can create clustering with the newer version of Tomcat to get session failover support, but it is more work to set that up. You also run many of the latest runtime frameworks that may have problems running in WebSphere version 6. You can usually add new frameworks to Tomcat easily to support your applications at runtime.
We've created a QuickWeb Tutorial for customers needing step-by-step assistance to set up Tomcat 5.5 on OS/400 V5R3 or later available from ebt-now. IBM also provides useful documentation on the basic Tomcat 5.5 setup on OS/400 as well in an IBM iSeries Redbook: IBM HTTP Server, SG24-6716, Appendix B. At ebt-now (an IBM business partner focused on iSeries Web enablement), we setup Tomcat for our customers now over the Web, usually in a few hours, after they've installed the correct Java version and group PTFs. Tomcat is easy to setup and maintain and performs well.
Apache Geronimo J2EE application server
This is a new application server from Apache that provides a full, integrated set of services similar to WebSphere Application Server but using open-source, standards-based frameworks. What's nice is the server has been certified as fully J2EE 1.4 compliant. This is important if you are running Web applications that require a J2EE 1.4 compliant runtime environment. By comparison, doesn't Tomcat doesn't include all the J2EE runtime services such as EJB container support.
What's different about Geronimo is it's flexibility over WebSphere. While WebSphere versions come 'hardcoded' with a set of framework services for any given version of the server ( 6.0.0.0, 6.0.2.5 and so on), with Geronimo you have the option of assembling your own server as a build using the Maven build tool to get the specific service versions you need. This is a different approach than the canned application server model but one that makes sense when you want to target specific versions of frameworks. This is more complex to setup than a simple Tomcat or WebSphere install though generally.
One key advantage of the Geronimo server is the license. It allows you to use and embed the server in other products or distributions with very little restrictions and no royalties. This flexible licensing and standard software server model portable across platforms makes it a very attractive choice for ISV's (independent software vendors) who can create a custom application server version that fits the application services they need and then distribute that version to their customers easily. Compare this to WebSphere where the integration work is required at the customer site usually.
Third-party companies like ebt-now provide support for Geronimo and Tomcat servers in iSeries environments.
WebSphere Community Edition
Another nice choice is WebSphere Community Edition. You can think of it as a blend between the Geronimo software (it's based on a version of Geronimo) and the traditional IBM support model. Like other WebSphere versions, IBM does the packaging and testing of an integrated server version. With Community Edition, you get a WebSphere server based on the Apache J2EE software, not the IBM WebSphere software frameworks. This means it fits well with the open-source platform model allowing rapid reuse of other popular, reliable open-source frameworks as services. It also is a no-charge license for the server unlike the normal WebSphere Application Server.
Unlike Geronimo, you get a simple distribution of a complete version that is fixed by IBM. It's easier to install. In addition, IBM provides a full range of support services for this server in addition to third parties that focus on it, as well. IBM purchased a company, Gluecode, last year that offered this server as the Gluecode server before it was renamed as part of the WebSphere family to the Community Edition server.
Where to run your application server?
You can run any of the above application servers under OS/400 on the iSeries. If you have a lot of available capacity on your existing iSeries processor and expect a light Web workload, that is a good choice that is affordable.
Clearly, you could also run them on any other hardware server, as well. Given the much lower pricing of Intel servers, compared to an iSeries with OS/400, that was a very affordable option. The downside was the potential reliability and security problems that can hit Intel Windows servers.
The third option that makes sense for many customers is putting the application on an IBM server BUT NOT on OS/400. Why do that? You can get all of the reliability and efficiencies of the iSeries that you know and love and yet save the high cost of buying a processor with the OS/400 operating system to handle your Web workload. You can setup a processor with Linux saving over $40,000 on just the operating system alone. You can certainly buy a lot of help for that price in getting your business on the Web quickly. Linux is a very reliable operating system for Web workloads. Once it's setup, it's often very simple to maintain.
In almost all cases, IBM's Java toolkit is key to connecting your iSeries server resources to the Java applications running in the Web application server you select.
Web application servers offer flexibility for iSeries customers
No matter which Web application server you use and where you choose to run it, you have many good choices today for running your Web application workloads cost effectively. If you have more questions, you may want to consult a business partner focusing on iSeries Web application servers or consult an IBM Web site for more guidance. Given all the written documentation promoting each option it is sometimes difficult to make the right choice that fits your environment best.
A key strategy is to keep your choices open and flexible by building or buying Web applications that are built to the open-standards (and run on all Web application servers). This allows you to switch to a different server environment at any time without spending a ton of money on re-development, migration work. If, on the other hand, you code to specific frameworks for a proprietary server (WebSphere for example), you limit the flexibility to deploy to any of these other servers. In another article, we'll discuss options for building open Web applications using the open-source Eclipse toolsets or the WebSphere Studio IBM toolsets.
---------------------------------------
Jim Mason is VP of Technical Services at ebt-now ebt-now, an iSeries Web enablement company, providing design, development, implementation and training services. Jim's creating a self-study course for RPG programmers that teaches "hands-on" rapid visual development for all types of iSeries Web applications without the need to become a Java expert. ebt-now hosts www.quickwebsupport.com, a free site for iSeries developers learning about rapid Web development. He's also leader of a virtual WebSphere user group for iSeries. You can reach Jim at jemason@ebt-now.com.