Descrive le diverse opzioni di configurazione per gli scenari di Business Process Choreographer che utilizzano i cluster.
Di seguito sono riportati i vantaggi principali dell'utilizzo dei cluster di WebSphere® Process Server per le istanze di Business Process Choreographer (BPC):
E' possibile configurare Process choreographer in molti modi diversi, per cui le configurazioni dei cluster sono di solito molto complesse. Alcune delle opzioni principali da considerare prima di avviare la creazione dei server delle applicazioni sono tracciate nelle seguenti descrizioni:
Una distribuzione del carico di lavoro tra varie istanze di Business Process Choreographer richiede che i gestori code utilizzati dal contenitore business processo di ciascun server dell'applicazione siano membri dello stesso cluster di WebSphere MQ. Questa configurazione non fornisce failover, quindi, in genere, non è consigliata.
Tipi di cluster: questo argomento fa riferimento a due diversi tipi di cluster. Un cluster di WebSphere raggruppa i server dell'applicazione per condividere il carico di lavoro ed incrementare la disponibilità del servizio. Un cluster di WebSphere MQ, precedentemente noto come cluster MQSeries® raggruppa i gestori code WebSphere MQ e può essere utilizzato per ottenere un bilanciamento del carico di lavoro interno ai processi.
Per raggiungere un'elevata disponibilità dei servizi di Business Process Choreographer, è bene considerare gli elementi seguenti:
Per migliorare le prestazioni, si potrebbero creare più istanze di server delle applicazioni sullo stesso nodo in modo che sia possibile per Business Process Choreographer utilizzare le risorse di sistema disponibili.
Il risultato di inserire gestori code che non ospitano code è che i messaggi vengono distribuiti attraverso tutti i gestori code in arrivo. Una volta utilizzata la procedura guidata di installazione per installare e configurare il contenitore processi aziendali sul cluster, è necessario modificare manualmente le due produzioni connessioni per server delle applicazioni in modo da puntare ai gestori code locali in arrivo ed in uscita.
Si consiglia di collocare il database su un server dedicato, preferibilmente con hot standby. Il database può trovarsi su un server che si trova all'esterno della cella di WebSphere, tuttavia il gestore distribuzione deve disporne dell'accesso.
Quando si pianifica il database, è bene considerare i punti seguenti:
Business Process Choreographer può utilizzare la messaggistica predefinita di WebSphere, che supporta l'organizzazione in cluster, la gestione del carico di lavoro e il failover.
Per ulteriori informazioni sulle considerazioni che si applicano quando viene utilizzata la messaggistica predefinita, fare riferimento all'argomento Creazione di un ambiente organizzato in cluster.
Business Process Choreographer (BPC) può utilizzare le code WebSphere MQ per ricevere le richieste ed inviare le risposte. WebSphere MQ non è consigliato come provider JMS se viene utilizzato uno scenario organizzato in cluster. Se si utilizza WebSphere MQ per BPC, è necessario configurare anche la messaggistica predefinita per SCA (Service Component Architecture), utilizzata da BPC per il richiamo del servizio in entrata ed in uscita. Ciascun server dell'applicazione in cui si trova Business Process Choreographer richiede una delle seguenti opzioni:
Gestore code centrale
Utilizzando un gestore code centrale per tutte le code si facilita la gestione. Un gestore code viene utilizzato da tutti i contenitori clonati per le human task ed i processi aziendali. Tuttavia, l'utilizzo di un gestore code ventrale crea un punto di errore singolo che è necessario venga ospitato su un sistema ad elevata disponibilità.
La figura di seguito riportata illustra tutti i server dell'applicazione in un cluster WebSphere che utilizza un gestore code centrale singolo su un altro server. E' possibile che ogni server delle applicazioni mostrato con un contenitore di processi aziendali disponga di un contenitore human task.
Gestore code locale senza organizzazione in cluster di WebSphere MQ
Questo esempio presenta la configurazione standard autonoma di Business Process Choreographer. Ogni contenitore di processi aziendali dispone di un gestore code. Questo approccio non consente una condivisione del carico di lavoro né la disponibilità del servizio di failover.
Organizzazione in cluster di WebSphere MQ
Questa tecnica complessa non è consigliata. Supporta la condizione del carico di lavoro per i servizi di Business Process Choreographer in un cluster di WebSphere. I processi business nel cluster devono essere tutti eseguiti solo su stazioni di lavoro UNIX® o su Windows®, una combinazione di stazioni di lavoro UNIX e Windows non funziona.
Ogni server delle applicazioni richiede due gestori code locali, uno per i messaggi in uscita ed uno per quelli in entrata. Tutti i gestori code diventano membri dello stesso cluster di WebSphere MQ. Sui sistemi Windows, tutti i gestori code devono utilizzare lo stesso protocollo di bind. Sui sistemi UNIX, i gestori code put e get devono utilizzare protocolli diversi. Ad esempio, è possibile modificare le produzioni connessioni delle code in modo che tutti i gestori code in uscita utilizzino il protocollo di collegamento(comunicazioni tra processi) e tutti i gestori code in entrata utilizzino il protocollo client (TCP/IP) predefinito.
Su sistemi Windows e UNIX, l'utilizzo del tipo di trasmissione di bind locale è circa del 5% più veloce rispetto al tipo di trasmissione del client, ma è necessario arrestare l'intero server dell'applicazione per arrestare il gestore code locale WebSphere MQ.
Ciascun contenitore business process nel cluster WebSphere deve essere personalizzato per riflettere i relativi gestori code.
Si consiglia che più di un gestore code nel cluster di WebSphere MQ sia disposto come archivio di cluster.
La figura di seguito riportata illustra il modo in cui i gestori code utilizzati dai server dell'applicazione vengono raggruppati insieme in un cluster WebSphere MQ. Il cluster WebSphere MQ dei gestori code è parallelo al cluster di WebSphere dei server dell'applicazione. Le richieste vengono condivise attraverso le code in entrata presenti nel cluster.
Sono disponibili diverse sequenze per creare un cluster per Process choreographer. Si consiglia questa sequenza: