This topic applies only to the IBM Business Process Manager Advanced configuration.

Cómo trabajar con scripts

Puede crear y utilizar un script para que le ayude en el desarrollo de procesos.

Acerca de esta tarea

La creación y ejecución de un script es un proceso simple de pocos pasos. Si está familiarizado con los lenguajes de creación de scripts como Ant, el proceso de creación es incluso más sencillo.

IBM® Integration Designer incluye la capacidad de trabajar con proyectos que no sean módulos y bibliotecas. También incluye los archivos de proceso por lotes siguientes que puede utilizar para invocar scripts Ant a fin de ejecutar compilaciones de IBM Integration Designer:

  • runAnt.bat
  • runAntWID.bat

Estos archivos se encuentran en el directorio inicio_WID\bin (donde inicio_WID es el directorio de instalación de IBM Integration Designer).

Se recomienda utilizar el archivo runAntWID.bat. Este archivo es parecido al archivo runAnt.bat, pero el archivo runAntWID.bat configura la variable classpath para evitar posibles problemas al crear proyectos de IBM Integration Designer.

Si utiliza el sistema operativo Linux y no se ha definido la variable de entorno JAVA_HOME, el archivo runAntWID.sh utiliza automáticamente la JVM de IBM Integration Designer. Sin embargo, si la variable JAVA_HOME está definida, tendrá que cambiarla para que apunte la JVM de IBM Integration Designer mediante la inclusión del directorio siguiente:

vía_instalación_Integration_Designer/jdk

Por ejemplo:

/opt/ibm/IntegrationDesigner/v8.5/jdk

Siga estos pasos para crear y ejecutar un script Ant.

Procedimiento

  1. Genere una contraseña cifrada. Como se ha visto en Visión general de las pruebas con scripts Ant en modalidad autónoma de IBM Integration Designer no es necesaria una contraseña cifrada. No obstante, si comparte su script y desea que la contraseña sea confidencial, se recomienda cifrar la contraseña. Se proporciona un programa de utilidad para generar la contraseña cifrada.
    1. En el directorio <dir_instalación>\bin, edite runAntWidSecurity, añada una contraseña y guarde el archivo.
    2. Ejecute runAntWidSecurity para generar la contraseña cifrada.
  2. Cree un script. El siguiente ejemplo es una indicación del tipo de script que puede crear.

    El script empieza con una lista de propiedades, que es una forma efectiva de utilizar variables que pueden cambiarse, en lugar de utilizar valores codificados. Las propiedades ofrecen información sobre el ID de usuario de CVS, la contraseña, la secuencia CVS, los módulos necesarios, etc.

    A continuación, es script extrae módulos del sistema de versiones simultáneas (CVS) y los importa en IBM Integration Designer. Una vez dentro, los módulos se despliegan en un servidor y se ejecutan.

    La contraseña cifrada debe utilizarse como contraseña para el servidor.

    Varias de estas tareas son tareas Ant estándar conocidas para los usuarios que trabajan con Ant en Eclipse. No obstante, para WebSphere Integration Edition se han añadido algunas tareas especiales. Estas tareas se describen en Tareas de Ant adicionales. El sistema CVS también tiene algunos mandatos de CVS que debe conocer si el script va a extraer archivos de un repositorio de CVS.

    <project name="Automated Test Case Run" basedir="." default="run">
       <property name="password" value="mypassword"/>
       <property name="user" value="myuserid"/>
       <property name="module" value="OrderEntry"/>
       <property name="testp" value="OrderTest"/>
       <property name="testfile" value="OrderTest.xml"/>
       <property name="url" value="http://localhost:9080/OrderTestWeb/TestServlet"/>
       <property name="cvsroot" value=":pserver:${user}:${password}@cvs.mycorporation.com:/cvs/wid/wbit_comptest"/>
       <property name="extract.dir" value="F:\Archivos de programa\IBM\WID61\workspacetestscript"/>
       <property name="cvs.stream" value="HEAD"/>
       <property name="log.filename" value="./cvsextract"/>
    
       <target name="checkout">
          <cvs cvsroot="${cvsroot}" cvsrsh="ssh" dest="${extract.dir}" package="TestCase/${module}" command="export -r ${cvs.stream} -d ${module}" output="${log.filename}m.log" quiet="true"/>
          <cvs cvsroot="${cvsroot}" cvsrsh="ssh" dest="${extract.dir}" package="TestCase/${testp}" command="export -r ${cvs.stream} -d ${testp}" output="${log.filename}t.log" quiet="true"/>
       </target>
       
       <!-- extraer los proyectos de CVS no hace que estén visibles para eclipse, deben importarse los proyectos ahora -->
       <target name="importProject" depends="checkout">
          <importProject projectName="${module}"/>
          <importProject projectName="${testp}"/>
       </target>
       
       <target name="build" depends="importProject">
          <projectBuild projectName="${module}"/>
          <projectBuild projectName="${testp}"/>
       </target>
       
       <target name="deploy" depends="build">
          <wid.deploy projectName="${module}" userid="admin" password="{xor}PjsyNjE=" profile="wps" connectionType="SOAP" port="8880"/>
          <wid.deploy projectName="${testp}"/>
       </target>
       
       <target name="run" depends="deploy">
          <get dest="${testfile}" src="${url}"/>
          <wid.undeploy projectName="${module}"/>
          <wid.undeploy projectName="${testp}"/>
       </target>
    </project>
  3. Si ha hecho referencia a algunas variables de entorno de propiedad en el editor de suites de pruebas para un proyecto de prueba de componente, suite de pruebas o caso de prueba, y desea definir las variables de entorno en el URL del servlet, puede utilizar la sintaxis siguiente:
    http://myHost:9080/MyTestWeb/TestServlet?DRUG=drug%20claim&AMOUNT=100&DATE=2011-07-05

    En ejemplo anterior, hay tres definiciones de variable de entorno añadidas al final del URL. Cada definición debe estar separada por un símbolo &. En el URL, el código de escape %20 se utiliza para codificar un espacio porque el URL no permite determinados caracteres ASCII.

    En el ejemplo, las tres variables de entorno que están definidas son:

    • DRUG: "reclamación de medicamento"
    • AMOUNT: 100
    • DATE: 2011-07-05
  4. Una vez que tenga su script, debe editar el archivo por lotes runAntWid o el script de shell para que apunte al espacio de trabajo correcto. runAntWid se encuentra en el directorio <dir_instalación>\bin. En este ejemplo, el espacio de trabajo es workspacetestscript. Observe que el espacio de trabajo está completamente calificado para indicar la unidad y la vía de acceso (o el inicio y la vía de acceso en un sistema Linux).
    @echo off
    setlocal
    set BASE_DIR=%~dp0
    set VMARGS=-Xms512m -Xmaxf0.1 -Xminf0.05 -Xmx1024m -Xgcpolicy:gencon -Xscmx96m -Xshareclasses:singleJVM,keep -XX:MaxPermSize=512M -Xss2048k
    
    set JAVA_HOME=%BASE_DIR%..\eclipse\jdk
    @if not exist "%JAVA_HOME%\jre\bin" set JAVA_HOME=%BASE_DIR%..\jdk
    @if not exist "%JAVA_HOME%\jre\bin" echo ERROR: JAVA_HOME must point to Java installation containing jre\bin
    @if not exist "%JAVA_HOME%\jre\bin" goto done
    
    :startup
    set STARTUP_JAR="%BASE_DIR%..\startup.jar"
    @if exist "%BASE_DIR%..\eclipse.exe" goto im
    
    for /f "delims= tokens=1" %%c in ('dir /B /S /OD "%BASE_DIR%..\eclipse\plugins\org.eclipse.equinox.launcher_*.jar"') do set STARTUP_JAR=%%c
    goto checkstartup
    
    :im
    for /f "delims= tokens=1" %%c in ('dir /B /S /OD "%BASE_DIR%..\plugins\org.eclipse.equinox.launcher_*.jar"') do set STARTUP_JAR=%%c
    
    :checkstartup
    @if not exist "%STARTUP_JAR%" echo ERROR: Unable to locate Eclipse startup.jar
    @if not exist "%STARTUP_JAR%" goto done
    
    
    :workspace
    if not $"%WORKSPACE%"$==$$ goto check
    REM #######################################################
    REM ##### debe editar el valor "WORKSPACE" que figura más abajo #####
    REM #######################################################
    REM *********** La ubicación del espacio de trabajo ************
    set WORKSPACE=X:\MyWorkspace
    
    :check
    REM ************* La ubicación del espacio de trabajo *****************
    if not exist "%WORKSPACE%" echo ERROR: incorrect workspace=%WORKSPACE%, edit this runAntWid.bat and correct the WORKSPACE envar
    if not exist "%WORKSPACE%" goto done
    
    
    :run
    @echo on
    "%JAVA_HOME%\jre\bin\java.exe" %VMARGS% -Dwtp.autotest.noninteractive=true -cp "%STARTUP_JAR%" org.eclipse.core.launcher.Main -application com.ibm.wbit.comptest.ant.RunAntWid -data "%WORKSPACE%"  %*
    @if %ERRORLEVEL% EQU 0 goto done
    @if %ERRORLEVEL% EQU 13 echo runAnt BUILD FAILED.
    @if %ERRORLEVEL% EQU 13 goto done
    @if %ERRORLEVEL% EQU 15 echo WORKSPACE is already BEING USED.
    @if %ERRORLEVEL% EQU 15 goto done
    @if %ERRORLEVEL% EQU 23 echo totally clean (UNINITIALIZED) workspace, it is now setup.  will rerun...
    @if %ERRORLEVEL% EQU 23 goto run
    @echo runAnt FAILED? (return code %ERRORLEVEL%)
    :pause
    @pause
    
    :done

    Como alternativa para modificar el script, puede establecer la variable de entorno del espacio de trabajo. Por ejemplo: set WORKSPACE=G:\workspacefinaltest.

    Consulte Ejemplo de un archivo de proceso por lotes para iniciar un script para obtener otro ejemplo parecido del archivo por lotes.

  5. A continuación, cree un archivo por lotes o un script de shell que lanzará el script como parámetro para el archivo por lotes runAntWid. Aunque puede lanzar el script usted mismo desde una ventana de mandatos, en la mayoría de los casos es conveniente crear un archivo por lotes o un script de shell y hacer que el sistema operativo lance el script por la noche cuando el sistema está disponible. En nuestro ejemplo, se lanza runAntWid y el script que ejecuta, doAll.xml, se encuentra en el directorio testscript de la unidad e:.
    pushd f:\Archivos de programa\IBM\WID61\bin
    runAntWid -buildfile e:\testscript\doAll.xml
    popd

    El archivo por lotes es muy práctico. También puede ejecutar el script desde una ventana de mandatos escribiendo runAntWid -buildfile <directorio>

  6. Ejecute el archivo por lotes o el script de shell o utilice los servicios del sistema operativo para ejecutarlo en la hora más adecuada. Evidentemente, ésta es la mayor ventaja del uso de scripts: los scripts pueden ejecutarse en momentos más apropiados, como por la noche o en fin de semana.
  7. Examine los resultados marcados como pass/fail en el archivo XML devuelto. Este archivo se colocará en el directorio definido en el script. Consulte Ejemplo de un archivo de salida XML, donde se muestra un ejemplo del tipo de salida que cabe esperar.