Steve Perry has spent his time "in the trenches". "I've been paged at 3:00 am to provide support because the system wasn't doing what it should and no one had a clue how to figure out why. I've scrolled through endless logfiles to decipher system problems, when a management solution could have presented an operator with a warning message hours earlier!" Wanting other developers to be able to learn from his experiences, Steve wrote Java Management Extensions.Java Management Extensions is a practical, hands-on guide to using the JMX APIs, Sun Microsystem's new Java-based tool for managing enterprise applications. This one-of-a kind book is a complete treatment of the JMX architecture (both the instrumentation level and the agent level), and it's loaded with real-world examples for implementing Management Extensions. It also contains useful information at the higher level about JMX (the "big picture") to help technical managers and architects who are evaluating various application management approaches and are considering JMX.The JMX technology is very new, and according to Steve, still has a few "potholes" in it. This book takes developers through it step by step, pointing out the "gotchas" before they have a chance to trip up smooth operation of the application. The author, a member of the expert group developing the JMX specification, points out that as J2EE becomes more widely adopted, the Java standard for management (JMX) becomes more and more crucial to avoid "splinter standards" where each vendor has their own distinct, arguably successful, way of doing things. "In my own company we have already identified and are tackling the problem of managing our Java applications. It's my belief that other companies will follow, as they come to realize the power that a standard manageability solution (ie, JMX) gives them."The book is divided into the following sections:
Introduction and overview
the JMX Instrumentation Level
The JMX Agent Level
The Mbean Server
The JMX Notification Model
Chapter 1 Java Management Extensions Concepts
The Sample Producer/Consumer Application
Chapter 2 Standard MBeans
What Is a Management Interface?
How Do Standard MBeans Work?
Downloading and Installing the JMX Reference Implementation
Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The animal on the cover of Java Management Extensions is an octopus, an eight-armed cephalopod mollusk of the order Octopoda. Octopi are found worldwide in tropical and warm temperate waters. There are many species of octopus, ranging from the massive Giant Pacific octopus, which scientists believe can reach up to 30 feet in length, to the miniscule Californian octopus, which grows to be only one inch long. The common octopus is about 2-3 feet long. The octopus's brain is the most complex of the invertebrates', with long- and short-term memories, providing it with the ability to solve problems by trial-and-error methods -- a trick that comes in handy when evading or robbing fishermen's traps. Octopi are completely deaf but they have complex eyes, with vision approximately as acute as a human's. The hundreds of suckers that line each of their tentacles are very sensitive and allow octopi to hold onto almost anything. If an octopus loses a tentacle, it soon grows another in its place.Octopi feed primarily on crustaceans and mollusks, often luring their prey by wiggling the tip of a tentacle like a worm. Once it catches its victim, the octopus bites it, injecting it with a poisonous venom and digestive enzyme. It then sucks out the flesh and discards the shell (an easy way to identify an octopus's den is by the pile of shells outside its entrance). One of the octopus's defense mechanisms is the release of a purple-black ink cloud as a smokescreen or decoy. Octopi can also change color for camouflage (as well as to reflect mood change) and dart away quickly by jetting water through their siphons. These abilities keep the octopus from being an easy target for predators, even though they have no hard exterior shell. This lack of solid body matter also allows octopi to squeeze into very small spaces.The male octopus usually dies soon after mating; the female, who usually foregoes eating for several weeks while caring for the large number of eggs she lays, often dies of starvation soon after they hatch. Only a few young out of what may be more than 200,000 eggs survive to adulthood. The lifespan of an octopus is short, ranging from 6 months to 3 years, depending on species and water temperature. Rachel Wheeler was the production editor and copyeditor for Java Management Extensions. Sarah Sherman was the proofreader, Linley Dolby provided quality control, and Phil Dangler provided production assistance. Tom Dinse wrote the index.Hanna Dyer designed the cover of this book, based on a series design by Edie Freedman. The cover image is a 19th-century engraving from Old Fashioned Animals. Emma Colby produced the cover layout with QuarkXPress 4.1 using Adobe's ITC Garamond font.Melanie Wang designed the interior layout, based on a series design by David Futato. This book was converted to FrameMaker 5.5.6 with a format conversion tool created by Erik Ray, Jason McIntosh, Neil Walls, and Mike Sierra that uses Perl and XML technologies. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont's TheSans Mono Condensed. The illustrations that appear in the book were produced by Robert Romano and Jessamyn Read using Macromedia FreeHand 9 and Adobe Photoshop 6. The tip and warning icons were drawn by Christopher Bing. This colophon was written by Rachel Wheeler.
Comments about oreilly Java Management Extensions:
JMX is a Java framework for managing enterprise applications in a distributed environment. The book Java Management Extensions takes the reader from a high-level mountaintop description of what JMX is in the first chapter, aimed at architects and management, who might be investigating the new technology, to a trench-digging description of how to expose a class for management through instrumenting an MBean.
Perry's initial description of the JMX architecture in the first chapter does a good job describing the parts of the JMX and how they interoperate. It is a very high-level view of JMX and many abstract ideas are presented. On a personal level, my experience with the JBoss application server gave me a concrete example to refer to during this JMX introduction, which helped. Here, the reader is presented with many UML diagrams to illustrate the architecture.
The next four chapters cover the nuts and bolts of how to construct JMX services. To use the JMX framework, a developer must become familiar with an object called an MBean. In a nutshell, MBeans are Java classes that implement an MBean interface (A process known as instrumenting), allowing the MBeans to be loaded into an MBean server and managed. In these chapters, Perry talks about four types of Mbeans, Standard, Dynamic, Model, and Open MBeans. After introducing each type of MBean, Perry gives simple code examples of how to build each type of MBean.
Chapter 6 deals primarily with introducing the reader to the MBean server. Perry uses the reference implementation from Sun for the examples in his book. Real world MBean servers include names such as JBoss and WebLogic. The most exciting part of the book, I felt were chapters 7 and 9, where Perry talks about the JMX notification model and Monitoring classes. Firing events, filtering notifications, and creating monitors appear to be the real advantages to the JMX framework and are covered thoroughly in these chapters.
Perry's no-nonsense writing style provides a succinct description of the architecture. At 312 pages, the book is the thinnest technical book on my bookshelf, making the read easier to manage.
In summary, Java Management Extensions is a good book for developers who want to gain an understanding of what JMX is. Programmers new to JMX will probably find the first part of the book a good introduction to JMX and its architecture, while the last chapters focus more on how to put the framework to good use. Although Perry does not have a style of writing that entertained me, it was clear and to the point. He does cover his information thoroughly and appears to know the content well. JMX is a technology that I feel will be used heavily in the future, and for anyone who is intending to write a J2EE application that needs management or monitoring, JMX appears to be the answer.
Comments about oreilly Java Management Extensions:
After purchasing several recent publications from O'Reilly that I was a bit disappointed with, I am glad to see a book of such high quality as Java Management Extensions be published by O'Reilly. Java Management Extensions lives up to the high quality that we as readers and software engineers have come to expect from the O'Reilly brand and this book should not leave anyone who wants to learn to use JMX disappointed.
Java Management Extensions follows a similar format, at least in my opinion, to other excellent titles such as Enterprise JavaBeans and Java and XML. The author begins by giving you a small sample to "break the ice" with the technology and then begins to discuss MBeans, how they are used, and the different types. The author gracefully navigates the reader from the simple Standard MBeans to the more advanced Open MBeans. I'll be honest that I became a bit tired of the repetitive detail in which the author described each interface. However, this should not be seen as a negative against either the book or the author. The author does such a wonderful job in the earlier chapters describing the MBean design patterns that as the reader advances towards more complex MBean types, the pattern is pretty well understood and just appears to be repetitive. I believe that the author was well justified in describing each interface and support class and how they apply to the different MBean types.
The examples appear to be very clear and very easy to follow. I felt that the author did a wonderful job, as in EJB and Java and XML, explaining the examples and demonstrating the uses of different MBean types. Unlike the primary competitor to this book that I am aware of from Marc Fluery, the author explains the technology in a way that I believe readers will understand how to apply the JMX technology to their own projects. It seemed in my opinion that Marc Fluery in his book understandably is tying his explanations of JMX towards JBoss, given that JBoss is his project. But on the other hand I sincerely appreciate and include in my high marks for quality that the author can so excellently explain a technology like JMX and make the technology understood by the reader without tying explanations to one particular project.
Reading Java Management Extensions will not make one an expert JMX programmer, but like Enterprise JavaBeans and Java and XML, this book will provide the reader with an excellent foundation for beginning to understand where in the software design JMX participates and how to use it. I expect for anyone using this technology that Java Management Extensions will become a frequently used reference book.
I congratulate the author on writing an excellent textbook on JMX and I thank O'Relly's editors, reviewers, and publication staff on stepping up and delivering a great product. It is my opinion that O'Reilly has been the top publisher in years past for high-quality technical books and it is really good to see that they intend to maintain that position by publishing great books like Java Management Extensions.
I highly recommend this book for anyone who is considering using this technology or is curious about it.