14 of 14 people found the following review helpful:
5.0 out of 5 stars
One of my favourites..., April 7, 2002
This review is from: EJB Design Patterns: Advanced Patterns, Processes, and Idioms (Paperback)
I have already read a lot of books about best practices regarding
J2EE and EJB development. In my opinion EJB Design Patterns from
Floyd Marinescu is one of the best references for EJB Design Patterns
which covers all important topics about Pattern-Driven EJB development.
Floyd is Principal at "The MIDDLEWARE Company" and one of the founders
of TheServerSide, the reference Portal for the J2EE community.
The book involves standard patterns like the Session Facade and
DTO (Data Transfer Objects) as well as extensions like a pattern
for asynchronous communication (Message Facade) between a client
application and the service layer in the middle tier.
The layered EJB architecture which includes the application, service,
domain, and persistence layer are discussed in detail. Useful hints
for the EJB development process and system design complete the book.
The book is a good choice for EJB developers and enterprise
architects.
One of the big advantages of the book are the chapters "From
requirements to Pattern-Driven Design" and "EJB development with
Jakarta Ant and unit testing with JUnit" which are dealing with
the solution of real world problems.
The chapter about Entity Beans vs. Java Data Objects (JDO) is a
must for every domain developer.
Floyd's book is well written and easy to understand for experienced
developers and architects. The Java source code examples of the book
are well documented and useful, if one desires a complete impression
of EJB development.
To be honest, the book is one of the favourites in my bookshelf and
I consult it whenever possible to learn more about that important
technology.
The book also includes a nice poster that shows the EJB Design
Patterns and an additional text to avoid pit falls. It's nice to
stand in front of this poster and think about that great server
side Java technology.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
8 of 8 people found the following review helpful:
3.0 out of 5 stars
unfortunate treatment of a relevant and interesting topic, October 24, 2003
This review is from: EJB Design Patterns: Advanced Patterns, Processes, and Idioms (Paperback)
First thing first, I'll come to the review of this book but before that some advice for you... if you are a J2EE architect/developer you'd need to use the contents of this book time and again, but this book is so badly organized and fluffy one can hardly survive the frustration of reading it twice, so make notes the first time you take the pain of going thru this book... following are mine
- the importance of DTOs have come down following EJB2.0 release
- reduce network chattiness, consider following options
-- Session facade: remember not to create a God class, group relevant functions together in each Facade
-- Consider message facade for asynchronous processing of requests where an immediate response is not required
-- consider Command pattern only for prototyping
-- use HashMaps or Value objects for transferring Entity EJB data over indiv get/set methods
-- use LocalHomes for Session Bean to Entity Bean comm
- create a business interface, a superinterface which both the remote and the Bean itself can implement
- strongly recommend RowSet (JDBC 2.0 optional/JDBC 3.0 core) for tabular data transfer
- depending on requirement, strike a balance between Domain Data Objects (Entity EJB data copies) and custom data objects (what the customer wants to see in one shot), remember to make Custom DOs read only
- consider Fast Lane Reader pattern, pretty neat... Consider JDBC for Reading pattern for read-only data
- Dual Persistent Entity Beans, toggle between BMP/CMP EJB by modifying the deployment descriptors
- skip Chapter 4, use 'Service Locator' pattern with caching option for locating and caching EJB homes
- need to generate primary keys, mostly use UUID generation technique discussed in case database's sequences are not enough
- Part 2 of the book is mostly fluff, it discusses everything but 'Best Practices for EJB design and Implementation', which coincidentally is the heading for part 2
- using ANT and jUnit, you call them best practice? No, they are standard practices
- model domain/persistence/services/clients in that order
- in discussing alternatives to Entity EJBs author laudes JDOs too much, I suggest you check out the 'Hibernate' project, looks more intuitive than JDO (to me)
- Chapter 9 (EJB design Strategies, Idioms and Tips) is actually pretty good, probably because this is the only chapter that's not fluffy, thank you Floyd
-- don't use Composite Entity Bean Pattern, good suggestion Floyd
-- field validation on Entity beans? Use (define and implement) get/set-XXXfield methods since you can't implement the get/set-XXX methods
-- prefer scheduled updates to real-time computations
-- Message Beans - use serialized classes to enable type checking
-- call setRollbackOnly and NOT Rollback, when App exceptions occur
-- limit parameters for EJB create, don't pass DTOs
-- don't use XML as a DTO mechanism, good eye-opener for XML fans
Okay, now the review comes...
Many of us J2EE developers and architects alike encounter a large decision tree while architecting/modeling enterprise-class systems with the help of EJBs, it becomes very difficult to weigh all the options available and all the customized treatment of EJBs on different J2EE containers over and above the minimum req or what's provided in SUN's reference implementation, most of us recognize a need for performance improvement in this area and a need to recognize the best practices or patterns to be used to help solve the frequent and recurring problems. For this very reason this book 'could have' been such an invaluable asset to the J2EE community, but alas this should have remained a bulky chapter in Ed Roman's 'Mastering EJB (2nd Edition)' book, the content has been fluffed beyond repair in this book and that's the last thing one needs in a patterns book, keep it short and organized.
The Author has not found a way to organize the pattern contents in a logical manner, due to this most of the chapters look like one loooooong paragraph each, organize. Author defines and talks about patterns and antipatterns in the same tone. The code examples I gather would be helpful for beginners.
All in all, this book contains a lot of content I would not advise people to miss, but the book is not worth buying, download and read it from the website, theServerside.
In addition, I suggest
- J2EE Design patterns: Deepak Alur et al
- Design Patterns: Eric gamma et al... read it only if you are a pattern gung-ho
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
8 of 9 people found the following review helpful:
4.0 out of 5 stars
A Nice Book, May 2, 2003
By A Customer
This review is from: EJB Design Patterns: Advanced Patterns, Processes, and Idioms (Paperback)
I think it is a nice book.
Hornestly speaking, the patterns in this books are hardly original. For those who read Core J2EE Patterns, you may found this book like another query for the same set of the data.
What makes this book a good book is:
1)For each patterns, it honestly list pros and cons, which may or may not have been in your mind. It helps you to considerate the problem more objectively and more deeply.
2)Not like some fundamentalists, the author also honestly analyze the EJB technologies with a balanced view. Give you the pros and cons, leave you the space to make a decision.
3)It does provide a pretty long list of patterns you may want to know with EJB development. And like what the author said, many of these ideas are not limited to EJB, so if you can understand the terminologies in EJB's world, it is a good reference book for system designers.
What could have make you dissapointed with this book is:
1)Like I said, patterns in this book are hardly original. You can find most of them from Core J2EE paterns or Matering EJB 2nd and this book published months after them. The author also honestly list links after each patterns. If you have read those books first, you may feel a little dissappointed.
2)Like many other EJB GURUs, the author did not give readers informations on the problems people will face when they apply the EJB technologies to a complicated business system. The hands on experience the book based seems to come from a online forum ... which originally has only one seesion bean and lately revised to be a couple more as the author mentioned. However, what most EJB developers found in their real world development is that they have to face much more complicated system.
Anyway, like reading many other book. You can learn a lot, but you still have to keep your mind open. The best pratice is not something officially define by this or that company, but the one which solve your problems.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No