Una opción alternativa a tener en cuenta son las herramientas de servicios Web de
Rational
Application Developer que permiten crear un servicio Web alrededor de un EJB.
Nota: Consulte la información del sitio siguiente antes de intentar migrar utilizando este
método:
http://publib.boulder.ibm.com/infocenter/rtnl0600/topic/com.ibm.etools.webservice.was.creation.ejb.ui.doc/tasks/twsejbw.html
Nota: Esta opción requiere configurar un tiempo de ejecución de servicio Web a través de
WebSphere
Integration Developer antes de invocar el asistente de servicio Web.
Para crear un servicio
Web alrededor de un EJB, siga estos pasos:
- Pulse con el botón derecho del ratón sobre el proyecto de aplicación de empresa que es el
contenedor del EJB alrededor del cuál está creando un servicio.
- Seleccione Propiedades, vaya a las propiedades del
Servidor y asegúrese de que Tiempo de ejecución
destino esté establecido en WebSphere Process Server v6.0 y que
Servidor por omisión esté establecido en el WebSphere Process
Server v6.0 instalado.
- Inicie el servidor de prueba, despliegue esta aplicación en el servidor y asegúrese de que se
inicia satisfactoriamente.
- En la perspectiva J2EE, expanda el Proyecto EJB en la vista Explorador
de proyectos. Expanda el Descriptor de despliegue y la categoría
Beans de sesión. Seleccione el bean alrededor del cuál desea generar el
servicio Web.
- Pulse con el botón derecho del ratón y seleccione
.
- Para Tipo de servicio Web seleccione Servicio Web
EJB y quite la marca de la opciónIniciar servicio Web en el proyecto
Web a menos que desee desplegar inmediatamente el servicio Web. Pulse Siguiente.
- Asegúrese de que el EJB que pulsó con el botón derecho está seleccionado aquí y pulse
Siguiente.
- Ahora debe configurar las opciones de despliegue del servicio. Pulse el botón
Editar….
Para el tipo de servidor, elija Servidor WPS v6.0 y para el tiempo de
ejecución de servicio Web, elija IBM WebSphere y J2EE versión
1.4. Si no es capaz de seleccionar una
combinación válida haciendo esto, consulte la sección "Prepararse para la migración" para obtener información
acerca de cómo migrar los proyectos J2EE al nivel de v1.4. Pulse Aceptar.
- Para el proyecto de servicio, especifique el nombre del proyecto EJB que contiene el EJB. Además, seleccione el proyecto EAR adecuado. Pulse Siguiente.
Tenga en cuenta que posiblemente deberá esperar varios minutos.
- En el panel Configuración EJB de servicio Web, seleccione el proyecto de direccionador adecuado
a utilizar (elija el nombre del proyecto Web de direccionador que desearía crear y este proyecto se
añadirá a la misma aplicación de empresa que el EJB original. Seleccione el transporte deseado
(SOAP sobre HTTP o SOAP sobre JMS). Pulse Siguiente.
- Seleccione el archivo WSDL que contendrá las definiciones WSDL. Elija los métodos que desea
exponer en el servicio Web y elija el estilo/la codificación adecuados (Documento/Literal,
RPC/Literal o RPC/Codificado.) Seleccione la opción Definir
correlación personalizada para paquete a espacio de nombres y seleccione un espacio de nombres que
sea exclusivo del EJB migrado para todos los paquetes
Java
utilizados por el EJB (el espacio de nombres por omisión será exclusivo del nombre de paquete, lo que puede provocar
conflictos si crea otro servicio Web que utilice las mismas clases
Java). Cumplimente los demás parámetros si procede. Hay limitaciones para cada combinación de
estilo/codificación.
Consulte las limitaciones para obtener más información:
http://publib.boulder.ibm.com/infocenter/rtnl0600/topic/com.ibm.etools.webservice.doc/ref/rlimit.html
- Pulse Siguiente y, en el panel Correlación de
paquete de servicio Web con espacio de nombres, pulse el botón
Añadir y, en la fila que se crea, especifique el nombre del
paquete del EJB y luego el espacio de nombres personalizado que identifica de forma
exclusiva a este EJB. Continúe añadiendo correlaciones para todos los paquetes
Java
utilizados por la interfaz EJB.
- Pulse Siguiente. Tenga en cuenta que posiblemente deberá esperar varios minutos.
- Pulse Finalizar. Después de completar el asistente, debe copiar el
archivo WSDL generado que describe el servicio EJB para el proyecto de módulo de integración de
negocio si el proyecto de servicio era un consumidor del servicio EJB. Se encuentra en el proyecto
Web de direccionador generado bajo la carpeta WebContent/WEB-INF/wsdl. Renovar/reconstruir el
proyecto de módulo de integración de negocio.
- Pase a la perspectiva Integración de negocio, expanda el módulo migrado y después la categoría
lógica Puertos de servicio Web.
- Seleccione el puerto generado en los pasos anteriores, arrástrelo y suéltelo en el Editor de
ensamblaje y seleccione crear una Importación con enlace de servicio Web. Seleccione la interfaz WSDL del EJB si se le solicita.
Ahora, el componente SCA que consumía el EJB en 5.1 puede conectarse a esta Importación para
completar los pasos de migración de reconexión manual.
Si
siguió un procedimiento de arriba abajo en
WebSphere
Studio Application Developer Integration Edition, la generación de un esqueleto EJB a partir de una definición WSDL,
siga estos pasos:
- Cree un proyecto Web y copie el archivo WSDL a partir del cuál desea generar el esqueleto EJB
en esta carpeta origen del proyecto Web.
- Pulse el archivo WSDL que
contiene el PortType a partir del cuál desea generar un esqueleto EJB y seleccione
.
- Elija el tipo de servicio Web Servicio Web EJB esqueleto y cumplimente
el asistente.
Después de completar el asistente, debe tener un EJB que implemente la interfaz de servicio y
que no sea dependiente de las API de WSIF.
Tenga en cuenta que la interfaz puede ser
ligeramente distinta de la interfaz de 5.1 y que puede ser necesario insertar un componente de
mediación de interfaz entre el consumidor de 5.1 y la nueva Importación.
Para hacerlo, pulse la herramienta de conexión del Editor de ensamblaje y
conecte el componente origen de SCA con esta Importación con enlace de servicio
Web. Como las interfaces son diferentes, se le indicará lo siguiente: Los
nodos origen y destino no tienen interfaces coincidentes.
Elija crear una correlación de interfaces entre el nodo destino y el origen. Efectúe una doble pulsación sobre el componente de correlación creado en el Editor de ensamblaje. Esto abrirá el editor de correlaciones. Consulte el Centro de información para obtener
instrucciones acerca de cómo crear una correlación de interfaces.
Una vez finalizado esto,
debe volver a conectar el servicio EJB. No debería haber referencias, por lo tanto, necesita volver a conectar la
interfaz del componente
Java:
- Si este servicio lo invoca un proceso de negocio en el mismo módulo, cree una conexión a partir
de la referencia de proceso de negocio adecuada a este componente EJB.
- 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 "Migración de
servicio no BPEL entrante" para obtener instrucciones acerca de cómo volver a publicar el servicio.