Every developer who has deployed a mission critical application knows it is not enough just to write great code; to be truly useful, critical applications must be manageable as well. JMX is a tool with which to instrument and manage software products. It will soon be a standard part of the J2EE specification and is also being accepted by the telephony industry for key specifications. The probability that developers will encounter JMX in one form or another is very high. A copy of this book will dramatically reduce a developer's JMX learning curve, giving them the foundation and technical details needed to make effective use of JMX wherever they find it. Comprehensive coverage includes two chapters of introduction to JMX, seven chapters of practical instrumentation examples and advice, including how to relate security to JMX, and two chapters positioning JMX as a fundamental technology for J2EE and Web services. Readers can use this book as both an introduction to JMX and as a frequent desktop reference.
Preface. Part I. JMX Introduction. 1. Management Concepts. Progress of Management. Why Invest in Management? The Natural Evolution of Management. Management Architectures. Managed Resource. Agent. Subagent. Midlevel Manager. Management System. Management Technologies. Proprietary Technologies. Standard Technologies. Managing the Lifecycle. Management Disciplines. Distribute. Install. Configure. Monitor. Control. Managed Resource Responsibilities. Management Data. Management Operations. Management Instrumentation. Management Patterns. Event Generator. Noninterruptible. Queryable. Operational. Management Applications. Distribution Applications. Inventory Applications. Topology Applications. Configuration Applications. Operations Applications. Event and Automation Applications. Monitoring and Performance Applications. Summary. General References. Notes. 2. Introduction to JMX. Why We Need JMX. Choosing a Management Technology. Dealing with Diversity. Being Managed by Multiple Management Applications. Supporting Application-Specific Management Systems. Which Applications Should Be Manageable? Complex Applications. High-Volume Applications. Mission-Critical Applications. Corporate Applications. Applications with Expectant Customers. The Goals of JMX. Simple API. Dynamic Management. Isolation. Generic Management. History. JMAPI. JDMK. JMX. The Specification and Compliance. The Reference Implementation. JMX Overview. JMX-Managed Resources. Mbeans. JMX Agents. JMX Adapters. Adapter Tools. Quick Tour of JMX. todd, the Time of Day Daemon. todd Management. toddOs Mbeans. Incorporating an MbeanServer. Monitoring todd. Browser Control. Summary. Notes. Part II. JMX Details. 3. All about Mbeans. MBean Fundamentals. The Management Interface. The Introspection Algorithm. MBean Construction. Standard Mbeans. Dynamic Mbeans. Active Mbeans. Open Mbeans. Design Guidelines. Summary. 4. Model Mbeans. Introduction. The Simplest Model MBean Example. The ModelMBean Interface. DynamicMBean. PersistentMBean. ModelMBeanNotificationBroadcaster. Managed Resources. ModelMBeanInfo. Descriptors. Model MBean Descriptors. Attribute Descriptors. Constructor Descriptors. Operation Descriptors. Notification Descriptors. Behavior of the Model Mbean. Caching. Values and Validation. Delegation. Persistence. Logging. Miscellaneous Descriptors. XML Service: Priming ModelMBeanInfo from XML Files. Using Model Mbeans. Creating Static Model Mbeans. Creating Dynamic Model Mbeans. Adding Custom Descriptors. Overriding the RequiredModelMBean Class. Common Mistakes with Model Mbeans. Caveats. Transactionality. Remoteness. Summary. XML File Example. Notes. 5. The MbeanServer. The MBeanServerFactory Class. Object Naming. Object Name Domains. Object Name Key Properties. The ObjectName Class. The ObjectInstance Class. The MBeanServer Interface. MBean Lifecycle Methods. MBean Access Methods. MBeanServer Methods. The MBeanServerDelegate Mbean. Finding Mbeans. Query Expressions. Query Scope and Pattern Matching. MBeanServer Query Methods. Notifications. Summary. 6. Monitors and Monitoring. The JMX Monitor Service. The Monitoring Package Structure. The Monitor Mbean. MonitorNotification. Concrete Monitors. Monitoring ApacheOs Status. Canonical Usage Pattern. StringMonitor. CounterMonitor. GaugeMonitor. Summary. 7. JMX Agent Services. Timer Service. The Notification Queue. Timer Notifications. The Timer Class. Dynamic MBean Loading Service. The MLET Tag. MLet Examples. The MLet API. Relation Service. A Simple Example: The SessionPool Relation. The RelationService Class. JMX Connectors. Connector Mbean. Connector Client Proxy. Summary. Securing JMX. JMX Security Exposures. Permission-Based Security Fundamentals. Permissions. SecurityManager. Policy. JMX Permissions. MbeanServerPermission. MbeanTrustPermission. MbeanPermission. Using JMX Security. A Simple Process Management Application (SPMA). Running with Security Enabled. Policy Configuration. Summary. 9. Designing with JMX. MBeanServer Deployment Patterns. Daemon. Component. Driver. Instrumentation Patterns. Applications as Mbeans. MBeans on Behalf of Applications. Publish-Only Mbeans. Facades for Distributed Applications. MBean Registration and Lifecycle. Registration by Application. Registration by Third Party. Registration by Management Adapter. Registration by MBeanServer Bootstrap. Best Practices. MBean Granularity. Application Self-Management. Resource Schema. Notifications and Logging. Federation Options. Summary. Part III. Application of JMX. 10. J2EE and JMX. Java 2 Enterprise Edition. J2EE Management. Management Tool Access: The MEJB. J2EE Management Models. The Base Managed-Object Model. The Management Domain Model. The J2EE Application Server Model. J2EE Application Component Models. J2EE Server Runtime Components. Standard Management Functions. State Management. Event Generation. Performance Monitoring. Stats Interface Details. Application-Specific Extensions. Areas Missing from J2EE Management. The Vision. Sample JSR 77 Code. Summary. Notes. 11. Web Services and JMX. Web Services Overview. Service-Oriented Architecture. Web Service Stack. Web Service Registry Management. Registry Owner. Registry User. Web Service Execution Environment Management. Execution Environment Owner. Execution Environment User. Web Service Management. Web Service Owner. Web Service User. Summary. Code Listings. UDDIRegistryClientManagerMBean Implementation. WebServiceRuntimeManagerMBean Implementation. WebServiceManagerMBean Implementation. StockQuote Service WSDL Document. Notes. Appendix. JMX in Products. JMX Agent Implementations. JMX 1.0 Reference Implementation from Sun Microsystems. JDMK 4.2 from Sun Microsystems. TMX4J 1.0 from Tivoli Systems. AdventNet Agent Toolkit Java/JMX Edition. AdventNet ManageEngine. MX4J. JMX Managers. Tivoli Web Component Manager. Dirig Software. AdventNet Middleware Manager. AdventNet Web NMS. Vigor Soft hawkEye. JMX-Enabled Products. IBM WebSphere 5.0. IBM Web Services Tool Kit 3.1. IBM WebSphere Voice Server. IBM WebSphere Business Components Composer. BEA Systems WebLogic Server 7.0. IONA iPortal. IONA Technologies PLC: Orbix E2A XML Bus Edition 5.3. Hewlett-Packard OpenView. Hewlett-Packard Core Services Framework. Jboss. Sonic Software SonicXQ. Pramati Server from Pramati Technologies. Sybase EAServer 4.0. Sun Microsystems: Sun ONE Application Server. Sun Microsystems: Sun ONE Portal Server. Compiere Open Source ERP & CRM. Notes. Index. 0672324083T05022003