Windows SharePoint 2003 Products & Technologies – Architettura

Slides:



Advertisements
Presentazioni simili
IlTrovatore S.p.a. IlTrovatore RemoteSearch IlTrovatore mette a disposizione di portali Internet, piccole e medie imprese, tutto il suo know-how nel settore.
Advertisements

Elaborazione di Franco Grivet Chin
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
(Appunti da Scott Mitchell, James Atkinsons - Active Server Pages 3.0 – ed. Apogeo) Le pagine ASP.
Windows Server 2003 Active Directory Diagnostica, Troubleshooting e Ripristino PierGiorgio Malusardi IT Pro – Evangelist Microsoft.
Francesco Cristofoli Microsoft Italia
La sinergia tra Office SharePoint Portal Server 2003 e Content Management Server 2002 Walter Cipolleschi.
Visual Studio Tools For Office 2005 Fabio Santini. NET Senior Developer Evangelist Microsoft Italy.
Crea il tuo sito con Web Matrix e il Web Hosting su ASP.NET
Consumare Web Service Andrea Saltarello
1 Windows SharePoint 2003 Products & Technologies – Overview funzionale Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web:
Sharepoint Gabriele Castellani
Massimiliano Bosco – Aliware – Torino – Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)
Proposta architettura sistema elearning
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Sistema di gestione flussi documentali
Scenari di Collaborazione Intranet
Java Enterprise Edition (JEE)
Connessione con MySQL.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Università degli Studi di Modena e Reggio Emilia
Sicurezza e Policy in Active Directory
Sicurezza e Policy in Active Directory. Sommario Amministrazione della sicurezza in una rete Windows 2003 Amministrazione della sicurezza in una rete.
Amministrazione di una rete con Active Directory.
Active Directory.
Web Cooperativo. Evoluzione tecnologie didattiche (Comunità di pratica e apprendimento A.Calvani - PuntoEdu) INTRANET C.M.S.
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Active Server Pages.
Architettura Three Tier
1 Anatomia di una pagina Un insieme di pagine web hanno generalmente una parte invariante (o poco): header, navigazione, footer una parte variabile: contenuti.
Architettura del World Wide Web
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
Cos’è un CMS? Content Management System
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net Web Part e controlli di login Elaborazione di Franco Grivet Chin.
Introduzione ad ASP.net
Architettura Java/J2EE
DBMS ( Database Management System)
Ing. Enrico Lecchini BetaTre S.r.l.
Gestione sito Dario Zucchini 29/02/2012.
C APITOLO 6 © 2012 Giorgio Porcu – Aggiornamennto 22/02/2012 G ESTIRE D ATI E C ARTELLE DI LAVORO Excel Avanzato.
Guida IIS 6 A cura di Nicola Del Re.
Test Reti Informatiche A cura di Gaetano Vergara Se clicchi sulla risposta GIUSTA passi alla domanda successiva Se clicchi sulla risposta ERRATA passi.
Roberto DAngelo Business Productivity Technology Specialist Office System come Smart Client.
L’applicazione integrata per la gestione proattiva delle reti IT
BROKER SERVER Progetto di Ingegneria del Web 2008 Alessio Bianchi Andrea Gambitta Giuseppe Siracusano.
Fare clic per modificare lo stile del titolo Fare clic per modificare stili del testo dello schema – Secondo livello Terzo livello – Quarto livello » Quinto.
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
1 w w w. g a t 4. c o m WI GAT WebIngelligence rappresenta una piattaforma funzionale e tecnologica per la creazione e gestione di un datawarehouse che.
Sistemi Informativi sul Web
Un problema importante
Windows SharePoint 2003 Products & Technologies – Personalizzazione
IBM Lotus Notes e Domino
ASP – Active Server Pages - 1 -Giuseppe De Pietro Introduzione ASP, acronimo di Active Server Pages, sta ad indicare una tecnologia per lo sviluppo di.
ASP – Active Server Pages Introduzione Pagine Web Statiche & Dinamiche(ASP)
a cura di Francesco Lattari
Corso Web CSV – Andiamo on-line 1 Andiamo on-line Corso di formazione Elementi base per la costruzione di un sito web.
Realizzazione Sito Web
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
By: Powered by:. Tecnologia Microsoft La soluzione CCAnalyzer utilizza la tecnologia OLAP (On Line Analytical Processing) di Microsoft presente nel software.
Extension pack per IIS7 Piergiorgio Malusardi IT Pro Evangelist
Relatore: Prof. Ing. Stefano SalsanoLaureando: Flaminio Antonucci.
Sistemi di elaborazione dell’informazione Modulo 3 - Protocolli applicativi Unità didattica 1 - Domain Name System Ernesto Damiani Lezione 2 – Caratteristiche.
Servizi Internet Claudia Raibulet
E Windows SharePoint Services 2.0 Ivan Renesto Document Library how to use Windows SharePoint Services.
Eprogram informatica V anno.
Presenta – #wpc15it1 BI005 - Real Power BI Franco Perduca Factory Software srl
La gestione della rete e dei server. Lista delle attività  Organizzare la rete  Configurare i servizi di base  Creare gli utenti e i gruppi  Condividere.
ASP – Active Server Pages - 1 -Giuseppe Tandoi ASP – Active Server Pages Tecnologia per lo sviluppo di pagine dinamiche.
Transcript della presentazione:

Windows SharePoint 2003 Products & Technologies – Architettura Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web: http://www.codearchitects.com E-mail: mbellinaso@codearchitects.com

Biografia Consulenza, sviluppo e training con Code Architects Srl Collaboratore di Visual Basic & .NET Journal, Computer Programming, MSDN Magazine e ASP Today Coautore di “ASP.NET Website Programming”, “Fast Track ASP.NET” e “Visual C# .NET: a Guide for VB6 Developers” (Wrox Press) Sviluppatore di UGI SharePoint (www.ugisharepoint.it) Sviluppatore dei siti *2TheMax (www.dotnet2themax.com) (www.dotnet2themax.it ) e-mail: mbellinaso@codearchitects.com

Agenda WSS vs. SPS I componenti di SharePoint Opzioni di deployment Web Server IIS, esecuzione di pagine ASPX, Web Part, codice unsafe I database di SharePoint La struttura dei DB di configurazione e di contenuti Il modello ad oggetti di SharePoint Accedere a SharePoint tramite Web Service

WSS vs. SPS SharePoint Portal Server (SPS) News e Links Directory dei siti Creazione e gestione di siti personali Targeting dei contenuti tramite le Audience, e provisioning dei profili tramite Active Directory Servizi di Index, Enterprise Search e Alerts Single Sign-On Integrazione con BizTalk Server Windows SharePoint Services (WSS) Servizi per la condivisione e collaborazione su documenti, gestione del loro ciclo di vita, e versioning Membership e authorization Web Part Framework: presentazione e personalizzazione dei contenuti Alerts e ricerca a livello di sito

WSS vs. SPS in dettaglio (1/2) Feature WSS SPS Alerts Sì Discussion boards Document libraries Document Workspace Lists Meeting Workspace Microsoft FrontPage integration Microsoft InfoPath integration Surveys Templates Web Parts Framework

WSS vs. SPS in dettaglio (2/2) Feature WSS SPS Area Alerts No Sì Audiences Automatic categorization BizTalk integration Central Site Manageability Enterprise Search News Personal sites Shared services Single sign-on Site Directory Topic areas User profiles

I componenti di SharePoint Front-end Web server (1-10): punto di accesso per i servizi e i contenuti di SharePoint. Riceve le richieste dei client, e produce l’output grafico per il browser. Content Index server (1-4): indicizza contenuti interni ed esterni al portale Search server (1-4): permette all’utente di eseguire ricerche avanzate, usando FTS, e supporta filtri su metadati (colonne built-in e custom di liste e librerie) Job server (1): esegue in background attività schedulate, come l’invio di alert, l’analisi dei file di log per la produzione di statistiche, la cancellazione di siti non usati, l’importazione di profili da AD, ecc. Ce n’è uno solo per portale. SQL Database Server (1-5): gestisce i contenuti e la configurazione dei portali e siti di SharePoint

I componenti di SharePoint Web / Application Server Windows Server 2003 Internet Information Services 6.0 (IIS6) .NET Framework 1.1 ASP.NET 1.1 WSS (+ SPS, opzionalmente) Alcune feature di SPS richiedono AD, quindi il server deve far parte di un dominio esistente, o essere configurato come Domain Controller Database server Windows Server 2000/2003 Database supportati: SQL Server 2000 MSDE: limitato a 2GB di storage e a 5 worker thread WMSDE: non ha i limiti di storage e worker thread di MSDE, ma supporta solo lo schema di DB di Microsoft per WSS. Non funziona con SPS

Architettura Scale-out Web/Search Server X Rich Clients (Office o app custom) Web Browser Load Balancer (hardware o software) SMTP Server SQL Content DB SQL Config DB Index/Job Server SOAP HTML Web server a basso costo. Possono essere aggiunti all’aumentare degli hit SQL Server contiene tutti i metadati, dati, documenti, ACL ecc. Usare SQL Server multipli per sfruttare partizionamento, e ottenere failover e redundancy

Opzioni di deployment Stand-alone single server: tutti i componenti sullo stesso server Server Farm Small: separa su più server componenti di front-end e i DB di back-end Medium: colloca il job e index server su server separati da quelli usati per web e search Large: fino a 4 index server (uno dei quali fa anche da job server), fino a 4 search server, fino a 10 web server Whitepaper su strategie di deployment in casi reali seguiti da Microsoft IT: http://www.microsoft.com/technet/itsolutions/msit/deploy/spswhtwp.mspx

Architettura Scale-out Performance e scalabilità migliorate ripetto a STS e SPS01 .NET Framework, SQL Server 2000 Architettura three-tier Componenti separati: web rendering, database, search, indexing Si possono aggiungere facilmente nuovi web server all’aumentare di richieste web Il web server è completamente stateless (a differenza di STS), rendendo immediato l’utilizzo di un Load Balancer (HW o SW) Si possono aggiunge nuovi database di contenuti Tutti i contenuti (metadati, dati e documenti) sono su DB (in STS i documenti stanno sul file system): Sicurezza a affidabilità (deployment in cluster per eliminare il single-point-of-failure) Update transazionali Non serve fare replicazione Semplifica il backup

End User Virtual Server Web Server End User Virtual Server Site collection Web IIS Admin Virtual Server Configurazione di IIS Configurazione di SharePoint IIS si occupa di HTTP listening, port resolution, e authentication Admin vserver Uno per server Accesso tramite porta scelta in modo random in fase di installazione Es: http://server:21339 End-user vserver Forniscono accesso ai contenuti Ce ne può essere più di uno per server Es: http://portal1, http://portal2 Site collection Sito radice, non ha parent – unità di backup Site collection multipli per vserver Possono essere distribuiti su DB diversi Es: http://portal1/demo1, http://portal1/demo2 Site (Web) Più web per site collection Contenuti nello stesso DB dove si trova il site Es: http://portal1/demo1/subsite1, http://portal1/demo1/subsite2 I siti di SP non sono in relazione con i siti di IIS (non sono configurati nel metabase di IIS)

Web Server – Dettagli Managed objects areaccessed here HTTP Requests ISAPI Filter (STSFLTR.DLL)) Inclusions/Exclusions Static Page Gets ASP.NET Handler Direct (_layouts directory). Examples: Create New View, User Profile and Custom Apps. Safe (lists, web part pages) Managed objects (SP Object Model) Content, profile, service, and config db access Unmanaged Code List/View Rendering FrontPage server extensions DAV Static document gets Database I/O IIS ISAPI Filter Static Pages FrontPage RPC DAV .aspx .asmx ASP.NET Handler ISAPI Ext Direct Safe ASP.NET SharePoint Unmanaged Code Config ADO.NET Service Profile Content Managed objects areaccessed here

Esecuzione di pagine ASPX – Direct vs. Safe In direct mode, le pagine funzionano come pagine ASP.NET standard (application pages) Pagine sotto la directory /_layouts, direttamente nel FS Disponibili per TUTTI i siti Pagine amministrative, non modificabili da browser (non hanno Web Part zone in cui aggiungere web part) Sono comunque eseguite sotto il contesto di SharePoint, e possono accedere ai suoi oggetti In safe mode le pagine si trovano nel DB, e vengono recuperate ed eseguite dinamicamente (user pages) Classi SharePointHandlerFactory e SharePointHandler I controlli su queste pagine (tipicamente Web Part) devono essere stati registrati come safe (sicuri) affinché possono essere caricati Non è possibile eseguire script in-line Tipicamente possono essere personalizzate dall’utente, a runtime Se il layout della pagina non è stato personalizzato, la struttura è caricata direttamente da FS (più veloce) e le query su DB recuperano solo le Web Part da inserire Più siti possono usare la stessa pagina in cache, per migliorare la scalabilità

Codice unsafe Il modello ad oggetti di SharePoint e il Framework per le Web Part sono dei layer sottili sopra DLL unmanaged (owssvr.dll) Supporto per FrontPage 2003 Server Extensions Supporto per il protocollo DAV Database Input/output Fornisce logica per gestire le liste, interpretare il CAML (Collaborative Application Markup Language) e produrre l’HTML di output delle viste CAML è usato per definire l’HTML e Javascript che verrà generato Tag per output condizionale Nota: SPS03 usa anche ADO.NET per un accesso managed ai suoi database

Web Part Framework ASP.NET Page Controlli ASP.NET che ereditano dalla classe base WebPart, che a sua volta eredita da System.Web.UI.Control Web Part zone Le Web Part sono controlli ASP.NET server-side che vengono inseriti all’interno di pagine o zone eseguite nel contesto di SharePoint Forniscono caratteristiche comuni, offerte dal framework Titolo, bordi, stato (minimizzato ecc.) Supporto per drag & drop Proprietà shared o per utente I controlli sulla pagina sono determinati da record del DB dei contenuti Implementano interfacce standard per comunicare le une con le altre

SQL Server – 5 tipi di database WSS Configuration Database: contiene informazioni di configurazione della web farm, l’elenco dei vserver e delle collezioni di siti, riferimenti ai DB di contenuti, e degli altri componenti di infrastruttura Content Database (Site): contiene tutti i dati dei siti/web (metadati e dati delle liste, documenti) Schema fisso indipendentemente da numero di siti e liste STS usava un DB per ogni sito, e una tabella per ogni lista Profile Database: contiene i profili personali degli utenti, e le configurazioni delle audience per il targeting dei contenuti Services database: supporta i servizi di search, indexing, e dei job schedulati (subscriptions/alerts) Single Sign On (SSO) Database: credenziali criptate, per utente, di applicazioni esterne

Configuration Database

Content Database Sites: impostazioni delle site collection Webs: impostazioni dei siti di una site collection Lists: definizioni della struttura delle liste Docs: pagine e file di document library, allegati di list item Se Content è NULL, la pagina non è stata personalizzata UserData: dati di colonne custom associate a liste e librerie Links: link tra pagine/webpart e file WebParts: informazioni su Web Part e List Views di siti / pagine Personalization: personalizzazioni sulle Web Part

.NET Object Model WSS e SPS offrono entrambi un completo modello ad oggetti Collezione di assembly .NET (scritti in C#) disponibili sul server Accessibile da ASP.NET o da qualsiasi altro processo server-side Espone la maggior parte dei metadati (struttura di siti, liste ecc.) e dei dati Cosa posso fare con l’object model? Leggere e modificare proprietà del sito web Eseguire operazioni amministrative, come la creazione di siti web, utenti, ruoli ecc. Aggiungere, modificare, cancellare e recuperare dati da qualsiasi lista Creare nuove liste e impostarne la struttura (numero e tipo di campi) Lavorare con documenti (Word, Excel, InfoPath ecc.) delle document library

.NET Object Model – Scenari di utilizzo Dall’interno di Web Part da caricare in pagine e zone esistenti del sito In intere pagine/applicazioni ASP.NET custom Singole pagine o un intera applicazione web possono essere create sotto la directory /_layouts Questo permette alle pagine di assere accessibili, e di girare sotto il contesto di siti diversi. Es: http://server/_layouts/myapp/mypage.aspx http://server/subsite1/_layouts/myapp/mypage.aspx Da un programma WinForms/console che gira sul server

.NET Object Model Referenziare assembly “Windows SharePoint Services” Includere il namespace “Microsoft.SharePoint” e sottostanti List Data SPField SPFieldCollection SPListCollection SPList SPListItemCollection SPListItem SPView Administration SPGlobalAdmin SPQuota SPVirtualServer

.NET Object Model – Le basi Il modello a oggetti di SharePoint ha tre oggetti di primo livello: SPWeb (rappresenta un singolo sito) SPSite (rappresenta una collezione di siti) SPGlobalAdmin (accesso a impostazioni globali) Per leggere/scrivere dati all’interno di un sito bisogna prima ottenere un riferimento all’oggetto SPWeb che identifica il sito stesso Proprietà principali: Web.Title (restituisce il titolo del sito) Web.Lists (restituisce la collezione di liste del sito) Web.Users (restituisce la collezione di utenti del sito) SPWeb web = SPControl.GetContextWeb(Context);

.NET Object Model – Leggere dati Quando si legge un campo di un item, alla proprietà indexer si può passare il titolo della colonna (Es: “Due Date”) oppure il nome interno (Es: “DueDate”) E’ sempre meglio usare il nome interno, perché non varia anche se la colonna viene rinominata. Come recuperare nomi interni/titoli? NOTA: per le proprie liste custom si consiglia di creare le colonne con dei nomi semplici (senza spazi), e poi rinominarle 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>");

.NET Object Model – Modificare dati Modificare le proprietà di una lista Modificare i dati di un singolo item esistente Aggiungere un nuovo item alla lista NOTA: affinché le modifiche siano rese persistenti deve essere chiamato 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...

L’Object Model tramite Web Service Gli assembly con l’object model di SharePoint possono essere usati solo da programmi server-side E se voglio accedere ai siti, liste e documenti da un qualsiasi client? (applicazione WinForms su client remoto, Pocket PC ecc.) Molte funzionalità dell’object model sono esposte da un web service, che fa da componente di facade Permette di manipolare siti, liste, viste, elementi ecc. Funzionalmente simile all’object model delle librerie sul server, ma con meno metodi, per minimizzare il numero di transazioni (chunky vs. chatty interfaces) Viene usato dalle applicazioni di Office per accedere ai dati in SharePoint

L’Object Model tramite Web Service Creare un’applicazione WinForms Dalla finestra di dialogo “Add Web Reference” inserire l’Url del web service per le liste. Es: http://server/_vti_bin/lists.asmx Altri web service: UserGroups.asmx – accesso a utenti e gruppi Webs.asmx – accesso ai siti Views.asmx – accesso alle viste 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);

Document Library Events E’ possibile intercettare molti eventi relativi il contenuto delle document library Cancel Check Out Check In Check Out Copy Delete Insert Move / Rename Update Utili per l’implementazione di workflow Attualmente questo supporto non è esteso alle normali liste!

Risorse Ontolica SharePoint Explorer SharePoint Configuration Analyzer Vista ad albero di server, siti, web e liste di SPS e WSS Di ogni oggetto è possibile leggere tutte le proprietà Per ogni lista è possibile vedere la struttura e i dati presenti Utile durante la fase di sviluppo per controllare ID, schema XML e altre proprietà degli oggetti http://www.ontolica.com/English/Products/SharePointExplorer/SharePointExplorerHome.html SharePoint Configuration Analyzer Verifica impostazioni e identifica configurazioni errate Report sull’utilizzo di web Part Elenco di package e file di configurazione presenti sul server http://www.microsoft.com/downloads/details.aspx?FamilyID=918f8c18-89dc-4b47-82ca-34b393ea70e1&DisplayLang=en

Domande? http://www.ugisharepoint.it http://www.dotnet2themax.it/blog