mike dickson tidal software [email protected] [email protected]

11
Mike Dickson Tidal Software [email protected]

Upload: timothy-carr

Post on 02-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 2: Mike Dickson Tidal Software mike.dickson@tidalsoft.com mike.dickson@tidalsoft.com

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

Page 3: Mike Dickson Tidal Software mike.dickson@tidalsoft.com mike.dickson@tidalsoft.com

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

Page 4: Mike Dickson Tidal Software mike.dickson@tidalsoft.com mike.dickson@tidalsoft.com

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

Page 5: Mike Dickson Tidal Software mike.dickson@tidalsoft.com mike.dickson@tidalsoft.com

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

Page 6: Mike Dickson Tidal Software mike.dickson@tidalsoft.com mike.dickson@tidalsoft.com

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

Page 7: Mike Dickson Tidal Software mike.dickson@tidalsoft.com mike.dickson@tidalsoft.com

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

Page 8: Mike Dickson Tidal Software mike.dickson@tidalsoft.com mike.dickson@tidalsoft.com

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

Page 9: Mike Dickson Tidal Software mike.dickson@tidalsoft.com mike.dickson@tidalsoft.com

Application Server

JMXServer

Agent

Tidal Intersperse – Agent Architecture

JMS Bus

PersistenceRDBMSServicesLDAP

StandardObjectModel

IntersperseMiddleTier

Application

Page 10: Mike Dickson Tidal Software mike.dickson@tidalsoft.com mike.dickson@tidalsoft.com

Tidal Intersperse – Client Architecture

JMS Bus

PersistenceRDBMSServicesLDAP

StandardObjectModel

IntersperseMiddleTier

Page 11: Mike Dickson Tidal Software mike.dickson@tidalsoft.com mike.dickson@tidalsoft.com

JMX Implementation Demo

• Intersperse 6.0