Crear el componente Java personalizado: opción 1

La técnica de migración recomendada consiste en utilizar el tipo de componente Java WebSphere Integration Developer que permite representar el servicio Java como un componente SCA. Durante la migración, debe escribir código Java personalizado para convertir entre el estilo de interfaz Java SCA y el estilo de interfaz del componente Java existente.

Para crear el componente Java personalizado:
  1. En el proyecto del módulo, expanda Interfaces y seleccione la interfaz WSDL generada para esta clase Java en WebSphere Studio Application Developer Integration.
  2. Arrastre y suelte esta interfaz en el Editor de ensamblaje. Aparecerá un diálogo en el que se le pedirá que seleccione el tipo de componente a crear. Seleccione Componente sin tipo de implementación y pulse Aceptar.
  3. Aparecerá un componente en el diagrama de ensamblaje. Selecciónelo y vaya a la vista Propiedades.
  4. En la pestaña Descripción puede cambiar el nombre y el nombre de visualización del componente por algo más descriptivo.
  5. En la pestaña Detalles verá que este componente tiene una interfaz, la interfaz que arrastró y soltó en el Editor de ensamblaje.
  6. Asegúrese de que la clase Java a la que está intentando acceder está en la vía de acceso de clases del proyecto de servicio si no está contenida en el mismo proyecto de servicio.
  7. Pulse con el botón derecho sobre el proyecto del módulo y seleccione Abrir editor de dependencias…. Bajo la sección Java, asegúrese de que aparece el proyecto que contiene la clase Java antigua. Si no es así, añádala pulsando el botón Añadir….
  8. En el editor de ensamblaje, pulse con el botón derecho el componente que acaba de crear y seleccione Generar implementación… > Java A continuación seleccione el paquete en el que se generará la implementación Java. Esto crea un servicio Java de esqueleto que se adhiere a la interfaz WSDL de acuerdo con el modelo de programación SCA, en el que los tipos complejos estás representados por un objeto que es un commonj.sdo.DataObject y los tipos simples están representados por los equivalentes de objeto Java.
Los ejemplos de código siguientes muestran:
  1. Definiciones relevantes de la interfaz WSDL 5.1
  2. Los métodos Java de WebSphere Studio Application Developer Integration Edition 5.1 correspondientes al WSDL
  3. Los métodos Java de WebSphere Integration Developer 6.0 para el mismo WSDL
El código siguiente muestra las definiciones relevantes de la interfaz WSDL de 5.1:
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
attributeFormDefault="qualified"
elementFormDefault="unqualified"
targetNamespace="http://migr.practice.ibm.com/"
xmlns:xsd1="http://migr.practice.ibm.com/">
<complexType name="StockInfo">
<all>
<element name="index" type="int"/>
<element name="price" type="double"/>
<element name="symbol" nillable="true"
type="string"/>
</all>
</complexType>
</schema>
</types>
<message name="getStockInfoRequest">
<part name="symbol" type="xsd:string"/>
</message>
<message name="getStockInfoResponse">
<part name="result" type="xsd1:StockInfo"/>
</message>
<operation name="getStockInfo" parameterOrder="symbol">
<input message="tns:getStockInfoRequest"
name="getStockInfoRequest"/>
<output message="tns:getStockInfoResponse"
name="getStockInfoResponse"/>
</operation>
El código siguiente muestra los métodos Java de WebSphere Studio Application Developer Integration Edition 5.1 correspondientes al WSDL:
public StockInfo getStockInfo(String symbol)
{
return new StockInfo();
}
public void setStockPrice(String symbol, float newPrice)
{
		// establecer cosas
}
El código siguiente muestra los métodos Java de WebSphere Integration Developer 6.0 para el mismo WSDL:
public DataObject getStockInfo(String aString) {
		//TODO Hay que implementar.
		return null;
}
	public void setStockPrice(String symbol, Float newPrice) {
		//TODO Hay que implementar.
}
Ahora necesitará cumplimentar el código en el que verá los códigos “//TODO” en la clase de implementación Java generada. Hay dos opciones:
  1. Mueva la lógica de la clase Java original a esta clase, adaptándola para utilizar DataObjects
    • Esta es la opción recomendada si ha elegido el procedimiento de arriba abajo en WebSphere Studio Application Developer Integration Edition y desea que el componente Java trabaje con parámetros de DataObject. Esto es necesario porque las clases Java generadas a partir de definiciones WSDL en WebSphere Studio Application Developer Integration Edition tienen dependencias WSIF que deben eliminarse.
  2. Cree una instancia privada de la antigua clase Java dentro de esta clase Java generada y escriba código para:
    1. Convertir todos los parámetros de la clase de implementación Java generada en parámetros esperados por la clase Java antigua
    2. Invocar la instancia privada de la clase Java antigua con los parámetros convertidos
    3. Convertir el valor de retorno de la clase Java antigua en el tipo de valor de retorno declarado por el método de implementación Java generado
    4. Esta opción se recomienda para los casos de consumo en los que los componentes Java de estilo 6.0 nuevos deben consumir proxys de servicio WSIF.
Una vez completada una de las opciones anteriores, debe volver a conectar el servicio Java. No debería haber referencias, por lo tanto, necesita volver a conectar la interfaz del componente Java:
  • Si un proceso de negocio invoca este servicio en el mismo módulo, se crea una conexión desde la referencia de proceso de negocio adecuada a esta interfaz del componente Java.
  • Si un proceso de negocio invoca este servicio en otro módulo, cree una Exportación con enlace SCA y desde el otro módulo, arrastre y suelte esta exportación en el Editor de ensamblaje de ese módulo para crear la Importación con enlace SCA correspondiente. Conecte la referencia de proceso de negocio adecuada a esa Importación.
  • Si este servicio se publicó en WebSphere Studio Application Developer Integration Edition para exponerlo externamente, consulte la sección "Crear exportaciones SCA para acceder al servicio migrado" para obtener instrucciones acerca de cómo volver a publicar el servicio.
Tareas relacionadas
Crear Exportaciones SCA para acceder al servicio migrado

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