47
Guías para la Práctica (4) OpenESB – BPEL Service Engine

GuiasPractica_BPEL

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