Come creare un portale aziendale con le tecnologie SharePoint: architettura, sicurezza e gestione. Lorenzo Tanganelli Industry Architect M Italia 1 Agenda • Windows SharePoint Services – Architettura – Sicurezza • SharePoint Portal Server 2003 – Architettura – Sicurezza • Scenari per il deployment • Capacity planning • Gestione e manutenzione delle SharePoint Technologies 2 Microsoft SharePoint Technolgies • User Experience ricca e consistente – utenti, sviluppatori, IT • Smart connections – persone, Division gruppi, argomenti, divisioni, etc. • Deployment Flessibile – bottom up, centralizzati, ibridi, server farm ad alta scalabilità Enterprise Team Individual 3 SharePoint Platform Soluzione per Portali Aziendali costruita su Windows SharePoint Services SharePoint Portal Server 2003 Aggregatore di team site SharePoint Soluzione per la team collaboration ben oltre i tradizionali file server Piattaforma scalabile per la creazione di soluzioni collaborative Windows SharePoint Services ASP.NET Windows Server 2003 SQL Server 2000 Funzionalità di SPS News & Categories Site Directory Personal Sites Audience Targeting Index, Search Single Sign-On Integrazione con BizTalk Funzionalità di WSS Collaboration Document Management Liste Web Parts Personalization Life Cycle Management Scale-Up/Out Foundation 4 WSS: Architettura Logica • Architettura frontend-backend • Scelte architetturali strategiche: Rich clients Browser – SQL Server 2000 come repository FP-RPC di TUTTI i dati SOAP DAV – ASP.NET come rendering • Eredito il meglio di entrambi i mondi: – Il frontend è responsabile solo del rendering dei dati prelevati dal database: totalmente stateless – Scale out massivo e facilità di load balancing – Scalabilità ed alta affidabilità di SQL Server HTTP Stateless Web Server Content DB Config DB 5 WSS Web Farm: Topologia Rich clients Browser FP-RPC, SOAP, DAV HTTP Load Balancer Windows Server 2003 IIS 6, ASP.NET Stateless Web Server Stateless Web Server Stateless Web Server Config DB Content DB SQL Server 2000 Content DB Low-cost web servers, on demand SQL Servers multipli: •data partitioning •failover •redundancy 6 Content & Configuration Databases • Configuration Database: – Responsabile del mantenimento dello stato della farm (elenco dei server, elenco dei database, elenco dei site,…) – Una WSS Farm ha uno ed un solo configuration database – Aggiungere un nuovo front-end ad una farm implica semplicemente connetterlo al configuration database • Content Database: – Repository per tutto il contenuto erogabile da un front-end server (documenti, liste, web part pages..): – Un virtual server ha uno o più ContentDB corrispondenti – Connettere un virtual server ad un content database è sufficiente per erogare servizio 7 WSS: Struttura Logica • Virtual Server: http://teams • Top-level web site: http://teams/sites/hr • Subsite: http://teams/sites/hr/benefits • Entrambi appartengono alla stessa site collection • N site collections per virtual server, M sites per site collection • Nessuna dipendenza dal metabase o dal file system 8 WSS: Struttura Logica & IIS 6 Config DB http://vipsites Worker Process A http://guest http://teams http://projects Worker Process B Web Server/IIS 6 Virtual Sites Worker Process Content DB 1 http://vipsites/top/site1 http://guest/sites/tirocinio Content DB 2 http://teams/sites/hr http://teams/sites/hr/hire Content DB 3 http://projects/uk/fusion SQL Server/WSS WSS ISAPI Filter: mapping tra URL e lo specifico site 9 WSS User Authentication • • L’autenticazione è delegata ad Internet Information Services 6.0 Sono supportate: – – – – • Anonymous Authentication Basic Authentication (w/SSL) Certificate Based Authentication Windows Integrated Authentication User impersonation se l’autenticazione ha successo 11 WSS User Authorization • Basato su un access check tra l’utente che sta accedendo alla risorsa e le ACL configurate sulla risorsa stessa • Le ACL sono basate su “ruoli” o “site groups”: guest, reader, contributor, … • A site group diversi corrispondono diritti (rights) diversi: autorizzare un utente equivale ad assegnarlo ad un site group • E’ possibile creare “site groups”/ruoli custom, raggruppando i “rights” necessari • Security scope: document library, site, site collection 12 Agenda • Windows SharePoint Services – Architettura – Sicurezza • SharePoint Portal Server 2003 – Architettura – Sicurezza • Scenari per il deployment • Capacity planning • Gestione e manutenzione delle SharePoint Technologies 13 SPS 2003: Out-of-Box Portal Site • Estende Windows SharePoint Services • Categorie e topics – Gerarchia tematica di documenti e siti, sicura e delegabile • News – Categorizzate, con supporto per il content targeting • Site registry – Directory dei siti conosciuti dal portale, navigabili secondo criteri configurabili 14 SPS2003: People & Personalization • My Site – Sito personale per ogni utente, con vista “pubblica” e vista “privata”, pagine personali, librerie di documenti condivise, etc. – Integrato con Active Directory – Supporto per web parts (“My Inbox”, “My Task”, etc.) ed Office 2003 (“Save as…”) • User Profile – Import dei dati da Active Directory – Schema estensibile • Audience Targeting – Targeting di news, links, etc. – Definizione di “audience” in base al profilo dell’utente • People Finding & Pivoting: le persone sono oggetti noti al portale ed al sistema di indicizzazione e ricerca 15 Ricerca, Indicizzazione ed Alerts • Indexing e search eterogeneo – SharePoint, siti web (HTTP, HTTPS), file shares, Exchange, Lotus Notes, Active Directory, custom… • Security Trimming – I risultati della mia ricerca contengono solo oggetti a cui mi è consentito accedere • Ricca gestione dei risultati – Scoping, viste, pivoting • Alerts relativi a persone, topics, queries, notizie 16 SPS2003: Architettura Logica Rich clients Browser • Utilizza l’infrastruttura FP-RPC HTML fornita da WSS e ne SOAP DAV estende, aggrega ed Stateless Search organizza le Web Server Server funzionalità • Topologicamente: WSS + search & index Index Server • Posso distribuire i ruoli tra i server della farm • Database aggiuntivi Profile DB Content DB per supportare i nuovi servizi Service DB Config DB 17 SPS 2003 Security • Basata sui concetti di WSS: – IIS provvede alla autenticazione – Site groups per autorizzazione • Site groups aggiuntivi: – content manager, member • Rights aggiuntivi: – “Search the portal & related content” – “Create area” – [...] 18 Agenda • Windows SharePoint Services – Architettura – Sicurezza • SharePoint Portal Server 2003 – Architettura – Sicurezza • Scenari per il deployment • Capacity planning • Gestione e manutenzione delle SharePoint Technologies 19 Small farm Web Server Search Index Databases Web Server Search Databases Index Config DB Config DB Win2K3 + SPS2003 + SQL Server 2000 Single box Win2K3 + SPS2003 SQL Server 2K Single box w/Remote SQL 20 Medium farm Windows Server 2003 SPS 2003 Index SQL Server 2000 Web Search Web Propagazione degli indici Databases Config DB Search Windows Server 2003 SPS2003 Clustering per alta affidabilità 21 Large farm deployment Web Web Web Web Web Web Web … Load Balancing “Implicito” Services Content Profiles DB DB DB Search Search Search … Propagazione 1 a molti Config DB Index Index Index 22 Office System Integration • Live Communications Server 2003/2005 – Fornisce i servizi di presence integrati con il portale ed i team site • Exchange 2003 – – – – • My Inbox My Task My Calendar Mail enabled document libraries Office 2003 – SharePoint Task Pane 23 Agenda • Windows SharePoint Services – Architettura – Sicurezza • SharePoint Portal Server 2003 – Architettura – Sicurezza • Scenari per il deployment • Capacity planning • Gestione e manutenzione delle SharePoint Technologies 24 Capacity Planning: Medium Farm Tipo di server RAM HD utile Numero CPU Web & Search 2 Gb 200 Gb 2 2x2.8Ghz XEON Index Management 2 Gb 100 Gb 1 2x2.8Ghz XEON Database 2 Gb 200 Gb 1 2x2.8Ghz XEON Una web farm SPS2003 costruita con l’hardware in tabella è in grado di offrire la seguente capacità: • • • • • Processing di 80 richieste al secondo, comprensive di 12 ricerche al secondo Indicizzazione di 10 documenti al secondo Memorizzazione ed indicizzazione di 1 milione di documenti (con documenti di dimensione media pari a 100Kb) Erogazione di 50,000 siti SharePoint (team & personal sites) Gestione di 10 portali 25 SharePoint Farm: CPU Scalability Scalabilità lineare al crescere della capacità elaborativa 26 Front-end vs. Back-End scale out Throughput (pagine/secondo) Throughput complessivo 300 250 200 150 100 50 0 1 2 3 4 5 6 N° di Front-End server • • • L’aumento dei Front-End server consente di aumentare il throughput, fino alla saturazione del backend (SQL Server) L’aumento del numero dei database consente la rimozione del bottleneck che si presenta oltre i 4 server (a parità di CPU) Regola del “4 per 1” 28 Agenda • Windows SharePoint Services – Architettura – Sicurezza • SharePoint Portal Server 2003 – Architettura – Sicurezza • Scenari per il deployment • Capacity planning • Gestione e manutenzione delle SharePoint Technologies 29 SharePoint Manageability • • • • • • • • • Self service site creation Content Type Limitation File Size Quota Site collection quotas & locks Automatic deletion of unused sites Web based administration Command line admin tools SharePoint Configuration Analyzer MOM Management Pack 30 Backup, Restore, Disaster Recovery • In WSS & in SPS i contenuti sono memorizzati in SQL Server – In generale, fare il backup di WSS/SPS equivale come minimo a fare il backup dei vari database – SPS richiederebbe anche backup indici • WSS & SPS forniscono strumenti specifici laddove sia necessaria granularità maggiore – Backup di un singolo site o site collection, intera farm – Potenzialmente anche strumenti per l’utente finale • Supporto per disaster recovery (SQL Layer) – SAN snapshot – Hot Server Farm Swapping via SQL Log Shipping 31 Strumenti per Backup & Restore Metodo Granularità SQL Server 2000 Database Tools Stsadm.exe “full fidelity” backup di una site collection Smigrate.exe Site/subiste SPSBackup Tutti i database della farm SPS, tutti i content indexes & content sources SPBackup Verifica quali site collection sono state modificate e genera un file batch che usa stsadm per farne il backup 32 Usage Analysis Reporting • WSS Usage Reporting “nativo” – Logging ulteriore, generato dal filtro ISAPI – Regolarmente importato in SQL Server – Report visualizzabili da WSS • Front Page Reporting – Utilizza gli stessi dati generati da WSS • IIS Logs – Massimo controllo e customizzazione – Richiede applicazione custom o terza parte 33 34