Transcript Document
Mike Dickson
Tidal Software
[email protected]
Introduction
•
•
•
•
•
•
•
•
From a little town called Gig Harbor, WA
Married with 5 children
Degree in CS from BYU
Former Sun Java Instructor
Bluestone
HP Middleware
HP Openview
Now at Tidal Software
Agenda
• JMX Overview
– JMX Definition
– JMX MBeans Types
– JMX MBean Server
• JMX Implementation Architecture
– Overall Architecture
– Agent Architecture
– Client Architecture
• JMX Implementation Demo
– Operations Views
– Developer Views and Functinos
• Please ask question all along
JMX Overview
• JMX – Java Management Extensions
– How to manage resources like devices or applications the Java way
– It is accomplished by “Instrumenting” your code
– Very comprehensive and well thought out
• Started with JSR 3!
• Scope
– Application Configuration
– Statistics
– State Changes of Systems
JMX Overview
• An MBean is a Java object that is instrumented to make Java systems
manageable
• They consist of:
–
–
–
–
Attributes
Methods
Notifications
Constructors
• There are four types of MBeans:
– Standard MBeans
• Define Java Bean compliant Interface, then implement it
• Static interface
• Metadata is generated by the JMX Agent
– Dynamic MBeans
• Implement DynamicMBean interface
– getAttibute, setAttribute, getAttributes, setAttributes, invoke, getMBeanInfo
• More flexible and Dynamic
• Developer creates the Meta Data
JMX Overview
– Model MBeans
• Is a Dynamic MBean that uses Metadata Classes to describe features at the top of the
slide
• ModelMBean implements DynamicMBean
• It is able to persist itself
• Implements the ModelMBean interface
– setModelMBeanInfo, setManagedResource
• RequiredModelMBean is an implementation of this that must be in each JMX
implementation
– You don’t have to implement the ModelMBean interace just the meta data classes to describe your
features
– Open MBean
• No specific interface that you have to implement other than DynamicMBean
• The first three MBean types usually only describe the native Java data types and Strings
They also allow arrays of those types
• But what about complex data types?
• Open MBeans “open” up MBeans to complex data types without the management
application having to deal with user class file data types
• They create a subclass of OpenType for attributes, methods, notifications, constructors
JMX Overview
• Notification Model
– Same as the normal Java Event Model
– Broadcaster and Listeners
• MBean Server
–
–
–
–
–
Like a RMI server
You register you MBeans
The Server does not need to be in the same JVM
Everything is an Interface
Connectors(Agents) talk to the MBean Server to do
their magic
Tidal Intersperse – Architecture
Standards-Based
Interfaces
Monitored
Systems
Java EE Cluster
Java EE
SOM
JMX Client
LDAP
Browser
Web Services
Client
SNMP Client
Services
JMS
Persistence
RDBMS
Java SE VM
.NET
HPOV/Tivoli/…
Web Service
Database
Tidal Intersperse – Agent Architecture
Standard
Object
Model
LDAP
Services
Persistence
RDBMS
JMS Bus
JMX
Server
Agent
Application
Application Server
Intersperse
Middle
Tier
Tidal Intersperse – Client Architecture
Standard
Object
Model
LDAP
Services
Persistence
RDBMS
JMS Bus
Intersperse
Middle
Tier
JMX Implementation Demo
•
Intersperse 6.0