No one should be surprised that iPlanet is the first vendor to be certified 100 percent J2EE-compliant: iPlanet's parent companies, Sun Microsystems and Netscape Communications Corp., have carried the open-standards torch for years. A list of the Java standards that Application Server 6 supports is long and includes EJB 1.1, JavaMail-JAF 1.1, JavaServer Pages 1.1, Java Transaction API, Java 2 SDK, JDBC-J2SE, JDBC-Optional Package and JNDI 1.2.
If you have been waiting for these features, I recommend you study the many ways this server can be used. The more robust your application and infrastructure design, the fewer 3 a.m., Level 2 support calls. Faster, guaranteed response times will keep your intranet users productive and Internet customers buying.
Product Platform Options
Application Server 6 is supported on Microsoft Windows NT Service Pack 5, Sun Solaris (version 2.6 or 8) and IBM AIX, and natively interfaces to DB2, Informix, SQL Server and Sybase, as well as other ODBC-compliant databases. Application Server requires an HTTP server--iPlanet Web Server 4.1 and Microsoft's Internet Information Server (IIS) 4.0 are supported. Each CPU running Application Server requires 256 MB of memory; after installation, it will use about 200 MB of disk space on NT and 400 MB on Solaris. The iPlanet product team informed me that the Solaris version of Application Server is faster than the NT version (no surprise there), so keep that in mind during capacity planning.
I evaluated Application Server using Windows NT SP5 on a Dell Computer Corp. 2400 server in Network Computing's Real-World Labs® at the University of Wisconsin-Madison. The database was Oracle8 running on a Novell NetWare machine, so I installed the Oracle client on the Dell and verified the connection. iPlanet included version 4.1 of its Web Server on my evaluation CD, so I installed that, too.
With the prerequisite services running and tested, it was time for me to set up Application Server. I chose the "Express" option, which installed iPlanet's LDAP server and a basic option set. It uses the LDAP server to store user and group security rules for applications along with providing a mechanism for clustered Application Server servers to share information. After finishing the installation, I ran the very simple Fortune application to verify that Application Server was working properly.
Develop, Assemble and Deploy
My next step was to deploy the sample applications that come with Application Server. Among those samples are a pet-store and an online-banking application. Included with each sample is a handy batch file to automatically create the required objects, such as tables, in the database and to register a user for the application in the LDAP server. I was ready to use the deployment tool to assemble and deploy the sample applications.
The ultimate goal of the deployment tool is to create the EAR (enterprise archive) file. To create an EAR file, you first define your EJBs (Enterprise JavaBeans) in JAR (Java archive) files and your servlets and JSPs (Java Server Pages) in WAR (Web archive) files. Essentially, your data access and business logic are stored in the JAR files and your presentation logic and GUI are stored in the WAR files. The creation of EAR files is analogous to a make file or project file. I followed the documentation and deployed the prefab banking and pet-store application code without incident.
My next step was to use a beta copy of iPlanet Application Builder 6 to build an application completely from scratch (it's sold separately for $1,295 per seat). The 79-page tutorial for Application Builder involved creating a complete online compact-disc store. The wizard-based builder was surprisingly flexible and robust, letting me go back and make changes to any option I picked while inside the wizards. I found this tutorial essential to understand how the basic pieces of a J2EE application fit together. I highly recommend it for programmers new to J2EE. In addition to Application Builder, IBM Corp.'s Visual Age, Inprise Corp.'s Borland JBuilder, Sun's Forte and WebGain can be used to create applications for Application Server.
Administer and Monitor
Application Server also comes with an administration tool that let me monitor and administer multiple servers from one console. Using the tool, I was able to manage database connections, monitor application performance and define load-balancing schemes.
I was impressed with the myriad tuning data, which provide excellent insight into server performance issues. That data can be used to define custom load-balancing options. I could balance based on the response time of the server, or I could create my own criteria by changing how Application Server weighted various system resources, such as the number of requests queued or memory thrash. This let me fine-tune the load-balancing rules and made it easier to adjust the weights of dissimilar server hardware. For example, if you have a server with a slow disk array, you could increase the weights of the I/O load to reflect this.
Another feature of the administration tool is SNMP monitoring of Application Server status and error log files. iPlanet also offers Enterprise Connectors for integrating legacy systems into the Application Server environment. Connectors are available for BEA Systems' Tuxedo, IBM's Encina/CICS, PeopleSoft and SAP.
Vendor Information:
iPlanet Application Server 6, $35,000 per CPU.
iPlanet E-Commerce Solutions, (888) 786-8111, www.iplanet.com
Travis Johnson is a freelance writer based in Madison, Wis. Send your comments on this article to him at travis@matrixtek.com.