Home :: Books :: Computers & Internet  

Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing
Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet

Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
WebLogic: The Definitive Guide

WebLogic: The Definitive Guide

List Price: $49.95
Your Price: $32.97
Product Info Reviews

<< 1 >>

Rating: 3 stars
Summary: Regarding JMS redelivery
Review: In chapter 8 author wrote a note: Even with container managed transaction in MDBs there may be message redelivery .The Cause - was pointed out as possible server crash. But why was important point that onMessage exceeding transaction-timeout also causes message redelivery left out?? Topics lack depth.. Things like what happens when <trans-timeout-seconds> is exceeded in MDB, stateless EJB etc is not written crisp and straight.. Didn't like anything much including clustering, JVM tuning etc.. What I expect is - that which is not there in weblogic documentations.. Something extra is needed based on extensive author experience.
Go for book like "BEA Weblogic Server 7.0 deployment and Administration"- Aaron Mulder- Wrox.

Rating: 2 stars
Summary: Does not mention Workshop nor Portals
Review: This "Definitive Guide" does not mention Portals/portlets nor Weblogic Workshop. I quote:

"It is beyond the scope of this book to discuss how to use Weblogic Workshop in depth. It is a powerfull, comprehensive tool that provides a different route to creating applications than described in the rest of this book. (...) Creating web services ... requires coding, descriptor files and Ant build files. On the other hand, you can create web services in Workshop with a few drags of the mouse."

Great. So the most usefull feature of WL 8.1 is not even discussed. And not a word on portals. All the same, it manages to occupy a whopping 800 pages.

I strongly recomend you get "BEA Weblogic Workshop 8.1" from SAMS publishing (ISBN: 0-672-32622-1)

Rating: 5 stars
Summary: Fantastic resource for J2EE developers
Review: This is a must-have book for J2EE engineers. Chapter five, on JDBC, is thorough and excellent. The JMS chapter, number eight, is very in-depth and worth the price of admission. Chapter twelve, on deployment, has fine coverage of both the theory and the execution of web application deployment. Chapters thirteen and fourteen on domain management and cluster are fantastic. Chapter seventeen on security is also great.

That's the good news. The book isn't perfect. Some chapters are way too brief. For example the chapter on transactions is just an overview. And the chapter on XML is completely superfluous.

Negatives aside, this is a great book. The chapters on JDBC, EJB, Deployment, and Clustering are worth the price alone.

Rating: 1 stars
Summary: Tons of errors
Review: Tons of typos and technically inaccurate in many places - according to me.

Rating: 4 stars
Summary: A comprehensive and useful overview of WebLogic
Review: WebLogic has become a very popular tool for integrating and managing applications in multi-tier environments. Implemented as an application server, it remains one of the leaders in J2EE compliance. There is a lot to WebLogic, and so it is unlikely that any one person would need to be in a situation where expertise in all of its properties and capabilities would be required. Because of its popularity though, for those who must confront it via Web applications, a good general familiarity with it is essential. This book gives a comprehensive overview of WebLogic, and readers who need a particular set of questions answered or need an in-depth review will find it useful. The interest of this reviewer was in performance issues in WebLogic, and so the review will be confined to these issues as they are discussed in the book, as space permits. The book devotes an entire chapter to the performance tuning of WebLogic applications, but some of the other performance issues discussed in the book outside of this chapter include:

1. The Enterprise Java Bean (EJB) container supports checking on value changes so that only persistent fields that have been modified are written to the database. This results in enhanced performance for the EJB. 2. WebLogic provides flow control mechanisms that allow the suppression of messages during times of peak messaging. This ensures that the performance of other WebLogic services will not be affected adversely. 3. The use of cache filters, which enhance application performance by caching various portions of the application without needing code changes. 4. Client-server interactions are optimized when the client is operating within the same virtual machine (VM) as the Remote Method Invocation (RMI) object. Java pass-by-reference semantics when the client and the server object are collocated. 5. The Java Database Connectivity (JDBC) connection pools enhance the performance and scalability of an application by allowing the same physical connection to be shared by multiple applications. Connection testing however can cause delays, since WebLogic will execute the test whenever the connection pool receives a connection request from a client. 6. Although by default WebLogic allows one to retrieve the physical connection associated with a logical connection, it cannot reuse a physical connection, but will instead discard it and replace it with a new connection in the pool. The performance of an application will be degraded if it depends on the physical connections, since any statement cache might not be valid for the new connection in the pool. One can change this default however to allow physical connections to be returned to the pool when they are closed, if one really desires to do so. 7. The performance of JDBC applications can be improved by configuring WebLogic so that it maintains a statement cache for each connection in a connection pool. When a callable statement is created using a connection obtained from the pool, it will be cached so as to avoid recompiling when using it again. 8. The performance of a Java Messaging Service (JMS) server can be adjusted using WebLogic by setting up quotas that restrict the number of messages held in server memory, or by enabling paging so that messages held in memory can be swapped out to a persistent store under threshold conditions. The JMS server can also suppress the rate at which JMS clients produce messages when the server attains threshold conditions. WebLogic uses 'flow control" to do this, which delays the time it takes for calls to produce a message to return. The rate of flow of the messages is thus controlled based on a minimum and maximum range. Any degradation in the conditions will cause the flow rate from senders to approach the minimum range. When the conditions improve, the rate will approach the maximum range. The WebLogic flow control mechanism is given detailed discussion in the book. 9. Two types of JMS file stores are possible under WebLogic, namely file-based stores and JDBC-accessible database stores. File stores are faster than JDBC stores, and they do not generate network traffic, whereas JDBC stores will if the database is on a different machine. JMS stores for persistent messages will also degrade application performance. In addition, enabling message paging to a JMS store is more expensive than disabling paging altogether. 10. Message delivery and can be controlled and handled in WebLogic by using either 'delayed' or 'scheduled' message delivery, time-to-live settings, and redelivery mechanisms. Messaging can affect performance depending on the type of messages exchanged. Server memory, message payloads, network resources, and server support for paging and persistent messaging will all have to be optimized in order to get maximum performance from the JMS server. Message selectors also affect performance, and several mechanisms that are used are discussed in the book. 11. JMS clients can use WebLogic to dynamically create a permanent destination on the JMS server using methods that are asynchronous, and so there may be a large delay between when a request for a new destination is submitted and when the new destination is bound to the Java Naming and Directory Interface (JNDI) tree of the server. Polling will then have to be done by the client regularly in order to find out if the destination has been created. 12. JMS servers can of course be clustered, and JMS clients use connection factories to obtain connections to a JMS server, wherein a load balancing strategy is used to decide which server in the cluster should host the JMS connection. Connection routing can be used to improve scalability, even though it increases network traffic, but network traffic can be minimized for server-side applications. 13. WebLogic uses transaction collocation to reduce network traffic by collocating objects on the server on which the transaction was initiated. If multiple objects are cluster-aware and are engaged in a distributed transaction, WebLogic will collocate the objects on the server on which the transaction had started.

Rating: 5 stars
Summary: The BEST WebLogic book in the market
Review: WebLogic: The Definitive Guide published by O'Reilly has to be the best WebLogic book in the market today.

The book starts off with a nice introduction to Web application in the context of WebLogic including discussion of WebLogic specific descriptors. Everything you need to create production-ready application including HTTP Session replication, clustering HTTP sessions using in-memory replication, HttpClusterServlet and SSL is discussed in here in a very clear and concise manner. There is also a section that describes how to setup an Apache webserver to front a cluster of WebLogic servers. This section also includes a great section on security and using security in your application.

The next chapter in the book discusses JNDI in great detail. I re-read this chapter several times and just love the treatment this topic was given. There were things in there that I have learned over the last 5 years of using WebLogic, which made me wish I had this book in 1999. There is clear and in-depth explanation of JDNI, binding object to JNDI, RMI, and RMI over IIOP, and many other JNDI best practices.

After JNDI, the book moves on to JDBC and this chapter provides a very comprehensive tutorial on how to use JDBC and database in the context of WebLogic. The discussion includes connection pools, multipools, and Data Sources. My favorite part of this chapter was the detailed section on all of the connection pool configuration parameters. WebLogic's JDBC sub-system is incredibly powerful but the WebLogic console or help doesn't do a good job of explaining all of the features and settings and it's nice to have a complete guide to all of the configuration parameters. The chapter also includes discussion on using Java Data Sources in context of a transaction and javax.transaction.UserTransaction.

The JDBC chapter also includes a section on Rowsets. Rowsets were introduced in JDBC 2.0 and the Rowset interface extends the java.sql.ResultSet interface. There is Java code on how to use Rowsets including creating, populating, and manipulating Rowsets along with transactions and disconnected Rowsets. There is also discussion on the different optimistic concurrency schemes.

After JDBC, the book moves onto transactions and the Java Transaction API (JTA) and how to use them in context of JDBC transactions (XA and non-XA), distributed transactions, and EJB transactions. Very nicely written chapter and anyone needing to understand how to build and deploy applications that use JTA will find everything they need here. The next chapter deals with Java Connector Architecture (JCA) and I basically skimmed this chapter. I don't have a lot of experience with JCA but this chapter looks good.

The next chapter deals with the topic of the Java Messaging Service or JMS. This is also one of those chapters that I re-read several times and I love the way it is written. This is very comprehensive chapter and I won't list out all the contents but I have to highlight the section on clustered JMS. There is a brief mention of Message-driven Beans (MDBs) in this section but detailed treatment is in the EJB section.

The next section of the book deals with Enterprise Java Beans or EJBs. The chapter starts off with a quick tutorial of Cedric's EJBGen. From EJBGen, you move into discussion of the now deprecated ejbc (WebLogic EJB compiler) and the newer appc class for compiling EJBs. After a brief discussion of transactions, we move into configuration aspects including pooling of stateless and stateful EJBs. The issue of concurrency with entity beans is also discussed here along with some good concurrency strategy. The issue of clustering and failover of stateful and stateless EJBs is also discussed here. The EJB section continues and includes topics like CMP 2.0 and EJB QL. If you are new to CMP or Entity Beans, you will really benefit from this chapter as it includes an in-depth look and all of the issues involved in CMP including Container-Managed relationships, cascading deletes, caching, EJB QL and WebLogic specific extensions to EJB QL.

The next chapter deals with packaging and deployment of applications to the WebLogic server. After a quick decision of the deployer tool, the section describes all the features available for application deployment including the idea of staging applications and auto deployment. I really like the section that describes WebLogic's custom classloaders and how class loading works in EAR files. This is usually a very confusing topic and people new to J2EE or EAR files will spend a lot of time trying to figure out classpath issues.

After deployment, the book moves on to install and creation of WebLogic domains. This section is useful for the developer, but really necessary for the WebLogic admin that is going to manage the production environments. WebLogic is the best application server out there and with all the features comes complexity. There are a lot of options in setting up managed, admin servers, node manager and this chapter does a great job of articulating all of the options and highlighting some of the best-practices in WebLogic software install.

The next section deals with clustering, load balancing and failover and how to achieve high-availability for your application. There is great discussion on how to setup a cluster with multiple configurations including splitting web and object tier across clusters and co-locating web/object tier (my preferred option) in the same cluster.

Note - I had to trim this review to comply with Amazon's requirements. See my blog for the complete review.

In closing, this is a great book for developers, architects and system or network administrators that work with WebLogic. I think this is a must-own book and fills in all of the gaps that are left with WebLogic's online documentation. I would highly recommend this book to anyone working with WebLogic in any capacity. You are guaranteed to learn something new every time you crack open this book. Run, don't walk and buy this book.


<< 1 >>

© 2004, ReviewFocus or its affiliates