By Marina Sum, staff writer, Sun Developer Network
Ludovic Poitou, community lead for OpenDS, Sun's open-source
project for a next-generation directory service; and Jim Yang,
project lead for Penrose,
a Java technology-based directory server, took the podium at
CommunityOne earlier today on the topic, “Getting Started on
OpenDS.” In clear, concise terms, Ludovic described the goals and
status of OpenDS, its efficient installation process, and
extensibility. The second part of the session, presented by Jim,
covered how Penrose took advantage of OpenDS in its development.
Introducing OpenDS
OpenDS was launched in 2006 for the
purpose of developing in the Java programming language an LDAP
version 3-based directory service. Currently, the community boasts 38
committers (all from Sun), of whom are 15 developers and nine QA engineers, all working full time on the project; the other committers
are part-time. In addition, there are 14 contributors and 220 users.
The goals are several fold:
- Robust services for accessing the data and consolidating data access.
- Ease of installation, use, and management.
- Embeddability, default implementations, and extensibility with service APIs.
- Superior scalability and high
performance in read-write operations
OpenDS 1.0 is in the works and will be
available soon. Not only does it comply with LDAP version 3 with
support of standard and implementation extensions, it's also
configurable and extensible, complete with comprehensive
documentation. Tools are in place for deployment, monitoring, and
interactions with the server, with unit tests also in open source.
Installing OpenDS
According to Ludovic, you can install
OpenDS in only three minutes. Just follow the pointer at opends.org and run through the steps in an
intuitive wizard to define the settings: server path, host name, port
number, configuration of secure access, directory data, and so forth.
When installation is complete, you can perform administration tasks,
such as starting or stopping the server, from either the command line
or in a GUI called the Status Panel.
Extending OpenDS
Ludovic encourages everyone to make the
best of OpenDS, for example--
- Extend the LDAP
schema by adding files to the schema
directory or add LDAP schema attribute types or object classes for
LDAP.
- Intercept LDAP operations and
processes through the DirectoryServerPlugin API, which performs two tasks:
- Provide entry points in LDAP operations, such as preparsing and preoperations.
- Define business constraints or LDAP extensions, a real-life example being Penrose.
Building Service Interfaces
for OpenDS
Examples of service interfaces abound: AccessControlHandler, ExtendedOperationHandler, AlertHandler, security interfaces. Not all
of them are public yet. Feel free to create interfaces of your own
or customize the existing ones.
Introducing Penrose
Penrose, an open-source virtual
directory service, does not manage its own data.
Rather, it's a collection of mappings through two main
infrastructures:
- A Java background, which ensures interoperability between Penrose and other LDAP providers.
- Metadata management, which
enables mapping between data models.
Penrose chose OpenDS as its default
provider for the latter's thorough testing and detailed
documentation. In an intuitive GUI, Penrose Studio, you can create
connections to the database, map data (for example, a MySQL entry to
an LDAP entry), manipulate data, and deploy to the server.
Conveniently, you can run Penrose in
two modes: as an independent server or with OpenDS as a stand-alone
server with Penrose as a plug-in. Many deployments also apply,
according you much flexibility with your setup.
Before checking out the code in detail,
have a look at the Penrose
Server Developer Guide.
A succinct, informative session! From
the audience came a question, “What are the applications on which
you test OpenDS?” Ludovic responded: “We test with our own
tools—LDAP certification tools, for example. But remember that the
community is testing for us, which is one of the many advantages of
open source. We count on our members for feedback and suggestions.”