< Anterior | Siguiente >

Lección 3: Configuración de la conexión de base de datos

En esta lección conectará el proyecto a la base de datos importada en la lección anterior.
Puesto que el objetivo de esta guía de aprendizaje no es enseñarle a conectarse a una base de datos, en esta lección no se explican los detalles del proceso. Resumiendo, configurará una conexión de base de datos que permita a la aplicación EGL conectarse a la base de datos tanto cuando diseñe la aplicación (conexión en tiempo de diseño) como cuando ejecute la aplicación en el servidor (conexión en tiempo de ejecución).

Tal como se explica en una lección anterior, WebSphere Application Server utiliza la información de conexión de base de datos del proyecto EAR. Tomcat utiliza la conexión de base de datos del proyecto web. Así pues, los pasos de conexión de base de datos difieren para cada servidor.

Crear la conexión

Sea cual sea el servidor que se proponga utilizar, debe crear una conexión en tiempo de diseño con la base de datos. Si utiliza WebSphere Application Server, EGL también crea automáticamente una conexión en tiempo de ejecución coincidente. Si utiliza Tomcat, encontrará pasos adicionales más adelante en esta lección que le orientarán en el proceso de asociar esta conexión a Tomcat. En la próxima lección, también utilizará esta conexión en tiempo de diseño para crear código EGL iniciador.

  1. En la vista Explorador de empresa, pulse el proyecto EGLWeb con el botón derecho del ratón y seleccione Propiedades.
  2. En la ventana Propiedades, pulse Origen de datos de tiempo de ejecución EGL.
  3. En la página Origen de datos de entorno de ejecución EGL, seleccione Cargar valores de una conexión de herramientas de datos y pulse Nuevo. Se abre la ventana Conexión nueva.
  4. En la ventana Perfil de conexión, bajo Tipos de perfil de conexión, pulse Derby.
  5. Para Nombre, teclee el nombre siguiente:
    EGLDerbyDB
  6. Puede dejar la descripción en blanco. Pulse Siguiente.
  7. En la lista Controladores, deje el valor predeterminado BIRT SampleDb Derby Embedded Driver.
  8. En el campo Ubicación de base de datos de la ventana Propiedades, pulse Examinar y desplácese a la carpeta siguiente:

    ubicación_espacio-trabajo/EGLWeb/WebContent/EGLDerbyDB

    workspace-location es la vía de acceso completa al espacio de trabajo actual. Pulse Aceptar.

  9. Borre el campo Nombre de usuario y deje el campo Contraseña en blanco. No necesita un nombre de usuario ni una contraseña para esta base de datos.
  10. Acepte el valor predeterminado de URL. Puede quitar la marca del recuadro de selección correspondiente a Crear base de datos (si es necesario), dado que la base de datos ya existe. Asegúrese de que la opción Conectar cuando el asistente finaliza esté seleccionada.
  11. Pulse Probar conexión. Si toda la información es correcta, la ventana Conexión será como la del ejemplo siguiente, con la información y la ubicación de su propio espacio de trabajo en el campo Ubicación de base de datos:
    La ventana Especifique un controlador y detalles de conexión muestra una conexión satisfactoria
  12. Pulse Aceptar para cerrar la ventana Probar conexión.
  13. Pulse Finalizar. Se crea la nueva conexión, y la información necesaria para la conexión aparece en los campos que se muestran a continuación:
    Origen de datos de tiempo de ejecución nuevo en la página Propiedades

    Tenga en cuenta que EGL ha dado a esta conexión un nombre JNDI, que es un identificador de la conexión. Por omisión, el nombre JNDI es jdbc/EGLDerbyDB, en función del nombre de la base de datos. La aplicación empleará este nombre para acceder a la conexión de base de datos en tiempo de ejecución.

  14. Pulse Aceptar.
  15. Aparecerá una ventana en la que se le pregunte si desea actualizar la información en las opciones de construcción predeterminadas para este proyecto. Si ve esta ventana, pulse .
  16. En la vista Explorador de proyectos, expanda el proyecto EGLWeb y la carpeta EGLSource. Abra el archivo de construcción para el proyecto efectuando una doble pulsación sobre el archivo EGLWeb.eglbld en la vista Explorador de proyectos. El archivo de construcción se abre en el editor de componentes de construcción.
  17. Mire a ver si la ventana Origen de datos de tiempo de ejecución EGL ha establecido las opciones del descriptor de construcción basándose en la información de conexión. Las opciones del descriptor de construcción deben tener este aspectoWebSphere Application Server:
    Imagen de las opciones del descriptor de construcción con los valores correctos para la conexión de base de datos
    Para que la conexión de base de datos funcione, hay que establecer las siguientes opciones:
    dbms
    Esta opción del descriptor de construcción indica el tipo de base de datos, que en este caso es DERBY.
    sqlDB
    Esta opción del descriptor de construcción indica el URL de la conexión o una serie que el servidor emplea para localizar la base de datos. El formato del URL de la conexión varía según el tipo de base de datos, pero, en el caso de Derby, el formato es el protocolo de la conexión (en este caso, JDBC), un separador de dos puntos, el tipo de base de datos (Derby), otro separador de dos puntos, la vía de acceso a la base de datos en disco, y los posibles parámetros de la conexión. En este caso, el URL de la conexión se parece al del siguiente ejemplo, teniendo en cuenta que donde pone D:\MyData\workspace_jsf_tutorial, deberá escribir la vía de acceso a su base de datos:
    jdbc:derby:D:\MyData\workspace_jsf_tutorial\EGLWeb\WebContent\EGLDerbyDB
    sqlValidationConnectionURL
    Esta opción del descriptor de construcción establece un URL de conexión que se debe usar para validar la conexión con la base de datos. En este caso, igual que en la mayoría de ellos, esta opción coincide con sqlDB.
    sqlJDBCDriverClass
    Esta opción del descriptor de construcción establece el nombre del controlador de base de datos, que es el programa que sirve para acceder a la base de datos. En la ventana Conexión nueva, este nombre se recupera del archivo derby.jar: org.apache.derby.jdbc.EmbeddedDriver.
    sqlJNDIName
    Nombre JNDI que representa la conexión en tiempo de ejecución.
  18. Si las opciones del descriptor de construcción se han establecido tomando como base la información cumplimentada en la ventana Conexión nueva, cierre el descriptor de construcción sin hacer cambios. Si las opciones del descriptor de construcción no se han establecido, establézcalas siguiendo estos pasos:
    1. En la lista Cargar opciones de BD utilizando la conexión, seleccione su conexión EGLDerbyDB. Algunas de las opciones están establecidas, salvo la opción sqlJNDIName.
    2. Establezca que la opción sqlJNDIName sea igual al siguiente nombre JNDI, tal como está escrito:
      jdbc/EGLDerbyDB
      Nota: Para abrir la opción sqlJNDIName con el fin de editarla, pulse dos veces despacio en la columna Valor situada junto a la opción. También puede pulsar tres veces rápidamente en la columna Valor.
      Ahora, las opciones del descriptor de construcción coinciden con las descritas más arriba.
    3. Guarde y cierre el descriptor de construcción.
    4. Si lo desea, puede establecer que la ventana Conexión de base de datos de tiempo de ejecución EGL haga estos cambios en el futuro, habilitando para ello la preferencia asociada. Pulse Ventana > Preferencias y luego pulse EGL > Descriptor de construcción predeterminado. Bajo Actualizar opciones de descriptor de construcción predeterminadas para proyecto cuando se modifica el origen de datos en tiempo de ejecución, seleccione Siempre para que las opciones del descriptor de construcción se actualicen automáticamente, o seleccione Solicitud para darle la opción de decidir. Las preferencias entrarán en vigor la próxima vez que utilice la ventana Conexión de base de datos de tiempo de ejecución EGL.

Punto de comprobación de lección

En esta lección, ha configurado una conexión de base de datos para el proyecto.
Cuando utilizó la página Origen de datos de tiempo de ejecución EGL, en la ventana Propiedades del proyecto, primero creó una conexión en tiempo de diseño con la base de datos utilizando las herramientas de datos del entorno de trabajo. Después, si utilizaba WebSphere Application Server, EGL empleó la información de la conexión en tiempo de diseño para crear la conexión coincidente que debía utilizarse en tiempo de ejecución. En este caso, los cambios que EGL hizo en sus proyectos fueron:
  • EGL estableció los valores de algunas opciones del descriptor de construcción, como ya se ha explicado en la lección.
  • EGL creó un nombre JNDI para usarlo como nombre de la conexión. Por omisión, el nombre JNDI creado para el proyecto es jdbc/EGLDerbyDB, en función del nombre de la base de datos.
  • Para las versiones de WebSphere Application Server anteriores a la Versión 7, EGL ha añadido un origen de datos al descriptor de despliegue del proyecto EAR. Este origen de datos asocia el nombre JNDI a la propia base de datos. En la Versión 7, ya no es necesario definir el origen de datos en el EAR.
  • EGL ha añadido una referencia de recurso al nombre JNDI en el descriptor de despliegue Web del proyecto EGLWeb, WebContent\WEB-INF\web.xml. Ahora, el proyecto EGLWeb puede utilizar el origen de datos definido en el proyecto EAR, utilizando el nombre JNDI. El aspecto del editor varía mucho en función de la versión del servidor de aplicaciones que utilice. El ejemplo siguiente muestra el editor para WebSphere Application Server Versión 7.
    Descriptor de despliegue web que muestra la referencia de recurso

Si está utilizando Tomcat, su proyecto no tiene un proyecto EAR, así que EGL añadió un archivo de contextos al proyecto web que proporciona información para la conexión. El archivo de contextos realiza básicamente la misma tarea que la información existente en los descriptores de despliegue: asocia el nombre JNDI a la ubicación de la base de datos, así como otros datos que el servidor necesita para conectarse a ella. La conexión solo es válida para este proyecto.

Nota: De este punto en adelante, la mayoría de los pasos son iguales, independientemente de qué servidor esté utilizando.
< Anterior | Siguiente >

Comentarios