< Anterior | Siguiente >

Lección 1: Crear un proyecto web EGL para el servicio

Los proyectos EGL pueden actuar como servicios, como clientes o como ambas cosas simultáneamente. Para esta guía de aprendizaje creará dos proyectos: uno para que actúe como servicio y otro para que actúe como el cliente. Aunque podría poner todo el código en un único proyecto EGL, al utilizar dos proyectos se muestra cómo EGL puede llamar a servicios en otra aplicación.

Mostrar

  1. También puede utilizar un espacio de trabajo aparte mientras trabaja en la guía de aprendizaje para no interferir con ninguno de los demás proyectos. Si desea utilizar un espacio de trabajo distinto, siga estos pasos opcionales:
    1. En el entorno de trabajo, pulse Archivo > Conmutar espacio de trabajo. Se abre la ventana Lanzador de espacio de trabajo.
    2. Especifique una ubicación de espacio de trabajo nuevo en el campo Espacio de trabajo.
    3. Pulse Aceptar. El entorno de trabajo se vuelve a abrir utilizando la ubicación del espacio de trabajo nuevo. Puede conmutar entre las ubicaciones del espacio de trabajo en cualquier momento y puede tener tantas ubicaciones de espacio de trabajo como desee.
  2. Pase a la perspectiva web:
    1. Pulse Ventana > Abrir perspectiva > Otras.
    2. En la lista de perspectivas, pulse Web. Si no ve la perspectiva web, marque el recuadro de selección Mostrar todas.
    3. Pulse Aceptar.
  3. Asegúrese de que EGL está configurado para generar automáticamente descriptores de despliegue. Los descriptores de despliegue contienen información que describe cómo los servicios EGL se ponen a disposición de otras aplicaciones y cómo las aplicaciones EGL encontrarán servicios proporcionados por otras aplicaciones.
    1. En el entorno de trabajo, pulse Ventana > Preferencias... > EGL.
    2. Bajo Opciones de características de proyecto EGL predeterminadas, asegúrese de que Crear un descriptor de despliegue de EGL esté seleccionada. Si no lo está, pulse este campo para seleccionarlo.
    3. Pulse Aceptar.
  4. En el entorno de trabajo, pulse Archivo > Nuevo > Proyecto.
  5. En la ventana Proyecto nuevo, expanda EGL y pulse Proyecto EGL. Si no ve Proyecto EGL, marque el recuadro de selección Mostrar todos los asistentes. Si todavía no aparece una categoría EGL o Proyecto EGL, es que EGL no está instalado en el sistema. Vuelva a ejecutar la configuración del producto y seleccione el elemento Característica adicional para EGL.
  6. Pulse Siguiente.
  7. En el campo Nombre de proyecto, déle este nombre al proyecto:
    EGLService
  8. Bajo Tipos de proyectos EGL, pulse Proyecto Web. Este tipo de proyecto le permite utilizar interfaces de usuario de páginas web.
  9. Pulse Siguiente.
  10. En Tiempo de ejecución destino, seleccione WebSphere Application Server v6.1.
  11. Asegúrese de que la opción Crear un descriptor de construcción nuevo está seleccionada. Los descriptores de construcción contienen opciones para generar el programa en otros lenguajes. No hace falta que se preocupe por ellos en este momento, porque el asistente creará automáticamente el descriptor de construcción pertinente. No hace falta que utilice los valores avanzados, a menos que emplee WAS y haya cambiado anteriormente el valor predeterminado que añade el proyecto a un EAR (recurso de aplicación de empresa). Si emplea WAS, el proyecto EGLService debe pertenecer a un EAR. El entorno de trabajo recuerda este valor.
  12. Aparecerá una ventana en la que se le solicitará si desea pasar a la perspectiva J2EE. Si ve esta ventana, pulse No.
El proyecto nuevo aparece en la vista Explorador de proyectos.
Vista Explorador de proyectos mostrando el proyecto nuevo

Crear la interfaz para definir el servicio

EGL utiliza el término "interfaz" del mismo modo que lo hacen los lenguajes orientados a objetos. Para EGL, una interfaz define un plan para que lo siga un servicio. Específicamente, una interfaz contiene uno o varios prototipos de función o resúmenes de funciones. Estos prototipos no son funciones utilizables en sí mismos, pero establecen planes para las funciones reales.
Por ejemplo, suponga que necesita escribir una aplicación que realiza operaciones matemáticas como por ejemplo una calculadora. Puede empezar listando todas las operaciones matemáticas que necesitará la calculadora (como por ejemplo, suma, resta y multiplicación) sin escribir realmente el código para realizar estas operaciones. En este caso, puede denominar cada operación y especificar los parámetros de entrada y salida de cada operación, pero no empezará a codificar ninguna lógica. De igual modo, puede crear en una interfaz una lista de las funciones que la aplicación de servicio EGL necesitará. Una interfaz así puede empezar de esta manera:
interface myCalculatorInterface

  //Función para añadir números 
  function addNumbers(number1 decimal(10,2) in, 
    number2 decimal(10,2) in) returns (decimal(10,2));

  //Función para restar números
  function subtractNumbers(number1 decimal(10,2) in, 
    number2 decimal(10,2) in) returns (decimal(10,2));

end

Después, cuando esté listo para empezar a codificar el servicio, puede utilizar esta interfaz como punto de inicio y como prueba para asegurarse de que está siguiendo su plan.

Raramente se le requerirá que escriba una interfaz, pero por lo general, la utilización de interfaces para describir servicios es una procedimiento de programación recomendado:
  • La interfaz permite planificar el servicio antes de hora y EGL le avisa si el servicio se desvía de la interfaz.
  • Las interfaces proporcionan un resumen conciso de un servicio, en el que se explica lo que el servicio puede hacer sin proporcionar todos los detalles de la implementación del servicio.
  • Las interfaces pueden servir como requisitos para el desarrollo o la conformidad.
  1. En la vista Explorador de proyectos, pulse con el botón derecho sobre el proyecto EGLService para seleccionarlo.
  2. Pulse Nuevo > Otros.
  3. En la ventana Nuevo, expanda EGL y pulse Interfaz. Asegúrese de utilizar el elemento Interfaz bajo EGL y no el elemento Interfaz bajo Java.
  4. Pulse Siguiente.
  5. En la ventana Componente de interfaz EGL nuevo, asegúrese de que la carpeta EGLSource del proyecto se muestra en el campo Carpeta fuente. Este campo debe indicar EGLService\EGLSource.
  6. En el campo Paquete, escriba este nombre:
    interfaces
    EGL creará este paquete nuevo porque el proyecto no tiene todavía un paquete con este nombre.
  7. En el campo Nombre de archivo fuente EGL, escriba este nombre para la interfaz nueva:
    HelloInterface
    La ventana Componente de interfaz EGL nuevo tiene el aspecto siguiente:
    la ventana Componente de interfaz EGL nuevo
  8. Pulse Finalizar. La interfaz nueva se crea y se abre en el editor EGL. Esta interfaz ya contiene un prototipo de función, a modo de ejemplo:
    function functionName(parameterName string in) returns (int);
  9. Suprima este prototipo de función.
  10. Dónde el prototipo de función era, inserte este código para su propio prototipo de función:
    function SayHello(name string in, city string in) returns (string);
  11. Guarde y cierre el archivo.
A continuación se proporcionan algunos detalles técnicos acerca del código que acaba de especificar:
  • Tal como se explica más arriba, este código no es una parte finalizada de lógica EGL. En lugar de esto, este prototipo de función describe una función que estará en el servicio. En este caso, el prototipo describe una función llamada SayHello.
  • La función acepta dos partes de entrada por parte del cliente, llamadas parámetros:
    • Una variable de serie correspondiente al nombre de una persona
    • Una variable de serie correspondiente a una ciudad
    La función utilizará estos parámetros para conjuntar una salida a devolver al cliente.
  • El código returns (string) indica este valor de retorno y el tipo correspondiente.

La interfaz tiene el aspecto siguiente:

El código del componente de interfaz de EGL

Crear el servicio

  1. En la vista Explorador de proyectos, pulse con el botón derecho sobre el proyecto y pulse Nuevo > Servicio.
  2. En la ventana Componente de servicio EGL nuevo, asegúrese de que la carpeta EGLSource del proyecto se muestra en el campo Carpeta fuente. Este campo debe indicar EGLService\EGLSource.
  3. En el campo Paquete, escriba este nombre:
    services
  4. En el campo Nombre de archivo fuente EGL, escriba este nombre para el servicio nuevo:
    HelloService
  5. Junto a Implementa las interfaces, pulse Añadir.
  6. Teclee un asterisco * en el campo Elegir interfaces. Su interfaz se muestra en la lista Componentes coincidentes.
  7. Pulse HelloInterface en la lista Componentes coincidentes para seleccionarla.
  8. Pulse Aceptar. La interfaz se muestra ahora en la lista Implementa las interfaces.
  9. Marque el recuadro de selección Crear como servicio web. Cuando se marca este recuadro de selección, se añade información de despliegue al archivo descriptor de despliegue. La ventana Componente de servicio EGL nuevo tiene el aspecto siguiente:
    El asistente Servicio nuevo
  10. Pulse Finalizar. El servicio nuevo se crea y se abre en el editor EGL. El servicio ya contiene una función iniciadora basada en el prototipo de la interfaz.
  11. Elimine el comentario // POR HACER Función autogenerada y en su lugar, teclee cl código siguiente:
    ReturnString string;
    ReturnString = name::", welcome to "::city::"!";
    return (ReturnString);
    Este código crea una variable de serie y le asigna a un valor según los parámetros, como por ejemplo "Jim, welcome to Chicago!" El código :: es un operador de concatenación que une series separadas en una sola serie. El código tiene el aspecto siguiente:
    El código del componente de servicio EGL
  12. Guarde y cierre el archivo.
< Anterior | Siguiente >