Sponsored links


Valid XHTML 1.0!
Valid CSS!



Product: Book - Hardcover
Title: Core J2EE Patterns: Best Practices and Design Strategies, Second Edition
Publisher: Prentice Hall PTR
Authors: Deepak Alur, Dan Malks, John Crupi
Rating: 5/5
Customer opinion - 5 stars out of 5
Not only applicable to J2EE applications


We software developers often get ourselves buried in learning new technologies, particularly in J2EE, there are so many things to learn, e.g., JSP, Servlet, JAAS, JSSE, JMS, JavaMail, EJB, JDBC, JDO, etc. just to name a few. With these overwhelming technologies, we often overlook the issue how to "design" "good" systems using these technologies. Knowing the technology itself is one thing, and knowing how to design with it well is another. Technologies are always advancing, it is really the design technique that is the essence or hard-core skill that a software developer should obtain.
Patterns, are such essences. They are best practices from experiences on how to design the systems/components at different levels. And Core J2EE Patterns are such collections in the J2EE context.
Even though the authors claim that these patterns are used under the J2EE context, I see most of them also application in a more general context. For example,
If a remote service is to be provided, it is good practice to use Session Facade (or Remote Facade), and it will provide service by delegating to the Application Service (or Service Layer) or Business Delegate.
To facilitate the client to access a remote service, Business Delegate can be applied to hide the remoteness, in which it will use Service Locator to look up the remote service. In this sense, Business Delegate also functions as a proxy of the remote service.
To decouple the Business Object from accessing the resources directly, Data Access Object is a good design to be applied.
To move the data between the tiers or processes, Data Transfer Object can be use.
If studying carefully, you will a lot of patterns and concepts can be applied to non-J2EE applications. And a lot of them can be traced back to the seminal work of GoF (Design Patterns). That is why I said the design skill should be essential to a developer, these techniques are correlated and inter-connected, and accumulated by experience. They are relatively stable (IMO), though the technologies are changing (rapidly).
The other good things about book, the authors not only document the best practices (patterns) of J2EE applications to learn, they also list a set of bad practices (anti-patterns) to avoid, in between, they provide a bridge, the refactoring, to go from bad to good.
Also, no pattern is an island. All patterns are related, and to form a bigger or higher level of pattern, and these higher level of patterns collaborate with each other and eventually form the whole architecture of the system, that is pattern oriented architecture. In last episode, the authors gave such an example, and they call it a micro architecture.
The authors also refer to the work of Martin Fowler's Patterns of Enterprise Application Architecture(which list patterns of more general enterprise application patterns besides J2EE) to clear out some gaps between the two books, e.g., Value Object in 1st edition really means Transfer Object, which is the same pattern listed as Data Transfer Object in Fowler's book. And Value Object is just another pattern in PEAA.
The writing style is very smooth, succinct and to the point. The pattern template is classic, with the authors chose strategies for implementation variations. The examples are probably excerpt from real projects, however, there are some errors in the code, which made me doubt that these codes were ever compiled. But, hey, it is the concept that is more important :-)



Product: Book - Paperback
Title: Java Swing, Second Edition
Publisher: O'Reilly
Authors: James Elliott, Marc Loy, David Wood, Brian Cole
Rating: 5/5
Customer opinion - 5 stars out of 5
Must have book for Swing


This book covers Swing, starting with simpler components, but never gives up until covering the more interesting and useful parts of java.swing--trees and tables, as well as the interfaces used for the construction of their custom rendering and editing components



Product: Book - Paperback
Title: Thinking in Java (3rd Edition)
Publisher: Prentice Hall PTR
Authors: Bruce Eckel
Rating: 5/5
Customer opinion - 5 stars out of 5
The best analysis of Java Core Fundamentals


This is the most valuable text u can find about how to understand the fundamentals, the principles and to where look, when Java begins to change (AWT, another OO methodologies, etc). Bruce makes u see shining what we take a lot of time to understand, testing, debugging, and using all Java flavors. with this reading, u'll be able to change your RAD, your platform and your environmente easyly. And I discovered all of that just reading the on-line version :)



Product: Book - Hardcover
Title: MCAD/MCSE/MCDBA Self-Paced Training Kit: Microsoft SQL Server 2000 Database Design and Implementation, Exam 70-229, Second Edition
Publisher: Microsoft Press
Authors: Microsoft Corporation, Microsoft Corporation
Rating: 5/5
Customer opinion - 5 stars out of 5
Great book for the 70-229 Exam


I was not pleased with the contents of this book in terms of sloppy editing and in the paltry treatment of important topics. Those of us in pursuit of the MCP or MCDBA will have to augment this book and what we take from this book with other more complex books dealing with design and implementation. Do be prepared to purchase additional books on T-SQL programming and do be prepared to purchase real exam prep software.