< Anterior | Siguiente >

Lección 4: Configurar el proyecto como un cliente

Al igual que el proyecto de servicio, el proyecto de cliente utiliza un archivo descriptor de despliegue EGL. Sin embargo, en el proyecto de cliente, el descriptor de despliegue EGL albergará información acerca de dónde buscar servicios. Importará el archivo WSDL creado a partir del servicio y EGL añadirá información de enlace adecuada al descriptor de despliegue EGL de modo que el cliente pueda encontrar el servicio.

En el proceso, EGL crea un componente de interfaz para representar el servicio en el proyecto de cliente. Una vez el componente de interfaz está enlazado al servicio real, puede utilizar ese componente de interfaz como si fuera el mismo servicio.

Mostrar

Configurar el archivo descriptor de despliegue EGL

  1. Abra el archivo descriptor de despliegue EGL del proyecto de cliente, pulsando dos veces en EGLClient/EGLSource/EGLClient.egldd, en la vista Explorador de proyectos. Tenga en cuenta que el descriptor de despliegue EGL no tiene relación con la carpeta Descriptor de despliegue Java que también está en el proyecto EGLClient.
  2. En el editor de descriptores de despliegue, vaya a la pestaña Enlaces de servicio.
  3. En la pestaña Enlaces de servicio, pulse Añadir.
  4. En la ventana Añadir un enlace de servicio, pulse Enlace Web.
  5. Pulse Siguiente.
  6. Marque el recuadro de selección Elija el archivo wsdl del espacio de trabajo y cópielo en el proyecto actual.
  7. Pulse Examinar.
  8. Seleccione el archivo HelloService.wsdl, situado en el proyecto EGLService de la carpeta EGLSource\wsdl, y pulse Aceptar.
  9. En Opciones de interfaz, marque el botón de selección Generar interfaz EGL a partir del archivo WSDL. Con esta opción seleccionada, EGL creará los componentes necesarios para acceder automáticamente al servicio.
  10. Acepte los valores predeterminados para los otros campos de la página y pulse Siguiente. La página Interfaz EGL nueva muestra una lista de todos los servicios descritos en el archivo WSDL. EGL creará un componente de interfaz en el proyecto de cliente para cada servicio que seleccione en esta página. Por ahora, aquí solo aparece el servicio que ha creado en el proyecto de servicio.
  11. Asegúrese de que el recuadro de selección para el servicio HelloService esté seleccionado y después pulse Siguiente. La página siguiente permite establecer dónde se creará el componente de interfaz nuevo y qué nombre tendrá. También puede seleccionar qué funciones del servicio desea incluir en el componente de interfaz. De forma predeterminada se incluyen todas las funciones del componente de servicio.
  12. En el campo Carpeta fuente, asegúrese de especificar la carpeta fuente del proyecto cliente: EGLClient\EGLSource.
  13. En el campo Paquete, asegúrese de especificar el paquete servicios.
  14. Asegúrese de que el recuadro de selección situado junto a la función SayHello esté seleccionado en la lista Funciones. La ventana tiene el aspecto siguiente:
    Ventana Añadir un enlace de servicio
  15. Pulse Finalizar. Ahora ha creado un enlace de servicio. Con este enlace, la página web creada en este proyecto puede acceder al servicio. El enlace del archivo descriptor de despliegue tiene este aspecto:
    Archivo descriptor de despliegue del cliente
  16. Guarde y cierre el archivo descriptor de despliegue. Fíjese en que EGL ha creado un componente de interfaz en el paquete services del proyecto. El componente de interfaz tiene el aspecto siguiente:
    Componente de interfaz nuevo

    La interfaz es parecida a la creada en la aplicación de servicio pero esta tiene propiedades adicionales para hacer referencia al enlace del archivo descriptor de despliegue.

  17. Igual que hizo en el proyecto EGLService, asegúrese de que el descriptor de despliegue aparece en el archivo descriptor de construcción de cliente:
    1. Efectúe una doble pulsación sobre el descriptor de construcción del proyecto para abrirlo en el editor de componentes de construcción. Este archivo se llama EGLClient.eglbld y se encuentra en la carpeta EGLSource del proyecto.
    2. En la lista de opciones de descriptor de construcción, la opción denominada deploymentDescriptor debe establecerse en EGLClient.
    3. Pulse Aceptar y cierre el archivo.

Utilizar el servicio en la página web

  1. Abra el manejador JSF para la página web llamada ClientPage.egl.
  2. En el manejador JSF, cree una variable a partir del componente de interfaz. Lo más fácil es normalmente utilizar la asistencia de contenido para crear una variable de esta forma:
    1. En el archivo manejador de JSF, coloque el cursor en una línea en blanco inmediatamente después de las tres variables creadas en una sección anterior.
    2. En la línea en blanco, teclee el código siguiente como los primeros caracteres del componente de interfaz:
      he	
    3. Pulse CONTROL+Barra espaciadora. La asistencia de contenido completa la línea con el código siguiente:
      helloService HelloService {@bindService};
      La asistencia de contenido también añade una sentencia import al manejador JSF de modo que puede utilizar este componente sin especificar su ubicación completa. El resultado tiene el aspecto siguiente:
      La asistencia de contenido completa la línea
  3. En una línea en blanco en la función getHello(), invoque la función SayHello() en el servicio pasando las variables name y city y asignando la salida a la variable output:
    output = helloService.SayHello(name, city);
    Recuerde que puede utilizar la asistencia de contenido tecleando los primeros caracteres de una palabra clave o un componente y pulsando CONTROL+Barra espaciadora. El manejador JSF tiene el aspecto siguiente:
    El código en el manejador JSF
  4. Guarde y cierre el manejador JSF.
  5. Genere todo el proyecto cliente pulsándolo con el botón derecho en la vista Explorador de proyectos y después pulsando Generar.
  6. A continuación, a efectos de prueba, debe indicar al servidor de aplicaciones el servicio que intenta llamar. En la vista Servidores, pulse con el botón derecho sobre WebSphere Appplication Server v6.1 y pulse Añadir y eliminar proyectos.
  7. En la página Añadir y eliminar proyectos, verifique que tanto EGLClientEAR como EGLServiceEAR se listan como Proyectos configurados. Si EGLServiceEAR está en la columna Proyectos disponibles, púlsela para resaltarla y pulse Añadir y Finalizar. La ventana tiene el aspecto siguiente:
    La ventana Añadir y eliminar proyectos muestra EGLServiceEAR tal como está configurado en el servidor
    Ahora la página web está lista para utilizarse.
  8. En la vista Explorador de proyectos, pulse con el botón derecho del ratón la página web ClientPage.jsp en la carpeta WebContent, no el manejador JSF, y después pulse Ejecutar como > Ejecutar en servidor.
  9. En la ventana Definir un servidor nuevo, pulse el botón de selección Elegir un servidor existente y pulse WebSphere Application Server v6.1. Pulse Finalizar. El servidor publica la página y la visualiza en el navegador web interno. Si prefiere utilizar un navegador web externo, puede copiar el URL del navegador web y pegarlo en el campo URL del navegador web externo.
  10. Teclee un nombre y una ciudad en los campos name y city y pulse el botón de la página. El campo de salida de la página muestra una serie como por ejemplo "Bill, welcome to New York!", pero con el nombre y la ciudad que usted haya tecleado, como en esta imagen:
    Página finalizada
Esto puede parecer mucho trabajo para una tarea simple, pero estos proyectos muestran cómo EGL puede crear servicios, clientes o ambas cosas y cómo estas aplicaciones funcionan conjuntamente. Utilizando los servicios web y los clientes en la arquitectura orientada a servicios puede integrar muchas aplicaciones EGL y no EGL de forma flexible y modular.
< Anterior | Siguiente >