[8.5.5.4 o posterior]

Creación de aplicaciones de Liberty que utilizan CouchDB

Las aplicaciones que utilizan CouchDB pueden ejecutarse en el perfil Liberty. Para acceder a una instancia de CouchDB, las aplicaciones utilizan la API Java™ de ektorp y una instancia de conexión que se ha configurado para la base de datos NoSQL.

Antes de empezar

El perfil Liberty proporciona soporte de configuración para CouchDB. CouchDB es una base de datos NoSQL escalable, de código abierto y alto rendimiento.

Debe utilizar la versión 1.4.1 o posterior del controlador Java de ektorp. Utilice el plug-in Maven para obtener el controlador de ektorp y sus dependencias.

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

Acerca de esta tarea

Para que una aplicación pueda utilizar CouchDB, debe configurar una biblioteca compartida para el controlador Java de CouchDB y una referencia de biblioteca a la biblioteca compartida en el archivo server.xml del perfil Liberty. Una aplicación puede acceder a CouchDB directamente desde la aplicación o a través de la característica couchdb-1.0 y las configuraciones de instancia de CouchDB en el archivo server.xml.

Procedimiento

  1. Instale el controlador Java de CouchDB en una ubicación a la que puedan acceder la aplicación y el tiempo de ejecución de Liberty.

    Por ejemplo, coloque el archivo de controlador de ektorp y sus dependencias en el directorio Liberty_profile_root/usr/servers/server_name/lib.

  2. Configurar una biblioteca compartida para los archivos de controlador de ektorp en el archivo server.xml del servidor de perfiles 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. Habilite la aplicación para acceder a CouchDB, ya sea mediante acceso directo desde la aplicación o utilizando la característica couchdb-1.0.
    • Habilitar el acceso directo a CouchDB desde la aplicación.
      1. Configure una referencia de biblioteca para la biblioteca compartida en un elemento de aplicación en el archivo server.xml.
        <application ...>
           <classloader commonLibraryRef="couchdb-lib"/>
        </application>
        La aplicación ahora puede acceder a las API de CouchDB directamente. Si desea que la aplicación utilice el motor de inyección de tiempo de ejecución, continúe con los pasos siguientes.
    • Configure la característica couchdb-1.0 y los elementos couchdb en el archivo server.xml.
      1. Añada la característica couchdb-1.0 al archivo server.xml.
        <featureManager>
           <feature>couchdb-1.0</feature>
           <feature>jndi-1.0</feature>
        </featureManager>
        La característica JNDI solo es necesaria cuando se utiliza JNDI para consultar recursos. Esta característica es necesaria si utiliza la inyección de recursos.
      2. Configure un elemento couchdb que tiene una referencia a la biblioteca compartida creada en un paso anterior.
        <couchdb id="couchdb" jndiName="couchdb/connector"
              libraryRef="couchdb-lib" url="http://example.com:5984" username="username"
              password="password"/>

        La configuración de un nombre JNDI permite a una aplicación o al tiempo de ejecución de Liberty buscar la instancia de CouchDB.

      3. Habilite la aplicación para acceder a CouchDB.

        El ejemplo siguiente muestra la búsqueda JNDI y la inyección de recursos:

        public class TestServlet extends HttpServlet {
              @Resource(name = "couchdb/connector")
              protected CouchDbInstance db;
              ...
           protected void doGet(HttpServletRequest request,
                 HttpServletResponse response) throws ServletException, IOException {
           // O bien utilice la búsqueda InitialContext
              CouchDbInstance lookup = (CouchDbInstance) new 
        InitialContext().lookup("java:comp/env/couchdb/connector");
        ...
      4. Si utiliza la búsqueda JNDI, añada una referencia de entorno de recursos al archivo web.xml de la aplicación:
        <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>
      Puede utilizar la característica couchdb-1.0 para configurar una conexión con un servicio Cloudant en línea. Especifique el URL, el ID de usuario y la contraseña de la cuenta Cloudant existente en el elemento de configuración couchdb. Por ejemplo:
      <couchdb id='couchdb' jndiName='couchdb/connector' libraryRef='couchdb-lib' url='https://mylink.cloudant.com/' username='myusername' password='mypassword'/> 
      Consulte la documentación de Los límites de la protección a través del cifrado de contraseñas para obtener más información sobre cómo proteger las contraseñas en los archivos de configuración.

Qué hacer a continuación

Ahora que ha configurado la aplicación para habilitar el uso de CouchDB, ya está preparado para probar el uso de CouchDB en su aplicación.


Icono que indica el tipo de tema Tema de tarea

Términos y condiciones para centros de información | Comentarios


Icono de indicación de fecha y hora Última actualización: 15 de junio de 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_couchdb_create
Nombre de archivo:twlp_couchdb_create.html