Welcome!

Jason Westra

Subscribe to Jason Westra: eMailAlertsEmail Alerts
Get Jason Westra via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Java EE Journal

J2EE Journal: Article

Security and JMS Coverage Are Highlights of "Bible"

Security and JMS Coverage Are Highlights of "Bible"

As good as product documentation gets, there is always room for more code samples, deployment descriptor samples, and tips on how to take advantage of undocumented tools. While integrating WebLogic Server 6.1 as a product offering for my company's hosting platform, I needed examples for configuring WebLogic JDBC and JMS that the standard documentation (or lack thereof) could not provide. I got the information I needed from BEA WebLogic Server Bible.

This book covers version 6.1 of the server, and includes support for SOAP, Web services, and JCA (Java Connector Architecture). These are cool technologies to learn about; however, keep in mind that WebLogic Server 7.0 has now been released with more advanced support for them.

Each of the book's eight sections contains multiple chapters. Most begin with an overview of a technology or standard and then describe how WebLogic supports the technology. The chapters walk the reader through how to use the new WebLogic Console, while explaining the configuration of services through samples, text, and UI screen shots. For those of you who only modify your WebLogic configuration file by hand, the bible offers no reciprocal for you to understand the config.xml elements and attributes. Using the console and then looking at the generated XML in config.xml is the best way to learn the config.xml DTD quickly.

Sections Reviewed
To help you understand what BEA WebLogic Server Bible offers, I have briefly reviewed each section below.

Section 1, "Preparing Your Enterprise for WebLogic," covers many J2EE project basics, including how to select a server based on application requirements, and what your team's skill sets should be to accomplish a full J2EE development life cycle. If you are a WebLogic project veteran, you'll move on to the sections containing samples and technical jargon. Otherwise, these first chapters are nice primers for WebLogic project management and development newbies.

Section 2, "WebLogic J2EE APIs," is the largest section in the book. Chapters 5-10 deal with the J2EE APIs supported by WebLogic Server, such as JDBC, JTA, JNDI, RMI, JMS, and JavaMail, but don't cover JSP, servlets, or EJBs. Since these are the most commonly used building blocks for J2EE applications, they are covered more extensively in their own sections.

I found the section on JDBC to be helpful in describing WebLogic's support for multipools (pools of JDBC pools), but it only had two sentences on clustered JDBC and not many more than that in Chapter 24, "Working with WebLogic Clusters." I enjoyed the JNDI chapter's coverage of serious topics like binding your own objects into WebLogic JNDI in a clustered environment, and performing directory operations within Microsoft's Active Directory. The RMI chapter covered many RMI basics but also clarified the differences between Java RMI and WebLogic RMI, BEA's optimized implementation. This chapter builds upon the JNDI chapter because remote objects can be registered and looked up via JNDI.

Last, the JMS chapter was very extensive. I found it helpful in configuring JMS servers, topics, and queues because the properties were described more eloquently than by the config.xml documentation on the BEA Web site. Support for persistent messages is covered, including a file-backing store and JDBC tables. JMS and transactions, a topic often misunderstood, is likewise covered. How do you do an asynchronous, distributed, XA-compliant transaction anyway?

Section 3, "Developing Web Components," covers Web application development using JSP and servlets in the WebLogic Web container. This section highlights the WebLogic-specific deployment descriptor for the Web container, weblogic.xml. For instance, the book shows how to set JSP parameters in weblogic.xml that were once configured in weblogic.properties. Unfortunately (or fortunately, depending on which way you look at it), JSPs are pretty standard, and BEA hasn't written many enhancements to the Web container. The chapter on JSP does have a few pages on custom WebLogic tag libraries, which is nice.

Section 4, "Developing EJB Components," is devoted to WebLogic Enterprise JavaBeans. Chapters 14-17 cover each type of EJB supported by WebLogic, including entity beans, session beans, and message-driven beans. These chapters contain numerous detailed samples and descriptions of the configurable properties in the WebLogic EJB container. Some clustering is mentioned, but more detailed clustering information can be found in a later chapter.

Section 5, "Deploying and Testing Enterprise Applications," walks you through the process of testing and tuning your WebLogic application. Tuning options discussed include JVM optimizations, JDBC tuning, caching strategies, and more obvious options like excessive logging and synchronization in your applications. I was disappointed that none of the chapters in this section were devoted to WebLogic development and deployment using Jakarta Ant, which has become the universal build tool for Java applications. Perhaps Ant will be added to this section in the book's next release!

Section 6, "Implementing Security," has three chapters. The first provides an overview of security principles, Java security concepts, and types of attacks. The second chapter covers WebLogic's security architecture to help you understand the types of protection WebLogic provides out of the box, and what needs to be done programmatically. The last chapter in this section walks you through how to secure an application using JAAS and a security realm based on JDBC.

Section 7, "WebLogic Server Administration," provides an in-depth examination of the properties you can modify and monitor within the WebLogic Console. It's a must-read for WebLogic administrators! This section also contains more details on clustering and security administration, with a chapter devoted to each. Last, each type of supported realm (file, LDAP, RDBMS, and Unix) is described.

Section 8, "Enterprise Application Integration," covers two hot areas in enterprise development, Web services and the JCA. Within this section, the book describes how WebLogic has approached Web services. It shows how to use a custom Ant task, wsgen, to automate the construction of Web services and provides numerous examples. It also elaborates on WebLogic-specific deployment settings that can be used for JCA Connectors deployed on WebLogic.

IMHO
Even though WebLogic Server 7.0 is shipping, many organizations continue to deploy on version 6.1. WebLogic Server security is really the only area that has changed enough between 6.1 and 7.0 to outdate the book's coverage of this topic. The chapter devoted to performance tuning was weaker than I'd hoped, so I recommend looking elsewhere for this information. In particular, check out TheServerSide.com (www.theserverside.com) for ECPerf results on the BEA WebLogic Server Platform. Finally, I'd like to see more examples of Ant used as the build tool of choice in this and other WebLogic books. There was only a smattering of Ant in the last section on Web services.

In general, the book's detailed code and deployment descriptor samples are outstanding. I think its security and JMS coverage is excellent, as well as its JSP, servlet, and EJB coverage. I highly recommend BEA WebLogic Server Bible for beginners, yet I think even advanced users can glean knowledge from a number of its sections.

SIDEBAR

Title:
BEA WebLogic Server Bible

Author:
By Joe Zuffoletto, Gary Wells, Brian Gill, Geoff Schneider, Barrett Tucker, Rich Helton, Michael Madrid, and Sunil Makhijani

Publisher:
John Wiley & Sons

ISBN:
0764548549

Pages:
973

List price:
$49.99

More Stories By Jason Westra

Jason Westra is the CTO of Verge Technologies Group, Inc. (www.vergecorp.com). Verge is a Boulder, CO based firm specializing in eBusiness solutions with Enterprise JavaBeans.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.