Chathura Ekanayake wrote:
Hi Steve and all, What are the functionalities you would expect from the management interface. I have currently implemeted the functionalities provided by the Axis2 admin page so that those tasks can be performed using APIs. Below are some functionalities I have implemented so far; Getting list of serviceGroups, services, operations, modules and transports Getting and editing parameters at all levels (e.g. service parameters, global parameters)
Getting engaged modules at various levels (e.g. global, service)
Engage modules globally
Engage modules to services
Engage modules to operations
And I am using Apache commons.modeler package for JMX. Therefore, clients can access the management interface using a MBeanServerConnection object and using methods like invoke and getAttribute with the method or attribute name as a parameter. Is this good enough?

Yes it is. What is useful is to have some good attributes to monitor, like

-current load
-load by endpoint

And statistics

-number of requests
-number of failed requests
-number of successful requests
-operation to reset the counters

and any other statistics that are easy to gather and easy to present. That way a management tool can define health as "load<some value" and #of failed requests below a certain threshold. alerting people (ideally not us developers) when things start to fail. This is important for web services, because
 -there's no easy way to browse to the page to check it works
-if you are part of a chain, you want to find and fix a problem before people upstream do it.

And when using the WS interface, the client is just a web services client, using Axis2, .NET or any other technology. What specific feathers should the management interface support to use it with SmartFrog?

ah, that's a good question.

Right now I have a deployment of Jetty+Axis2 in our own JVM

What I'm doing there is just declaring the servlet engine and servlet bindings of Axis

   Axis2Servlet extends Servlet {
       name "AxisServlet";
       className "org.apache.axis2.transport.http.AxisServlet";
       pathSpec "/services/*";
   }

   Axis2ServletContext extends ServletContext {

   }


Somewhere later on I bring up jetty and bind the servlet inside the servlet context. Because jetty isnt hosting JSP pages, I can't make happy.jsp my liveness check for system health, so I do something else (I forget what).

What I would like is an easy way to declare endpoints themselves, without having to create archive files and service group XML entries and things like that, and pass configuration data down to them.

-steve


Reply via email to