Antes de empezar este ejercicio, debe completar el .

La aplicación visualiza una lista de todos los registros de empleados actuales del directorio. Los registros se visualizan en un componente JTable (employeesTable) con columnas ordenables, que incluyen el apellido, el nombre, el correo electrónico y el ID de empleado. Para obtener los registros de la tabla, debe enlazar la employeesTable con un objeto de datos devuelto por el origen de datos del servicio Web de ejemplo.

En este ejercicio, debe realizar los dos pasos siguientes:

  1. Generar un proxy Java de servicio Web en el proyecto utilizando el archivo WSDL proporcionado
  2. Enlazar la tabla de empleados con un objeto de datos de fila devuelto por el servicio Web

Visión general de objetos de datos, orígenes de datos y enlazadores

Para obtener un objeto de datos local con el que pueda funcionar employeesTable, deberá utilizar el editor visual par añadir un origen de datos a la aplicación. El origen de datos se conecta al proxy de servicio Web de ejemplo y descubre los métodos de servicio disponibles para su aplicación. A continuación elegirá el método de servicio getLightEmployeeRecord que el origen de datos ha dejado disponible. Finalmente, enlazará la employeesTable de la aplicación con los campos devueltos en el objeto de datos de fila (lightEmployeeRecordRows).

Puede crear todos estos orígenes de datos y objetos de datos rápida y fácilmente utilizando las clases de enlazador incorporadas del editor visual Java. El editor visual proporciona un conjunto de interfaces y clases genéricas que se generan en el proyecto al enlazar componentes visuales con fábricas de datos. Las clases de enlazador se generan por omisión en un paquete llamado jve.generated. El editor visual proporciona las clases de enlazador como implementación genérica que puede personalizar y mejorar para ajustarla a las necesidades de la aplicación. Esta guía de aprendizaje muestra el poder y la flexibilidad de una utilización simple y básica de las clases de enlazador predeterminadas.

Importante: antes de empezar este ejercicio, es muy recomendable leer los temas de ayuda que se indican a continuación. Estos temas pueden ayudarle a aprender más acerca de la funcionalidad y la lógica que hay tras los objetos de datos, los orígenes de datos y los enlazadores proporcionados por el editor visual Java:

En esta guía de aprendizaje utilizará un origen de datos de servicio Web, varios tipos de objetos de datos y varios tipos de enlazadores en la aplicación. Cuando se añaden instancias de estos objetos a la aplicación, el editor visual añade las clases necesarias al paquete jve.generated del proyecto, en el que puede ampliar, sustituir o reescribir la lógica de enlace de datos. El editor visual Java suministra soporte visual para los objetos de enlace mostrando en el área de diseño de la vista de diseño los objetos de datos, los orígenes de datos y los enlazadores utilizados por la aplicación. El editor visual traza líneas entre los componentes visuales y los objetos de datos y los orígenes de datos para mostrar los enlaces actuales para cualquier objeto seleccionado.

El diagrama siguiente es una visión general simple de cómo interactúan los componentes visuales, enlazadores, objetos de datos y orígenes de datos. La aplicación que se construye en esta guía de aprendizaje ilustra una utilización ligeramente más compleja y creativa de los enlazadores. Este diagrama no representa exactamente los enlazadores, objetos de datos y orígenes de datos de la aplicación de ejemplo que está construyendo.

Figura 1. Este diagrama ilustra una relación de ejemplo entre componentes visuales, enlazadores, objetos de datos y orígenes de datos.
Este diagrama ilustra la relación entre componentes visuales, enlazadores, objetos de datos y orígenes de datos

En la figura 1, cada componente visual tiene su propio enlazador que lo asocia con un objeto de datos o, en el caso del botón, con un origen de datos. Los enlazadores de los campos e texto enlazan el campo con una propiedad determinada del objeto de datos. Tanto el objeto de datos de fila como el objeto de datos de este diagrama obtienen los datos de llamadas directas a un servicio del origen de datos. El Objeto de datos para los campos de texto utiliza un valor clave de la fila seleccionada en la tabla como su argumento para llamar a Service2, que devuelve un registro completo que presumiblemente incluye más información acerca de la fila seleccionada en la tabla. Este registro completo, a su vez, se utiliza como el argumento para el enlazador de acción del botón cuando llama a Service3, que puede ser un método que actualiza los valores entrados en los campos. Para obtener una explicación más detallada de los objetos de datos, enlazadores de datos y orígenes de datos, siga los enlaces proporcionados anteriormente.

Generar un proxy Java de servicio Web en el proyecto utilizando el archivo WSDL proporcionado

Para trabajar con el servicio Web que se está ejecutando en un servidor, la aplicación Java necesita un proxy Java o un cliente para interactuar con él. Utilizando un archivo WSDL, puede generar un proxy Java en el proyecto Java utilizando el asistente Cliente de servicio Web. El proyecto MyDirectory incluye el archivo EmployeeDirectory.wsdl que utilizará para generar este proxy. Después de generar el proxy Java, puede crear un origen de datos que representa el servicio Web y empiece a enlazar componentes visuales.

Importante: El archivo WSDL que se utiliza en este ejercicio presupone que ha desplegado el servicio Web en una instalación local de WebSphere Application Server y ha utilizado el puerto por omisión para localhost (http://localhost:9080). Si desplegó el archivo EAR de forma distinta, debe editar el archivo WSDL en consecuencia antes de continuar.

Para generar un proxy Java de servicio Web en el proyecto:

  1. En el menú principal, pulse Archivo > Nuevo > Otros y seleccione el asistente Servicios Web > Cliente de servicio Web. Si no aparece la categoría Servicios Web, seleccione Mostrar todos los asistentes.
  2. En el asistente Cliente de servicio Web, en el campo Tipo de proxy de cliente, seleccione Proxy Java y pulse Siguiente.
  3. En la página Selección de servicio Web, pulse Examinar para ubicar el archivo WSDL.
  4. En el navegador de recursos, expanda el proyecto MyDirectory y seleccione EmployeeDirectory.wsdl. Pulse Aceptar y a continuación pulse Siguiente en el asistente Cliente de servicios Web.

    Asistente Cliente de servicios Web

  5. En la página Configuración de entorno de cliente del asistente, pulse Editar para modificar la configuración del lado del cliente para asegurarse de que se añaden las vías de acceso o los archivos JAR de tiempo de ejecución al proyecto Java. Seleccione los valores siguientes y pulse Aceptar:
  6. En la página Configuración del entorno de cliente del asistente, en el campo Tipo de cliente seleccione Java.
  7. En el campo Proyecto de cliente, seleccione MyDirectory. Este es el proyecto Java en el que el asistente Cliente de servicio Web colocará la salida del proxy Java del servicio Web.

    Asistente Cliente de servicio Web

  8. Pulse Siguiente.
  9. Pulse Finalizar. El asistente Cliente de servicio Web genera el proxy Java y lo añade a un paquete nuevo (directory.service) del proyecto.

Enlazar la employeesTable de empleados con un objeto de datos de fila devuelto por el servicio Web

Mostrar

Puesto que employeesTable es el primer componente visual que está enlazando en esta aplicación, debe crear un origen de datos que señale al proxy de servicio Web de ejemplo que acaba de añadir al proyecto. Al enlazar otros componentes visuales en ejercicios posteriores, reutilizará este origen de datos. En este paso, se añade el origen de datos de servicio Web y el objeto de datos lightEmployeeRecordRows.

Para enlazar la tabla de empleados:

  1. En la vista Beans Java o en la vista de diseño, seleccione employeesTable. (Asegúrese de no seleccionar su JScrollPane padre). Una pequeña pestaña denominada Enlazar se mostrará en la parte superior de la employeesTable en el área de diseño.

    Pestaña Enlazar de JTable en el lienzo gráfico

  2. Pulse la pestaña Enlazar de la employeesTable. Como alternativa, puede pulsar la employeesTable con el botón derecho del ratón y seleccionar Propiedades de enlace.
  3. Puesto que no hay objetos de datos en la aplicación, debe añadir uno nuevo. Pulse Objeto de datos de origen de datos nuevo.
  4. En el campo Tipo de origen, seleccione Servicio Web.
  5. Puesto que aún no ha añadido el origen de datos del servicio Web a la aplicación, debe hacerlo ahora. Junto al campo Origen de datos, pulse el botón ... para abrir el diálogo Añadir origen de datos de servicio Web que busca los clientes de servicio Web, o proxys, disponibles en el proyecto.
  6. Seleccione el servicio Web EmployeeDirectory y pulse Finalizar. Se añade un origen de datos nuevo al archivo DirectoryApp.java.

    Recuadro de diálogo Añadir origen de datos de servicio Web

  7. En el recuadro de diálogo Objeto de datos de origen de datos nuevo, seleccione getLightEmployeeRecords() en el campo Servicio origen y acepte el nombre por omisión para el objeto de datos nuevo: lightEmployeeRecordRows. No se necesitan parámetros para este método de servicio. Pulse Aceptar. El objeto de datos nuevo se crea y visualiza en el área de formato libre de la vista de diseño.

    Recuadro de diálogo Objeto de datos de origen de datos nuevo

    Sugerencia: puesto que está enlazando una tabla, el recuadro de diálogo Objeto de datos de origen de datos nuevo solo visualiza servicios que devuelven objetos de datos de fila. En este caso, el método getLightEmployeeRecords() es el único servicio disponible que devuelve una matriz de objetos.

  8. En el recuadro de diálogo Enlaces de datos de tabla, seleccione el objeto de datos lightEmployeeRecordRows.
  9. Ahora, es necesario seleccionar las propiedades del objeto de datos lightEmployeeRecordRows que desea visualizar en employeesTable:

    Recuadro de diálogo Enlaces de datos de tabla

    1. Pulse el botón Icono
de doble flecha, para añadir todas las propiedades como columnas de tabla para añadir todas las propiedades de objeto a la lista Columnas de tabla.
    2. Utilice las flechas arriba y abajo para organizar las columnas en el siguiente orden descendente: lastName, firstName, email, employeeID
    3. Redenomine los títulos de columna: Last name (Apellido), First name (Nombre), Email (Correo electrónico), Employee ID (ID de empleado)

      Sugerencia: cuando haya terminado de enlazar la tabla, siempre puede volver a las propiedades de enlace y redenominar y reordenar las columnas en cualquier momento.

    4. Pulse Aceptar.

    Ahora, employeesTable está enlazada al objeto de datos lightEmployeeRecordRows mediante un JRowTableBinder. Si pulsa el objeto de datos lightEmployeeRecordRows en el área de formato libre, el editor visual traza una línea desde el objeto de datos a la tabla. En la línea, JRowTableBinder está representado por el icono del enlazador de tabla Icono de enlazador de tabla. Otra línea indica que el objeto de datos utiliza webServiceDataSource como el origen de datos.

    Vista de líneas de enlazador para JTable

Examine los cambios en el proyecto y la aplicación. Durante este ejercicio ha añadido el origen de datos del servicio Web, un objeto de datos de fila y un enlazador que enlaza employeesTable con el objeto de datos de fila. Examine el paquete nuevo (jve.generated) que se ha creado en el proyecto para albergar todas las clases de enlazador generadas por el editor visual Java. Fíjese también en el paquete nuevo (directory.service) que alberga el proxy Java para el servicio Web.

Paquetes en el proyecto MyDirectory

Ahora, cuando ejecute la aplicación , el servicio Web poblará la tabla de empleados con los registros de empleado existentes.

Ahora está preparado para pasar al próximo ejercicio: .

Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.