10.4 A Multitiered Architecture
IDP hosts the servers and handles the transactions that flow through Web ePOST. The platform infrastructure reflects a multitier architecture: Web server, application server, database server, and directory server. There are industrial-strength printing servers connected to the infrastructure, as well. Corporations also have the option of hosting the application in their own IT infrastructures. Physically, all these servers can run anywhere~even inside a corporation's firewalls.
To Web-enable IDP's ePOST application, IDP and Sun Professional Services utilized three different EJBs~administration-service bean, customer-service bean, and hybrid-mail service bean. Each of these EJBs is a stateless session bean running on iPlanet Application Server, which is based on the EJB specifications. The use of stateless session beans provides IDP with high scalability, since a user's request can be executed in any application server process in such a replicated system. Two subsequent requests from the same user can be executed in two different processes on two different hosts. So if the WEB ePOST licensee has integrated the solution into a clustered environment, the application server always directs requests to the least-loaded host. "With stateless session beans," notes Hansen, "our customers can accommodate as many hosts as they need, without affecting user response time." The initial production hardware comprises any number of Sun Enterprise 450 servers running Solaris 7 (the number of servers is dictated by the WEB ePOST licensee).
The use of iPlanet Application Server and iPlanet Web Server was recommended by Sun Professional Servicesa recommendation IDP didn't take lightly. iPlanet Application Server is a J2EE technologycompatible e-commerce platform that extends the reliability and portability of the J2EE environment through its failover capability, container-managed persistence, and transaction monitoring. iPlanet Web Server features a high-performance Java application platform that supports Java Servlet extensions, JSPs, and in-process, plugable Java virtual machines. "We're pleased with this recommendation because together, these iPlanet solutions provide a reliable backbone to support our J2EE technologybased solution. As we grow our customer base, and in turn the transaction volume, we're confident we have a platform that will keep pace with us," notes Johnsen.
Each EJB handles requests from one of the various types of clients: hybrid-mail administration, customer administration and postal office administration. The EJBs authorize the request from the client, based on the user ID and password obtained during log in. They then read and write to the database. The hybrid-mail EJB also communicates with the credit card verification and payment server provided by the WEB ePOST licensee.
The GUIs for the customer administration, postal office administration, operator and help desk are provided through HTML pages generated by JSPs. Of course, these pages reside on the application server, along with servlets and EJBs. JSP pages consist mainly of forms and tables filled with data from the database. Each of WEB ePOST's 111 JSP pages provides unique functionality.
The postal administrator can view and modify customer data, as well as register new customers.
The operator can view logs and update application-server configurations, and the help desk can view customer data. The operator and help desk are not included in the Java applet; they are functions accessible through HTML pages for use by the postal organization or other IDP customer.
The customer administrator can view and modify select data concerning the company, and can also add new users from the same company.
In terms of tiers, Web ePOST's underpinnings were distributed along the following lines as shown in Figure 10.2:
Figure 10.2 IDP Application Architecture
Client tier: Java applet and Web browser running from a PC. The Java applet presents the graphical user interface, integrates with address databases, calculates shipping costs, and lets users send HML files with embedded postscript.
Web tier: A client PC running Netscape, Microsoft Internet Explorer, or another Web browser downloads the Java applet. iPlanet Web server also resides on this tier. Firewalls and SSL encryption provide security.
Business-logic tier: Java Servlets and JSPs running on iPlanet Application Server powered by two Sun Enterprise 450 servers. Java Servlets perform previews, store HML documents on the file system, and locate stateless session EJBs using Java Native Directory Interface (JNDI). JSPs consist mainly of generated HTML forms and tables with data read from the database using DAO, enabling postal operators to update application-server configurations.
Database tier: When iPlanet Application Server receives an HML letter, a process is initiated that takes the HML document and places it in a directory on Oracle's server, a Sun Enterprise 450. EJBs put a record in a certain table, called hybrid-mail transact, and also trigger payment functions. A UNIX-based process then goes into the transact table to check for new print jobs, as well as for timestamps. If jobs exist, the process sends a call out that triggers the printing process. Also residing on the database tier is JAD'K, the credit card authorization application that IDP used when testing WEB ePOST.
EJBs, JDBC, and a Postscript parser/JPEG renderer, to parse Postscript files and render them as JPEG images, run on Sun Enterprise 450 servers. EJBs authorize requests from the client, read/write to the database via DAO, and communicate with the credit card verification and payment server. JDBC 2.0compliant Oracle OCI drivers are used to retrieve information stored in Oracle8i for the requesting EJB component.