Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Esporta (0) Stampa
Espandi tutto

Protezione, affidabilità, scalabilità e disponibilità di Notification Services

SQL Server 2005

Un sistema aziendale deve essere sicuro, affidabile, scalabile e disponibile. Microsoft SQL Server Notification Services soddisfa questi requisiti nell'infrastruttura di programmazione e nell'architettura del server che esegue Notification Services.

Notification Services, Microsoft .NET Framework e SQL Server sono caratterizzati da funzionalità che consentono agli sviluppatori di applicazioni e agli amministratori di garantire protezione end-to-end alle applicazioni e alla distribuzione in generale:

  • In Notification Services sono disponibili modelli di protezione Web standard che consentono le comunicazioni via Internet tramite dispositivi con e senza fili. Per proteggere il server, vengono utilizzati i meccanismi di protezione standard di Microsoft Windows e quelli basati su SQL Server 2005.
  • Le singole istanze di Notification Services sono isolate tra loro tramite meccanismi di protezione basati su SQL Server 2005. In tal modo, è possibile ospitare più istanze nello stesso computer senza che ciò determini problemi per la protezione delle istanze stesse. Per isolare completamente le istanze, non inserire più istanze nello stesso database, in quanto le istanze condividono i ruoli del database.
  • I singoli sottoscrittori sono isolati tra loro grazie al modo in cui le notifiche vengono generate e distribuite. Di conseguenza, ogni sottoscrizione viene elaborata come se fosse l'unica che il sistema gestisce.
  • Le azioni condizionali, che supportano le query definite dall'utente in un set di dati specifico, richiedono account utente di database distinti per impedire agli utenti di accedere ad altri dati presenti nel server.
  • Gli sviluppatori possono ampliare le funzionalità di Notification Services definendo provider di eventi personalizzati, che vengono eseguiti come codice gestito supportato da .NET Framework, garantendo in tal modo la protezione del server.

Motore di database di SQL Server 2005 archivia i dati ed elabora le sottoscrizioni in modo molto affidabile, garantendo a Notification Services i vantaggi seguenti:

  • I dati relativi alle sottoscrizioni gestiti da Notification Services vengono archiviati in SQL Server 2005, un server di database a elevata affidabilità che supporta i log write-ahead e il clustering di failover.
  • L'elaborazione di eventi, sottoscrizioni e notifiche in Notification Services avviene sempre mediante transazioni. Ciò rappresenta un'ulteriore garanzia di affidabilità. Si noti che alcuni protocolli di recapito, ad esempio SMTP (Simple Mail Transfer Protocol), non garantiscono il recapito dei messaggi. Tuttavia, la piattaforma di Notification Services supporta la logica di riesecuzione dei tentativi, in base alla quale le applicazioni inviano nuovamente i messaggi per tentarne di nuovo il recapito.

Inoltre, dato che in Notification Services si utilizza codice gestito per i componenti personalizzati, non si corre il rischio che questi pregiudichino la stabilità del sistema. Gli sviluppatori di applicazioni possono creare provider di eventi e protocolli di recapito affidabili, basati ad esempio sul servizio di accodamento dei messaggi (MSMQ), ottenendo in tal modo completa affidabilità end-to-end.

Notification Services supporta potenti applicazioni in grado di gestire migliaia di eventi in ingresso al minuto, la ricerca di una corrispondenza con milioni di sottoscrizioni e il recapito di migliaia di notifiche al minuto in un server multiprocessore basato su Windows. La scalabilità delle applicazioni si ottiene in diversi modi:

  • Le interfacce per la gestione delle sottoscrizioni possono essere eseguite in parallelo, sfruttando la scalabilità verticale del Motore di database di SQL Server sottostante.
  • Notification Services supporta il multithreading e garantisce la scalabilità verticale quando viene eseguito in un computer multiprocessore.
  • È possibile distribuire il servizio Notification Services in un server e il database Notification Services in un altro. Questo tipo di configurazione risulta molto efficiente, in quanto la generazione delle notifiche viene eseguita nel server di database mentre la formattazione delle notifiche viene eseguita nel server di Notification Services.
  • Un'unica istanza è in grado di supportare più provider di eventi e distributori. È possibile distribuire i provider di eventi, il generatore e i distributori su più server. La possibilità di ottenere la scalabilità orizzontale per i distributori è importante nelle tipologie di distribuzione che devono supportare grandi volumi di notifiche con una significativa quantità di operazioni di formattazione e recapito.
  • Per ottenere una maggiore scalabilità orizzontale, è possibile suddividere le sottoscrizioni tra più istanze di Notification Services, ognuna delle quali viene eseguita in modo indipendente. Dato che il modello di applicazione prevede che le sottoscrizioni siano indipendenti tra loro, questo tipo di suddivisione risulta del tutto logica. Di conseguenza, la scalabilità delle applicazioni di notifica è notevole. È necessario implementare la suddivisione delle sottoscrizioni nell'applicazione, in quanto Notification Services non esegue automaticamente questa operazione.

Tutti i dati e le informazioni sullo stato di un'istanza di Notification Services vengono gestiti nel server di database SQL Server. Solo i dati temporanei vengono gestiti dal provider di eventi, dal generatore e dal distributore.

SQL Server 2005, in cui vengono memorizzati ed elaborati i dati, è un server di database affidabile dotato di varie tecnologie a elevata disponibilità, quali il clustering di failover, la distribuzione dei log e la replica transazionale. È possibile configurare il server di database in modo che gli eventuali errori hardware vengano gestiti automaticamente.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft