Présentation d'OpenDS

OpenDS est le serveur LDAP open source de Sun.

Du point de vu d'InterLDAP, la principale différence entre OpenDs et le leader du marcher des serveurs LDAP open source, OpenLDAP, est que le premier est écrit complètement en Java (je concède que c'est une vision très réductrice des choses, mais c'est le point qui nous intéresse ici). Ceci permet d'embarquer OpenDS dans une application Java et de s'en servir lors de tests automatisés ou comme serveur de démonstration très facilement.

Note sur la version utilisée

Au moment des développement de InterLDAP-LAAP et InterLDAP-WUI, OpenDS n'était pas encore sorti en version 1.0 final. Nous utiliseront donc la version OpenDS-1.0-b005 dans la suite du document. La sortie de la version 1.0 est imminente et devrait être très largement compatible avec la 1.0-b005.

Téléchargement d'OpenDS

Téléchargez OpenDS-1.0-b005 sur le site du projet, dans le section weekly build.

Dézippé l'archive et placez vous dans le répertoire "lib":

% unzip OpenDS-1.0.0-build005.zip
% cd OpenDS-1.0.0-build005/lib

Ajout des bibliothèques dans le dépôt Maven 2

Il y a trois Jars nécessaire au fonctionnement d'OpenDS qui ne sont pas disponibles dans les dépôts standards Maven 2 :

  • le Jar d'OpenDS lui-même, OpenDS.jar
  • le Jar de l'utilitaire QuickSetup, quicksetup.jar
  • le Jar de la base de données Berkeley DB Java Edition utilisée en tant que back-end, je.jar

Ajout d'OpenDS

Executer la commande :

% mvn install:install-file -DgroupId=org.opends -DartifactId=opends -DgeneratePom=true -Dversion=1.0.0-b005 -Dpackaging=jar -Dfile=OpenDS.jar

Le Jar d'OpenDS doit se trouver au chemin "~/.m2/repository/org/opends/opends/1.0.0-b005/opends-1.0.0-b005.jar" (en considérant que "~/.m2/repository" est le répertoire de base de votre dépôt local Maven 2.

Ajout de Quicksetup

On procède de même pour QuickSetup :

% mvn install:install-file -DgroupId=org.opends -DartifactId=quicksetup -DgeneratePom=true -Dversion=1.0.0-b005 -Dpackaging=jar -Dfile=quicksetup.jar

Ajout de Berkeley BD JE

Enfin, on exécute la même commande pour Berkeley DB JE (la version est tirée des release notes)

%  mvn install:install-file -DgroupId=berkeleydb -DartifactId=je -DgeneratePom=true -Dversion=3.2.44 -Dpackaging=jar -Dfile=je.jar

Dépendance dans le POM pour OpenDS

Comme les différents Jar ont été ajoutés à la main, Maven 2 ne connaît pas les dépendances utilisées par OpenDS. Il faut donc les mettre explicitement dans le fichier POM de votre projet utilisant OpenDS:

<!--  open ds -->
<dependency>
  <groupId>org.opends</groupId>
  <artifactId>opends</artifactId>
  <version>1.0.0-b005</version>
</dependency>
<dependency>
  <groupId>org.opends</groupId>
  <artifactId>quicksetup</artifactId>
  <version>1.0.0-b005</version>
  <scope>runtime</scope>
</dependency>
<!-- Berkeley DB Java Edition fir Open DS -->
<dependency>
  <groupId>berkeleydb</groupId>
  <artifactId>je</artifactId>
  <version>3.2.44</version>
  <scope>runtime</scope>
</dependency>
<!--  aspectJ-->
<dependency>
  <groupId>aspectj</groupId>
  <artifactId>aspectjrt</artifactId>
  <version>1.5.3</version>
  <scope>runtime</scope>
</dependency>
<!-- Activation & mail are used if you want OpenDS to be able to send emails--> 
<dependency>
  <groupId>javax.activation</groupId>
  <artifactId>activation</artifactId>
  <version>1.1</version>
  <scope>runtime</scope>
</dependency>
<dependency>
  <groupId>javax.mail</groupId>
  <artifactId>mail</artifactId>
  <version>1.4</version>
  <scope>runtime</scope>
</dependency>