In questa sezione viene descritto il modello di programmazione WPF (partitioning facility) in WebSphere Extended Deployment per z/OS V6.0.1.
Poiché l'instradamento WPF-WLM Internet Inter-ORB Protocol (IIOP) non è supportato in WebSphere Extended Deployment per z/OS V6.0.1, le applicazioni devono gestire l'instradamento delle proprie partizioni mediante la tecnologia Java Message Service (JMS) o con altri meccanismi.
Il meccanismo di instradamento basato su JMS (Java Message Service) è illustrato nella figura seguente. Sono riportate due richieste, la richiesta 1 e la richiesta 2. Ogni richiesta deve arrivare a un argomento o a una coda JMS indicata per l'instradamento di una partizione. L'argomento o la coda JMS deve quindi inoltrare la richiesta alla partizione di destinazione, che prepara l'elaborazione della richiesta e invia la risposta a un argomento o a una coda JMS per l'instradamento delle risposte. Nonostante i passi di esecuzione siano gli stessi, l'ordine di esecuzione delle richieste non è garantito in quanto molti fattori dipendono dall'esecuzione, tra cui l'ubicazione della macchina, le prestazioni del server e la configurazione della rete.
Gli instradamenti della richiesta per la richiesta 1 (1-1.3) e la richiesta 2 (2-2.3) sono riportati nella figura seguente, in cui Appclient richiama le risposte (3).
La seguente procedura descrive l'instradamento della richiesta 1. La richiesta 2 o qualsiasi altra richiesta segue la stessa via. Ogni esecuzione di richiesta è indipendente dalle altre e l'ordine con cui queste vengono ricevute non è garantito.
Le partizioni dell'applicazione in ClusterMembers sono collegate e utilizzano sempre l'argomento o la coda JMS corrispondente (mediante AsyncBean). Ad esempio, nella Partizione 1 (P1), le partizioni dell'applicazione ricevono i messaggi JMS quando arrivano nuovi messaggi sull'argomento o sulla coda JMS corrispondente.
Proprio come per le normali applicazioni abilitate per WPF, esiste un bean PSSB (partitioned stateless session bean) che implementa l'interfaccia PartitionHandlerLocal. Il metodo partitionLoadEvent(String partitionName) e partitionUnloadEvent(String partitionName) dell'interfaccia PartitionHandlerLocal sono i punti per collegare e scollegare una partizione da un argomento o una coda JMS.
partitionLoadEvent(String partitionName) - Ciò significa che la partizione con il nome del partitionName inviato viene attivata sul sistema. Avviare o abilitare il thread di lavoro della partizione (oppure utilizzare il thread di lavoro AsyncBean) collegato all'argomento o alla coda JMS designata per la partizione partitionName. È necessario conservare un riferimento al thread di lavoro della partizione in modo da poterlo arrestare o eliminare quando si verifica un partitionUnloadEvent corrispondente.
partitionUnloadEvent(String partitionName) - Ciò significa che la partizione con il nome del partitionName inviato viene disattivata sul sistema. Il thread di lavoro della partizione verrà scollegato dall'argomento o dalla coda JMS designata per la partizione partitionName e verrà arrestato o eliminato.
Related concepts
Limitazioni z/OS in WPF