Apache Web Server Upgrade Path Handled By i 7.2
June 9, 2014 Dan Burger
The Apache Web server should not be a mystery to anyone in the IBM midrange community. But the awful truth is that more IBM i advocates are familiar with SEU and PDM than any topic that’s within 10 miles of the Web. To everyone in that tribe, the latest enhancements to the Apache Web server and the WebSphere Application Server are sadly inconsequential. For those who see the Web in their future, this is an opportunity to keep current with technology.
Fresh from the oven IBM i 7.2 brings support for the Apache HTTP Server 2.4, which has been available for more than a year giving the IBM i team ample time to do the integration dance. Due to the changes introduced by the open source Apache Foundation, this was not a short order. It takes a new release of the i OS–not a Technology Refresh–to make this happen.
Tim Rowe, the IBM i business architect for application development and systems management, is what you might call a union organizer. In this case, it’s the union between IBM i and Apache 2.4. He has monitored the progress as the development team consummated the Apache server integration with i 7.2.
So is this a more perfect union than the one between IBM i 7.1 and Apache 2.2? It is, but it is not 100 percent satisfaction guaranteed, even though it is “free” with the operating system, which the foremost competitor certainly is not.
The biggest benefit for IBM i shops, Rowe says, is the capability to easily configure subsystems and memory pools.
“It’s been requested for ages,” says Rowe, the point man for many requests from IBM i ISVs and end users. “This allows better systems management and control so that when running heavy workloads, you can guarantee consistent throughput. You do this by carving up separate memory for a workload. By doing so, you can help protect the workload from being affected by other activities on the system.”
Although the initial development effort was to bring this capability to 7.2, Rowe says later this year it will be extended to shops running 7.1, even though they will be running Apache 2.2. Apache 2.4 will not be backward compatible to IBM i 7.1. Backward compatibility is not a priority for the Apache Foundation. Fortunately, it makes sense to the IBM i integration team.
“The capability to configure the Apache server in its own subsystem will be available, but we cannot move Apache server releases without IBM i releases,” Rowe explained in a telephone interview with IT Jungle last week.
Because IBM i 6.1 and 7.1 both used Apache 2.2, the migration from 6.1 to 7.1 was easy, Rowe says. The level of change that took place enhancing Apache 2.2 to get the 2.4 release will make the migration for IBM i shops a little more difficult.
“Apache 2.4 has changed certain behaviors that are noted in directives and keywords,” Rowe pointed out. “If a company has written custom plug-in modules for Apache 2.2, those modules will have to be recompiled to work with 2.4.”
Changes in HTTP Server module APIs are responsible for that.
Another change that IBM i shops should be aware of is the allow/deny directive for doing authentication and authorization was eliminated from a security module. The IBM i Apache integration team ported the 2.2 security mechanisms to the 2.4 server so users are not left unprotected while they adapt to the new Apache security methodology. Eventually the old security mechanisms will need to be migrated to the new Apache security methodology, Rowe says. His advice to all shops deploying a Web server is to make certain the IBM i is secure to the object level, strictly limit authority to access, and use basic authentication.
There’s a list of configuration-related changes that will also be required to use the HTTP Server on IBM i 7.2 as it was being used on IBM i 7.1 and 6.1. If you are a member of the COMMON user group, a download of the slides from Rowe’s Overview of the Apache Server session is available. It goes into the configuration-change list in detail.
Help with getting a Web site up and running is provided by graphical integration wizards in a 7.2 component called Web Administration for i.
Over the years IBM has been a consistent contributor to and supporter of the Apache Foundation.
IBM i was the first IBM platform to deliver Apache 2.0. That was more than 13 years ago. From an overall IBM HTTP server perspective, Apache is supported on multiple platforms. And for those who appreciate popularity contests, knowing there are 920 million Apache HTTP Servers at work should let you know you are backing the right horse.
“We are not leading the charge at the Apache Foundation, but we contribute to it,” Rowe says about IBM’s role with the open source community.
IBM i shops run Apache both on and off the box. On the box, it can run in its own partition or in the same partition as the rest of the workload. Microsoft has its version of HTTP server called the Internet Information Services (IIS) server and it’s found in many IBM i shops, particularly those where Web skills are absent. Rowe says he doesn’t have a clue what the comparison of Apache servers to IIS servers might be, but he offers this view: “I would say the great majority of shops are running Apache on the box. It’s been available for a long time. IBM has provided the plug-ins to allow communications from the Apache to the IBM i and I can tell you the Apache server on IBM i is well used. It gets heavy usage. Apache is fast and capable of handling big workloads.”
The runtime engine for the integrated Web application server was also updated in i 7.2. Of note is the WebSphere Application Server Liberty core becomes the basis of this server and the Liberty Server becomes the default server for 7.2. By the way, the latest HTTP PTF group allows the Liberty Server to support 6.1 and 7.1.
The new Liberty Server is a lightweight, OSGI-based container, much like Tomcat (used by many Java-oriented IBM i shops) or the old-school LWI (lightweight infrastructure) servers that were built into the OS. You wouldn’t be wrong in describing Liberty as a multi-platform Web container. In addition to being used within i OS, it can also be used on Windows, Linux, Unix, and Mac machines, which allows development pretty much anywhere and the capability to drop that work on the IBM i, which is where your production environment should be, right?
Liberty is upward compatible with the full-blown WebSphere container, if the apps need that later in their lifecycle.