JMX

1 / 21
About This Presentation
Title:

JMX

Description:

Possible to use to manage any application or device (via JNI or SNMP etc..) JMX Architecture ... MBeans can represent a physical device or an application ... – PowerPoint PPT presentation

Number of Views:116
Avg rating:3.0/5.0
Slides: 22
Provided by: david985
Learn more at: http://www.ece.uic.edu

less

Transcript and Presenter's Notes

Title: JMX


1
JMX
  • David Moran
  • dmoran_at_nc.rr.com
  • 10/20/03

2
Agenda
  • Overview
  • Managed Beans
  • Services
  • Remote API
  • J2EE Management
  • Implementations
  • Future Directions
  • Demo

3
Benefits
  • JMX is an API to for managing java applications.
  • Abstract the instrumentation for management
    information to a common interface to facilitate
    integrated management.
  • Distribute management by moving management
    functions to the agents.
  • Realtime deployment of services and updates.
  • Possible to use to manage any application or
    device (via JNI or SNMP etc..)

4
JMX Architecture
Management Layer
Agent Layer (MBeanServer)
RMI Connector
Agent Services Notifications Monitors/Timers MLET

Java Client
HTML Adapter
Web Browser
SNMP Adapter
Instrumentation Layer
SNMP Manager (HP OpenView)
SNMP
MBeans
RMI
Java Application
Manageable Device
Application Server
5
MBeanServer
  • The core of the agent. It provides a registry for
    MBeans.
  • Allows clients to discover and execute operations
    exposed by the MBeans
  • Makes available various services to facilitate
    management (I.e. monitoring, scheduling, etc)
  • Use ObjectName class to register objects with
    the MBeanServer

6
Instrument your resources as MBeans
  • MBean stands for managed bean
  • MBeans can represent a physical device or an
    application
  • You decide which attributes and methods you want
    to expose for management.
  • Use design patterns similar to JavaBeans
  • MBeans are exposed in an agent.

7
Standard MBeans
  • The simplest MBean
  • Provides a static representation of a manageable
    resource.
  • Implements a management interface of attributes
    and methods that a device or application exposes
    for management.

8
Notifications
  • Can be used to inform registered listeners with
    important events or state changes.
  • Similar to the java event model
  • Register once to all types of notifications
  • Can supply a filter to say which notifications it
    is interested in.

9
Dynamic MBeans
  • Useful if the management interface is not stable.
  • The management interface is defined at runtime.
  • Developer is responsible for checking the
    validity of the invocations.

10
DynamicMBean Interface
ltltInterfacegtgt DynamicMBean
getAttribute(String attribute) setAttribute(Attrib
ute attribute) getAttributes (String
attributes) setAttributes(AttibuteList
attributes) getMBeanInfo() invoke(String
actionName, Object params)
11
Model MBeans
  • Most flexible and thus most complicated MBeans
  • Extension of the dynamic MBean
  • Developers do not write an MBean class
  • The agent must supply the RequiredModelMBean and
    the Management Interface is defined outside of
    the Bean via setter methods.
  • Features include persistence, logging, and
    attribute caching.

12
Connectors/Adapters
  • A connector makes a Java Management Extensions
    (JMX) API MBean server accessible to remote Java
    technology-based clients.
  • Adapters are similar to connectors except they
    provide protocol translations (I.e. SNMP, HTML,
    etc.)

13
Agent Services
  • Mlet (Management Applet) Dynamically adds class
    files to the server either locally or from a
    remote location.
  • Relation Service Allows the definition of
    relationships between Mbeans
  • Monitors Observe Mbean attributes and emit
    notifications when values change.
  • Timers Emits user defined notifications at
    specific times.

14
JMX Remote API
  • Adds remote capability to the JMX spec
  • Makes the JMX agent accessible from outside the
    JVM.
  • Developed through the JCP JSR 160
  • Standard support via RMI
  • Optional support via TCP Sockets (JMXMP)
  • API is as close as possible to the API defined by
    the JMX API.
  • Also support discovery/lookup services and
    defines security between the client and server.
  • As with RMI code must handle communication
    exceptions

15
J2EE Management
  • An MBean can get data directly from an EJB by
    invoking its access methods.
  • An MBean can receive data being pushed from an
    EJB.
  • Registers and Deletes an MBean with a JMX agent
    upon creation and destruction of an EJB

16
J2EE Management Spec JSR77
  • This specification represents a model of the J2EE
    application server, and its subcomponents, that
    all J2EE-compliant application vendors are
    required to expose
  • Requires JMX
  • Part of J2EE 1.4 spec
  • Specifies the MEJB, which is a session bean, to
    expose the agent to remote clients.

17
Available JMX Implementations
  • Sun JMX 1.2.1 and Remote API 1.0 RI
  • JDMK value added product for purchase.
  • JBOSS JBOSS-MX
  • JMX Compliant Implementation available
  • MicroKernal Application architecture is based on
    JMX Agent technology.
  • NetManage
  • Various products for sale to help build and
    manage applications via JMX
  • MX4J
  • OpenSource Implemenation of JMX 1.1
  • Currently working on 1.2
  • Currently working on Remoting API

18
Future Directions
  • Use of metadata
  • Persistence
  • Reliable event handling
  • Master-agent/sub-agent functionality
  • Manageability for J2EE apps

19
DemoLogin Monitor
Login Screen
Management Console
User
Web Browser Talks to MBeanServer
User Login (increases login counter)
UserInfoMgr MBean
UserInfo Entity Bean
Jboss Application Server
Jmx Agent
Retrieve number of Logins Enable/Disable login
permissions
20
Books
  • JMX in ActionBenjamin G. Sullins,
    Mark WhipplePublisher Manning Publications
    Company
  • JMX Managing J2EE with Java Management
    ExtensionsMarc Fleury, Juha Lindfors
  • Publisher Sams
  • Java and JMX Building Manageable
    SystemsHeather Kreger, Ward K. Harold,
    Leigh Williamson, Ward HaroldPublisher Pearson
    Education
  • Java Management ExtensionsJ. Steven Perry
  • Publisher O'Reilly Associates,
    Incorporated
  • JMX ProgrammingMike JasnowskiPublisher Wiley,
    John Sons, Incorporated

21
References
  • Sun JMX Page http//java.sun.com/products/JavaMan
    agement
  • JMX Forum jmx-forum_at_java.sun.com
  • JBOSS MX http//www.jboss.org/developers/projects
    /jboss/jbossmx.jsp
  • AdventNet www.adventnet.com
  • http//www.gartner.com/reprints/adventnet/108841.h
    tml
  • Interview with Chris Ebro http//www.theserverside
    .com/events/library.jsp
  • JSR77 Aricle
  • http//www.onjava.com/pub/a/onjava/2002/03/27/jsr7
    7.html
Write a Comment
User Comments (0)