Microsoft Office

Integrazione dei database di Access con SharePoint

Peter Serzo

 

Panoramica:

  • Vantaggi dell'integrazione di Access e SharePoint
  • Migrazione di dati da Access a SharePoint
  • Estensione delle funzionalità di Access con SharePoint

Quando parlo con gli utenti finali di Microsoft Office SharePoint Server (MOSS) 2007, chiedo sempre loro di illustrarmi gli strumenti che utilizzano e il modo in cui li utilizzano. Senza dubbio, qualcuno all'interno

dell'organizzazione utilizza Microsoft® Office AccessTM per soddisfare al meglio le esigenze aziendali critiche. Access è ancora uno strumento valido e costituisce una risorsa importante in molte aziende.

MOSS 2007 consente di utilizzare le applicazioni basate su Access e di integrarle in SharePoint® per creare una nuova soluzione con ulteriori potenzialità. Lo scopo di questo articolo è illustrare come e dove MOSS si integra con Access e in che modo un utente finale può configurare questi due prodotti per creare una soluzione.

La tecnologia sottostante che MOSS introduce in Access incorpora il flusso di lavoro, un repository comune (SQL Server®) e un'interfaccia basata sul Web (il browser). Le funzionalità di SharePoint includono la gestione di documenti, le aree di lavoro e la capacità di impostare elenchi personalizzati nonché di utilizzare flussi di lavoro incorporati e web part standard, che coprono qualsiasi aspetto, dall'annuncio di eventi alla creazione di un elenco di contatti o un elenco di problemi e alla gestione di moduli creati dall'utente. Inoltre, la facilità di utilizzo e le tecnologie familiari di Office contribuiranno a incrementare il senso di "empowerment" dell'utente finale. Come si vedrà, MOSS non rappresenta affatto una minaccia per le soluzioni attualmente implementate. Al contrario, MOSS garantisce una maggiore efficienza, in quanto elimina la necessità di riscrivere le applicazioni, consentendo agli utenti finali di focalizzare l'attenzione sulla risoluzione dei problemi legati al business anziché dei problemi tecnici.

Questo rappresenta un vantaggio non solo per l'utente finale. Non sono pochi infatti i problemi che i reparti IT e gli amministratori devono affrontare per assistere gli utenti finali nella gestione di tutti i database personalizzati all'interno di un'azienda. Molti di loro non sanno neppure che Access viene utilizzato per risolvere problemi aziendali di importanza critica fino a quando non insorgono problemi specifici, come limiti di archiviazione, accesso multiutente, sicurezza, ripristino di database danneggiati, utilizzo del Web, versioni di Access non compatibili e distribuzione di modifiche su più desktop. SharePoint fornisce una risposta per ciascuno di questi problemi.

Sebbene Access presenti alcuni limiti, è un'applicazione potente e di facile utilizzo, in particolare per coloro che non sono sviluppatori professionisti. In un'unica soluzione è possibile creare tabelle relazionali configurabili, eseguire query semplici e complesse, disporre di una funzionalità di creazione di moduli front-end tramite trascinamento, usufruire di report basati sui dati e avere la possibilità di configurare più utenti. La creazione di soluzioni basate su Access e SharePoint si rivela utile sia per le organizzazioni che intendono riunire risorse e talento che per i singoli utenti che desiderano sfruttare le applicazioni e le esperienze create nel corso degli anni.

Introduzione

Access 2007 fornisce diversi punti per l'integrazione con MOSS 2007 che, come illustrato nella Figura 1, includono: importazione di dati da un elenco di SharePoint, pubblicazione di dati in un sito di SharePoint, creazione di un elenco di SharePoint, utilizzo di dati SharePoint come origine esterna, migrazione di un database di Access a un sito SharePoint nuovo o esistente e accesso in modalità non in linea ai dati SharePoint.

Figura 1 Access 2007 fornisce semplici punti di ingresso per l'integrazione con SharePoint

Figura 1** Access 2007 fornisce semplici punti di ingresso per l'integrazione con SharePoint **(Fare clic sull'immagine per ingrandirla)

La creazione di un elenco di SharePoint da una tabella di Access rappresenta un buon punto d'inizio. Un elenco di SharePoint è molto simile a una tabella di Access. Viene salvato nel database dei contenuti di SQL Server, contiene specifici attributi di campo e supporta le ricerche.

Di seguito vengono riportate alcune limitazioni da prendere in considerazione quando si crea un elenco di SharePoint: Per ottenere prestazioni ottimali, Microsoft consiglia un limite di 2.000 elementi per ogni visualizzazione; SharePoint non prevede l'applicazione dell'integrità referenziale; gli oggetti OLE non vengono esportati in SharePoint; la convalida dei dati è limitata.

Per creare un elenco di SharePoint da una tabella di Access, scegliere la scheda Dati esterni, quindi fare clic sul pulsante Elenco SharePoint attivato sotto la casella di gruppo Esporta. A questo punto, per specificare il sito di SharePoint in cui questo elenco sarà attivo, compilare la finestra di dialogo Esporta - Sito di SharePoint, illustrata nella Figura 2, o fare clic con il pulsante destro del mouse sulla tabella e scegliere Esportare i dati in un elenco di SharePoint. Tenere presente che se la tabella è una tabella figlio in una relazione, verranno esportate anche tutte le tabelle padre.

Figura 2 I dati di Access verranno esportati nel sito di SharePoint specificato

Figura 2** I dati di Access verranno esportati nel sito di SharePoint specificato **(Fare clic sull'immagine per ingrandirla)

Una volta completato il processo di esportazione, è possibile salvare la procedura di esportazione in modo da evitare di ripeterla. A questo punto, è possibile accedere al sito di SharePoint e visualizzare i dati caricati. Questa semplice operazione è utile per spostare i dati in SharePoint e renderli accessibili agli utenti. I vantaggi che ne derivano sono una maggiore sicurezza, in quanto i dati ora vengono salvati in un database di SQL Server, e una maggiore semplicità di accesso, in quanto le informazioni sono disponibili tramite il browser.

Tuttavia, un'altra operazione, il collegamento degli elenchi di SharePoint come tabelle di Access, rappresenta un metodo molto più efficace per l'integrazione di Access e SharePoint. A tal fine, fare clic sulla scheda Dati esterni in Access e selezionare Elenco SharePoint nella casella di gruppo Importa. Verrà visualizzata la finestra di dialogo illustrata nella Figura 3.

Figura 3 Collegamento di Access con SharePoint

Figura 3** Collegamento di Access con SharePoint **(Fare clic sull'immagine per ingrandirla)

Selezionare il sito che contiene l'elenco di SharePoint che verrà utilizzato come origine dati collegata, quindi selezionare l'elenco che si desidera collegare. Una volta completata questa operazione, l'elenco verrà visualizzato come tabella collegata in Access e, nell'angolo inferiore destro dell'applicazione, verrà visualizzato l'indicatore "In linea con SharePoint". A questo punto, viene eseguita la sincronizzazione bidirezionale tra Access e SharePoint, che fornisce il supporto per le operazioni di aggiunta, modifica ed eliminazione da SharePoint o Access. Come si vedrà, per fornire funzionalità aggiuntive, è possibile scrivere il codice a fronte della tabella.

Quando si esegue il collegamento agli elenchi di SharePoint in Access, per impostazione predefinita, viene importata e collegata anche un'altra tabella, Elenco informazioni utente di Windows® SharePoint Services (WSS). Viene inoltre creata una tabella di problemi denominata "Problemi durante lo spostamento al sito di SharePoint". In questa tabella è possibile esaminare eventuali conflitti con i dati.

Per ulteriori informazioni sulla migrazione dei dati e sulla modalità di gestione dei tipi di dati durante la conversione, vedere "Modalità di conversione tra i tipi di dati in Access e SharePoint" (office.microsoft.com/en-us/access/HP010477131033.aspx) e la sezione "Limitazioni della migrazione " in "Spostamento delle tabelle di un database di Access in un sito di SharePoint e collegamento tra il sito e le tabelle" (office.microsoft.com/en-us/access/HA101314681033.aspx).

Un terzo metodo per integrare le tabelle e gli elenchi può essere implementato tramite SharePoint. Selezionare un elenco e nella scheda Azioni fare clic su "Apri con Access". Verrà visualizzata una finestra di dialogo in cui viene richiesto il nome del database (nuovo o esistente). Dopo aver immesso il nome del database, specificare se eseguire semplicemente il collegamento ai dati nel sito di SharePoint o esportarli direttamente in Access (vedere la Figura 4).

Figura 4 Come rendere raggiungibili i dati SharePoint tramite Access

Figura 4** Come rendere raggiungibili i dati SharePoint tramite Access **(Fare clic sull'immagine per ingrandirla)

Spostamento di un database in SharePoint

Finora è stato illustrato come importare un elenco di SharePoint come tabella collegata e come esportare le tabelle in SharePoint sotto forma di elenchi. Tuttavia, come bisogna procedere se si desidera accedere all'intero database? Molte organizzazioni in cui le applicazioni critiche per le strategie aziendali vengono eseguite in Access hanno l'esigenza che tali applicazioni siano disponibili in modalità remota, in modo da consentire ai singoli utenti di eseguire report e query e di immettere dati. In tali situazioni, non è sempre possibile riscrivere l'applicazione, in quanto la scelta di questo approccio si basa sia sulle risorse economiche che sul livello delle conoscenze disponibili. Con SharePoint e Access questo problema viene risolto grazie all'opzione "Migrazione guidata a sito di SharePoint", disponibile nella scheda Elenchi SharePoint di Access. Questa opzione è simile all'opzione per lo spostamento di dati in SQL Server utilizzando l'Upsize guidato, introdotto per la prima volta con Access 97.

Lo spostamento di un intero database di Access in SharePoint fornisce diversi vantaggi: tutte le tabelle vengono convertite in elenchi di SharePoint; viene eseguito un backup del database di Access; gli elenchi diventano automaticamente tabelle collegate in Access; è possibile spostare l'intero database, non solo le tabelle; il database funziona allo stesso modo in cui funzionava prima dello spostamento.

Quando si fa clic sul pulsante per lo spostamento in SharePoint, viene visualizzata la finestra di dialogo riportata nella Figura 5. Una volta specificato il sito, è necessario specificare se selezionare l'opzione per salvare il database. In tal caso, l'intero database verrà salvato nella raccolta documenti selezionata. Questo significa che l'intero database, compresi maschere, report, query e macro, viene salvato in SharePoint e viene reso disponibile sul server. Quando un utente desidera accedere al database, è sufficiente fare clic sulla raccolta in cui si trova e il database viene automaticamente distribuito sul relativo desktop.

Figura 5 Specificare il sito di SharePoint in cui si desidera spostare il database

Figura 5** Specificare il sito di SharePoint in cui si desidera spostare il database **(Fare clic sull'immagine per ingrandirla)

Quando si sceglie di spostare l'intero database, viene visualizzata la barra dei messaggi Pubblica modifiche sotto la barra multifunzione. Questo consente di mantenere le modifiche locali al progetto e di garantire la sincronizzazione dei dati con la copia sul server. Se si sceglie di non selezionare questa opzione, solo le tabelle verranno convertite in elenchi e collegate in Access. In questo caso, l'intero database non sarà disponibile alla comunità di utenti e non ne verrà eseguito il backup come oggetto in SharePoint.

Dopo aver specificato una di queste opzioni, il database e le informazioni associate saranno disponibili tramite il sito di SharePoint selezionato. Viene di nuovo creata automaticamente una tabella denominata "Problemi durante lo spostamento al sito di SharePoint". In questa tabella vengono documentati tutti i conflitti dovuti alla migrazione. È possibile esaminare tutti i problemi che si verificano in Access durante il caricamento della tabella nel sito di SharePoint.

Visualizzazioni, moduli e report

Una volta spostato il database, è opportuno testarne le funzionalità. Assicurarsi che l'indicatore "In linea con SharePoint" sia visibile prima di iniziare. Notare che le query di Access diventano visualizzazioni di SharePoint; una visualizzazione di SharePoint è molto simile a una query di Access.

Quando si sposta l'intero database, le query esistenti vengono copiate in SharePoint come visualizzazioni. Gli utenti di Access sono consapevoli del fatto che la scrittura di query consente di visualizzare un sottoinsieme di dati. L'acquisizione delle conoscenze necessarie per eseguire questa operazione in una visualizzazione di SharePoint consentirà di comprendere il modo in cui i dati vengono organizzati in un elenco di SharePoint.

Una delle visualizzazioni più utili che è possibile creare è una visualizzazione di Access. A tal fine, accedere all'elenco in cui si desidera creare la visualizzazione, quindi scegliere Visualizzazioni e Crea visualizzazione. Verrà visualizzata l'opzione Visualizzazione di Access, che consente di creare maschere e report in base a un elenco. Quando si fa clic su questa opzione e si seleziona il database di Access, viene visualizzata una finestra di dialogo simile a quella riportata nella Figura 6. Come si può osservare, ora è possibile definire il formato (tipo di modulo, PivotChart, PivotTable o Report) e, al termine del processo, verrà creata una maschera o un report collegato nel database di Access.

Figura 6 Creazione di una visualizzazione di Access

Figura 6** Creazione di una visualizzazione di Access **(Fare clic sull'immagine per ingrandirla)

Access non in linea

Nel mondo reale, l'estensione delle potenzialità di un'applicazione critica per le strategie aziendali si traduce in un ritorno sull'investimento sostenuto. Per estendere le potenzialità di un'applicazione Access/SharePoint integrata, è bene tenere presente che non è necessario essere connessi a SharePoint per utilizzarlo. Per garantire una maggiore flessibilità sotto questo aspetto, con Access 2007 è stata introdotta la possibilità di lavorare in modalità non in linea. Le informazioni vengono memorizzate nella cache della copia locale del database fino a quando non vengono associate al server. Per portare un database in modalità non in linea, fare clic sul pulsante Non in linea in Dati esterni|Elenchi SharePoint nella barra multifunzione.

Quando si è pronti per riconnettersi a SharePoint, è possibile scegliere di lavorare in modalità in linea o eseguire la sincronizzazione. Entrambe le opzioni consentono di caricare i dati e i conflitti presenti per la revisione; con l'opzione Sincronizza, tuttavia, i dati vengono caricati ma l'applicazione resta in modalità non in linea.

Un altro elemento disponibile in Elenchi SharePoint da tenere presente è Ignora modifiche, che fornisce due opzioni. La prima consente di ignorare tutte le modifiche senza aggiornare i dati di SharePoint in Access. La seconda opzione consente di ignorare tutte le modifiche e di aggiornare i dati di SharePoint (elenchi collegati).

Modelli di Access

Access 2007 dispone di diversi modelli incorporati per assistere gli utenti nella rapida creazione delle soluzioni aziendali, come è possibile osservare facendo clic sul pulsante Elenchi SharePoint nella scheda Crea in Tabelle (vedere la Figura 7). Se si seleziona una di queste opzioni, verrà automaticamente definito lo schema per una tabella collegata in SharePoint. Attualmente solo le opzioni Contatti, Attività, Problemi ed Eventi sono supportate. Ne consegue che, se si esporta una tabella che contiene uno di questi tipi di informazioni, i dati verranno convertiti nel tipo di contenuto WSS corrispondente, ad esempio Problemi in Problemi.

Figura 7 Selezione del tipo di elenco

Figura 7** Selezione del tipo di elenco **

È inoltre possibile creare modelli personalizzati che possono essere utilizzati per gli elenchi SharePoint o creare modelli di siti di SharePoint con il collegamento automatico dei database di Access 2007. Per eseguire questa operazione è necessario utilizzare Access 2007 Developer Extensions e impostare la proprietà WSSTemplateID della tabella. Questa proprietà tiene traccia delle tabelle che contengono l'equivalente del modello di elenchi di SharePoint.

Metadati e Access

Le aziende che tradizionalmente utilizzano le applicazioni Access potrebbero non sempre essere in grado o essere disposte a spostare tutte queste applicazioni in SharePoint. In tali casi, è opportuno a volte scrivere il codice in Access per aggiornare SharePoint. Il codice consente di integrare SharePoint e Access.

Un esempio semplice è rappresentato dal database di Northwind Trader, in cui vengono archiviate informazioni su prodotti, fornitori e ordini di clienti. A ogni prodotto è in genere associata una scheda prodotto fornita dal fornitore sotto forma di file .pdf. Il database di Access tiene traccia di tutte le informazioni contenute nella scheda del prodotto, come posizione geografica, numero del prodotto, cronologia delle revisioni e codice del reparto aziendale. Queste informazioni devono essere disponibili ai fornitori tramite la rete Extranet di SharePoint.

Viene configurato un sito di SharePoint e tutti i documenti vengono trasferiti in una raccolta documenti collegata, ma i campi di metadati sono vuoti (vedere la Figura 8), in quanto i dati vengono riportati in Access (l'utente che monitora questo processo si trova a proprio agio con Access e non è disposto a cambiare).

Figura 8 Documento Northwind visualizzato in SharePoint, con i metadati mancanti

Figura 8** Documento Northwind visualizzato in SharePoint, con i metadati mancanti **(Fare clic sull'immagine per ingrandirla)

Come illustrato nella Figura 9, è possibile aggiungere il codice Visual Basic® for Applications (VBA) per aggiornare i metadati tramite l'applicazione Access. Non è necessario riscrivere l'applicazione. Il dipendente può continuare a utilizzare uno strumento con cui ha familiarità ed esplorare il Web, mentre i fornitori possono accedere alla rete Extranet in base alle relative autorizzazioni (in modo che possano visualizzare solo i dati consentiti) senza che si verifichi alcun problema correlato alla concorrenza o alle dimensioni del database.

Figura 9 Aggiornamento dei metadati mediante il codice

Figura 9** Aggiornamento dei metadati mediante il codice **(Fare clic sull'immagine per ingrandirla)

Sicurezza integrata

Uno dei maggiori vantaggi dello spostamento delle applicazioni Access in SharePoint è rappresentato dalla possibilità di utilizzare il modello di sicurezza di SharePoint, in cui è integrata l'autenticazione basata su Active Directory®. Ne consegue che non è più necessario preoccuparsi di come implementare la sicurezza nelle applicazioni Access attraverso la creazione di schemi e tabelle e l'aggiunta di utenti. Con gli elenchi di SharePoint, è possibile utilizzare la limitazione per motivi di protezione, una funzionalità integrata in SharePoint, in base alla quale gli utenti possono visualizzare solo i dati che sono loro consentiti. Inoltre, non è necessario spostare determinati componenti del database in SharePoint, se non si desidera.

SharePoint fornisce un modello di sicurezza granulare e basato sui ruoli. Dopo aver determinato come e dove spostare un database, è opportuno progettare il sito e la sicurezza prima del processo di migrazione. Questo consentirà di semplificare l'impostazione e il test delle autorizzazioni nonché di ridurre i problemi di migrazione, garantendo una maggiore efficienza del database di Access in termini di prestazioni.

Integrità referenziale

Peccherei certamente di negligenza se non affrontassi in questo articolo il concetto di integrità referenziale. A differenza di Access, SharePoint non prevede l'applicazione dell'integrità referenziale. Molte installazioni vengono normalizzate fino a un certo livello. Perché i database di Access critici per le strategie aziendali funzionino in modo corretto, è necessario prendere in considerazione questo aspetto. Per fortuna, sono disponibili alcune soluzioni alternative che possono essere interpretate come miglioramenti al sistema esistente

In precedenza è stato notato che durante lo spostamento di un database in SharePoint, se si spostano tabelle figlio, vengono spostate anche le tabelle padre. Inoltre, i campi di ricerca vengono utilizzati in SharePoint quando un'opzione di un campo viene riconosciuta come basata su un'altra tabella. Si supponga, ad esempio, che un cliente venga selezionato e un ordine venga emesso nel database Northwind Traders. Se queste tabelle venissero spostate in SharePoint, il campo relativo al cliente rappresenterebbe un campo di ricerca nell'elenco degli ordini.

E per quanto riguarda gli aggiornamenti o le eliminazioni a catena e altre operazioni più complesse? È in tale contesto che SharePoint e i relativi flussi di lavoro devono essere considerati come una potenziale soluzione. Tornando al database Northwind Traders, si supponga che un cliente chiami e annulli un ordine esistente, il che determina l'attivazione di una serie di azioni: l'inventario deve essere ripristinato, i fornitori devono essere informati, il dipendente associato all'ordine deve condurre un follow-up presso il cliente, la spedizione deve essere annullata e la contabilità deve essere aggiornata. È necessario coordinare pertanto diversi tipi di attività.

Utilizzando SharePoint Designer, è possibile creare un flusso di lavoro in SharePoint che esegua tutte queste attività non appena lo stato dell'ordine viene modificato. Sono disponibili 22 flussi di lavoro predefiniti che possono essere combinati e associati a centinaia di azioni. SharePoint Designer è uno strumento straordinario per la personalizzazione del sito e la creazione di flussi si lavoro.

L'aspetto più interessante è che l'utilizzo di SharePoint Designer per creare i flussi di lavoro richiede conoscenze e competenze di cui gli utenti esperti nella programmazione in Access già dispongono. Questo significa che gli utenti che creano applicazioni Access possono estendere il relativo ambito di competenze alla creazione dei flussi di lavoro senza troppi sforzi. L'utilizzo di SharePoint Designer per i flussi di lavoro non richiede la scrittura di codice e la distribuzione dei flussi di lavoro è piuttosto semplice.

Peter Serzo è Senior Engineer per CDW Berbee. Si occupa in particolare della progettazione di soluzioni SharePoint Enterprise per le aziende in tutto il mondo.

© 2008 Microsoft Corporation e CMP Media, LLC. Tutti i diritti riservati. È vietata la riproduzione completa o parziale senza autorizzazione.