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:
- Part I:
- Introduction and overview Part II:
- the JMX Instrumentation Level
- Standard MBeans
- Dynamic MBeans
- Model Mbeans Part III:
- The JMX Agent Level
- The Mbean Server
- The JMX Notification Model
- Dynamic Loading
- Timer Services
- Relation Services Appendix:
- Related Technologies Index
|Publisher:||O'Reilly Media, Incorporated|
|Edition description:||First Edition|
|Product dimensions:||7.00(w) x 9.19(h) x 0.77(d)|
About the Author
Perry has been a software developer for over 10 years. During that time, he's been a maintenance programmer and a systems analyst, and he is now an architect. He currently works in the Chief Technology Office at Alltel Information Services, in Little Rock, Arkansas.
Most Helpful Customer Reviews
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.
Java Management Extensions (JMX) is a new framework added to the Java language that provides management solutions to new or existing applications. JMX allows you to encapsulate all your resources (hardware or software) with Java objects and expose them in a distributed environment, where the application resources to be managed can be any type, example: an applet, a standalone or distributed application, or hardware device such as a printer. So you build your management solution using a standard API in a componentized fashion, and can choose to expose entire devices or applications, or just a subset of their configurable features. JMX is a new technology, but is already being widely adopted as a means of configuring and instrumenting application servers and building management tools, e.g. JBoss, WebLogic and Blue Stone Application Servers, OpenView, Adventnet Manager and Tivoli JMX all use JMX technology. This is sound introductory book to the JMX API for both new and experienced Java programmers, while offering great insight through high-level details of JMX for Architects and Technical Managers evaluating this new technology. The Chapters are concise and well written. Once JMX concepts, api, building of sample applications and installing the JMX reference implementation are covered, we are introduced to an enterprise Producer/Consumer application and learn how to add rich Management features chapter by chapter through the initial 6 chapters of the book (some chapters can be skipped if you are looking for more complex management details covered in later chapters). By building on a single application example we are allowed to focus on the JMX specification and see how easy it is to add instrumentation to this new application. Note that JMX management features can also be added to existing applications, this is also covered in detail. There are complete chapters devoted to other JMX topics such as the MBean Server, JMX Notifications, dynamic loading with MLets and JMX Services such as the Timer, Relational and Monitoring Services. Chapters are concise taking readers step by step while introducing good programming conventions as they pertain to the JMX api, and also points out pitfalls to avoid while using JMX.