Shopnovell is more than just
a convenient way to pur
chase the latest Novell products. It is also a working example of how NetWare 5 serves as a solid foundation on which you can build your company’s ecommerce system. That is, if your company is planning to join the growing number of companies doing business over the internet, shopnovell is a case study, demonstrating the advantages of using NetWare 5 to implement an ecommerce system.
Over the years, Novell has refined its renowned NetWare file and print services. These refinements enable NetWare 5 to deliver file and print services at the unprecedented rate of up to 253.3Mbps 68.8Mbps faster than Windows NT 4.0.
Taking advantage of NetWare 5 file services, Novell uses NetWare 5 as the platform for a bank of HTTP accelerator servers. Novell then runs Border Manager on these NetWare 5 servers and configures it as a reverse HTTP proxy server. This configuration enables it to retrieve and return web pages and image files that are stored on shopnovell HTTP and HTTP Secure (HTTPS) servers.
The HTTP and HTTPS servers are responsible for creating and maintaining shopnovell web pages. They are NetWare 5 servers running Netscape Enterprise Server for NetWare.
Although Border Manager must retrieve dynamic web pages and images each time a browser requests such pages, Border Manager stores shopnovell’s static web pages and image files in its own cache. Running on NetWare 5, it can deliver static, and therefore cached web pages at up to 500 Mbps. Border Manager also allows customers to access shopnovell at rates of up to 10,000 hits per second.
In addition, Border Manager saves Novell the time and expense of implementing a separate security system for shopnovell. The Border Manager servers provide the only point of access to shopnovell. Behind this point of access, shopnovell web, application and database servers operate, unseen by, and therefore beyond, the reach of customers’ browsers. Says Kevin Millecam, Senior Manager, Novell Electronic Marketing, on Border Manager’s role in making shopnovell secure, “Border Manager takes care of all the security. We didn’t have to worry about writing some kind of ad hoc security scheme in addition to everything else.”
The Java connection
Many of the services that shopnovell HTTP and HTTPS servers provide, run on the Novell Java Virtual Machine (JVM) for NetWare. The most obvious way shopnovell exploits the Novell JVM is through Evergeen Internet Inc’s ECential. ECential is a Java software package that runs on the Novell JVM and provides ecommerce capabilities for shopnovell. In addition, shopnovell takes advantage of the following features provided by the Novell
The Java servlet Application Program Interface (API) enables servlets to access information from both Java and non-Java programs running on the NetWare 5 server.
The Java Database Connectivity (JDBC) API allows Java programs, such as servlets, to access information stored in database applications, such as Oracle.
Java servlet API
Shopnovell takes advantage of the Java servlet API through several Ecential servlets that run on the HTTP and HTTPS servers. These servlets enable shopnovell customers use their web browsers to communicate with and to transact business with shopnovell. For example, two Ecential servlets create and maintain the shopping cart pages and shopnovell product pages through which customers can purchase products on shopnovell.
When a shopnovell customer requests a dynamic web page, such as a shopping cart page, Border Manager passes the request to the Ecential servlet responsible for creating that page. Servlets that create dynamic web pages for shopnovell act indirectly as liaisons between a customer’s browser, the NetWare application servers, and the servers upon which shopnovell databases reside.
CORBA and the JDBC API
Before requesting information about the contents of a shopping cart, a customer usually clicks through the shopnovell catalog and adds the products to the shopping cart. The product page servlet responds to a customer’s request for information about a particular product and delivers that information in the form of a dynamically created web page.
How do these two servlets communicate with applications running on other servers? Both servlets communicate with the other applications via CORBA and the JDBC API. The shopping cart servlet and the product page servlet use CORBA to access other components of the Ecential ecommerce software-CORBA allows an application running on one server to communicate with an application running on another server. Both servlets also use CORBA in conjunction with the JDBC API to access the Oracle database in which shopnovell stores product information.
Versatility is the name of the game
The JDBC API allows Java programs-such as the product page servlet-to access and manipulate data through Structured Query Language (SQL) statements and commands. Most relational database management systems, including Oracle, support SQL and by extension these databases also support the JDBC API.
The JDBC API also supports distributed databases, such as the Novell Directory Services (NDS) database, which contain files located on more than one computer. Distributing any kind of database, including a relational database, enables more than one user or program to access that database at any given time and also decreases the workload that any one computer must support.
In the future, Novell plans on leveraging this support for distributed databases by implementing Novell Cluster Services for NetWare5 to protect the database that stores shopnovell product information. Currently in open beta, it guards against hardware and software failure. With Novell Cluster Services for NetWare 5, you will be able to provide fault tolerance for applications that are essential to your company’s operations.
Novell Cluster Services for Net Ware 5 will allow the shopnovell Oracle database servers to share information that is stored on a shared physical disk drive using SCSI. Through Novell Cluster Services for NetWare 5, the shopnovell Oracle database servers will be able to monitor each other’s ability to manage shopnovell data. Should one of these database servers fail, explains Thomas Lonni, shopnovell Project Manager, “clustering technology will allow the other server to immediately pick up the slack so the site doesn’t go down.”
Novell Cluster Services for NetWare 5 will also enable shopnovell administrators to balance the workload among the shopnovell Oracle database servers. In addition, shopnovell administrators will be able to add database servers to the cluster as more database servers are required to accommodate shopnovell’s growth.
Getting business savvy
The Java servlet API and the JDBC API which are included with the Novell JVM, enable communications between Java programs and relational databases. However, shopnovell, like many ecommerce systems, includes several types of applications that must communicate with one another. In addition, shopnovell, like most ecommerce systems, must be able to grow as demands on the system grow. VisiBroker for NetWare enables shopnovell to meet both of these requirements.
VisiBroker for Net Ware is a CORBA-compliant Object Request Broker (ORB) that is based on Inprise Corp’s VisiBroker for
Before you can understand how VisiBroker for NetWare meets shopnovell’s needs, you must understand the following terms:
ORB: An ORB allows one application to access information from another application.
CORBA: CORBA is an Object Management Group (OMG) standard that defines programming interfaces to the OMG implementation of an ORB.
CORBA/Internet Inter-ORB Protocol (IIOP) specifications: The OMG a consortium composed of more than 800 IT companies including Novell, is responsible for developing the CORBA/Internet Inter-ORB Protocol (IIOP) specifications. IIOP is a protocol that transports CORBA over an intranet or the internet.
CORBA operates as the lingua franca, or common language, by which a CORBA-enabled application can speak to, and transact business with, other CORBA-enabled applications. As Chris Staszak, former Chief Technology Officer for Evergreen, explains, “CORBA doesn’t care if the application sitting on the server is written in COBOL, C++, or Java.” Whether a Java-based ecommerce system includes a legacy enterprise resource planning (ERP) application written in COBOL or a credit card authorization application written in C++, CORBA allows the various components of the ecommerce system to communicate with one another. “With so many technologies, there’s a lot of hype, (but) with CORBA all the good things about it are real,” adds
CORBA enables the servlets running on the web servers and other ECential components running on the NetWare 5 Java/CORBA application server to interact with one another. In fact, CORBA is the language that allows all of the servers in the shopnovell network, including the database servers, to communicate with one another.
Providing a common language through which different applications can communicate with one another is certainly one of the more important services CORBA provides for shopnovell, but the most important service CORBA offers is the ability for object implementations to advertise their services. Object implementations are the applications that respond to CORBA’s request for information. Because CORBA enables object implementations to advertise their services, Novell can add servers to shopnovell wherever these servers are needed.
The credit card advantage
In addition to enabling applications within shopnovell to communicate with one another, CORBA enables shopnovell applications to communicate with CyberSource applications running outside of shopnovell. CyberSoruce is a company that ensures shopnovell orders are delivered to customers in one of two ways, depending on the particular product. Products can be delivered either as an electronic download via CyberSource Sm@rtCert digital delivery or as a physical product via United Parcel Service ground delivery.
When a customer enters the credit card information and clicks to submit an order, a servlet running on one of the HTTPS servers uses the Java servlet API to invoke Secure Sockets Layer (SSL). The credit card servlet then relays the customer’s information via CORBA/IIOP to the shopnovell application server running a CyberSource application. This application server uses the customer’s credit card information to formulate a specialized request for credit card services, which the server then sends to CyberSource in Santa Clara, California via a direct line.
After receiving the request for services from shopnovell, applications running on the CyberSource network use the customer’s credit card information to contact the appropriate credit card company for pre-authorization. CyberSource then returns the status of the customer’s purchase to the application server running on the shopnovell network.
The credit card servlet retrieves the customer’s purchasing status from the application server and, via Java Server Pages, creates web pages on the fly that either confirms the customer’s purchase or tells the customer that the purchase has been denied. Finally, the credit card servlet passes this newly created web page to a server running Border Manager Fast-Cache Services 3, which uses port 443 to send the web page across the internet to the customer’s browser-Port 443 is the HTTP accelerators server port responsible for transporting information via
Further, if the customer’s credit card purchase is authorized, a shopnovell component running on an application server creates and sends an email message to that customer confirming purchase from
Getting value for your money
The application that formulates credit card processing requests, also receives information from the shopping cart service. When a customer purchases products that can be delivered electronically, this application uses information from the customer’s shopping cart to formulate another specialized request. Like the request for credit card processing, this request is sent to CyberSource. However, this request goes to Sm@rtCert, the CyberSource electronic warehouse/delivery application that is responsible for processing customer orders.
The Sm@rtCert application uses information contained in the request, such as product Stock Keeping Unit (SKU) numbers, to create an electronic certificate-Sm@rtCert can deliver up to 15 separate SKU numbers. This certificate gives the shopnovell customer the right to download the product purchased. After creating this certificate, the Sm@rtCert application returns the certificate number to the shopnovell application server that originally sent the request.
After receiving the certificate number, the requesting application forwards that number along with the Sm@rtCert warehouse URL to the ECential servlet that creates order acceptance pages for shopnovell customers. This servlet includes the certificate number and the URL in the web page it creates and passes this page to one of the Border Manager Fast Cache Services server for delivery to the customer.
The customer who receives this information can then enter the Sm@rtCert URL in his or her browser and follow directions for downloading the Sm@rtCert client software. This client software, called the Download Manager, is a small program that downloads quickly.
The Download Manager enables a customer to locate a particular transaction and then to safely download the product purchased. If the customer’s connection fails during the process of downloading, the Download Manager automatically re-establishes that connection.
After the customer has successfully downloaded a purchase, a shopnovell component running on an application server notifies CyberSource, CyberSource then charges the customer’s credit card account for the amount of purchase.Finale
If you haven’t been considering the best way to put your company’s business online, you might soon be making this decision. According to the US Government Working Group’s First Annual Report, the number of people connected to the internet-and therefore the potential number of customers for online businesses-is increasing dramatically. When the Working Group released its report in November 1998, more than 140 million people were connected to the internet-up from 50 million people in July 1997.
In addition, conducting business online may help increase your company’s productivity. According to the Working Group, companies of all sizes are ‘realizing substantial productivity improvements’ as a result of implementing e-commerce systems-You can download this report from
Also, Needless to say, improvements in a company’s productivity generally translate into improvements in that company’s bottom line.
Also needless to say, an ecommerce system that builds on the company’s existing system already saves that company the cost of retooling its existing system. As Staszak puts it, replacing your company’s IP infrastructure can be ‘cost prohibitive’ at best. In other words, if sometime in the future, you find yourself considering the best way to put your company’s business online, let shopnovell be a lesson to you.