Just come across a newish Jakarta project which looks very interesting. Called HiveMind it is a java services and configuration microkernel. From the introduction:
[Curiouser and curiouser!]HiveMind allows you to create your application using a service oriented architecture. In HiveMind, you architect your application in terms of POJOs (Plain Old Java Objects) and interfaces, and let the HiveMind framework do the busy work of instantiating your services and connecting them together.
In HiveMind, a service is an implementation of a Java interface. Unlike other SOAs (Service Oriented Architectures, such as a SOAP, or EJBs), HiveMind is explicitly about combining Java code within a single JVM. HiveMind uses an XML descriptor to describe different services, their lifecycles, and how they are combined. HiveMind takes care of thread-safe, just-in-time creation of singleton service objects so your code doesn't have to.
HiveMind provides powerful tools for configuring services in a decentralized manner; configuration data can be spread across many HiveMind modules. HiveMind configurations allow for powerful, data-driven solutions which combine seemlessly with the service architecture.
HiveMind allows you to create more complex applications, yet keep the individual pieces (individual services) simple and testable. It offloads all the work of instantiating services, configuring them, and connecting them together. It lets you concentrate on best practices: coding to interfaces, not implementations, and designing your code to be easily unit tested.
