Amazon.co.uk Review
Any software developer knows Murphy's Law all too well. If anything can go wrong, it will. When it comes to today's enterprise-level, multi-tiered applications written in Java, there's a lot more that can go wrong in regard to performance. Written by two experts in enterprise Java (both veterans of IBM's SanFrancisco Java class frameworks),
Enterprise Java Performance examines performance from beyond a single workstation. Filled with useful insights for designing Java applications on multiple servers, this book offers a timely and very useful guide suitable for any intermediate to advanced Java programmer.
While there are a number of titles on Java performance, this one stands out because of its enterprise-level perspective. Of course, you'll find some hints for writing better Java code at the micro level (which the authors call "low-hanging fruit") with hints for optimising string and loop performance. But this is just the beginning.
The heart of the book is its thorough discussion of performance and design issues for using remote objects, which allow distributed applications to do their work on multiple servers. The authors delve first into the issues of object design, including the correct granularity of objects. Examples drawn from the authors' experience designing IBM's San Francisco application framework lends more credence to the discussion. The performance issues surrounding the cross-vendor Enterprise JavaBean (EJB) standard are also examined.
Besides describing performance issues in enterprise applications, the book also gives you a number of tools to measure performance in your own code, including custom classes for performance monitoring, as well as the authors' enterprise-level benchmark--Business Object Benchmark (BOB). Later chapters include a succinct taxonomy of application styles for Java, such as Web-based clients or applications that wrap legacy systems. Performance hints are offered for each. There is also an excellent guide to running CORBA on Java and plenty of hints for optimising servers, including memory configuration. A final chapter glances at performance issues with clustered servers.
In all, Enterprise Java Performance offers a valuable perspective on issues that all Java developers will likely face when creating distributed applications. This book will help you avoid many of the gotchas in deploying Java code on the enterprise and gives you the tools and techniques you'll need to write faster applications, even for very large systems. --Richard Dragan
Product Description
For enterprise developers, Java presents many obstacles to achieving optimal performance, and when you factor in the challenges of scalability and integrating complex business logic, authoritative help is sorely needed. In this book, two leading Java developers, both former members of IBM's vaunted SanFrancisco frameworks team, offer proven techniques for maximizing the performance of any Java enterprise application, especially those that impact Java server-side and application-server development. Just some of the topics covered include: the best techniques for identifying root causes of performance problems; problems that are inadvertent side effects of Java's strengths, such as object-orientation, garbage collection, and Java's similarities to C/C++; performance problems that can arise in distributed, n-tier development, such as the performance costs of transparency and the careful use of object affinity, placement, and granularity; the performance impacts of persistence infrastructure, distributed object infrastructure, Java Virtual Machines, and application-layer components, presenting powerful benchmarking techniques that can be used to choose the best possible options. Four full chapters address key real-world Java-related projects and the performance issues associated with them. The book also includes detailed coverage of system tuning, memory, disk, and network configuration; the impact of multiprocessors and network clustering; and replication issues in shared, large-scale environments.