Procedimientos recomendados: módulos y empaquetamiento para servicios de negocio

En el desarrollo de aplicaciones de integración empresarial, puede ser necesario trabajar con recursos tales como archivos JSP, archivo JAR, proyectos Web, proyectos Java y proyectos J2EE. En este tema se proporciona información que le ayudará a configurar sus proyectos y recursos para que se puedan construir y desplegar satisfactoriamente en WebSphere Process Server.

Archivos de páginas JavaServer con referencias autónomas

Los archivos de páginas JavaServer (JSP) invocan componentes de Arquitectura de componentes de servicio (SCA) utilizando referencias autónomas en el ensamblaje del módulo. El archivo JSP debe desplegarse en el mismo archivo EAR que el ensamblaje del módulo. A continuación se indican los pasos para añadir el archivo JSP al módulo:
  1. Crear proyecto Web.
  2. Construir el archivo JSP en el proyecto Web. Si va a importar el código, impórtelo en este proyecto Web. Consulte el tema Ejemplo de código JSP.
  3. Abrir el módulo (que tiene las referencias autónomas) con el editor de dependencias. Añada una dependencia en el proyecto Web como un proyecto J2EE. Asegúrese de que se marca el recuadro de selección Desplegar con módulo para que el proyecto Web se añada al archivo EAR.
Nota: No copie el archivo sca.references en otro archivo EAR. El archivo no funcionará fuera del módulo al que pertenece.

Si el proyecto Web se encuentra en otro archivo EAR, el archivo JSP se encuentra en otro módulo, y se necesitan importaciones y exportaciones para que funcione con los servicios de otro módulo.

Ejemplo de código JSP

A continuación encontrará ejemplos de código JSP que utilizan las referencias autónomas en el ensamblaje del módulo:

com.ibm.websphere.sca.Service bankService = (com.ibm.websphere.sca.Service)com.ibm.websphere.sca.ServiceManager.INSTANCE.locateService("BankServicePartner");
=> El nombre de referencia "BankServicePartner" proviene del archivo sca.references en el módulo (por ejemplo, <reference name="BankServicePartner">...). Este archivo
existirá después de crear una referencia autónoma en el editor de cableado.
com.ibm.websphere.sca.scdl.OperationType operationType = bankService.getReference().getOperationType("openAccount");
=> Utilizaremos el tipo de operación para obtener los tipos DataObject que deben
pasarse en la operación de invocación
com.ibm.websphere.bo.BOFactory factory = (com.ibm.websphere.bo.BOFactory) new com.ibm.websphere.sca.ServiceManager().locateService("com/ibm/websphere/bo/BOFactory");
=> Modo estándar de obtener una fábrica para crear objetos de negocio.
commonj.sdo.DataObject input = factory.createByType(operationType.getInputType());
=> crea el tipo correcto de objeto de datos que la operación espera como entrada
commonj.sdo.DataObject customer = input;
=> se supone que no tenemos una entrada envuelta, por ahora
if(operationType.isWrapperType(operationType.getInputType()))
{
=> Para poder llamar a la referencia en este caso, debe pasarse la envoltura definida en
el archivo WSDL de la interfaz. Por ello creamos el objeto de datos envuelto y lo
establecemos en la envoltura (el nombre de la propiedad viene del esquema incorporado del
archivo WSDL).
customer = factory.createByType(operationType.getInputType().getProperty("customer").getType());
input.set("customer", customer);
}
customer.setString("firstName", "Bob");
customer.setString("lastName", "Smith");
customer.setString("address", "7 Holly Drive");
customer.setBoolean("isGold", true);
customer.setInt("birthYear", 1976);
=> Las 5 líneas anteriores establecen los atributos de Customer.
commonj.sdo.DataObject output = (commonj.sdo.DataObject)bankService.invoke("openAccount",input);
commonj.sdo.DataObject account = null;
if(operationType.isWrapperType(operationType.getOutputType()))
account = output.getDataObject("account");
else
	account = output;
=> La salida devuelta puede estar envuelta o no.

Trabajar con código Java

Procedimientos recomendados: si necesita desarrollar aplicaciones Java o importar archivos JAR que se utilizarán en un módulo de integración empresarial, debe crear un proyecto Java para el código y añadir una dependencia del proyecto Java en el módulo que utilizará el código Java.

Las propiedades Java de la biblioteca o módulo de integración empresarial no deben alterarse, puesto que esto podría causar problemas en la generación de código de despliegue. Como consecuencia, no recomendamos desarrollar aplicaciones Java complejas o importar archivos JAR en una biblioteca o módulo para poder utilizarlas. Asimismo, cuando genere implementaciones Java para componentes en un diagrama de ensamblaje, las implementaciones Java generadas deben utilizarse como punto de lanzamiento para llamar a otras clases Java.

Tenga en cuenta que la vista Integración empresarial sólo muestra implementaciones e interfaces Java que se utilizan en un diagrama de ensamblaje. Figuran bajo el módulo que los utiliza. Si necesita trabajar con proyectos Java puede conmutar a la perspectiva Java.

Conmutar a la perspectiva Java

Abra la perspectiva Java efectuando los siguientes pasos:

  1. En el menú, seleccione Ventana > Abrir perspectiva > Otros....
  2. Seleccione Java y pulse Aceptar.

En la perspectiva Java, las dos perspectivas abiertas se muestran en la esquina superior derecha de la ventana Entorno de trabajo; puede conmutar a la perspectiva Integración empresarial pulsando el botón Perspectiva Integración empresarial, como se muestra en esta imagen:

Esquina superior derecha de la ventana Entorno de trabajo mostrando los dos botones de perspectiva

A continuación se ofrecen instrucciones para el desarrollo Java en un proyecto Java:
  • Cree un proyecto Java.
  • Efectúe el desarrollo Java en el proyecto Java. Si necesita importar un archivo JAR, impórtelo en el proyecto Java. No importe archivos JAR en el módulo o biblioteca; el JAR no se añadirá al archivo EAR.
  • Abra el módulo que utilizará el código Java con el editor de dependencias. Añada el proyecto Java como dependencia y asegúrese de que marca el recuadro de selección Desplegar con módulo. El editor de dependencias añadirá el proyecto Java a la vía de acceso de clases del módulo. El archivo JAR se desplegará con el módulo.

Objetos e interfaces de negocio para importación y exportación

Procedimientos recomendados: si tiene pensado utilizar la importación y exportación en los diagramas de ensamblaje, es una buena práctica colocar los objetos e interfaces de negocio que utilizan las importaciones y exportaciones, en una biblioteca para que puedan ser compartidos. A continuación, añada una dependencia de la biblioteca en todos los módulos que utilicen estos recursos comunes. Evite la copia de los mismos objetos e interfaces de negocio en distintos módulos para utilizarlos.

Recursos de biblioteca que se comparten

Después del despliegue, si los recursos compartidos cambian en la biblioteca, los módulos que los utilizan deben actualizarse. Por ejemplo, dos módulos comparten recursos de una biblioteca. Se despliegan las aplicaciones. Uno de los módulos debe actualizarse, lo que se traduce en cambios en algunos recursos compartidos de la biblioteca. En este caso, el segundo módulo también debe actualizarse para que refleje los cambios realizados en los recursos compartidos.

Los archivos WSDL deben estar en un módulo o biblioteca

Si necesita utilizar un archivo WSDL en un módulo, cópielo en el mismo. Opcionalmente puede copiar el archivo WSDL en una biblioteca y, en el módulo, establecer una dependencia de la biblioteca para poder utilizar sus recursos. Si intenta arrastrar un archivo WSDL desde otro tipo de proyecto, por ejemplo un proyecto Web, un mensaje de error le indicará que copie el archivo WSDL en el módulo o biblioteca.

Nombres de módulos J2EE

El módulo de integración empresarial es un simple proyecto que produce un archivo EAR J2EE formado por proyectos J2EE. Si el módulo se denomina MyApp, se generan proyectos con los siguientes nombres, que no podrá utilizar para sus proyectos J2EE:
  • MyAppApp
  • MyAppEJB
  • MyAppEJBClient
  • MyAppWeb

Cambiar dependencias sin el editor

Debe evitar la modificación de dependencias de módulos fuera del editor de dependencias.

Cuando añade una dependencia de una biblioteca, proyecto Java o proyecto J2EE, se realizan cambios en las propiedades del módulo. Es decir, se cambian las propiedades del módulo del modo siguiente:

  • La Vía de construcción Java tendrá la biblioteca o proyecto añadidos en su vía de construcción.
  • Las Referencias de proyecto determinan los proyectos J2EE o los JAR de programas de utilidad que deben incluirse en el archivo EAR resultante para el módulo. Si en el editor de dependencias, la biblioteca o proyecto también se seleccionan para Desplegarlos con el módulo, las Referencias de proyecto tendrán seleccionado el proyecto o biblioteca para que se añada al archivo EAR para su despliegue.

Utilice el editor de dependencias para gestionar dependencias de proyecto de los módulos y bibliotecas en lugar de editar sus propiedades. Existen importantes asunciones Java definidas en las propiedades de los módulos y bibliotecas, por lo que no debe modificar las propiedades Java, por ejemplo, para cambiar las carpetas de fuente y salida.

Conceptos relacionados
Módulos y bibliotecas
Módulos y dependencias de bibliotecas
Posibilidades y roles de Integración empresarial
Hojas de apuntes de Integración empresarial
Servicios de negocio: componentes y módulos
Servicios de mediación: componentes y módulos de mediación
Tareas relacionadas
Crear un módulo para servicios de negocio
Crear un módulo de mediación
Cambiar espacios de nombres por omisión
Habilitar las posibilidades de las herramientas
Añadir dependencias en módulos y bibliotecas
Crear la biblioteca
Crear exportaciones
Referencia relacionada
Referencias e interfaces WSDL y Java

Información relacionada

Guía de aprendizaje: trabajar con módulos y bibliotecas

Comentarios
(C) Copyright IBM Corporation 2005, 2006. Reservados todos los derechos.