slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
JMX PowerPoint Presentation
Download Presentation
JMX

Loading in 2 Seconds...

play fullscreen
1 / 21

JMX - PowerPoint PPT Presentation


  • 454 Views
  • Uploaded on

JMX David Moran dmoran@nc.rr.com 10/20/03 Agenda Overview Managed Beans Services Remote API J2EE Management Implementations Future Directions Demo Benefits JMX is an API to for managing java applications.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'JMX' - victoria


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1
JMX

David Moran

dmoran@nc.rr.com

10/20/03

agenda
Agenda
  • Overview
  • Managed Beans
  • Services
  • Remote API
  • J2EE Management
  • Implementations
  • Future Directions
  • Demo
benefits
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..)
jmx architecture
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

mbeanserver
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
instrument your resources as mbeans
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.
standard mbeans
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.
notifications
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.
dynamic mbeans
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.
dynamicmbean interface
DynamicMBean Interface

<<Interface>>

DynamicMBean

getAttribute(String attribute)

setAttribute(Attribute attribute)

getAttributes (String[] attributes)

setAttributes(AttibuteList attributes)

getMBeanInfo()

invoke(String actionName, Object[] params)

model mbeans
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.
connectors adapters
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.)
agent services
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.
jmx remote api
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
j2ee management
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
j2ee management spec jsr77
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.
available jmx implementations
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
future directions
Future Directions
  • Use of metadata
  • Persistence
  • Reliable event handling
  • Master-agent/sub-agent functionality
  • Manageability for J2EE™ apps
demo login monitor
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

books
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
references
References
  • Sun JMX Page: http://java.sun.com/products/JavaManagement
  • JMX Forum jmx-forum@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.html
  • Interview with Chris Ebro http://www.theserverside.com/events/library.jsp
  • JSR77 Aricle

http://www.onjava.com/pub/a/onjava/2002/03/27/jsr77.html