You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Rémi Flament <rf...@laposte.net> on 2010/01/19 05:46:01 UTC

SOAP Monitoring console for CXF

Hi,

I wrote a soap monitoring tool for cxf and I'd like to make it open 
source. I'd like to know if it could be included in cxf package since I 
think it could be useful to other cxf users.

Basically it's just two soap interceptors that store requests, responses 
and some more data in a database.
Additional data is the service name, the operation name, the exception 
type and the stacktrace if the response is a fault, the response time, 
the status, the user agent, the encoding, http headers, etc.
It also provides a mechanism so users can store their own additional 
data if they need to.

The cxf console comes with 3 maven modules :

- cxf-soap-console-dao : used for CRUD operation in database, use 
iBatis. MySQL is supported, I'll add Oracle and Postgres support soon 
since I need it, I might also add derby support.
- cxf-soap-console-interceptors : the soap interceptors that users need 
to add to their webservices. They are basically extended versions of 
LoggingInterceptors from cxf.
- cxf-soap-console-webapp : a webapp to show data stored by the 
interceptors (see attached screenshots)

It is still in an alpha stage, here are some planned features ;

- statistics by service
- statistics by operation
- jfreechart inclusion in the webapp
- a search form
- make it a cxf feature

I've attached the source code, some screenshots, and the ddl script to 
create the database. Maven should generate a war deployable in tomcat, 
mvn eclipse:eclipse will generate the eclipse projects. The datasource 
must be named jdbc/cxf/console.

Has this any chance to be included in cxf or should I create a separate 
project on google code/sourceforge ?

Regards,
Rémi.

Re: SOAP Monitoring console for CXF

Posted by Sergey Beryozkin <sb...@progress.com>.
Hi

> Hi,
>
> I wrote a soap monitoring tool for cxf and I'd like to make it open
> source. I'd like to know if it could be included in cxf package since I
> think it could be useful to other cxf users.
>
> Basically it's just two soap interceptors that store requests, responses
> and some more data in a database.
> Additional data is the service name, the operation name, the exception
> type and the stacktrace if the response is a fault, the response time,
> the status, the user agent, the encoding, http headers, etc.
> It also provides a mechanism so users can store their own additional
> data if they need to.

What is your opinion about contributing some of this code to the rt/management module ?
Cyrille and other experts can help. The rt/management conrtains a management featire which can be used to monitor both SOAP and 
RESTful services. And it looks like it can do most of what you've described above but perhaps you can help enhancing it for it to 
match what your interceptors can do ?

>
> The cxf console comes with 3 maven modules :
>
> - cxf-soap-console-dao : used for CRUD operation in database, use
> iBatis. MySQL is supported, I'll add Oracle and Postgres support soon
> since I need it, I might also add derby support.
> - cxf-soap-console-interceptors : the soap interceptors that users need
> to add to their webservices. They are basically extended versions of
> LoggingInterceptors from cxf.
> - cxf-soap-console-webapp : a webapp to show data stored by the
> interceptors (see attached screenshots)
>
> It is still in an alpha stage, here are some planned features ;
>
> - statistics by service
> - statistics by operation
> - jfreechart inclusion in the webapp
> - a search form
> - make it a cxf feature

This is quite interesting. You may've seen we've discussed the possibility of introducing a rt/management-web module which will 
initially contain :
- atom based pull/push logging support for individual jaxrs/jaxrs endpoints (thsi code is currently in CXF JAX-RS) with the eventual 
possibility to subscribe or register callback URIs from CXF /services page
- CXF JAX-RS based endpoint for showing JMX-based data over HTTP for all CXF endpoints and providing more advanced management 
capabilities over time

I hope this component will eventually turn CXF itself into a well-featured Web application on its own. We'll need to complete some 
intial support for the Atom pull logging stuff (nearly there) and then I will do the move.

It looks like what you've done may be eventually added to this new CXF module. Others may have a different opinion though...


cheers, Sergey

>
> I've attached the source code, some screenshots, and the ddl script to
> create the database. Maven should generate a war deployable in tomcat,
> mvn eclipse:eclipse will generate the eclipse projects. The datasource
> must be named jdbc/cxf/console.
>
> Has this any chance to be included in cxf or should I create a separate
> project on google code/sourceforge ?
>
> Regards,
> Rémi.
>