[8.5.5.4 ou ultérieure]

Création d'applications Liberty qui utilisent CouchDB

Des applications qui utilisent CouchDB peuvent s'exécuter dans le profil Liberty. Pour accéder à une couche CouchDB, les applications utilisent l'API Java™ ektorp et une instance de connexion qui est configurée pour la base de données NoSQL.

Avant de commencer

Le profil Liberty prend en charge la configuration pour CouchDB. CouchDB est une base de données NoSQL en open source, hautes performances et évolutive.

Vous devez utiliser la version 1.4.1 ou une version suivante du pilote Java ektorp. Utilisez le plug-in Maven pour obtenir le pilote ektorp et ses dépendances.

<dependency>
    <groupId>org.ektorp</groupId>
    <artifactId>org.ektorp</artifactId>
    <version>1.4.1</version>
</dependency>

Pourquoi et quand exécuter cette tâche

Pour permettre à une application d'utiliser CouchDB, vous devez configurer une bibliothèque partagée pour le pilote Java CouchDB et une référence de bibliothèque à la bibliothèque partagée dans le fichier server.xml du profil Liberty. Une application peut accéder à CouchDB soit directement depuis l'application, ou via la fonction couchdb-1.0 et des configurations d'instance CouchDB dans le fichier server.xml.

Procédure

  1. Installez le pilote Java CouchDB dans un emplacement auquel votre application et votre environnement d'exécution Liberty ont accès.

    Par exemple, placez le fichier de pilote ektorp et ses dépendances dans le répertoire Liberty_profile_root/usr/servers/server_name/lib.

  2. Configurez une bibliothèque partagée pour le fichier de pilote ektorp dans le fichier server.xml du serveur de profil Liberty.
    <library id="couchdb-lib">
        <fileset          
        dir='${server.config.dir}/lib'          
        includes='org.ektorp-1.4.1.jar        
        commons-codec-1.6.jar        
        commons-io-2.0.1.jar        
        commons-logging-1.1.1.jar        
        httpclient-4.2.5.jar        
        httpclient-cache-4.2.5.jar        
        httpcore-4.2.4.jar        
        jackson-annotations-2.2.2.jar        
        jackson-core-2.2.2.jar        
        jackson-databind-2.2.2.jar        
        slf4j-api-1.6.4.jar        
        slf4j-simple-1.6.4.jar'/>    
    </library>
  3. Autorisez votre application à accéder à CouchDB directement ou via la fonction couchdb-1.0.
    • Activez l'accès direct à CouchDB depuis l'application.
      1. Configurez une référence de bibliothèque pour la bibliothèque partagée dans un élément d'application du fichier server.xml.
        <application ...>
           <classloader commonLibraryRef="couchdb-lib"/>
        </application>
        Désormais, l'application peut accéder aux API CouchDB directement. Si vous voulez que l'application utilise le moteur d'injection de l'environnement d'exécution, effectuez les étapes ci-après.
    • Configurez la fonction couchdb-1.0, ainsi que les éléments couchdb dans le fichier server.xml.
      1. Ajoutez la fonction couchdb-1.0 au fichier server.xml.
        <featureManager>
           <feature>couchdb-1.0</feature>
           <feature>jndi-1.0</feature>
        </featureManager>
        La fonction JNDI n'est requise que si vous utilisez JNDI afin de consulter des ressources. Cette fonction n'est pas nécessaire si vous utilisez l'injection de ressource.
      2. Configurez un élément couchdb qui référence la bibliothèque partagée créée précédemment.
        <couchdb id="couchdb" jndiName="couchdb/connector"
              libraryRef="couchdb-lib" url="http://example.com:5984" username="username"
              password="password"/>

        La configuration d'un nom JNDI permet à une application ou à l'environnement d'exécution Liberty de rechercher une instance MongoDB.

      3. Activez votre application en vue de l'accès à CouchDB.

        L'exemple suivant illustre une recherche JNDI et une injection de ressource :

        public class TestServlet extends HttpServlet {
              @Resource(name = "couchdb/connector")
              protected CouchDbInstance db;
              ...
           protected void doGet(HttpServletRequest request,
                 HttpServletResponse response) throws ServletException, IOException {
           // Alternativement, utilisez la recherche InitialContext
              CouchDbInstance lookup = (CouchDbInstance) new 
        InitialContext().lookup("java:comp/env/couchdb/connector");
        ...
      4. Si vous utilisez la recherche JNDI, ajoutez une référence d'environnement de ressource au fichier web.xml de votre application :
        <resource-env-ref>
           <resource-env-ref-name>couchdb/connector</resource-env-ref-name>
           <resource-env-ref-type>org.ektorp.CouchDbInstance</resource-env-ref-type>
        </resource-env-ref>
      Vous pouvez utiliser la fonction couchdb-1.0 pour configurer une connexion à un service Cloudant en ligne. Indiquez l'URL, l'ID utilisateur et le mot de passe de votre compte Cloudant existant dans l'élément de configuration couchdb. Exemple :
      <couchdb id='couchdb' jndiName='couchdb/connector' libraryRef='couchdb-lib' url='https://mylink.cloudant.com/' username='myusername' password='mypassword'/> 
      Pour en savoir plus sur la sécurisation des mots de passe dans les fichiers de configuration, voir Limites de la protection via le chiffrement de mot de passe.

Que faire ensuite

A présent que vous avez configuré votre application pour permettre l'utilisation de CouchDB, vous êtes prêt à tester l'utilisation de CouchDB depuis votre application.


Icône indiquant le type de rubrique Rubrique Tâche

Dispositions pour les centres de documentation | Commentaires


Icône d'horodatage Dernière mise à jour: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_couchdb_create
Nom du fichier : twlp_couchdb_create.html