I have developed for my own needs a simple Service Framework that I reused
over and over on all my projects. It is completely generic and does not
depend on any technology (EJB, Servlets, ...). There is a Service manager
that handles :
- services initializations with handling of dependencies and version
checking,
- service shutdown
- retrieval of service by name
- possibility to define in a fine grain fashion which services to use for a
given application
There also some interfaces like a Service interface for implementing a
service and a Reconfigurable interface that services that can be
reconfigured at runtime should implement. This is what I call the core.

Then I have some standard services :
- logging (a wrapper around Log4j),
- configuration : it is a service that reads properties file with the
advantage of being able to read properties files located in other jars and
it is reconfigurable
- XML mapping (a wrapper around Castor XML),
- JNDI Wrapper (a simple wrapper around standard JNDI calls)
- JDBC Wrapper (a simple wrapper around standard JDBC calls - quite useful
for example for not forgetting to close a JDBC connection, ...)

I also have a few more "exotic" services :
- Tibco wrapper : for sending a TIBCO message
- ...

So it is not really a component. It looks a bit like Avalon I think but I am
not sure. What I like is that it is really generic and not tied to any
context (Servlet, ...). If you look at Turbine for example, it provides some
of these services but it is tied to the Servlet context. For Avalon, I am
not sure.

Q1 - Is there any framework that already does this in the jakarta land ?
Q2 - Is there any need for this kind of lightweight framework ? What I liked
is that when you use a raw framework like Log4j or another, you actually
have quite a lot of ways to use it : several ways to do intialization
several ways to define what a category is, ... So there is a cost associated
with using a "raw" framework. This service framework lowersa bit this cost
and provides a consistency in using services.

Thanks.
Vincent Massol.

FYI, some of my workmates are actually porting this framework to opensource
on SourceForge. The name is Babel and URL is :
http://sourceforge.net/projects/babel (there isn't much currently but the
port will be finished within a month).

Reply via email to