BEA System's WebLogic Application Server

   
  SideBar
Short Line   MugMugMugMugMug
Version Reviewed: 4.02
Current Version: 4.02
Rating: 5 cups

Cup rating system:
5 Outstanding
4 Outstanding
3 Good
2 Acceptable
1 Poor



Vendor Info
BEA Systems Inc., WebXpress Division
550 California St.
San Francisco, CA
94104
800.WebLogic
www.weblogic.beasys.com



PRODUCT REVIEW

We reviewed version 4.02 of the BEA WebLogic Server. At the JavaOne conference in June, BEA unveiled version 4.5. The new version (in beta release at press time) boasts "one of the industry's richest and most complete implementations of Sun Microsystems' Java 2, Enterprise Edition (J2EE) platform standard."

The 4.5 version includes support for JavaServer Pages (JSP) and JavaMessaging Service (JMS). JSP is a J2EE service that simplifies the integration of dynamic content from Java applications within Web pages derived from industry-standard HTML editors. JSP combines easy-to-use standard HTML tags with JavaBeans components to separate the presentation of dynamic content from the generation of that content. JMS is a J2EE service that allows networked applications to communicate in real-time via reliable queuing, publish-and-subscribe communication, and various aspects of asynchronous messaging. The BEA WebLogic Server provides transactionally guaranteed messaging to help ensure delivery in the face of failures.

In version 4.5 clustering enhancements include memory replication and enhanced load-balancing algorithms, including weighted and parameter-based routing. —JW


Reviewed by Tony Rems



The application server market has become relatively muddled in the last couple of years. As architectures for the Web have grown larger and more complex, the need to simplify the integration of those architectures has grown as well. BEA Systems' WebLogic Application Server addresses this need, and much more. It was the first serious, pure Java app server on the market and it is easily one of the best currently available.

WebLogic (the company) appeared early on in the Java scene with a line of database connectivity solutions and JDBC drivers. Its flagship Java-based app server, Tengah, turned heads when it was first released in 1996. BEA Systems, best known for its Tuxedo and TopEnd transaction processing software, acquired WebLogic late in 1998. The merger reflects the direction of the industry, which is moving to integrate traditional IT with the Web in an open, scalable fashion.

WebLogic is now the WebXpress division of BEA and Tengah has evolved into the WebLogic Application Server, various versions of which may be downloaded from the company Website. The current version installs with the Java Runtime Environment 1.1.7a, but also supports use with any 1.1.x JDK.

I tested the product on a 300 MHz Pentium NT Server machine with 128 MB of RAM. I used JDK 1.1.8 for the tests. Installation in the NT environment was simple and relatively painless thanks to the installer, which guides users through the process. I also installed the product on a Solaris machine, where I found the documentation and install wizards sorely lacking. I got it done, but I had to figure it out for myself. (If you plan to use the product outside a Windows environment, you'd better know the platform.)

WebLogic can be installed as an NT service using a tool that comes with the software. The service can be started using the WebLogic console. This console tool is a Java application that provides an interface for the starting and stopping of services, viewing open connections, users, transactions, timing, load, along with a number of other features.

All product documentation is available online (BEA does not offer hardcopy versions) and comes in HTML or PDF formats. I found the documentation to be above average, if not exceptional. The Website also features an online tour of the product, including a demo application. It's really more marketing than technical, but it does provide an overview of the product's capabilities.

One of the WebLogic server's greatest strengths is its rock-solid support for the Java Enterprise APIs. Users will find here a truly comprehensive implementation, including Enterprise JavaBeans (EJB), Remote Method Invocation (RMI), Java servlets, Java Naming and Directory Interface (JNDI), Java Transaction API (JTA), and Java Database Connectivity (JDBC).

Particularly notable is WebLogic's support for EJB technology. It is one of a small handful of products that provides full support for the EJB standard. Most products on the market that claim to provide EJB support really were built on the draft and may not be compatible with all aspects of the standard. Also, some other servers contain support only for session beans and not entity beans. I was very impressed with WebLogic's support of both.

GUI Beans
The following GUI beans are available in the current version of BEA's WebLogic Application Server:

Login—A non-GUI Bean for connecting to the server.
Workspace—Connects to a Workspace in the server.
WorkspaceValue—Accesses (store/fetch) a value in a Workspace.
EventTopic—Attaches to (or creates) a WebLogic EventTopic.
JfcButton—Outputs a change event when pressed.
JfcButtonAdapter—Adapter for a Swing JButton.
JfcComboBox—Displays a label and an option menu.
JfcComboBoxAdapter—Adapter for a Swing JComboBox.
JfcTextField—An input field that can trigger a change event.
JfcTextFieldAdapter—Adapter for a Swing JTextField.
JfcTextArea—Displays the output of a WebLogic Bean.
JfcTextComponentAdapter—Adapter for a Swing JTextComponent.
JfcTable—Displays query results in a grid.
JfcTableAdapter—Adapter for a Swing JTable.
DbConnection—Connects to a JDBC driver.
DbQuery—Executes a query.
DbRecord—Represents a record in a database.
DbButtons—A set of JfcButtons for use with a DbRecord.
Params—Used to send parameters to another Bean.
EventScheduler—For recurring actions in a client or a server.
Splitter—Passes on its InputEvent under a new name.
RemoteMethod—Calls an RMI object on the server.

EJB is a key component of the WebLogic server and a big part of its future direction. The product comes with a GUI-based EJB Deployment Wizard. The console tools facilitate EJB viewing and management and the product's architecture allows users to update EJBs and redeploy new business logic in a straightforward fashion.

However, the Wizard needs some work. It's rather inflexible and provides very little functionality. It'll deploy your EJBs readily enough if you've done everything right; if you make a mistake, you won't find much help.

Database support on the WebLogic server is exceptional, which is no surprise given that JDBC drivers were among the first WebLogic products. The installation feature provides step-by-step instructions for setting up your database connection using the WebLogic drivers, as well as a tool called dbping, which allows you to test the connection to a database. The connection-pooling classes and APIs are easy to use and well documented. My guess is that WebLogic will be one of the first companies to support the new JDBC 2.0 model that is being finalized at this time, which abstracts out the connection pooling for implementation by third-party vendors.

The product's sophisticated, software-based clustering technology is exceptional also, and I predict that this feature is going to be extremely important to a lot of users. This is where the product gets its scalability. Clustering refers to the server's ability to replicate the presentation and business logic of an application across multiple machines, which enables the load of the application to be spread across all machines in the cluster. The WebLogic server is the only Web application server to provide both Web page and EJB component clustering. The Web page clustering feature handles transparent replication, load-balancing, and failover for the presentation logic that generates responses to Web clients (say, the result of ordering the contents of a Web shopping cart). Component clustering handles the complexities of replication, load balancing, and failover for EJBs (business logic) and provides recovery of stateful objects like EJB entity beans.

figure 1

WebLogic's Application Server console.

The WebLogic server integrates with a substantial number of Java IDEs, including Symantec's Visual Café, IBM's VisualAge, Inprise/Borland's JBuilder, and Microsoft's Visual J++. It also supports some name Web publishing tools, including Macromedia Dreamweaver, and it integrates with higher-level tools, such as InLine Software's Assembly Line and The Object People's TOPLink.

The product includes a number of beans that can be imported into a variety of development environments, which provides users with a nice set of building blocks for creating simple applications using these tools. Importing these beans is a simple process detailed in the documentation. In particular, I was glad to see the EventScheduler show up here. It requires some customization to make it work, but this is a very powerful feature of WebLogic. Not many application servers have solid implementations of publish/subscribe event mechanisms that are as simple to use as this.

As a 100% Java application, Web- Logic enjoys some distinct advantages when it comes to systems integration. Because IBM has made a strong committment to providing Java APIs to legacy systems, such as mainframes, CICs, and MVs, among others, integrating those into WebLogic should be extremely straightforward. In addition, Java's simple networking support allows for fast prototyping of TCP/IP-based protocols.

The BEA WebLogic Application Server is a solid product that I heartily recommend. Unlike many of the other application servers, BEA and the WebLogic people have not attempted to rebrand this product as an "e-commerce server," which is where a lot of products are heading (with most failing to live up to their hype). This is an application server that seems to have chosen its place and is looking to be the best of what it is, instead of a mediocre version of something else.

Tony Rems is a Managing Architect at USWeb/CKS in Cupertino, CA. He is currently architecting Java-oriented sites for some of the largest companies in the world. He can be contacted at [email protected].

WebLogic App Server Ensures That Sparks.Com Customers Never Miss Another Mother's Day
Jason Monberg is the CTO and founder of Sparks.com, which recently launched an Internet-based greeting card and retail Website (www.sparks.com). Users log onto the site to shop for real (as opposed to digital) greeting cards, to which they may add personal messages and which the company then mails directly to the designated recipients. Sparks.com also offers "relationship management services" that include reminder services, address books, user profiles, and calendar services.

The company is currently using version 4.0.3 of the BEA WebLogic Application Server to integrate all areas of the site—catalog, checkout (purchasing), users accounts—and to handle all user requests. Monberg recently talked with Java Report Product Editor John K. Waters about his experience with the product.

Java Report: How long have you been using the BEA WebLogic Application Server?

Jason Monberg: We initially launched with some off-the-shelf software, but we quickly realized that it just wasn't going to meet our needs. We relaunched with WebLogic [in late July '99].

JR: How are you using it?

JM: We use it as our front-end e-commerce Web system. We're also using it to develop tools for our order-processing and reporting Middleware.

JR: Like it?

JM: We love it!

JR: What do you love about it?

JM: First and foremost, it's all Java-based. That's incredibly important to us. Java is just so much faster to develop in. There's also a lot of momentum behind Java, and the people we're looking to hire are super-psyched to come in and use Java.

JR: What about WebLogic specifically?

JM: The thing about WebLogic specifically is that it's leading in the implementation of the Java APIs. The pieces we're using the most are the servlet API, the JDBC API, and the EJB components. One of the reasons we decided to go with [the WebLogic server] initially was that the company had implemented entity beans before just about everyone else. It is so committed [to Java].

JR: What about the company itself? Do you get the support you need?

JM: Yes, definitely. WebLogic is a great company to work with. It's put a lot of effort into giving us good tech support and making sure that we have visibility within the company.

JR: Even a great product has its flaws. What would you put on your WebLogic wish list for future versions?

JM: Certainly I could wish that all of this technology was more mature. We find things and it's not always clear whether it's a bug in what we wrote, what WebLogic wrote, or what the API is supposed to do. But there are some things I'd like to see-simple things that I think it's on the path to implementing.

JR: Such as?

JM: It really needs a good profiling tool. What it has now doesn't give you a lot of information. You've spent all this time putting together this really cool, totally object-oriented system, it's fairly complex, objects are bouncing around all over the place, and you have no idea what's going on inside.

JR: Anything else?

JM: The other thing would be an easier deployment mechanism for EJBs. It's got a decent system now, but the stuff that's really automated doesn't work that well. I'm also anxiously awaiting an XML parser, which I know is coming. XML is becoming a huge part of our system.

You can tell that its core focus has been the APIs. That technology is very tight. These additional tools are things it's going to want to focus on for the future.



Review In A Nutshell: BEA Systems' WebLogic Application Server

Pros: A truly comprehensive implementation of the Enterprise Java APIs. Best EJB support in the industry, including both session and entity beans. Sophisticated clustering software: the only Web application server to provide both Web page and EJB component clustering. Provides integration with the leading Java IDEs.

Cons: Weak profiling tool. Somewhat complicated to install on platforms other than Windows. Limited support for dynamically generating personalized content.

Bottom line: A solid Web app server that enables developers to deliver high-performance, highly scalable Web applications that leverage Java and EJB technologies. Anyone developing a full-blown implementation of EJB for the Web should jump on this product.

A Java-based application server that enables scaleable n-tier Web architectures, simplifying access to legacy systems and enterprise data sources and providing full Enterprise JavaBeans support.

System Requirements:

  • 64 MB of RAM on Windows NT (128 recommended)
  • 56 MB of disk space for the app server and related files
  • JDK 1.1.x (did not support 1.1.8 at press time)

Platforms:
Runs on Solaris, HP, DEC, AS/400, SGI, OS/2, Mac, and other platforms running Java.



Quantity reprints of this article can be purchased by phone: 717.560.2001, ext.39 or by email: [email protected].