Sun's iPlanet division has become the umbrella organization for all the application development software that Sun has collected over the past several years. Sun's initial foray into this business was their acquisition of application-server vendor NetDynamics - but the core technology for iPlanet came from the Sun/Netscape/AOL multiplayer trade that put control of Netscape's server products under Sun's domain. Ultimately, Sun would go on to acquire Forté Software and NetBeans to round out their application server family of products. Technically speaking, Sun doesn't own the Netscape product line outright and iPlanet E-Commerce Solutions is an alliance among AOL, Netscape, and Sun that was formed in March 1999. The iPlanet name comes from another Sun acquisition and the alliance appears to be primarily controlled by the Sun camp. The iPlanet 6.0 application server is the latest release of the consolidated product suite - one that includes code from both NetDynamics and Netscape.
iPlanet 6.0 - Ready for Java
iPlanet considers the 6.0 product to be a "fourth-generation" release that builds upon a proven architecture. Since there are three principal bloodlines for iPlanet (NetDynamics, Netscape/Kiva, and Forté), the core technology has been around in some fashion for a number of years. However, the task of integrating these disparate products into a scalable and reliable platform is no small task.
Classically speaking, there are two separate paths that customers can take when implementing enterprise-class applications. They can buy all their software from a single vendor and take an integrated approach, or they can buy best-of-class products from lots of different vendors and assume the integration tasks on their own. While the Java 2 platform makes the best-of-class approach a more viable one, there are still hurdles to be overcome from a business standpoint when using the best-of-class approach. Take support, for example. The task of coordinating problem resolution among dozens of vendors can be a Herculean task. With iPlanet you get the integrated approach. Netscape has lots of software assets in the application server space in the form of directory services, Web servers, and application server technology. In a sense, the iPlanet product is itself something of a composite of a number of best-of-class products. The difference is that iPlanet has taken on the task of doing the integration work for you.
The iPlanet 6.0 product is the first product to pass the J2EE certification suite. Given iPlanet's cozy relationship with Sun, this comes as no major surprise. Taken from the J2EE perspective, iPlanet 6.0 offers comprehensive support for the J2EE stack as shown in the following features:
- Java 2 SDK
- EJB 1.1
- JDBC - J2SE
- JNDI 1.2
- Servlet 2.2
- JSP 1.1
- JavaMail, JAF 1.1
- Java Transaction API
One of the key underlying components of the iPlanet application server is the Kiva Engine (which formed the core of the Netscape Application Server product as well). Kiva initially provided strong support for C/C++, and many applications that were built with the Kiva/NAS rendition of the product relied upon this support. With the release of iPlanet 6.0 the migration to Java is in full swing. While you can still use C/C++ with iPlanet 6.0, many of the C/C++ features have been deprecated - the handwriting is on the wall as far as the C++ language goes. Clearly, iPlanet 6.0 has been designed to favor the Java developer.
Installing and Working with iPlanet 6.0
I downloaded the Windows NT version of the application server and application builder from the iPlanet Web site. The iAB evaluation kit includes a built-in copy of the server, so it's not necessary to download them separately to work with the product on Windows NT. iPlanet 6.0 offers tight integration with the iPlanet Directory Server, which became evident during the server installation process. Given my lack of experience configuring directory servers, I accepted the defaults in most cases. As far as HTTP servers go, iPlanet supports the iPlanet Web server, Microsoft IIS, and Apache - but the installation script only provides automatic installation for iPlanet and IIS. After installing the application server, I went through a second installation to get the Netscape Console installed (see Figure 1).
The iPlanet Console, which is written in Java, is the interface that allows you to manage application servers and directory servers. Personally, I prefer to have a rich-client interface like the iPlanet Console with which to manage application servers. I've found that there are too many moving parts for a plain vanilla HTML interface to handle. The iPlanet console is Java-based and is relatively easy to work with, and the interface itself was surprisingly crisp. Once I had the server running, I had some small problems getting iAB itself installed, including some minor problems with the tutorials.
The iPlanet Application Builder comes straight from the original Netscape Application Builder product (which in turn came from the original Kiva product). iPlanet positions iAB as a tool for entry-level development and recommends their own Forté for Java Enterprise Edition IDE for more complex applications. iPlanet also has interfaces for a number of third-party Java IDEs such as JBuilder, VisualAge for Java, and WebGain. iAB in its current form has support for all the critical features of iAS. It sports a number of wizards for managing complex tasks such as building database forms, displaying result sets, creating logon forms, and generating session/entity beans. iAB has many of the features of the most popular IDEs including dockable windows, project management tools, and a number of wizards (see Figure 2).
In many ways iAB is a lot like IBM's WebSphere Studio. Both interfaces have been designed to make it easier for a Java developer to create JSP and Servlet applications with connections to RDBMS engines. iAB wasn't meant to replace an enterprise-class IDE; this is evident if you're an experienced Java developer. (For example, team development and sophisticated debugging aren't provided within the iAB environment.) In addition, there are also some legacy quirks in iAB (such as the need to create Kiva data-model files) that might seem counterintuitive for developers that have experience working with a more complete Java IDE. iPlanet doesn't position iAB as a replacement for an industrial strength Java IDE, but rather as an entry-level tool for building applications. However, if you're not familiar with all the ins and outs of developing a J2EE-style application, iAB is a good starting point. Rather than relying on the examples that come with the installation kit, I'd recommend that you download the latest samples from the iPlanet Web site. In fact, the best demonstration application is the Pet Store application that's described in the J2EE Blueprint document. (You can download the example application along with the J2EE, and instructions for deploying Pet Store to iAS can be found on the iPlanet Web site.) From the server standpoint, iPlanet has packed a ton of features into the server itself, including XML parsers and an XSLT engine.
iPlanet provides a complete e-commerce platform, and iPlanet Application Server forms the transactional basis of that platform. iPlanet also provides a number of other products that connect with iAS. In addition to the iPlanet Web Server and Directory services products, iPlanet also offers an iPlanet Process Manager, Messaging Services, and a Wireless and iPlanet Portal Server to work with iAS. The resulting group of products is an impressive suite from a features perspective. At least on paper, iPlanet has one of the most complete application server suites on the market.
The transformation of NetDynamics, Netscape Directory Server, NAS/Kiva, and Forté into a single, unified product is well on its way with iPlanet 6.0. While there are still vestiges of the individual products scattered through iPlanet 6.0 (such as references to "kjs" and "kcs" for you Kiva developers), the product has come a long way in a relatively short time. iPlanet has packed a ton of services into a comprehensive J2EE server product. I'd recommend putting iPlanet 6.0 on your short list if you're committed to building Java-only applications.
Jim Milbery is a software consultant with Kuromaku Partners LLC (www.kuromaku.com), based in Easton, Pennsylvania.
He has over 16 years of experience in application
development and relational databases.