WebLogic's Enterprise Server


 

Enterprise computing is a view of computing in which most, if not all, of the computing resources of a large, distributed organization, such as a corporation or government, are integrated through networking infrastructure into a seamless environment or resource. Most now use the Internet as the network infrastructure, regardless of whether they operate the system as an internal intranet or provide public access. Increasingly, organizations are using Web technology to provide a uniform interface as a means of delivering user software (i.e., applets) on demand.

A key component of enterprise architectures is the enterprise server. Typically, organizations run many such servers, linking them to one another to form a seamless configuration of services. Most enterprise servers provide WWW or HTTP service; however, many support additional function including multiple databases located on widely scattered hosts. Increasingly, other communications services, such as telephone and paging, are being linked in so that the system can send a message to an individual not just through e-mail but through these other communication channels, as well.

The particular Enterprise server I have been using is WebLogic's 4.5.1 server. It supports conventional HTTP requests including servlets, has its own internal RMI service, supports Sun's Enterprise JavaBeans architecture, and provides JDBC connections to several popular DBMS systems, including Oracle and MySQL, as well as JDBCODBC connections. These as well as some of its other functions are suggested in the figure, below.

HTTP

Transactions

Servlets

JDBC

RMI

Sessions

EJB

JNDI

SSL

Remote Events

JSP & JHTML

JMS

T3:
T3Client & T3Servlet

Access Control

File I/O

ZAC

 

I frequently run a copy of this server on my local pc: jbspc.cs.unc.edu:7001. It includes pointers a number of useful documents, located at WebLogic's home site. Links to local copies that may be available include the following:

Pay particular attention to the Developers Guides. There are a dozen or so of these; they are substantial documents, often 40-50 pages or more; and they are very detailed. My experience has been that in order to understand and use the WebLogic server's function, I had to print these out, study them carefully, and "check off" each step in installing and running sample programs. But they are generally well-written and are understandable, with repeated readings.


Key Function

Enterprise JavaBeans

Enterprise JavaBeans function within some sort of container. WebLogic's Tengah server provides such a container. To be used with the server, however, ejbs must be "adapted" to the WebLogic context and deployed.

By adapted, I mean that once the basic ejb code is written and compiled, stubs and skeleton files must be generated that conform to WebLogic's special requirements. A special ejb compiler, called ejbc, is provided for this purpose.

By deployed, I mean that the ejb must be registered with the server so that when it begins execution, it has a name by which to reference the ejb and knows its locations. Deployment can be done by manually editing a DeploymentDescriptor.txt file and manually editing the servers property file, or a deployment wizard is available as a standalone application of the server host machine that automates much of this process.

These concepts are illustrated in a simple time server ejb.

Events

The WebLogic server provides a very powerful event distribution service. It allows programs running anywhere on the network to generate events that are sent to a WebLogic server, also running anywhere on the net, and entered into a hierarchy or tree of events. Conversely, programs running anywhere on the net can contact that server, register their interest in a particular event or a subtree of events. When an event is received by the server, it applies evaluation methods supplied by the programs that have registered their interest in that particular event type. If that method returns true, the event is sent to an action method designated by the interested program where some appropriate function is performed, such as sending e-mail notification or updating a display.. Since the program registering interest in an event may designate itself and supply an action method included in it, event distribution can be used to support a form of server call-back to the client. One additional feature of interest is that events may be associated with access control lists to allow the developers of an event-based application to determine which users' programs will be allowed to receive those events.

These concepts are illustrated in a simple talk/chat applet.

RMI

Rather than requiring a separate RMI registry, Java programs of several sorts may use the built-in RMI service provided by the WebLogic server.

JDBC

The WebLogic server comes with several type-4 drivers that provide a direct Java interface to several widely used DBMS, including Oracle, Sybase, Microsoft's SQL server, and MySQL.Drivers for other databases, obtained independently, can also be installed and used with the server.