Gabriele Del Giovine Blog (Z80 powered brain...)


Un blog su quel che faccio (o cerco di fare...)
Calendario
aprile 2024
lmmgvsd
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345
Archivio Posts
Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Anno 2005
Links
    Mappa
    Blogs Amici
      Statistiche
      • Views Home Page: 301.514
      • Views Posts: 366.147
      • Views Gallerie: 256
      • n° Posts: 163
      • n° Commenti: 198

      Sharepoint: Migration API e Georeplicazione

      Uno dei difetti più sentiti dagli utenti di MOSS 2007 e che hanno molte sedi geograficamente distribute è la mancanza di un sistema di distribuzione e replica dei contenuti delle sites collections. L'attuale architettura dello storage di MOSS/WSS ha come vincolo la centralizzazione dei database di contenuto nel luogo fisico in cui si trova il corrispondente SQLServer. Questo significa ad esempio avendo il DB dei contenuti a Londra gli utenti che si trovano nella sede di Pechino (o Roma) dovranno comunque prelevare i dati dal server SQL ubicato  a Londra. E' vero che la connettività WAN ormai ha raggiunto velocità che 10 anni fà avevamo nelle migliori LAN, ma è sempre un bel andirivieni di bytes che si potrebbe eliminare. Come accennato prima non c'è una funzione che prevede la replicazione e la sincronizzazione di contenuti presenti nei vari site in maniera bidirezionale. Ho detto bidirezionale, perchè in effetti esiste una API che permette la replicazione di dati one-way da un sito sorgente ad un sito destinazione: la cosiddetta Content Migration API.
      Introdotta con WSS 3.0 costituisce la base del meccanismo di deployment di contenuti WSS/MOSS da siti di test/staging a siti di produzione ed è anche la base della feature di migrazione dei contenuti da server Microsoft Content Management Server 2002 (MSCMS 2002).
      L'uso dell'API può avvenire incapsulato dal poliedrico comando STSADM -o export  -o import oppure, per i temerari DevGuri, usando queste pochissime righe di codice:
      //queste sono le namespace da referenziare
      using System;
      using System.Collections.Generic;
      using System.Windows.Forms;
      using Microsoft.SharePoint;
      using Microsoft.SharePoint.Administration;
      using MicroSoft.SharePoint.Deployment;

      //questo il codice per esportare un sito intero in un file di trasferimento

      SPExportSettings exportSettings = new SPExportSettings();
      exportSettings.SiteUrl = "http://webname";
      exportSettings.ExportMethod = SPExportMethodType.ExportAll;
      exportSettings.BaseFileName = "exportfile";
      exportsettings.FileLocation = @"c:\";
      SPExport export = new SPExport(SPExportSettings);
      Export.Run();

      //questo il codice per importare il sito precedentemente esportato nella site collection di destinazione
      SPImportSettings importSettings = new SPImportSettings;
      importSettings.BaseFileName = "exportfile";
      importSettings.FileLocation = @"c:\";
      importSettings.SiteUrl = "http://newweb";
      SPImport import = new SPImport(SPImportSettings);
      Import.Run();

      E' importante notare che gli oggetti SPExportSetting/SPImportSettings permettono di specificare come/cosa importare/esportare
      (ad esempio esportare le autorizzazioni, le versioni e il mantenimento degli GUID originali degli oggetti).

      Quello fatto però è un esempio che potrebbe trarre in inganno circa le potenzialità della Migration API.
      In realtà l'API ci permette di esportare/importare anche una singola lista. Come?
      Basta leggere la serie di articoli pubblicati da Stefan Goßner sul suo Blog.
      Ora, dato che l'appetito vien mangiando, complementando queste funzioni dell'API con un qualche meccanismo di regolamentazione
      delle operazioni di replica ed un paio di event handler (o di Workflow, fate voi) diventa possibile creare un sistema
      di replicazione bidirezionale di contenuti in maniera da avere delle farm WSS/MOSS i cui contenuti sono sincronizzati
      realizzando così la feature di geolocazione (ovvere avere i dati il più vicino possibile agli utenti) tanto agognata.
      Ovviamente in attesa di MOSS v14.....
      Categoria: Sharepoint
      lunedì, 24 set 2007 Ore. 22.41
      Copyright © 2002-2007 - Blogs 2.0
      dotNetHell.it | Home Page Blogs
      ASP.NET 2.0 Windows 2003