Desarrollo de una aplicación de gestión de trabajos paralelos

Puede crear una aplicación por lotes transaccionales como un trabajo y dividir el trabajo en trabajos subordinados para que los trabajos subordinados puedan ejecutarse de forma independiente y en paralelo. Utilice el gestor de trabajos paralelos para someter y gestionar los trabajos por lotes transaccionales.

Antes de empezar

For transitioning users For transitioning users: Las aplicaciones de gestión de trabajos paralelos creadas para versiones anteriores de WebSphere Batch se pueden ejecutar como tales en WebSphere Application Server Versión 8.5. Sin embargo, siga el mismo procedimiento que si tuviera dos archivos xJCL, un archivo xd.spi.properties y una biblioteca compartida configurada para dos implementaciones de SPI. Si utiliza la aplicación tal cual, no siga los pasos del procedimiento siguiente. trns
For transitioning users For transitioning users: Puede migrar aplicaciones de gestión de trabajos paralelos a WebSphere Application Server Versión 8.5. Añada las clases de implementación de API al EAR de la aplicación. Vuelva a crear el xJCL tal como se describe en el procedimiento siguiente. trns

Acerca de esta tarea

Desarrollará trabajos subordinados para el trabajo de modo que los trabajos subordinados puedan ejecutarse de forma independiente y en paralelo. En primer lugar, desarrolle los criterios de división de los trabajos en trabajos subordinados. A continuación, cree una aplicación por lotes simple y convierta en paralelas las partes de la aplicación. Finalmente, cree el xJCL de los trabajos subordinados de modo que, en otro procedimiento, pueda desplegar la aplicación a continuación del otro procedimiento.

Procedimiento

  1. Desarrolle los criterios de división de los trabajos en trabajos subordinados.

    Por ejemplo, divida los trabajos en trabajos subordinados basados en sucursales bancarias, con el trabajo subordinado para cada sucursal basado en la ubicación de la misma. Para una sucursal bancaria determinada, haga que el trabajo subordinado calcule el saldo de cada cuenta al final del día según las transacciones diarias de la misma.

  2. Cree una aplicación de proceso por lotes simple para procesar la información como un trabajo.
  3. Convierta en paralelas las partes de la aplicación.

    Implemente la API de parámetros para dividir el trabajo de la aplicación de proceso por lotes en varios trabajos subordinados.

  4. Opcional: Recopile información acerca de un trabajo subordinado en ejecución.

    Utilice la API SubJobCollector para recopilar la información.

  5. Opcional: Analice la información recopilada acerca del trabajo subordinado.

    Utilice la API SubJobAnalyzer para analizar la información.

  6. Cree el xJCL.

    Inicie el xJCL desde el trabajo que ha creado para la aplicación de proceso por lotes simple.

    1. Especifique el elemento de ejecución (run) como hijo del elemento de trabajo (job).
      1. Establezca el atributo instances del elemento run en multiple.
      2. Establezca el atributo de máquina virtual Java™ (JVM) del elemento run en single o multiple.

        Utilice el atributo single para ejecutar todos los trabajos subordinados en la misma JVM. Utilice el atributo multiple para ejecutar los trabajos subordinados en cualquier JVM válida.

      <run instances="multiple" jvm="multiple">

      Puede especificar el elemento run como hijo de un paso. En este caso, el paso se ejecutará como trabajo paralelo. El contenido del xJCL del paso se utiliza para generar xJCL de trabajo subordinado de un paso.

    2. Especifique un elemento prop como hijo del elemento run para cada API de PJM.
      1. Especifique la API de PJM en el atributo name.
        Las API siguientes son válidas para el PJM:
        • com.ibm.websphere.batch.parallel.parameterizer
        • com.ibm.websphere.batch.parallel.synchronization
        • com.ibm.websphere.batch.parallel.subjobanalyzer
        • com.ibm.websphere.batch.parallel.subjobcollector
      2. Establezca el atributo value en un nombre para la API.
    3. Incluya un elemento prop para especificar el nombre del trabajo subordinado.
      1. Establezca el atributo name en com.ibm.wsspi.batch.parallel.subjob.name.
      2. Establezca el atributo value en el nombre del trabajo.
    4. Opcional: Incluya un elemento prop para indicar el número de trabajos.
      1. Establezca el atributo name en parallel.jobcount.
      2. Establezca el atributo value en un valor para el número de trabajos.
    5. Especifique el resto de propiedades de nivel de trabajo.
    <run instances="multiple" jvm="multiple">
        <props>
            <prop name="com.ibm.websphere.batch.parallel.parameterizer" 
             value="com.ibm.websphere.samples.spi.MailerParameterizer"/>
            <prop name="com.ibm.websphere.batch.parallel.synchronization" 
             value="com.ibm.websphere.samples.spi.MailerTXSynchronization"/>
            <prop name="com.ibm.websphere.batch.parallel.subjobanalyzer" 
             value="com.ibm.websphere.samples.spi.MailerSubJobAnalyzer"/>
            <prop name="com.ibm.websphere.batch.parallel.subjobcollector" 
             value="com.ibm.websphere.samples.spi.MailerSubJobCollector"/>
            
            <prop name="com.ibm.wsspi.batch.parallel.subjob.name" 
             value="MailerSampleSubJob" />
    			
            <!-- El número de subtrabajos paralelos que deben someterse -->
            <prop name="parallel.jobcount" value="3" />
    
        </props>
      </run>
  7. Incluya las tres mismas propiedades de nivel de paso en cada paso en el xJCL.
    <prop name="com.ibm.wsspi.batch.parallel.jobname" value="${parallel.jobname}" />
    <prop name="com.ibm.wsspi.batch.parallel.logicalTXID" value="${logicalTXID}" />
    <prop name="com.ibm.wsspi.batch.parallel.jobmanager" value="${parallel.jobmanager}" />

Resultados

Ha creado un trabajo con trabajos subordinados que pueden ejecutarse independiente y en paralelo.

Qué hacer a continuación

Despliegue la aplicación como haría con otras aplicaciones de proceso por lotes.

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tgrid_cgpjmdevelop
File name: tgrid_cgpjmdevelop.html