L'object model di Microsoft SharePoint - Prima parte

di Giuseppe Marchi, in SharePoint,

SharePoint è la piattaforma di collaborazione proposta da Microsoft e basata sul .NET Framework, che offre un ambiente completo per la gestione di file, contenuti, processi aziendali, ecc.

Tale piattaforma si divide in:

  • Windows SharePoint Services 3.0 (WSS);
  • Microsoft Office SharePoint Server 2007 (MOSS).

Il primo componente che abbiamo citato (WSS) rappresenta la vera e propria tecnologia di collaborazione. In dettaglio WSS fornisce le strutture e i meccanismi che permettono ai vari utilizzatori di condividere informazioni e file con altri utenti in maniera facile ed intuitiva. Il secondo componente (MOSS) è invece un'applicazione server aggiuntiva, basata su WSS e facente parte del pacchetto "Office Systems", che offre ulteriori e più sofisticate funzionalità di collaborazione, pubblicazione di contenuti, ricerca, gestione di utenti e flussi aziendali. Entrambi i componenti si basano comunque sui concetti base di farm, applicazioni web e siti.

Entrambe le piattaforme offrono una interfaccia grafica che permette agli utenti di effettuare le operazioni consentite dal livello di permessi che è stato loro assegnato. Queste operazioni riguardano sia la gestione della struttura della propria farm o dei propri siti SharePoint, sia la creazione di nuovi contenuti o documenti da condividere.

Oltre all'utilizzo delle normali interfacce web, è possibile compiere le medesime operazioni (quasi tutte) sia attraverso un modello ad oggetti molto ben strutturato (diviso in una serie di assembly e namespace), sia utilizzando una serie di web service richiamabili dall'esterno del contesto in cui opera SharePoint. In questo articolo cercheremo di mostrare nel dettaglio la parte relativa allo sviluppo di SharePoint e vedremo quindi le principali classi dell'object model che possiamo utilizzare all'interno dei nostri progetti (Web Part, pagine ASP.NET, User Control .ascx, Windows Form, Windows Service, ecc.), per la modifica dei contenuti o la gestione delle applicazioni basate sulla piattaforma di collaborazione Microsoft.

L'object model di SharePoint è stato inserito all'interno di una serie di assembly .NET e non, che possono essere referenziati all'interno dei nostri progetti Visual Studio. Così facendo, lo sviluppatore è in grado di accedere alle informazioni presenti all'interno della propria farm SharePoint senza la necessità di dover effettuare le query direttamente al database di configurazione o dei contenuti (il che sarebbe veramente molto difficile, data la complessità strutturale di tali database), passando per uno strato superiore a quello dell'accesso ai dati. Inoltre, analogamente a quanto avviene tramite interfaccia, ogni operazione effettuata tramite il modello ad oggetti esposto da SharePoint viene eseguita dall'utente corrente dell'applicazione .NET custom; così facendo, essa risulta sottoposta al controllo sulle autorizzazioni.

L'insieme degli assembly utilizzabili è reperibile al seguente percorso:

<Drive>:\Program Files\Common Files\Microsoft Shared\web server extensions\12\ISAPI

All'interno di questa directory si trovano tutte le librerie che possono essere referenziate all'interno dei nostri progetti. La libreria di base è il file "Microsoft.SharePoint.dll", che contiene tutte le funzionalità di base previste da WSS. Quelle relative a MOSS invece hanno all'interno del nome del file la keyword "Portal".

L'utilizzo delle classi offerte dal modello ad oggetti di SharePoint può essere dei più disparati; possiamo creare web part con funzionalità complesse, servizi Windows o semplici Console Application da schedulare sul nostro server in grado di monitorare i contenuti, Windows Form, pagine .ASPX da affiancare a quelle di default dei siti SharePoint e molto altro ancora. Quello che occorre tenere a mente è che, attraverso questo strumento, siamo in grado addirittura di eliminare l'interfaccia grafica standard di SharePoint e costruirci le nostre pagine personalizzate che utilizzano come base le funzionalità offerte gratis da SharePoint.

Vediamo ora in dettaglio un elenco delle classi con cui potremmo avere a che fare durante lo sviluppo delle nostre personalizzazioni all'interno di un ambiente SharePoint.

Oggetti di "gestione"

Come abbiamo detto, SharePoint si basa su alcuni elementi cardine propri della tecnologia che esso rappresenta, per fornire le funzionalità di collaborazione sia agli utenti finali che agli sviluppatori: "Server Farm", "Web application", "Site collection", "Web". Essi a loro volta vanno a formare la struttura tipica di una normale installazione di SharePoint.

Una Server Farm è un'insieme di server che possono fornire servizi differenti; infatti SharePoint può essere installato su uno o più server (fisici o virtuali), i quali solitamente si dividono i servizi di front-end, back-end, ricerca, invio e ricezione mail e importazione dei profili da Active Directory. Questi ultimi in particolare vengono salvati all'interno del database di configurazione di SharePoint e possono essere modificati secondo le esigenze.

Una Web Application rappresenta invece un sito IIS con il relativo database dei contenuti SharePoint. Ogni applicazione risponde ad indirizzo web (o ad uno o più alias) e contiene al suo interno un sito SharePoint che funge da padre (root), da cui si dirama una struttura ad albero di n-siti, ognuno con il proprio livello di sicurezza e con i propri contenuti specifici. Questa struttura ad albero di siti SharePoint è detta "Site Collection" e la relazione che lega una site collection ad una web application ha carinalità uno ad uno, mentre invece all'interno di una farm possono essere create quante web application si vogliono.

La struttura appena descritta è sintetizzata in figura 1.

Figura 1

Figura 1 - L'object model di SharePoint

Come è possibile notare, ad ognuno di questi elementi è stata associata una specifica classe all'interno del modello ad oggetti di SharePoint. L'insieme di queste classi, che abbiamo raggruppato sotto il termine di "classi di gestione", sono situate all'interno del namespace "Microsoft.SharePoint.Administration", facente sempre parte della libreria base "Microsoft.SharePoint.dll".

3 pagine in totale: 1 2 3
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti