Upload
david-morales
View
215
Download
2
Tags:
Embed Size (px)
DESCRIPTION
manual BPEL
Citation preview
Guas para la Prctica (4)OpenESB BPEL Service Engine
Introduccin OpenESB es una plataforma open-source que
integra distintos componentes para BI (Business Integration), SOA y EAI (Enterprise Application Integration).
Desarrollado por la empresa Sun Microsystems (recientemente adquirida por Oracle) bajo licencia CDDL y con la posibilidad de soporte comercial proporcionado tambin por Sun Microsystems.
Usa GlassFish como servidor de aplicaciones y NetBeans como herramienta grfica de desarrollo.
Lo utilizaremos para la implementacin de la parte prctica de BPEL.
Limitaciones OpenESB sigue el estndar WS-BPEL 2.0 pero
no implementa todas sus funcionalidades. Podemos destacar que no soporta links en
actividades flow y por lo tanto no es posible definir targets/sources.
La documentacin completa se puede descargar en:
http://download.oracle.com/docs/cd/E19957-01/820-0605/cnfg_bpel-se-language-const_r/index.html
http://download.oracle.com/docs/cd/E19957-01/820-0605/cnfg_bpel-se-language-const_r/index.html
http://download.oracle.com/docs/cd/E19957-01/820-0605/bpelsecug_intro/index.html
http://download.oracle.com/docs/cd/E19957-01/820-0605/bpelsecug_intro/index.html
Instalacin (I) Para la prctica usaremos la la versin 2.2 de
OpenESB que se puede descargar en:
Esta versin incluye el servidor GlassFish 2.1.1 y NetBeans 6.7.1.
An no es posible usar las ltimas versiones de NetBeans (6.8 o superior) para el diseo de flujos BPEL.
Documentacin detallada sobre el motor BPEL de OpenESB (Sun BPEL Engine) se puede encontrar en:
http://openesb-dev.org/file/showfiles.php?group_id=102http://openesb-dev.org/file/showfiles.php?group_id=102
http://wiki.open-esb.java.net/Wiki.jsp?page=BPELApplicationDeveloper http://wiki.open-esb.java.net/Wiki.jsp?page=BPELApplicationDeveloper
Instalacin (II) La instalacin completa de la plataforma ocupa
550MB. Por los lmites de quota, no es posible que cada
usuario del laboratorio tenga su propia instalacin. Utilizaremos una instalacin compartida que se
encuentra en:
El entorno de desarrollo de NetBeans se encuentra en el directorio:
Para ejecutar esta instalacin de NetBeans, es necesario utilizar la opcin userdir
/opt/ISyADOO-1112/GlassFishESBv22/opt/ISyADOO-1112/GlassFishESBv22
/opt/ISyADOO-1112/GlassFishESBv22/netbeans//opt/ISyADOO-1112/GlassFishESBv22/netbeans/
/opt/ISyADOO-1112/GlassFishESBv22/netbeans/bin/netbeans --userdir $HOME/opt/ISyADOO-1112/GlassFishESBv22/netbeans/bin/netbeans --userdir $HOME
Instalacin (III) Al ejecutar Netbeans por primera vez se crea
automticamente un dominio en el directorio: $HOME/.personalDomain$HOME/.personalDomain
Instalacin (IV) Dentro del dominio instalaremos y
ejecutaremos los servicios BPEL desarrollados desde Netbeans.
Es recomendable desactivar algunas opciones de base de datos del servidor GlassFish
Instalacin (V) Es posible crear nuevos dominios desde
NetBeans.
Seleccionar GlassFish v2.xServices -> Server -> Add ServerServices -> Server -> Add Server
Instalacin (VI) Desde Netbeans arrancamos el servidor GlassFish
Services -> Servers -> GlassFish v2 -> StartServices -> Servers -> GlassFish v2 -> Start
Instalacin (VII) El motor BPEL (Sun BPEL Service Engine) no estar
instalado por defecto. Previamente es necesario instalar la librera sun-
wsdl-ext-library.
Seleccionamos el fichero wsdlextlib.jar.
A continuacin instalamos BPEL Service Engine
Seleccionamos el fichero bpelserviceengine.jar.
GlassFishV2 -> JBI -> Shared Libraries -> Install ...GlassFishV2 -> JBI -> Shared Libraries -> Install ...
/opt/ISyADOO-1112/GlassFishESBv22/glassfish/addons/jbi-components/wsdlextlib.jar
/opt/ISyADOO-1112/GlassFishESBv22/glassfish/addons/jbi-components/wsdlextlib.jar
GlassFishV2 -> JBI -> Service Engines -> Install ...GlassFishV2 -> JBI -> Service Engines -> Install ...
/opt/ISyADOO-1112/GlassFishESBv22/glassfish/addons/jbi-components/bpelserviceengine.jar
/opt/ISyADOO-1112/GlassFishESBv22/glassfish/addons/jbi-components/bpelserviceengine.jar
Instalacin (VIII) Se muestran las opciones de configuracin de
BPEL Service Engine.
Instalacin (y IX) sun-bpel-engine debe aparecer en la lista de
servicios instalados.Servers -> GlassFish v2 -> JBI -> Service EnginesServers -> GlassFish v2 -> JBI -> Service Engines
Creacin de un proyecto (I) Creamos un proyecto de tipo BPEL Module
Netbeans guarda los proyectos en:File -> New Project -> SOA -> BPEL ModuleFile -> New Project -> SOA -> BPEL Module
$HOME/NetBeansProjects$HOME/NetBeansProjects
Creacin de un proyecto (II) Automticamente se crea un fichero BPEL con
contenido vaco.
Flujo BPEL (I) Copiamos los ficheros WSDL y XSD en el directorio
en el que tenemos el fichero BPEL
Importamos WSDL y XSD dentro del flujo BPEL.$HOME/NetBeansProjects//src$HOME/NetBeansProjects//src
Navigator -> Logical View -> Imports -> Add WSDL ImportNavigator -> Logical View -> Imports -> Add WSDL Import
Navigator -> Logical View -> Imports -> Add Schema ImportNavigator -> Logical View -> Imports -> Add Schema Import
Flujo BPEL (II) Creamos los PartnerLink para el servicio
BPEL y para los servicios auxiliares.
Flujo BPEL (III) Creamos el PartnerLink para el servicio BPEL
(MyRole). Se crea automticamente un nuevo fichero
WSDL (ServiceWrapper).
Implementacin (IV) Creamos los PartnerLinks necesarios para los
servicios auxiliares. Tambin se crea automticamente un nuevo
fichero WSDL (ServiceWrapper).
Flujo BPEL (V) A partir de este momento se puede empezar
con el diseo grfico del flujo.
Flujo BPEL (VI) Actividades Receive, Reply e Invoque.
Flujo BPEL (VII) Editor grfico (Mapper) para las asignaciones.
Flujo BPEL (VIII) Diseo grfico de condiciones. Se pueden emplear funciones, operadores
lgicos, numricos, etc.
Flujo BPEL (IX) Flujo BPEL finalizado.
Flujo BPEL (y X) Cdigo fuente del flujo BPEL
Deploy (I) Editamos el fichero WSDL del servicio BPEL
para establecer la URL del servicio. Tambin editamos los WSDL de los servicios
auxiliares para indicar su localizacin.
Deploy (II) Los puertos deben ser diferentes si los
servicios auxiliares se ejecutan en otro servidor externo a GlassFish (p.e. jetty).
Deploy (III) Creamos un proyecto de tipo Composite
ApplicationFile -> New Project -> SOA -> Composite ApplicationFile -> New Project -> SOA -> Composite Application
Deploy (IV) Arrastramos el proyecto BPEL sobre el rea
JBI Modules
Deploy (V) Compilamos el proyecto de tipo Composite
Application y se genera la distribucin en:$HOME/NetBeansProjects//dist/.zip$HOME/NetBeansProjects//dist/.zip
Deploy (y VI) Ejecutamos la tarea Deploy en el proyecto
de tipo Composite Application. El servicio aparecer ensamblado dentro de GlassFish.
Servers -> GlassFish v2 -> JBI -> Service AssembliesServers -> GlassFish v2 -> JBI -> Service Assemblies
Test (I) Se puede probar el servicio directamente
desde NetBeans.
Seleccionamos a continuacin el documento WSDL y la operacin del servicio.
Composite Application -> Test -> New Test CaseComposite Application -> Test -> New Test Case
Test (II) Editamos manualmente el fichero XML de
entrada del test con valores de prueba. Iniciamos la ejecucin del test.
Test (y III) Si la ejecucin es correcta guardamos los
resultados del test como resultados esperados.
Debug (I) OpenESB integra un depurador para flujos
BPEL. GlassFish debe ser ejecutado en modo de
depuracin.
Debug (II) Se pueden establecer breakpoints sobre cada
una de las tareas del flujo BPEL.
Debug (III) Es necesario adjuntar un depurador BPEL en el
puerto de depuracin de Sun BPEL Engine. Si los tests se ejecutan desde el propio NetBeans,
el depurador se aadir automticamente.
Debug -> Attach Debugger ...Debug -> Attach Debugger ...
Debug (IV) Aparecern los breakpoints sobre el diseo
grfico del flujo BPEL.
Debug (V) Tambin aparecen los breakpoints en la vista
del cdigo fuente del flujo BPEL.
Debug (VI) Ejecutamos en modo de depuracin los tests
definidos previamente.
Debug (VII) En la ventana Variables se puede ver el
estado actual de todas las variables definidas en el flujo BPEL.
Debug (y VIII) En la ventana Bpel Process Execution se
pueden ver los componentes de flujo que ya se han ejecutado.
GlassFish (I) Para crear dominios sobre una instalacin de
GlassFish se puede emplear una herramienta de administracin de lnea de comandos.
Para crear un nuevo dominio se proporciona el comando create-domain.
Durante la creacin informa del puerto de administracin.
/opt/ISyADOO-1112/GlassFishESBv22/glassfish/bin/asadmin/opt/ISyADOO-1112/GlassFishESBv22/glassfish/bin/asadmin
create-domain --portbase --domaindir $HOME/ create-domain --portbase --domaindir $HOME/
Using port 5614 for Admin. Using port 5646 for HTTP Instance. Using port 5642 for JMS. Using port 5603 for IIOP.
Using port 5614 for Admin. Using port 5646 for HTTP Instance. Using port 5642 for JMS. Using port 5603 for IIOP.
GlassFish (II) Para ejecutar GlassFish desde lnea de comandos.
El usuario por defecto es admin, la contrasea es adminadmin y la contrasea del keystore para SSL (master password) es changeit.
Para instalar una aplicacin BPEL sin usar NetBeans se debe copiar el fichero generado en la distribucin.
Dentro del directorio de auto-instalaciones de GlassFish.
$HOME///bin/startsrv$HOME///bin/startsrv
$HOME/NetBeansProjects//dist/.zip$HOME/NetBeansProjects//dist/.zip
$HOME///autodeploy/$HOME///autodeploy/
GlassFish (III) Las tareas de administracin realizadas desde
NetBeans sobre GlassFish tambin se pueden realizar desde la aplicacin web de administracin.
GlassFish (IV) Instalacin y desinstalacin de aplicaciones
desde el interfaz web.
SoapUI (I) Una vez instalado el servicio BPEL podemos
probarlo con otras herramientas diferentes de NetBeans.
Una herramienta gratuita muy empleada para probar servicios web es SoapUI.
Una vez arrancada la herramienta SoapUI podemos crear un proyecto al que le proporcionaremos la URL para obtener el fichero WSDL del servicio BPEL.
http://www.soapui.orghttp://www.soapui.org
http://localhost:9090/ws-jaxwstutorial-service/services/StockExchangeAdviserService?wsdl
http://localhost:9090/ws-jaxwstutorial-service/services/StockExchangeAdviserService?wsdl
SoapUI (II) SoapUI generar unos esqueletos XML para
probar el servicio web de manera muy similar a los tests generados desde NetBeans.
Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Slide 37Slide 38Slide 39Slide 40Slide 41Slide 42Slide 43Slide 44Slide 45Slide 46Slide 47