Sincronizzazione Web per la replica di tipo merge
La sincronizzazione Web per la replica di tipo merge consente di replicare i dati utilizzando il protocollo HTTPS e si rivela utile negli scenari seguenti:
Sincronizzazione di dati da utenti mobili su Internet.
Sincronizzazione di dati tra database MicrosoftSQL Server attraverso un firewall aziendale.
Tale funzionalità può essere ad esempio utilizzata dai rappresentanti in trasferta, come nel caso dei rappresentanti della società Adventure Works Cycles in visita a diversi magazzini e fornitori nelle rispettive aree. In occasione di viaggi di lunga durata essi alloggiano in alberghi e hanno bisogno di uno strumento di semplice utilizzo per caricare i dati delle vendite e scaricare eventuali aggiornamenti dei prodotti alla fine di ogni giornata.
Si supponga che il reparto IT di Adventure Works abbia configurato ogni computer portatile con SQL Server e abilitato la replica di tipo merge per l'utilizzo della sincronizzazione tramite il Web. L'agente di merge in ogni computer portatile dispone di un URL Internet che punta ai componenti di replica installati in un computer che esegue Microsoft Internet Information Services (IIS). Questi componenti sincronizzano il Sottoscrittore con il server di pubblicazione. Ogni rappresentante potrà connettersi mediante qualsiasi connessione Internet disponibile senza utilizzare una connessione remota, nonché caricare e scaricare i dati appropriati. Poiché la connessione Internet utilizza il protocollo SSL (Secure Sockets Layer), non è richiesta una rete privata virtuale (VPN).
Per informazioni sulla configurazione dei componenti necessari per la sincronizzazione tramite il Web, vedere Configurazione della sincronizzazione tramite il Web.
[!NOTA]
La sincronizzazione tramite il Web è progettata per sincronizzare i dati mediante computer portatili, palmari e altri client e non è adatta per le applicazioni caratterizzate da un elevato traffico tra server.
Panoramica del funzionamento della sincronizzazione Web
Quando si utilizza la sincronizzazione tramite il Web, gli aggiornamenti nel Sottoscrittore vengono assemblati e inviati come messaggio XML al computer che esegue IIS mediante il protocollo HTTPS. Il computer che esegue IIS invia quindi i comandi al server di pubblicazione in un formato binario, generalmente utilizzando il protocollo TCP/IP. Gli aggiornamenti del server di pubblicazione vengono inviati al computer che esegue IIS e quindi assemblati come messaggio XML per il recapito nel Sottoscrittore.
Nella figura seguente sono illustrati alcuni dei componenti coinvolti nel processo di sincronizzazione tramite il Web per la replica di tipo merge.
La sincronizzazione tramite il Web è disponibile solo per le sottoscrizioni pull e pertanto un agente di merge verrà sempre eseguito sul Sottoscrittore. Tale agente può essere l'agente di merge standard, il controllo ActiveX dell'agente di merge o un'applicazione che consente la sincronizzazione tramite gli oggetti RMO (Replication Management Objects). Per specificare la posizione del computer che esegue IIS, utilizzare il parametro –InternetUrl per l'agente di merge.
Listener per la replica di SQL Server (replisapi.dll) viene configurato sul computer che esegue IIS ed è responsabile della gestione dei messaggi inviati al server dal server di pubblicazione e dai Sottoscrittori. Ogni nodo nella topologia gestisce il flusso di dati XML mediante replrec.dll, ovvero Riconciliatore replica di tipo merge (Merge Replication Reconciler). Per ulteriori informazioni sulle topologie supportate, vedere Topologie per la sincronizzazione tramite il Web.
Per tutti i computer che partecipano alla sincronizzazione Web è necessario SQL Server 2005 o versione successiva.
Processo di sincronizzazione
La sincronizzazione prevede i passaggi seguenti:
L'agente di merge viene avviato nel Sottoscrittore. L'agente esegue le operazioni seguenti:
Stabilisce una connessione SQL con il database di sottoscrizione.
Estrae tutte le modifiche dal database.
Invia una richiesta HTTPS al computer che esegue IIS.
Carica le modifiche ai dati come messaggio XML.
I componenti Listener per la replica di SQL Server e Riconciliatore replica di tipo merge (Merge Replication Reconciler) ospitati nel computer con IIS eseguono le operazioni seguenti:
Rispondono alla richiesta HTTPS.
Stabiliscono una connessione SQL con il database di pubblicazione.
Applicano le modifiche caricate al database di pubblicazione.
Estraggono le modifiche scaricate per il Sottoscrittore.
Inviano una risposta HTTPS all'agente di merge.
L'agente di merge nel Sottoscrittore accetta la risposta HTTPS e applica nel database di sottoscrizione le modifiche scaricate.