Peter FischerEJB ExecutionUnify's E-Wave Java application server does a good job of supporting enterprise processingEnterprise 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 engines components.
The engines functionality qualifies it as an industrial-strength EJB server. In addition, it supports a bevy of features that the EJB 1.1 specification doesnt dictate, but that are key to developing and, more important, deploying distributed Java systems. Using E-Waves 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.
The administrative console is the environments central control point where you configure the application servers. (See 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 EJBs 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 DescriptorTo 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 PackageAn 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.
ApplicationsAs 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 IBMs 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.
Copyright © 2000 CMP Media Inc. ALL RIGHTS RESERVED No Reproduction without permission |
|
|||||||||||||||||||




