mike dickson tidal software [email protected] [email protected]
TRANSCRIPT
Mike Dickson Tidal [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
JMS
PersistenceRDBMSServicesLDAP
SOM
Browser
JMX Client
Web Services Client
SNMP Client Database
Web Service
HPOV/Tivoli/…
.NET
Java SE VM
Java EE
Java EE Cluster
MonitoredSystems
Standards-Based
Interfaces
Application Server
JMXServer
Agent
Tidal Intersperse – Agent Architecture
JMS Bus
PersistenceRDBMSServicesLDAP
StandardObjectModel
IntersperseMiddleTier
Application
Tidal Intersperse – Client Architecture
JMS Bus
PersistenceRDBMSServicesLDAP
StandardObjectModel
IntersperseMiddleTier
JMX Implementation Demo
• Intersperse 6.0