Acceso al bean de sesión local

Una aplicación accede al bean de sesión local adecuado mediante la interfaz inicial del bean.

El bean de sesión puede ser el bean de sesión de LocalBusinessFlowManager para las aplicaciones de proceso o el bean de sesión LocalHumanTaskManager para las aplicaciones de tareas humanas.
  1. Añada una referencia al bean de sesión local en el descriptor de despliegue de la aplicación. Añada la referencia a uno de los archivos siguientes:
    • El archivo application-client.xml, para una aplicación de cliente J2EE (Java 2 Platform, Enterprise Edition)
    • El archivo web.xml para una aplicación Web
    • El archivo ejb-jar.xml, para una aplicación Enterprise JavaBeans (EJB)
    La referencia a la interfaz inicial local para aplicaciones de proceso se muestra en el ejemplo siguiente:
    <ejb-local-ref>
    	<ejb-ref-name>ejb/LocalBusinessFlowManagerHome</ejb-ref-name>
    	<ejb-ref-type>Session</ejb-ref-type>
    	<local-home>com.ibm.bpe.api.LocalBusinessFlowManagerHome</local-home>
    	<local>com.ibm.bpe.api.LocalBusinessFlowManager</local>
    </ejb-local-ref>
    La referencia a la interfaz inicial local para aplicaciones de tarea se muestra en el ejemplo siguiente:
    <ejb-local-ref>
    	<ejb-ref-name>ejb/LocalHumanTaskManagerHome</ejb-ref-name>
    	<ejb-ref-type>Session</ejb-ref-type>
    	<local-home>com.ibm.task.api.LocalHumanTaskManagerHome</local-home>
    	<local>com.ibm.task.api.LocalHumanTaskManager</local>
    </ejb-local-ref>

    Si utiliza WebSphere Integration Developer para añadir la referencia EJB al descriptor de despliegue, el enlace para la referencia EJB se crea automáticamente cuando se despliega la aplicación. Para obtener más información sobre cómo añadir referencias EJB, consulte la documentación de WebSphere Integration Developer.

  2. Con los mecanismos de búsqueda JNDI (Java Naming and Directory Interface), haga que la interfaz inicial local del bean de sesión local esté disponible para la aplicación. El ejemplo siguiente muestra este paso para una aplicación de proceso:
    // Obtener el contexto inicial por omisión de JNDI
    InitialContext initialContext = new InitialContext();
    
      // Buscar la interfaz inicial local del bean LocalBusinessFlowManager
     
       LocalBusinessFlowManagerHome processHome = 
            (LocalBusinessFlowManagerHome)initialContext.lookup
            ("java:comp/env/ejb/LocalBusinessFlowManagerHome");
    La interfaz inicial del bean de sesión local contiene un método create para objetos EJB. El método devuelve la interfaz local del bean de sesión.
  3. Acceda a la interfaz local del bean de sesión local. El ejemplo siguiente muestra este paso para una aplicación de proceso:
    LocalBusinessFlowManager process = processHome.create();
  4. Llame a las funciones de empresa expuestas por la interfaz de servicio. El ejemplo siguiente muestra este paso para una aplicación de proceso:
    process.initiate("MyProcessModel",input);
    Las llamadas procedentes de las aplicaciones se ejecutarán como transacciones. Se establece y finaliza una transacción de alguna de las formas siguientes:
    • Automáticamente, por parte de WebSphere Application Server (el descriptor de despliegue especifica TX_REQUIRED).
    • Explícitamente, por parte de la aplicación. Puede empaquetar las llamadas de aplicación en una transacción:
      // Obtener interfaz de transacción de usuario
         UserTransaction transaction=
             (UserTransaction)initialContext.lookup("jta/usertransaction");
      
         // Iniciar una transacción
         transaction.begin();
      
           // Llamadas de aplicaciones ...
      
         // Cuando se devuelva de forma satisfactoria, confirmar la transacción
         transaction.commit();
Éste es un ejemplo de cómo los pasos 2 a 4 pueden buscar una aplicación de tareas.
// Obtener el contexto inicial por omisión de JNDI
InitialContext initialContext = new InitialContext();

  // Buscar la interfaz inicial local del bean LocalHumanTaskManager
 
   LocalHumanTaskManagerHome taskHome = 
        (LocalHumanTaskManagerHome)initialContext.lookup
        ("java:comp/env/ejb/LocalHumanTaskManagerHome");

...
//Acceder a la interfaz local del bean de sesión local
LocalHumanTaskManager task = taskHome.create();
...
//Llamar a las funciones de empresa expuestas por la interfaz de servicio
task.callTask(tkiid,input);

Condiciones de uso |

Última actualización: Wed Apr 19 21:34:07 2006

(c) Copyright IBM Corporation 2005, 2006.
Este centro de información está basado en tecnología Eclipse (http://www.eclipse.org)