BEA Systems, a large player in the middleware solutions market, acquired WebLogic and its advanced Java-based Web application server in 1998. BEA’s WebLogic platform has been the top dog in the Java application server market ever since. So a book focusing on BEA’s WebLogic, written by two senior members of the product team, is something to catch the eye of every enterprise Java developer.
J2EE Applications and BEA WebLogic Server is a hefty book that covers the breadth of the J2EE specification as implemented in WebLogic. The authors discuss advanced topics like clustering, deployment, and capacity planning. They also spend a hundred pages delving into a sample J2EE application and how to design and configure it with WebLogic.
A slow start
After two chapters of introduction, the next 10 chapters of the book consider various J2EE technologies as they apply to WebLogic Server. To say it begins poorly would be an understatement. I admit I almost put the book down in disgust. Chapters Three and Four cover the Servlet and JavaServerPages (JSP) implementations, and a reader new to J2EE would be forgiven for thinking that these are WebLogic-only technologies. The book constantly refers to “WebLogic Server Servlets” and ”WebLogic Server JavaServerPages,” rarely hinting that not only do other Java application servers have Servlets and JSP, but also that the code should work equally well in any Java server.
A small section on Servlets in WebLogic Server Clustering is well worth the read, with nuggets of useful information about optimizing Servlets in WebLogic by not closing or flushing their output streams. With the exception of this small section at the end of Chapter Three, I’d recommend skipping all of Chapters Three and Four and buying some good books on Servlets and JSP.
EJB inside and out
After this poor start, things improve dramatically. The next eight chapters cover JDBC, Remote Method Invocation/Java Naming and Directory Interface (RMI/JNDI), Java Messaging Service (JMS), Enterprise JavaBeans (EJB), JavaMail, and J2EE security with a solid competence and many helpful tips that would apply in any J2EE server, plus snippets of WebLogic-only information like configuration options.
While you could find much of the same information in a generic book on the J2EE specification, there are enough ideas and tips in these chapters to make them required reading for anyone using WebLogic. The three EJB chapters, on Session beans, Entity beans, and Message-driven beans, represent the core of BEA’s expertise, and the chapters do a good job of answering questions about whether to use Container-Managed Persistence (CMP) or Bean-Managed Persistence (BMP)—or both at the same time for the same bean—and when to use stateful session beans, and the different design tactics of using stateless session beans vs. entity beans. More significantly, the chapters contain important information on how all these specifications affect the performance and clustering of WebLogic Server and how to design and implement your EJB components so they work efficiently in a high-performance environment.
The discussion of J2EE security goes beyond the specification and delves into WebLogic alternatives; it’s essential reading.
Tying it all together
The three remaining chapters look further into working with WebLogic. Chapter 13 concerns WebLogic deployment, and though well written, it’s targeted more for the Java administrator than the Java developer. Next is a long chapter detailing a small Web Auction project using WebLogic. It’s thorough, and I recommend it to anyone who wants to come to grips with WebLogic. As well as providing a basic grounding in how to administer a WebLogic server, it also lays out a simple design and development structure. Last, there is a chapter on capacity planning, “an attempt to determine the resources, such as CPUs, Internet connection size, or LAN infrastructure required to support performance.” There are nice ideas here that could help in a standard environment in which a lot is known about the application’s production usage; if less is known, it should still help in estimating the scope of the application. Table A summarizes the book’s pros and cons.
A great resource for WebLogic developers
J2EE Applications and BEA WebLogic Server begins poorly but soon picks up speed. It belongs on the desk of every WebLogic developer, though developers who don’t use WebLogic Server will find it less relevant.