Chathura C. Ekanayake
JMX Front for Axis2
Apache Axis2 is a java based web service engine that hosts java web services and enables java clients to access web services. Currently Axis2 is in M2 release and does not have a JMX interface. My project is to develop a JMX interface for Axis2, which enables administrators to configure the Axis2 registry using remote management applications through this interface.
- Prototype to study the feasibility and identify the things to be managed
- JMX MBeanServer initializing module which registers the MBeans and publish the MBeanServer
- MBeans and MBean implementations to access the manageable components
- Servlet to provide web user interface using JMX front
Apache Axis2 is a java based web service engine which is currently in its M2 Release. Currently it does not include JMX support. JMX technology provides a standard way of managing resources such as applications, devices, and services. This technology also allows integrating applications with existing network management solutions. Most of the widely used servers support JMX to allow administrators to configure and monitor the system. My project is to implement a JMX interface for Axis2, which enables administrators to configure Axis2 registry from this JMX interface. This involves writing MBeans that wraps the Axis2 configuration. These MBeans can be controlled via JMX services. As these MBeans should be able to control most of the behavior of Axis2, they have to be coupled with the internals of Axis2. After implementing the MBeans and coupling them with required sections of Axis2 engine, remote management applications can connect to the JMX agent and access the configuration of Axis2. This can be done using many protocols including HTTP, RMI and SNMP.
The Tomcat's MBeanServer is used for registering the Axis2 MBeans. Axis2 MBeans are registered under the "Axis2" domain to avoid confliction. Whether to create a seperate MBeanServer for Axis2 is yet to be decided. The plan is to create MBeans which access ConfigurationContext and provide an interface to monitor and alter the behaviour of Axis2 through that. Currently standard MBeans are used as the interface is not going to change at run time. But the possibility of using org.apache.commons.modeler package to create model MBeans is considered.
Weeks ending on July 3rd & 10th
- Study JMX technology. Test Standard MBeans and RMI Connectors for dummy applications.
- Week ending on July 17th
- Week ending on July 24th
- Build a simple prototype using standard MBeans for managing few things of Axis2. (these MBeans will be registered in Tomcat's MBean server under "Axis2" domain.)
- Week ending on July 31st
- Study the JMX front of Axis1.2. Study Dynamic and Model MBeans. Study the possibility and advantages of using org.apache.commons.modeler package.
- Week ending on August 7th
- Publish the MBean server using HTTP Connector (using an open source HTTP Connector implementation). Build a JMX client using a servlet to provide a web user interface.
- Weeks ending on August 14th and 21st
- Implement MBeans to wrap all manageable parts of Axis2 and register them in MBeanServer. Improve the JMX client servlet to cover all exposed MBeans.
- Week ending on August 28th
- Testing and Documentation
I am an undergraduate student at University of Moratuwa, Sri Lanka. I am in the Computer Science and Engineering department of the Engineering faculty of the University. I am currently in my 3rd year of my 4 year engineering degree. I have done many software projects in the university and in the school. I have developed an online recruitment system for a Swedish based software company in Sri Lanka as my 3rd year project. I am currently working on a J2ME mobile application project with 4 of my colleagues. It is a java based automated cab hiring system where users can query and hire cabs using a J2ME application running on their mobile phones. Server side of this system is done using J2EE technology where the access to the system is provided via java web services deployed on Axis engine. I have developed a simulation software to simulate the motion of waves as my advanced level project in school. My interested areas are web services / distributed systems, operating systems, web / application servers and software architecture. I have experience in using many open source products by Apache including Tomcat, Axis1.1, Axis2.
- University of Moratuwa: www.mrt.ac.lk
- Department of Computer Science and Engineering: www.cse.mrt.ac.lk
- Apache Axis2 home page: ws.apache.org/axis2/