A new article by Tony Thomas of Adventnet, "J2EE Application Management - The Power of JMX" has been posted on TheServerSide. JMX is widely being used for managing J2EE infrastructures and applications built atop of J2EE middleware. JMX makes it easier to quickly expose information on demand from critical systems used in business operations, and use it for informed decisions.
Read "J2EE Application Management - The Power of JMX"
I guess this was article is okay for an IT manager trying to get a bird's eye view of JMX, but I didn't expect something a mile wide and a micron deep on TheServerSide. Blech!
I'm sorry you feel this article does not have enough
technical depth for TheServerSide. While writing it
I decided to focus on the big picture, so that developers
can motivate their use of JMX technology and clearly
see the benefits from a business perspective.
One of the key points of the article is that developers
will be able to leverage JMX technology without getting
into a lot of depth. With the automation tools coming
online, an 80/20 rule will apply where 80 % of the JMX
management needs can be achieved with very little effort.
Developers can focus on their applications and use tools
to meet many of their management needs.
I guess this was article is okay for an IT manager
>> trying to get a bird's eye view of JMX, but I didn't
>> expect something a mile wide and a micron deep on
>> TheServerSide. Blech!
Not all articles on TSS are written for propeller heads. I'm glad this article was written at a high level. I knew nothing about JMX before reading it, and the article provided a good intro. I can always read specs if I want to get down to the minutae level, and get a good night's sleep.
How can we customize these HTML adaptors?
E.g. for JBoss - what if I need my own console as a part
of my web application?
Customizing the HTML pages for your application is important.
While the degree of effort may vary with the tools you use, this should be quite possible. AdventNet's tool now generates JSP pages that you can customize. We're working on making this easier to customize in the tool itself, rather than editing the generated JSP pages.
Check out for example JMX taglib from Coldtags suite:
or JMX suite: www.servletsuite.com/jmx
Use mx4j1.1 its very clean implementation of JMX. It uses XSL for displaying the HTML pages. The HTML adaptor is developed using XML and XSL. You can easily configure your HTML look & feel by changing the XSL files.
The article is excellent, it provided me a lot of informatio.
A second article could address the other folks, which would of great interest to me also.
Look at this way, you know your article is being read.
David L. Wasler
For all you newbies to JMX, who want to try something, go to www.jboss.org and get JBoss. At its heart, JBoss is a JMX agent that loads up MBeans according to a configuration. You can easily create a configuration to only load up your MBeans, and perhaps some of the other useful features such as hot deployment, jmx-console and go to town !!
I've been doing a bit of reading on JMX from specs to books to implementation guides. It seems like there is very little discussion on handling a non-java environment. Also, the notion of handling several different processes with one agent (replicated or not) seems to be missing. It seems like the real benefit of JMX is realized only realized only when everything runs in the same JVM, one per box. What ever happened to process isolation of management components?
Am I perhapse missing some fundamental perspective shift? I guess I'm used to the notion of an agent being an individual process on each box that communicates with the outside world about everything on that box. In fact, when I ran a demo that registered an MBean, I attempted to query for that MBean from an MBeanServer in a separate process, expecting to see the MBean (didn't work, of course).
An example of the problem I'm trying to solve: Imagine that I've got a little C++ app, and a custom java app next to my weblogic server (process), all running on the same box. Suppose my main MBeanServer runs inside the weblogic app server. I'm fine with writing an MBean that talks to my C++ app in a proprietary, way. But, how do I monitor my other java process with out introducing what amounts to the same thing I had to do with the C++ app? Perhaps I can use an RMI connector writing my own proxy MBean.
It seems like everything would be a lot cleaner if the MBeanServer were an OS-wide entity.
I've been looking at MBeans, too. It seems like a good way to manage my apps. But I keep getting the suspicion that there's no there there. It's just RMI calls on objects attached to JNDI. Or maybe I'm really missing something.
Also, wouldn't web services be so much better? With RMI you have versioning problems (with serialization) and all that. As well as the requirement to ship the code and jre.
I understand that with HTML adapters this makes it a little easier but why not cut to the chase and deliver management services directly as XML/XSLT or HTML?
> Also, wouldn't web services be so much better?
The value of JMX versus directly going to web services is that support for existing management tools and protocols may be needed. RMI is only one way to access JMX instrumentation. SNMP, for example, may be the what's now supported by your management system. The one you paid big bucks for, and is being used by your IT staff. With JMX, you can get your SOAP/Web-services interface, while the next guy can use SNMP - all with the same instrumentation.
What about brand new applications that need to be "managed".
Why should I choose JMX over web services?
Some JMX implementations provide support for master/sub-agent architectures. You do not need to worry about communication across the different MBeans that span multiple JVMs and monitor other resources. This is handled by the implementation. There is a fair bit of flexibility in the ways you can build and deploy these MBeans.
For your example, you would deploy an MBeanServer for each separate JVM or C++ application, and use/configure a master agent to make available a unified agent. Or manage the C++ apps directly from the master. The MBeanServer is very lightweight, so there should be little concern about adding it to each JVM.
I’ve been reading JMX a lot lately for a project. I need help from you to understand how I can effectively use JMX. We’ve several computers running applications on Jboss, which will be placed in our customer sites at various locations. We need to monitor the computers, applications, networks, etc from our head-office. We also need to monitor the usage of application resources (that runs on Jboss) at the customer sites so that we can bill the customers appropriately. So the applications at the customer’s sites will be sending utilization information to the head-office. We can’t miss data, as it is crucial to our revenue. We’ll have more than 1000 computers sitting at various locations sending and receiving data to and from the head-office. It is also possible for the customers
For the above project:
Does the JMX is ready to be used? If so what other tools (like MC4J) we need to use?
Since we need a reliable way to get all the utilization data can we use JTS and combine it with JMX?
What are the performance implications of using JMX?
Can we use Web services? If so what is the advantage of using JMX Vs Web services?