CMP -- United Business Media

Intelligent Enterprise

Better Insight for Business Decisions

UBM
Intelligent Enterprise - Better Insight for Business Decisions
Part of the TechWeb Network
Intelligent Enterprise
search Intelligent Enterprise



May 15, 2000, Volume 3 - Number 8


Peter Fischer     

EJB Execution

Unify's E-Wave Java application server does a good job of supporting enterprise processing

Enterprise JavaBean (EJB) use has skyrocketed over the last year. Why? The majority of companies seem to want to build their new commerce systems on either an all-Microsoft platform or in Java. For scalability and openness, most are choosing Java. The EJB component model, along with the rest of the Java2 Enterprise Edition (J2EE) specification, is the chosen Java model for server-side computing. In response, a new form of middleware, the Java application server (JAS), has emerged as the execution environment to host these EJBs.

Vendor efforts are shifting from providing application server environments that support EJB development to offering ones, such as Unify Corp.’s E-Wave Engine Enterprise, that provide the features required for true enterprise processing environments. The relatively new Unify E-Wave engine provides a solid environment for deploying EJB applications. It is a fully featured application server environment providing all the tools and facilities you need to deploy EJBs. E-Wave conforms to the EJB 1.1 specification, which means that you can deploy both session and entity beans and use XML to create deployment descriptors.

E-Wave provides utilities for creating the deployment descriptors for your beans and for assembling interface packages to aid in building client applications that access EJBs running in the E-Wave application server environment. It also includes administration facilities that allow a system administrator to configure the runtime environment. Table 1, summarizes the engine’s components.
Component Description
Application Server Administration Console Graphical tool that provides management and administration of EJBs and the runtime environment
Deployment Descriptor Editor Graphical tool that allows creation and modification of EJB deployment descriptors
Application Server Runs EJBs
JSP Server Supports deployment and execution of JSP pages
Interface Package Wizard Creates an interface package definition file that contains configuration information for deploying client interface package code
Interface Package Editor Modifies interface definition files
Client Utilities Provide connectivity between Java clients and components running in the application server
Table 1 Summary of E-Wave Engine components.

The engine’s functionality qualifies it as an industrial-strength EJB server. In addition, it supports a bevy of features that the EJB 1.1 specification doesn’t dictate, but that are key to developing and, more important, deploying distributed Java systems.

Using E-Wave’s replication features, you can easily define and manage the replication of EJBs across your application server environment. Unify E-Wave Engine provides a unique feature called dynamic replication, which allows a component to be replicated across machines on the fly without taking application servers, and thus the systems that they are running, offline. In order to reduce resource use on databases, E-Wave automatically pools database connections.

E-Wave supports a variety of client access mechanisms, including ActiveX components using COM and DCOM, Java components using RMI, and HTML using servlets or Java server pages (JSP), as Figure 1, illustrates. The client utilities package contains interfaces and classes that let your client code connect to EJBs running in the application server. The interface package wizard creates the appropriate client stub code that lets your client applications connect to and interact with deployed EJBs in the application server environment. This enables automatic generation of development-time and deployment-time information, thus allowing Windows programmers to develop in their accustomed style. The server-side Java component developers need not change their code in order to support COM.

FIGURE 1 E-Wave supports various client access mechanisms.


The administrative console is the environment’s central control point where you configure the application servers. (See figure 2.) The console comprises three panels: browser, detail, and output.

FIGURE 2 The console comprises three panels: browser, detail, and output.


The browser panel displays the members of the administrative domains that make up your environment.

The detail panel provides information about the currently selected item in the browser. For application servers, it shows you information about the currently deployed EJBs, including the total number of messages sent or received and the total number of transactions committed since the EJB’s initiation. Figure 2 shows that you can see this information in the host properties window, also.

The output panel contains two views: Java console and events. The Java console displays output and error streams of each executing EJB. During evaluation, I used the Java console to view the EJBs’ diagnostic information, which let me monitor the EJBs without a dedicated monitor application — a great feature that lets the developer view all output from all applications in a single, time-sequenced view, which is especially critical when multiple application servers are deployed. The events panel displays the events that have occurred in the administrative domain: start, stop, and error events, for example. Double clicking on any event spawns a window that displays more detailed information.

In order to develop and deploy applications using the E-Wave engine, you create the following:

• Deployment descriptors, which configure the runtime behavior of EJBs deployed in E-Wave

• Interface packages, which let you build applications that use components deployed to the E-Wave environment

• Applications, which use the E-Wave components.

Deployment Descriptor

To deploy an EJB into the E-Wave environment, you need to create a deployment descriptor. This file, which you specify in extensible markup language, data-type definition (XML DTD) format, contains essential runtime information about the EJB. Most important, it lets you declare properties, such as those that support transactions and security, so you can configure and customize transaction behavior and security features on the EJBs outside of program code. The advantage of having a deployment descriptor is that it allows components to be developed without exact knowledge of the environment in which they will ultimately be deployed. This is especially critical for the third-party component market where the developers have absolutely no control over how their customers will use their components.

The person developing a bean uses an editing utility to specify the deployment descriptor.

The deployment descriptor is then packaged in with the EJB code in an ejb-jar file. Before the EJB is deployed into the E-Wave engine environment, the system administrator can modify some of the settings using the deployment wizard to customize behavior for the particular environment.

Interface Package

An interface package contains all the code required to allow a client to access components running in the E-Wave application server environment. E-Wave provides the interface package wizard, a multi-paneled window that lets you configure all aspects of the interface package.

The key to locating and binding to EJBs in the runtime environment is the Java Naming and Directory Interface (JNDI). EJB home objects, the objects that allow client code to locate and bind to an EJB, are stored in JNDI. You can therefore create the appropriate bindings for accessing your EJB code. The JNDI properties panel allows configuration of the administrative domain that houses JNDI.

After creating interface packages and configuring the JNDI context for the beans with the ejb-jar panel, you go to the bean selection panel and choose the appropriate beans to include. Here you can also assign an alias to each EJB consistent with your business domain, allowing easier lookup. If you wish, you can use the replication panel to assign each bean to a group for replication in the application server environment. These groups will be used when the bean is deployed by the system administrator in the runtime environment.

If you want to provide ActiveX client access to your EJB so that your client/ server trained programmers can build back-office applications without knowledge of Java, for example, you use the ActiveX configuration panel to choose which interfaces to include in the interface package. The interface wizard will then create the valid ActiveX representations of those interfaces in the form of stubs that are included in the interface package. In addition, appropriate entries are placed in the type library allowing easy programmatic access to the ActiveX interfaces from environments such as Visual Basic.

Finally, you can specify a default runtime configuration, which lets you include the client utilities as part of the interface package, providing one-stop shopping for all the required client access code. The interface package wizard will automatically generate the exact collection of required files to save time and minimize client-side deployment dependencies. You finish the process by selecting the “finish” button, which invokes the interface package generator to create the package.

An interface package definition file saves your session settings, allowing you to regenerate your package from a pre-built configuration using the interface package editor. This feature lets you create a new configuration based on an existing configuration, thus redeployment of updates is simple and consistent.

The administrator then installs this interface package on each development workstation involved in creating client applications that call EJBs in the application server. In addition, it will be deployed to every client machine that uses your deployed EJB components.

Applications

As I mentioned previously, E-Wave supports several client application access mechanisms: HTML, Java, servlets, and ActiveX.

HTML applications consist of a set of related HTML pages generated from servlets or JSPs. Servlets can access resources such as databases directly by using JDBC, or they can leverage the services provided by EJBs running in the E-Wave application server environment.

A Java client application can be a standalone application, an applet, a servlet, or another EJB. This client runs in a Java virtual machine on a host and communicates with a local or remote application server using an RMI-like protocol that the client utilities provide.

For JSP, as depicted in Figure 1, the Web server passes the request from the HTML page to the JSP server. The JSP server delivers requests from a client to a JSP and passes responses back to the client.

A feature that makes E-Wave stand out from the rest of the pack is its support for ActiveX clients. ActiveX support frees client applications written in Visual Basic to access application services deployed as EJBs. The ActiveX bridge installed with the client utilities provides this magic, which allows access to a local or remote application server using COM or DCOM respectively, which in turn is translated into RMI.

You can configure the client either as a standalone ActiveX client application that uses the client utilities to communicate with an E-Wave application server, or as a DCOM client that uses DCOM to communicate with a DCOM server host that in turn uses the client utilities to communicate with an application server. Figure 1 depicts these relationships.

Wrap Up

My company works with a multitude of application servers and has had opportunities to review them for clients and magazines, including Intelligent Enterprise. E-Wave compares favorably with other application servers such as IBM’s WebSphere and BEA Systems’ WebLogic. If you are ready to take the plunge into deploying applications using EJBs, E-Wave is a great place to start.

Peter Fischer (pfischer@qtrg.com) is director of technical services for Quantum Enterprise Solutions Inc., which specializes in enterprise application integration using Java enterprise technology, application servers, and middleware.


 
Copyright © 2000 CMP Media Inc.
ALL RIGHTS RESERVED
No Reproduction without permission

 
PRODUCT SPEC SHEET
E-Wave Engine Enterprise



Unify Corp.
100 Century Center Court, 3rd Floor
San Jose, CA, 95112
1-800-GO-UNIFY
www.unify.com

Pricing:Tentative U.S. Product List Prices: Unify E-Wave Engine Desktop — $299; Unify E-Wave Engine Professional — $4,999 per CPU; Unify E-Wave Engine Enterprise — $9,999 per CPU.

Minimum Requirements:Unify E-Wave Engine Enterprise — 512MB memory, 500 MHz Pentium (one to four processors), Windows NT 4.0, Service Pack 4.


 

     




IE Weekly Newsletter
Subscribe to the newsletter
    Email Address