+ All Categories
Home > Documents > 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer &...

1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer &...

Date post: 01-May-2015
Category:
Upload: amadore-lombardi
View: 216 times
Download: 2 times
Share this document with a friend
30
1 Windows SharePoint 2003 Products Windows SharePoint 2003 Products & Technologies & Technologies Architettura Architettura Marco Bellinaso Marco Bellinaso Senior trainer & consultant Senior trainer & consultant Code Architects S.r.l. Code Architects S.r.l. Web: Web: http://www.codearchitects.com http://www.codearchitects.com E-mail: E-mail: [email protected] [email protected]
Transcript
Page 1: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

1

Windows SharePoint 2003 Windows SharePoint 2003 Products & TechnologiesProducts & Technologies

––ArchitetturaArchitettura

Marco BellinasoMarco Bellinaso

Senior trainer & consultantSenior trainer & consultant

Code Architects S.r.l.Code Architects S.r.l.

Web: Web: http://www.codearchitects.comhttp://www.codearchitects.com

E-mail: E-mail: [email protected]@codearchitects.com

Page 2: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

2http://www.codearchitects.com

BiografiaBiografia

Consulenza, sviluppo e training con Code Architects Srl Consulenza, sviluppo e training con Code Architects Srl

Collaboratore di Collaboratore di Visual Basic & .NET Journal, Computer Visual Basic & .NET Journal, Computer Programming, MSDN Magazine e ASP TodayProgramming, MSDN Magazine e ASP Today

Coautore di “ASP.NET Website Programming”, “Fast Track Coautore di “ASP.NET Website Programming”, “Fast Track ASP.NET” e “Visual C# .NET: a Guide for VB6 Developers” ASP.NET” e “Visual C# .NET: a Guide for VB6 Developers” (Wrox Press) (Wrox Press)

Sviluppatore di UGI SharePoint (www.ugisharepoint.it)Sviluppatore di UGI SharePoint (www.ugisharepoint.it)

Sviluppatore dei siti *2TheMax (www.dotnet2themax.com)Sviluppatore dei siti *2TheMax (www.dotnet2themax.com) (www.dotnet2themax.it (www.dotnet2themax.it

) )

e-mail: e-mail: [email protected]@codearchitects.com

Page 3: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

3http://www.codearchitects.com

AgendaAgenda

WSS vs. SPSWSS vs. SPS I componenti di SharePointI componenti di SharePoint Opzioni di deploymentOpzioni di deployment Web ServerWeb Server

IIS, esecuzione di pagine ASPX, Web Part, codice unsafeIIS, esecuzione di pagine ASPX, Web Part, codice unsafe

I database di SharePointI database di SharePoint La struttura dei DB di configurazione e di contenutiLa struttura dei DB di configurazione e di contenuti

Il modello ad oggetti di SharePointIl modello ad oggetti di SharePoint Accedere a SharePoint tramite Web ServiceAccedere a SharePoint tramite Web Service

Page 4: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

4http://www.codearchitects.com

WSS vs. SPSWSS vs. SPS

SharePoint Portal Server (SPS)SharePoint Portal Server (SPS) News e LinksNews e Links Directory dei sitiDirectory dei siti Creazione e gestione di siti personaliCreazione e gestione di siti personali Targeting dei contenuti tramite le Targeting dei contenuti tramite le

Audience, e provisioning dei profili Audience, e provisioning dei profili tramite Active Directorytramite Active Directory

Servizi di Index, Enterprise Search e Servizi di Index, Enterprise Search e AlertsAlerts

Single Sign-OnSingle Sign-On Integrazione con BizTalk ServerIntegrazione con BizTalk Server

Windows SharePoint Services (WSS)Windows SharePoint Services (WSS) Servizi per la condivisione e Servizi per la condivisione e

collaborazione su documenti, gestione collaborazione su documenti, gestione del loro ciclo di vita, e versioningdel loro ciclo di vita, e versioning

Membership e authorizationMembership e authorization Web Part Framework: presentazione e Web Part Framework: presentazione e

personalizzazione dei contenutipersonalizzazione dei contenuti Alerts e ricerca a livello di sitoAlerts e ricerca a livello di sito

Page 5: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

5http://www.codearchitects.com

Feature WSS SPS

Alerts Sì Sì

Discussion boards Sì Sì

Document libraries Sì Sì

Document Workspace Sì Sì

Lists Sì Sì

Meeting Workspace Sì Sì

Microsoft FrontPage integration Sì Sì

Microsoft InfoPath integration Sì Sì

Surveys Sì Sì

Templates Sì Sì

Web Parts Framework Sì Sì

WSS vs. SPS in dettaglio (1/2)WSS vs. SPS in dettaglio (1/2)

Page 6: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

6http://www.codearchitects.com

Feature WSS SPS

Area Alerts No Sì

Audiences No Sì

Automatic categorization No Sì

BizTalk integration No Sì

Central Site Manageability No Sì

Enterprise Search No Sì

News No Sì

Personal sites No Sì

Shared services No Sì

Single sign-on No Sì

Site Directory No Sì

Topic areas No Sì

User profiles No Sì

WSS vs. SPS in dettaglio (2/2)WSS vs. SPS in dettaglio (2/2)

Page 7: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

7http://www.codearchitects.com

I componenti di SharePointI componenti di SharePoint

Front-end Web server (1-10):Front-end Web server (1-10): punto di accesso per i servizi e i punto di accesso per i servizi e i contenuti di SharePoint. Riceve le richieste dei client, e produce contenuti di SharePoint. Riceve le richieste dei client, e produce l’output grafico per il browser. l’output grafico per il browser.

Content Index server (1-4):Content Index server (1-4): indicizza contenuti interni ed indicizza contenuti interni ed esterni al portaleesterni al portale

Search server (1-4):Search server (1-4): permette all’utente di eseguire ricerche permette all’utente di eseguire ricerche avanzate, usando FTS, e supporta filtri su metadati (colonne built-avanzate, usando FTS, e supporta filtri su metadati (colonne built-in e custom di liste e librerie)in e custom di liste e librerie)

Job server (1):Job server (1): esegue in background attività schedulate, come esegue in background attività schedulate, come l’invio di alert, l’analisi dei file di log per la produzione di l’invio di alert, l’analisi dei file di log per la produzione di statistiche, la cancellazione di siti non usati, l’importazione di statistiche, la cancellazione di siti non usati, l’importazione di profili da AD, ecc. Ce n’è uno solo per portale.profili da AD, ecc. Ce n’è uno solo per portale.

SQL Database Server (1-5): SQL Database Server (1-5): gestisce i contenuti e la gestisce i contenuti e la configurazione dei portali e siti di SharePointconfigurazione dei portali e siti di SharePoint

Page 8: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

8http://www.codearchitects.com

I componenti di SharePointI componenti di SharePoint

Web / Application ServerWeb / Application Server Windows Server 2003Windows Server 2003 Internet Information Services 6.0 (IIS6)Internet Information Services 6.0 (IIS6) .NET Framework 1.1.NET Framework 1.1 ASP.NET 1.1ASP.NET 1.1 WSS (+ SPS, opzionalmente)WSS (+ SPS, opzionalmente)

Alcune feature di SPS richiedono AD, quindi il server deve far Alcune feature di SPS richiedono AD, quindi il server deve far parte di un dominio esistente, o essere configurato come Domain parte di un dominio esistente, o essere configurato come Domain ControllerController

Database serverDatabase server Windows Server 2000/2003Windows Server 2000/2003 Database supportati:Database supportati:

SQL Server 2000SQL Server 2000 MSDE: limitato a 2GB di storage e a 5 worker threadMSDE: limitato a 2GB di storage e a 5 worker thread WMSDE: non ha i limiti di storage e worker thread di MSDE, ma WMSDE: non ha i limiti di storage e worker thread di MSDE, ma

supporta solo lo schema di DB di Microsoft per WSS. Non supporta solo lo schema di DB di Microsoft per WSS. Non funziona con SPSfunziona con SPS

Page 9: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

9http://www.codearchitects.com

Architettura Scale-outArchitettura Scale-out

Web/Search

Server

Web/Search

Server

X

Rich Clients

(Office o app custom)Web Browser

Load Balancer (hardware o software)

SMTP Server

SQL Content DB SQL Content DB SQL Config DB

Index/Job Server

SOAP HTML

Web server a basso costo. Web server a basso costo. Possono essere aggiunti Possono essere aggiunti all’aumentare degli hitall’aumentare degli hit

SQL Server contiene tutti i metadati, dati, documenti, ACL ecc. Usare SQL Server multipli per SQL Server contiene tutti i metadati, dati, documenti, ACL ecc. Usare SQL Server multipli per sfruttare partizionamento, e ottenere failover e redundancysfruttare partizionamento, e ottenere failover e redundancy

Page 10: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

10http://www.codearchitects.com

Opzioni di deploymentOpzioni di deployment

Stand-alone single server: tutti i componenti sullo Stand-alone single server: tutti i componenti sullo stesso serverstesso server

Server FarmServer Farm Small: separa su più server componenti di front-end e i Small: separa su più server componenti di front-end e i

DB di back-endDB di back-end Medium: colloca il job e index server su server separati da Medium: colloca il job e index server su server separati da

quelli usati per web e searchquelli usati per web e search Large: fino a 4 index server (uno dei quali fa anche da job Large: fino a 4 index server (uno dei quali fa anche da job

server), fino a 4 search server, fino a 10 web serverserver), fino a 4 search server, fino a 10 web server

Whitepaper su strategie di deployment in casi reali seguiti da Whitepaper su strategie di deployment in casi reali seguiti da Microsoft IT: Microsoft IT: http://www.microsoft.com/technet/itsolutions/msit/deploy/spswhtwp.mspxhttp://www.microsoft.com/technet/itsolutions/msit/deploy/spswhtwp.mspx

Page 11: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

11http://www.codearchitects.com

Architettura Scale-outArchitettura Scale-out

Performance e scalabilità migliorate ripetto a STS e SPS01Performance e scalabilità migliorate ripetto a STS e SPS01 .NET Framework, SQL Server 2000.NET Framework, SQL Server 2000 Architettura three-tierArchitettura three-tier Componenti separati: web rendering, database, search, Componenti separati: web rendering, database, search,

indexingindexing Si possono aggiungere facilmente nuovi web server Si possono aggiungere facilmente nuovi web server

all’aumentare di richieste web all’aumentare di richieste web Il web server è completamente stateless (a differenza di STS), Il web server è completamente stateless (a differenza di STS),

rendendo immediato l’utilizzo di un Load Balancer (HW o SW)rendendo immediato l’utilizzo di un Load Balancer (HW o SW) Si possono aggiunge nuovi database di contenutiSi possono aggiunge nuovi database di contenuti Tutti i contenuti (metadati, dati e documenti) sono su DB (in Tutti i contenuti (metadati, dati e documenti) sono su DB (in

STS i documenti stanno sul file system):STS i documenti stanno sul file system): Sicurezza a affidabilità (deployment in cluster per eliminare il Sicurezza a affidabilità (deployment in cluster per eliminare il

single-point-of-failure)single-point-of-failure) Update transazionaliUpdate transazionali Non serve fare replicazioneNon serve fare replicazione Semplifica il backupSemplifica il backup

Page 12: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

12http://www.codearchitects.com

Web ServerWeb Server

End User Virtual Server

Site collection

Web Web Web

Site collection

Web Web Web

IIS

Admin Virtual Server

Configurazione di IIS

Configurazione di SharePoint

IIS si occupa di HTTP listening, port resolution, e IIS si occupa di HTTP listening, port resolution, e authentication authentication

Admin vserverAdmin vserver Uno per serverUno per server Accesso tramite porta scelta in modo random in fase Accesso tramite porta scelta in modo random in fase

di installazionedi installazione Es: http://server:21339Es: http://server:21339

End-user vserverEnd-user vserver Forniscono accesso ai contenutiForniscono accesso ai contenuti Ce ne può essere più di uno per serverCe ne può essere più di uno per server Es: Es: http://portal1http://portal1, http://portal2, http://portal2

Site collectionSite collection Sito radice, non ha parent – unità di backupSito radice, non ha parent – unità di backup Site collection multipli per vserverSite collection multipli per vserver Possono essere distribuiti su DB diversiPossono essere distribuiti su DB diversi Es: http://portal1/demo1, http://portal1/demo2Es: http://portal1/demo1, http://portal1/demo2

Site (Web)Site (Web) Più web per site collectionPiù web per site collection Contenuti nello stesso DB dove si trova il siteContenuti nello stesso DB dove si trova il site Es: Es: http://portal1/demo1/subsite1http://portal1/demo1/subsite1, ,

http://portal1/demo1/subsite2http://portal1/demo1/subsite2 I siti di SP non sono in relazione con i siti di IIS I siti di SP non sono in relazione con i siti di IIS

(non sono configurati nel metabase di IIS)(non sono configurati nel metabase di IIS)

Page 13: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

13http://www.codearchitects.com

Web Server – DettagliWeb Server – Dettagli

IIS

ASP.NET Handler

ISAPI Filter

Config

Static PagesFrontPage RPCDAV

.aspx.asmx

HTTPRequests

ASP.NET

Content

SharePointUnmanagedCode

Direct Safe

ISAPI Ext

ADO.NET

ProfileService

ISAPI Filter (STSFLTR.DLL))ISAPI Filter (STSFLTR.DLL)) Inclusions/ExclusionsInclusions/Exclusions Static Page GetsStatic Page Gets

ASP.NET HandlerASP.NET Handler Direct (_layouts directory). Direct (_layouts directory).

Examples: Create New View, Examples: Create New View, User Profile and Custom Apps.User Profile and Custom Apps.

Safe (lists, web part pages)Safe (lists, web part pages)

Managed objects (SP Object Managed objects (SP Object Model)Model)

Content, profile, service, and Content, profile, service, and config db accessconfig db access

Unmanaged CodeUnmanaged Code List/View RenderingList/View Rendering FrontPage server extensionsFrontPage server extensions DAVDAV Static document getsStatic document gets Database I/ODatabase I/O

Managed objects areaccessed Managed objects areaccessed

herehere

Page 14: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

14http://www.codearchitects.com

Esecuzione di pagine ASPX – Direct vs. SafeEsecuzione di pagine ASPX – Direct vs. Safe

In direct mode, le pagine funzionano come pagine ASP.NET standard In direct mode, le pagine funzionano come pagine ASP.NET standard (application pages)(application pages)

Pagine sotto la directory /_layouts, direttamente nel FSPagine sotto la directory /_layouts, direttamente nel FS Disponibili per TUTTI i sitiDisponibili per TUTTI i siti Pagine amministrative, non modificabili da browser (non hanno Web Part zone Pagine amministrative, non modificabili da browser (non hanno Web Part zone

in cui aggiungere web part)in cui aggiungere web part) Sono comunque eseguite sotto il contesto di SharePoint, e possono accedere Sono comunque eseguite sotto il contesto di SharePoint, e possono accedere

ai suoi oggettiai suoi oggetti

In safe mode le pagine si trovano nel DB, e vengono recuperate ed In safe mode le pagine si trovano nel DB, e vengono recuperate ed eseguite dinamicamente (user pages)eseguite dinamicamente (user pages)

Classi SharePointHandlerFactory e SharePointHandlerClassi SharePointHandlerFactory e SharePointHandler I controlli su queste pagine (tipicamente Web Part) devono essere stati I controlli su queste pagine (tipicamente Web Part) devono essere stati

registrati come safe (sicuri) affinché possono essere caricatiregistrati come safe (sicuri) affinché possono essere caricati Non è possibile eseguire script in-lineNon è possibile eseguire script in-line

Tipicamente possono essere personalizzate dall’utente, a runtimeTipicamente possono essere personalizzate dall’utente, a runtime Se il Se il layoutlayout della pagina non è stato personalizzato, la struttura è caricata della pagina non è stato personalizzato, la struttura è caricata

direttamente da FS (più veloce) e le query su DB recuperano solo le Web Part direttamente da FS (più veloce) e le query su DB recuperano solo le Web Part da inserireda inserire

Più siti possono usare la stessa pagina in cache, per migliorare la scalabilitàPiù siti possono usare la stessa pagina in cache, per migliorare la scalabilità

Page 15: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

15http://www.codearchitects.com

Codice unsafeCodice unsafe

Il modello ad oggetti di SharePoint Il modello ad oggetti di SharePoint e il Framework per le Web Part e il Framework per le Web Part sono dei layer sottili sopra DLL sono dei layer sottili sopra DLL unmanaged (unmanaged (owssvr.dll)owssvr.dll) Supporto per FrontPage 2003 Supporto per FrontPage 2003

Server ExtensionsServer Extensions Supporto per il protocollo DAVSupporto per il protocollo DAV Database Input/output Database Input/output Fornisce logica per gestire le liste, Fornisce logica per gestire le liste,

interpretare il CAML (Collaborative interpretare il CAML (Collaborative Application Markup Language) e Application Markup Language) e produrre l’HTML di output delle produrre l’HTML di output delle visteviste

CAML è usato per definire l’HTML e CAML è usato per definire l’HTML e Javascript che verrà generatoJavascript che verrà generato

Tag per output condizionaleTag per output condizionale

Nota: SPS03 usa anche ADO.NET per un accesso managed ai suoi databaseNota: SPS03 usa anche ADO.NET per un accesso managed ai suoi database

Page 16: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

16http://www.codearchitects.com

Web Part FrameworkWeb Part Framework

Le Web Part sono controlli ASP.NET server-side che vengono Le Web Part sono controlli ASP.NET server-side che vengono inseriti all’interno di pagine o zone eseguite nel contesto di inseriti all’interno di pagine o zone eseguite nel contesto di SharePointSharePoint

Forniscono caratteristiche comuni, offerte dal frameworkForniscono caratteristiche comuni, offerte dal framework Titolo, bordi, stato (minimizzato ecc.)Titolo, bordi, stato (minimizzato ecc.) Supporto per drag & dropSupporto per drag & drop Proprietà shared o per utenteProprietà shared o per utente

I controlli sulla pagina sono determinati da record del DB dei I controlli sulla pagina sono determinati da record del DB dei contenuticontenuti

Implementano interfacce standard per comunicare le une con le Implementano interfacce standard per comunicare le une con le altrealtre

ASP.NET PageControlli ASP.NET che ereditano dalla classe base WebPart, che a sua volta eredita da System.Web.UI.Control

Web Part zone

Page 17: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

17http://www.codearchitects.com

SQL Server – 5 tipi di databaseSQL Server – 5 tipi di database

1.1. Configuration Database:Configuration Database: contiene informazioni di contiene informazioni di configurazione della web farm, l’elenco dei vserver e delle configurazione della web farm, l’elenco dei vserver e delle collezioni di siti, riferimenti ai DB di contenuti, e degli altri collezioni di siti, riferimenti ai DB di contenuti, e degli altri componenti di infrastrutturacomponenti di infrastruttura

2.2. Content Database (Site):Content Database (Site): contiene tutti i dati dei siti/web contiene tutti i dati dei siti/web (metadati e dati delle liste, documenti)(metadati e dati delle liste, documenti) Schema fisso indipendentemente da numero di siti e listeSchema fisso indipendentemente da numero di siti e liste STS usava un DB per ogni sito, e una tabella per ogni listaSTS usava un DB per ogni sito, e una tabella per ogni lista

3.3. Profile Database:Profile Database: contiene i profili personali degli utenti, e le contiene i profili personali degli utenti, e le configurazioni delle audience per il targeting dei contenuticonfigurazioni delle audience per il targeting dei contenuti

4.4. Services database: Services database: supporta i servizi di search, indexing, e supporta i servizi di search, indexing, e dei job schedulati (subscriptions/alerts)dei job schedulati (subscriptions/alerts)

5.5. Single Sign On (SSO) Database:Single Sign On (SSO) Database: credenziali criptate, per credenziali criptate, per utente, di applicazioni esterneutente, di applicazioni esterne

WSS

Page 18: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

18http://www.codearchitects.com

Configuration DatabaseConfiguration Database

Page 19: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

19http://www.codearchitects.com

Content DatabaseContent Database Sites: impostazioni delle site collectionSites: impostazioni delle site collection Webs: impostazioni dei siti di una site collectionWebs: impostazioni dei siti di una site collection Lists: definizioni della struttura delle listeLists: definizioni della struttura delle liste Docs: pagine e file di document library, allegati di list itemDocs: pagine e file di document library, allegati di list item

Se Content è NULL, la pagina non è stata personalizzataSe Content è NULL, la pagina non è stata personalizzata UserData: dati di colonne custom associate a liste e librerieUserData: dati di colonne custom associate a liste e librerie Links: link tra pagine/webpart e fileLinks: link tra pagine/webpart e file WebParts: informazioni su Web Part e List Views di siti / pagineWebParts: informazioni su Web Part e List Views di siti / pagine Personalization: personalizzazioni sulle Web PartPersonalization: personalizzazioni sulle Web Part

Page 20: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

20http://www.codearchitects.com

.NET Object Model.NET Object Model

WSS e SPS offrono entrambi un completo modello ad WSS e SPS offrono entrambi un completo modello ad oggettioggetti Collezione di assembly .NET (scritti in C#) disponibili Collezione di assembly .NET (scritti in C#) disponibili sul sul

serverserver Accessibile da ASP.NET o da qualsiasi altro processo server-Accessibile da ASP.NET o da qualsiasi altro processo server-

sideside Espone la maggior parte dei metadati (struttura di siti, liste Espone la maggior parte dei metadati (struttura di siti, liste

ecc.) e dei datiecc.) e dei dati Cosa posso fare con l’object model?Cosa posso fare con l’object model?

Leggere e modificare proprietà del sito web Leggere e modificare proprietà del sito web Eseguire operazioni amministrative, come la creazione di siti Eseguire operazioni amministrative, come la creazione di siti

web, utenti, ruoli ecc.web, utenti, ruoli ecc. Aggiungere, modificare, cancellare e recuperare dati da Aggiungere, modificare, cancellare e recuperare dati da

qualsiasi listaqualsiasi lista Creare nuove liste e impostarne la struttura (numero e tipo di Creare nuove liste e impostarne la struttura (numero e tipo di

campi) campi) Lavorare con documenti (Word, Excel, InfoPath ecc.) delle Lavorare con documenti (Word, Excel, InfoPath ecc.) delle

document librarydocument library

Page 21: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

21http://www.codearchitects.com

.NET Object Model – Scenari di utilizzo.NET Object Model – Scenari di utilizzo

Dall’interno di Web Part da caricare in pagine e Dall’interno di Web Part da caricare in pagine e zone esistenti del sitozone esistenti del sito

In intere pagine/applicazioni ASP.NET customIn intere pagine/applicazioni ASP.NET custom Singole pagine o un intera applicazione web possono Singole pagine o un intera applicazione web possono

essere create sotto la directory /_layoutsessere create sotto la directory /_layouts Questo permette alle pagine di assere accessibili, e di Questo permette alle pagine di assere accessibili, e di

girare sotto il contesto di siti diversi. Es:girare sotto il contesto di siti diversi. Es: http://server/_layouts/myapp/mypage.aspxhttp://server/_layouts/myapp/mypage.aspx http://server/subsite1/_layouts/myapp/mypage.aspxhttp://server/subsite1/_layouts/myapp/mypage.aspx

Da un programma WinForms/console che gira Da un programma WinForms/console che gira sul sul serverserver

Page 22: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

22http://www.codearchitects.com

.NET Object Model.NET Object Model

List DataList Data SPFieldSPField SPFieldCollectionSPFieldCollection SPListCollectionSPListCollection SPListSPList SPListItemCollectionSPListItemCollection SPListItemSPListItem SPViewSPView

AdministrationAdministration SPGlobalAdminSPGlobalAdmin SPQuotaSPQuota SPVirtualServerSPVirtualServer

Referenziare assembly “Windows SharePoint Services”Referenziare assembly “Windows SharePoint Services” Includere il namespace “Includere il namespace “Microsoft.SharePoint” e sottostantiMicrosoft.SharePoint” e sottostanti

Page 23: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

23http://www.codearchitects.com

.NET Object Model – Le basi.NET Object Model – Le basi

Il modello a oggetti di SharePoint ha tre oggetti di Il modello a oggetti di SharePoint ha tre oggetti di primo livello:primo livello: SPWeb (rappresenta un singolo sito)SPWeb (rappresenta un singolo sito) SPSite (rappresenta una collezione di siti)SPSite (rappresenta una collezione di siti) SPGlobalAdmin (accesso a impostazioni globali)SPGlobalAdmin (accesso a impostazioni globali)

Per leggere/scrivere dati all’interno di un sito Per leggere/scrivere dati all’interno di un sito bisogna prima ottenere un riferimento all’oggetto bisogna prima ottenere un riferimento all’oggetto SPWeb che identifica il sito stessoSPWeb che identifica il sito stesso

Proprietà principali:Proprietà principali: Web.Title (restituisce il titolo del sito)Web.Title (restituisce il titolo del sito) Web.Lists (restituisce la collezione di liste del sito)Web.Lists (restituisce la collezione di liste del sito) Web.Users (restituisce la collezione di utenti del sito)Web.Users (restituisce la collezione di utenti del sito)

SPWeb web = SPControl.GetContextWeb(Context);

Page 24: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

24http://www.codearchitects.com

.NET Object Model – Leggere dati.NET Object Model – Leggere dati

Quando si legge un campo di un item, alla Quando si legge un campo di un item, alla proprietà indexer si può passare il titolo della proprietà indexer si può passare il titolo della colonna (Es: “Due Date”) oppure il nome interno colonna (Es: “Due Date”) oppure il nome interno (Es: “DueDate”)(Es: “DueDate”) E’ sempre meglio usare il nome interno, perché non E’ sempre meglio usare il nome interno, perché non

varia anche se la colonna viene rinominata. Come varia anche se la colonna viene rinominata. Come recuperare nomi interni/titoli?recuperare nomi interni/titoli?

NOTA:NOTA: per le proprie liste custom si consiglia di creare le per le proprie liste custom si consiglia di creare le colonne con dei nomi semplici (senza spazi), e poi rinominarle colonne con dei nomi semplici (senza spazi), e poi rinominarle per cambiare il titolo -> il nome interno resta invariato!per cambiare il titolo -> il nome interno resta invariato!

SPList tasks = web.Lists["Tasks"];foreach (SPField field in tasks.Fields)

Response.Write(field.InternalName + " - " + field.Title + "<br>");

Page 25: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

25http://www.codearchitects.com

.NET Object Model – Modificare dati.NET Object Model – Modificare dati

Modificare le proprietà di una listaModificare le proprietà di una lista

Modificare i dati di un singolo item esistenteModificare i dati di un singolo item esistente

Aggiungere un nuovo item alla listaAggiungere un nuovo item alla lista

NOTA:NOTA: affinché le modifiche siano rese persistenti deve essere affinché le modifiche siano rese persistenti deve essere chiamato il metodo Updatechiamato il metodo Update

tasks.Title = "Attività";tasks.Description = "Lista delle attività";tasks.Update();

SPListItem task = tasks.items[0];task["Status"] = “Completed";task["Title"] = “Aggiornare presentazione";task.Update();

SPListItem task = tasks.Items.Add();// impostare tutti i campi di task e chiamare Update...

Page 26: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

26http://www.codearchitects.com

Gli assembly con l’object model di SharePoint Gli assembly con l’object model di SharePoint possono essere usati solo da programmi server-possono essere usati solo da programmi server-sideside E se voglio accedere ai siti, liste e documenti da un E se voglio accedere ai siti, liste e documenti da un

qualsiasi client? (applicazione WinForms su client qualsiasi client? (applicazione WinForms su client remoto, Pocket PC ecc.)remoto, Pocket PC ecc.)

Molte funzionalità dell’object model sono esposte Molte funzionalità dell’object model sono esposte da un web service, che fa da componente di da un web service, che fa da componente di facadefacade Permette di manipolare siti, liste, viste, elementi ecc.Permette di manipolare siti, liste, viste, elementi ecc. Funzionalmente simile all’object model delle librerie sul Funzionalmente simile all’object model delle librerie sul

server, ma con meno metodi, per minimizzare il numero server, ma con meno metodi, per minimizzare il numero di transazioni (di transazioni (chunky vs. chatty interfaceschunky vs. chatty interfaces))

Viene usato dalle applicazioni di Office per accedere ai Viene usato dalle applicazioni di Office per accedere ai dati in SharePointdati in SharePoint

L’Object Model tramite Web ServiceL’Object Model tramite Web Service

Page 27: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

27http://www.codearchitects.com

Creare un’applicazione WinFormsCreare un’applicazione WinForms Dalla finestra di dialogo “Add Web Reference” inserire l’Url Dalla finestra di dialogo “Add Web Reference” inserire l’Url

del web service per le liste.del web service per le liste. Es: Es: http://server/_vti_bin/http://server/_vti_bin/lists.asmxlists.asmx Altri web service:Altri web service:

UserGroups.asmx – accesso a utenti e gruppiUserGroups.asmx – accesso a utenti e gruppi Webs.asmx – accesso ai sitiWebs.asmx – accesso ai siti Views.asmx – accesso alle visteViews.asmx – accesso alle viste

L’Object Model tramite Web ServiceL’Object Model tramite Web Service

server.Lists listService = new server.Lists();listService.Url = "http://server/sites/sitename/_vti_bin/Lists.asmx";listService.Credentials = System.Net.CredentialCache.DefaultCredentials;

System.Xml.XmlNode node = listService.GetListCollection();

foreach(System.Xml.XmlNode xmlnode in node) Debug.WriteLine(xmlnode.Attributes["ID"].Value);

Page 28: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

28http://www.codearchitects.com

Document Library EventsDocument Library Events

E’ possibile intercettare molti eventi relativi il contenuto E’ possibile intercettare molti eventi relativi il contenuto delle document librarydelle document library

Cancel Check OutCancel Check Out Check InCheck In Check OutCheck Out CopyCopy DeleteDelete InsertInsert Move / RenameMove / Rename UpdateUpdate

Utili per l’implementazione di workflowUtili per l’implementazione di workflow

Attualmente questo supporto non è esteso alle normali Attualmente questo supporto non è esteso alle normali liste!liste!

Page 29: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

29http://www.codearchitects.com

RisorseRisorse

Ontolica SharePoint ExplorerOntolica SharePoint Explorer Vista ad albero di server, siti, web e liste di SPS e WSSVista ad albero di server, siti, web e liste di SPS e WSS Di ogni oggetto è possibile leggere tutte le proprietàDi ogni oggetto è possibile leggere tutte le proprietà Per ogni lista è possibile vedere la struttura e i dati presentiPer ogni lista è possibile vedere la struttura e i dati presenti Utile durante la fase di sviluppo per controllare ID, schema Utile durante la fase di sviluppo per controllare ID, schema

XML e altre proprietà degli oggettiXML e altre proprietà degli oggetti

http://www.ontolica.com/English/Products/http://www.ontolica.com/English/Products/SharePointExplorer/SharePointExplorerHome.htmlSharePointExplorer/SharePointExplorerHome.html

SharePoint Configuration AnalyzerSharePoint Configuration Analyzer Verifica impostazioni e identifica configurazioni errateVerifica impostazioni e identifica configurazioni errate Report sull’utilizzo di web PartReport sull’utilizzo di web Part Elenco di package e file di configurazione presenti sul serverElenco di package e file di configurazione presenti sul server

http://www.microsoft.com/downloads/details.aspx?http://www.microsoft.com/downloads/details.aspx?FamilyID=918f8c18-89dc-4b47-82ca-FamilyID=918f8c18-89dc-4b47-82ca-34b393ea70e1&DisplayLang=en34b393ea70e1&DisplayLang=en

Page 30: 1 Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: .

30http://www.codearchitects.com

Domande?

http://www.ugisharepoint.ithttp://www.dotnet2themax.it/blog


Recommended