Nuovo Service Broker
Microsoft SQL Server 2005 introduce Service Broker, una nuova tecnologia per la creazione di applicazioni distribuite con utilizzo esteso dei servizi di database protette, affidabili e scalabili.
Descrizione di Service Broker
Service Broker fa parte di Motore di database e fornisce:
- Funzionalità per l'archiviazione di code di messaggi in database di SQL Server.
- Nuove istruzioni Transact-SQL che le applicazioni possono utilizzare per l'invio e la ricezione di messaggi. Ogni messaggio fa parte di un dialogo, un canale di comunicazione affidabile e persistente fra due partecipanti.
Service Broker fornisce funzionalità esclusive sia per applicazioni nell'ambito di un'unica istanza di SQL Server che per applicazioni che distribuiscono il lavoro fra più istanze di SQL Server.
Nell'ambito di un'istanza di SQL Server, Service Broker fornisce un potente modello di programmazione asincrona. La programmazione asincrona consente alle applicazioni di database di migliorare il tempo di risposta e aumentare la velocità effettiva eseguendo le attività che richiedono l'utilizzo di molte risorse man mano che le risorse diventano disponibili.
Service Broker offre inoltre servizi di messaggistica affidabili fra istanze di SQL Server e supporta le applicazioni architettate come servizi. In questa architettura, la logica del sistema aziendale viene implementata sotto forma di una serie di servizi in rete. Le applicazioni che richiedono la funzionalità esposta in questi servizi utilizzano messaggi per interagire con i servizi. Service Broker utilizza il protocollo TCP/IP per lo scambio di messaggi fra le istanze. Include inoltre funzionalità per la prevenzione degli accessi non autorizzati dalla rete e per la crittografia dei messaggi inviati in rete.
Il modello di programmazione di Service Broker è identico per i messaggi nell'ambito di una stessa istanza di SQL Server e i messaggi fra istanze diverse. Grazie a un modello di programmazione consistente, le applicazioni che utilizzano Service Broker supportano in modo semplice soluzioni di scalabilità verticale e orizzontale senza necessità di modifiche al codice dell'applicazione. Le applicazioni utilizzano Service Broker per lo scambio affidabile di messaggi, anche quando non sono in esecuzione o non sono connesse alla rete nello stesso momento.
L'implementazione della messaggistica in SQL Server mediante Service Broker offre i vantaggi seguenti:
- Elevata scalabilità. Le code di messaggi fanno parte dei database di SQL Server e possono trarre vantaggio dalle capacità in termini di prestazioni di Motore di database di SQL Server. È inoltre possibile eseguire più istanze dei servizi per l'elaborazione dei messaggi da una coda, aumentando la scalabilità delle applicazioni di livello intermedio. Service Broker include funzionalità integrate di attivazione dei programmi, che consentono alle applicazioni di utilizzare le risorse di sistema in modo efficiente. Un'applicazione di Service Broker può adattarsi in modo dinamico alle variazioni del carico di lavoro del servizio.
- Coordinazione, ordinamento e blocco dei messaggi. Service Broker gestisce automaticamente molte delle complesse attività necessarie alla creazione di applicazioni di messaggistica. Un'applicazione che utilizza Service Broker riceve sempre tutti i messaggi di una conversazione esattamente una volta. I messaggi arrivano alla conversazione nell'ordine in cui sono stati inviati. I messaggi delle conversazioni associate vengono automaticamente raggruppati per consentire a un'applicazione di coordinare facilmente i messaggi destinati a servizi diversi. Service Broker consente la lettura dei messaggi in un gruppo di conversazioni a un solo utente per volta. Le applicazioni utilizzano questo blocco integrato per l'esecuzione sicura ed efficiente dei processi simultanei.
- Integrazione con i dati di database. Le code di messaggi archiviate in un database di SQL Server fanno parte del database. Diventano parte integrante dei backup del database e vengono ripristinati con i dati ogni volta che si esegue il ripristino del database da un backup. Le operazioni di messaggistica sono parte integrante di tutte le transazioni che includono dati di database. Non è necessario gestire transazioni distribuite, come avviene quando una coda di messaggi viene gestita da un servizio separato dal server del database.
- Integrazione con la protezione del database. Service Broker utilizza le funzionalità di protezione di SQL Server 2005 per mantenere la protezione delle applicazioni.
Per ulteriori informazioni su Service Broker, vedere Introduzione a Service Broker.
Vedere anche
Concetti
Altre risorse
Introduction to Service Broker Programming