cn=Directory Manager
All about Directory Server
All | Personal | Sun

20070817 Friday August 17, 2007

Tips on using OpenDS in an embedded manner

Later today, I'm going to be talking to a group that is interested in using OpenDS with their application. One of the key things that interests them is the fact that it can be used as a fast, scalable, replicated data store that they can embed as part of their application. Unfortunately, there is not a lot of documentation available about how to do this, and until recently there weren't a lot of facilities in the code to help out with that either, which means that even though it was possible you had to get pretty familiar with the code in order to figure out how to use OpenDS in an embedded manner.

Fortunately, things are starting to change in this area. Some of the things that we've done recently around this include:
  • We've created an org.opends.server.util.EmbeddedUtils class that can be used to start, stop, and restart the server in an embedded environment, as well as to check whether it's currently running and also to initialize server data structures if you just want to use the libraries for some reason without actually running the server.

  • We've started to identify which classes are part of our public API. We have created an @PublicAPI annotation type, which shows up in the Javadoc documentation and is available via reflection. We hope to be able to use this to write tools that can examine third-party code to see if they're using any private or unstable interfaces.

  • We've added a few convenience methods in our internal operations API that can be used to help make it easier to invoke operations in the server using method calls rather than protocol-level communication.

The slides that I'm going to be using to discuss using OpenDS in an embedded manner are available in this PDF. It's just an overview of the facilities that we have in place and what's coming, and hopefully we'll have even more improvements in this area in the weeks to come.

Posted by cn_equals_directory_manager ( Aug 17 2007, 12:08:56 PM CDT ) Permalink Comments [1]


Archives
Language
Links
Referrers