Condividi tramite


Architettura dei componenti in coda

Il servizio componenti in coda COM+ migliora il modello di programmazione COM fornendo un ambiente in cui un componente può essere richiamato in modo sincrono (in tempo reale) o in modo asincrono (in coda). Un componente non deve essere a conoscenza del fatto che venga usato in tempo reale o in un contesto in coda.

Le applicazioni di messaggistica sono come transazioni di posta elettronica tra programmi. Il richiedente invia un messaggio al server; quando il server lo raggiunge, il messaggio viene elaborato. Come la posta elettronica, un sistema di messaggistica deve gestire i dettagli di rete e assicurarsi che il messaggio venga spostato dal client al server. Nel framework dei componenti in coda, Accodamento messaggi è responsabile di questa operazione.

Il servizio componenti in coda COM+ è costituito dalle parti seguenti:

  • Registratore (per il client o il lato invio)
  • Listener (per il server o il lato ricezione)
  • Lettore (per il server o il lato ricezione)

Diagram that shows the path from the client to the server: client, recorder, queue, listener, player, server.

Registratore

In uno scenario tipico dei componenti in coda, il client chiama un componente in coda. La chiamata viene effettuata al registratore dei componenti in coda, che lo inserisce come parte di un messaggio al server e lo inserisce in una coda. Il registratore effettua il marshalling del contesto di sicurezza del client nel messaggio e registra tutte le chiamate al metodo del client. Nel ruolo di proxy per il componente server, il registratore seleziona le interfacce dalle interfacce accodabili nel catalogo COM+.

Una rappresentazione della registrazione viene inviata a Accodamento messaggi come messaggio da inviare a un server. Quando il componente in coda ha l'impostazione dell'attributo della transazione Richiesto o Supportato, Accodamento messaggi accetta il recapito del messaggio solo se la transazione sul lato client esegue il commit e la coda accodamento messaggi è transazionale, che è l'impostazione predefinita normalmente stabilita. Quando l'impostazione dell'attributo della transazione è Richiede nuovo, Accodamento messaggi può accettare il messaggio anche se la transazione sul lato client viene interrotta. Per altre informazioni sulle transazioni, vedere Accodamento messaggi transazionali.

The Listener

Il listener dei componenti in coda recupera il messaggio dalla coda e lo passa al lettore dei componenti in coda.

Il giocatore

Il lettore annulla ilmarsing del contesto di sicurezza del client sul lato server e quindi richiama il componente server e effettua le stesse chiamate al metodo. Le chiamate al metodo non vengono riprodotte dal lettore finché il componente client non viene completato e la transazione che ha registrato il metodo chiama i commit.

Spostamento messaggi

Lo strumento di spostamento dei messaggi dei componenti in coda è un'utilità che sposta tutti i messaggi di accodamento messaggi non riusciti da una coda a un'altra in modo che possano essere ritentati. L'utilità di spostamento dei messaggi è un oggetto di automazione che può essere richiamato con vbScript; per altre informazioni, vedere Gestione degli errori.