Architettura di Project Server 2010

 

Si applica a: Project Server 2010

Ultima modifica dell'argomento: 2016-11-30

Microsoft Project Server 2010 è un vero e proprio sistema multilivello che estende l'architettura introdotta in Microsoft Office Project Server 2007. L'architettura di Project Server include client Microsoft Project Professional 2010 e Microsoft Project Web App nel livello front-end. Le applicazioni front-end comunicano con il livello intermedio solo tramite i servizi Web Project Server Interface (PSI), che a loro volta comunicano con il livello degli oggetti business. Gli oggetti business utilizzano i database tramite il livello di accesso ai dati. Le applicazioni client non accedono direttamente ai database primari. Project Server nasconde ai client gli oggetti business e il livello di accesso ai dati.

Sezioni dell'articolo:

  • Architettura generale

  • Server Web

  • Project Server Interface (PSI)

  • Oggetti business

  • Livello di accesso ai dati e database

  • Pubblicazione e programmazione sul lato server

Architettura generale

Le differenze principali nell'architettura generale tra Project Server 2010 e Office Project Server 2007 sono le seguenti:

  • Project Server 2010 necessita di Microsoft SharePoint Server 2010 Enterprise per l'installazione. Come per una distribuzione di Microsoft Office Project Server 2007 in una server farm, quando si distribuisce Project Server 2010 in una farm è necessario installare Project Server 2010 in tutti i server applicazioni e server Web della farm.

  • L'interfaccia PSI include sia l'interfaccia Windows Communication Foundation (WCF) che l'interfaccia ASMX per i servizi Web.

  • La piattaforma per flussi di lavoro Project Server è integrata nell'interfaccia PSI, nel livello degli oggetti business e nel livello di accesso ai dati ed è basata su Windows Workflow Foundation (WF) nella piattaforma SharePoint.

  • I dati relativi alle attività, alle assegnazioni e allo stato delle assegnazioni di Project Server sono integrati con Microsoft Exchange Server, anziché con un componente aggiuntivo di Microsoft Outlook.

Nella figura riportata di seguito viene illustrata un'architettura generica di Project Server 2010. Sono inclusi un server Web e un'istanza di Project Web App in Project Server. Come per Office Project Server 2007, possono essere eseguite più istanze di Project Web App in un server.

Architettura di Project Server 2010

Nota

  • In Project Server 2010 è possibile utilizzare l'interfaccia WCF o ASMX di PSI. I client Project Web App e Project Professional 2010 utilizzano entrambi l'interfaccia WCF.

  • Il server d'inoltro PSI nella figura dell'architettura è costituito da due componenti, un server d'inoltro WCF e un server d'inoltro del servizio Web. I client che utilizzano l'interfaccia ASMX chiamano PSI tramite il server d'inoltro del servizio Web. I client che utilizzano l'interfaccia WCF invece chiamano PSI tramite il server d'inoltro WCF.

  • Nella figura dell'architettura non viene mostrato che il server Web può essere isolato tramite un ulteriore firewall in una rete perimetrale, conosciuta anche come DMZ.

  • Il sito dei servizi Web di SharePoint fa parte di SharePoint Server 2010 (non illustrato nella figura dell'architettura). Questo sito include l'applicazione di servizio di Project con la directory virtuale PSI per i servizi ASMX e WCF. L'applicazione di servizio di Project in Project Server 2010 sostituisce l'applicazione di servizi condivisi in Office Project Server 2007.

Il livello front-end include applicazioni di terze parti, Microsoft Project Professional e Project Web App. Project Web App utilizza Internet Explorer per visualizzare le pagine Microsoft ASP.NET 3.5. Le pagine Project Web App utilizzano web part di Project Server che comunicano con PSI, nonché le web part di SharePoint Server 2010 standard.

Le applicazioni client in computer separati chiamano l'interfaccia PSI tramite i proxy di servizio. I client esterni che utilizzano l'interfaccia WCF accedono a PSI tramite http://NomeServer/NomeProjectServer/_vti_bin/psi/ProjectServer.svc. I client basati sull'interfaccia del servizio Web ASMX utilizzano uno degli URL di Project Web App, ad esempio http://server1/pwa/_vti_bin/psi/project.asmx. Se non dispongono dell'accesso Intranet a Project Server, le applicazioni possono utilizzare un server Project Web App in una rete perimetrale (non illustrato nella figura dell'architettura).

Se possono accedere direttamente al computer Project Server, le applicazioni client e i componenti back-end di applicazioni Web line-of-business possono basarsi sui proxy PSI che utilizzano l'URL dei servizi condivisi SharePoint per i servizi Web PSI, ad esempio http://server1:32843/ApplicazioneServizioProjectServer/project.asmx. La porta 32843 è la porta predefinita dell'applicazione dei servizi Web SharePoint in SharePoint Server 2010. L'accesso diretto alla directory virtuale dell'applicazione di servizio di Project deve essere utilizzato solo se un'applicazione deve utilizzare la rappresentazione o viene eseguita con autorizzazioni elevate.

Il livello intermedio include l'interfaccia PSI e il livello delle regole business, costituito da oggetti business logici che rappresentano entità business di Project Server. Tra gli oggetti business sono inclusi Progetto, Attività, Risorsa, Assegnazione e così via. L'interfaccia PSI e il livello delle regole business sono strettamente correlati e sono contenuti nello stesso server. Un'applicazione client chiama i servizi Web PSI e l'interfaccia PSI richiama gli oggetti business nel livello delle regole business.

Il livello di accesso ai dati consente la comunicazione tra il livello intermedio e il database. Tutti i dati di Project Server vengono archiviati in database di Microsoft SQL Server. I database di Project Server sono sottoposti a factoring negli archivi Draft, Published e Archive e nel database delle relazioni. Le applicazioni client possono leggere nel database delle relazioni i dati relativi al progetto. I client devono utilizzare solo l'interfaccia PSI per accedere ai database Draft, Published o Archive. Il servizio di segnalazione dei dati (RDS, Reporting Data Service), non riportato nella Figura 1, aggiorna quasi in tempo reale il database delle relazioni con i dati pubblicati. In Project Server 2010 tutti i database di Project Server possono essere contenuti in server separati.

I componenti Project Web App di Project Server utilizzano inoltre il database di configurazione di Microsoft SharePoint Foundation 2010 per la configurazione del sito di progetto e il database del contenuto per il contenuto del sito di progetto, ad esempio pagine personalizzate, flussi di lavoro, impostazioni di gestione, documenti, nonché elenchi di problemi, rischi e impegni. I database di configurazione e del contenuto di SharePoint supportano caratteristiche aggiuntive per la gestione dei progetti, ad esempio modelli di progetto e aree di lavoro, elenchi personalizzati per la collaborazione in team e relazioni.

Server Web

È possibile installare uno o più server Web in una rete Intranet aziendale per consentire la distribuzione del carico per i client Intranet. Quando un'applicazione client utilizza un server Web separato, le chiamate all'interfaccia PSI vengono indirizzate tramite un server d'inoltro PSI ai servizi Web PSI nel computer Project Server. Il server d'inoltro PSI, ovvero il server d'inoltro WCF o il server d'inoltro dei servizi Web, esegue le funzioni seguenti:

  • Ottimizza le chiamate all'interfaccia PSI dai client remoti

  • Include una cache basata su server che utilizza la cache attiva sul lato client in Microsoft Project Professional per ridurre le chiamate round trip a Project Server

Dopo che un utente ha ricevuto un cookie di autenticazione da Project Server, il server d'inoltro PSI invia le richieste in modo trasparente ai servizi Web PSI nel computer Project Server. Il server d'inoltro PSI consente di migliorare le prestazioni e l'affidabilità sia sulla rete LAN che su una rete WAN.

Project Web App è stato sviluppato con ASP.NET 3.5. Gli elementi visivi nei file aspx (HTML, controlli server e testo statico) sono separati dalla logica di programmazione nelle classi code-behind in assembly compilati (file dll). Le pagine del sito in Project Web App, ad esempio la pagina principale, il centro Progetti e Centro rapporti e report, possono essere personalizzate utilizzando le web part. Le pagine dell'applicazione che non dispongono di un'opzione Modifica pagina nel menu Azioni sito, ad esempio le pagine Impostazioni server e Verifica dettagli scheda attività, non possono essere modificate.

Project Server Interface (PSI)

L'interfaccia PSI è l'API di Project Server. Il modello a oggetti di PSI espone la funzionalità Project Server a tutte le applicazioni esterne. Project Professional 2010, Project Web App, le applicazioni line-of-business e altre applicazioni di terze parti utilizzano l'interfaccia PSI per accedere ai dati di Project Server nei database Draft, Published e Archive. Questa interfaccia è disponibile tramite i servizi WCF e le chiamate ai servizi Web ASMX da parte di applicazioni line-of-business back-end, nonché tramite un proxy PSI.

I metodi Web in PSI in genere producono o utilizzano oggetti DataSet tipizzati per scambiare informazioni con gli oggetti business. Nella guida di riferimento di PSI è inclusa la documentazione relativa ai DataSet.

Oggetti business

Il modello a oggetti interno di Project Server include gli oggetti business. Le applicazioni client accedono agli oggetti business solo tramite l'interfaccia PSI e solo gli oggetti business possono chiamare il livello di accesso ai dati.

Gli oggetti business sono entità logiche che possono essere classificate in tre tipi:

  • Entità di base, ovvero oggetti quali progetti, attività, assegnazioni, risorse e calendari. Le entità di base includono regole business di base quali autorizzazioni e regole di denominazione.

  • Entità business, ovvero oggetti quali schede attività, portfolio e modelli. Le entità business includono regole business aggiuntive e vengono create in genere a partire da una combinazione di entità di base.

  • Entità di supporto, ovvero oggetti quali sicurezza e convalida.

L'interfaccia PSI gestisce il mapping tra l'API e gli oggetti business.

Livello di accesso ai dati e database

Il livello di accesso ai dati è interno a Project Server e non è esposto ad applicazioni esterne. Effettua una conversione tra la rappresentazione dei dati di entità business logiche e le tabelle di database fisici. Ogni entità logica è archiviata in diverse tabelle. Il livello di accesso ai dati incapsula il lavoro necessario per la gestione delle connessioni, l'esecuzione di query e l'avvio, il commit o il rollback delle transazioni.

I dati di Project Server sono partizionati in quattro database in SQL Server.

  • Nel database Draft sono contenute tabelle per salvare progetti di Microsoft Project Professional e altre applicazioni non pubblicati. Project Web App non consente di visualizzare i dati di progetto nel database Draft.

  • Nel database Published sono contenuti tutti i progetti e le risorse aziendali pubblicati, il modello globale organizzazione e altri modelli di progetto. I progetti pubblicati sono visibili in Project Web App. Nel database Published sono contenute inoltre tabelle specifiche di Project Web App (schede attività, modelli, visualizzazioni e così via), nonché tabelle di dati globali (campi personalizzati, tabelle di ricerca, sicurezza e metadati).

  • Nel database Archive vengono salvate le versioni di backup di progetti e altri dati.

  • Il database delle relazioni rappresenta l'area di gestione temporanea per la generazione di relazioni e cubi OLAP. I dati contenuti in questo database sono completi e aggiornati quasi in tempo reale. Le tabelle e le visualizzazioni vengono ottimizzate per la generazione di relazioni di sola lettura. Le tabelle del database delle relazioni ad esempio sono denormalizzate per garantire dati ridondanti e ridurre il numero di tabelle relazionali.

Entità quali Risorsa o Progetto possono estendersi su più tabelle e tutte le tabelle di una determinata entità hanno la stessa chiave primaria. La chiave primaria è una singola colonna che identifica in modo univoco un'istanza di un'entità specifica. Gli identificatori univoci sono i GUID.

Solo lo schema del database delle relazioni è documentato. È consigliabile accedere ai database Draft, Published e Archive solo attraverso l'interfaccia PSI. È possibile aggiungere al database delle relazioni tabelle di dati, campi (proprietà) ed entità non definiti nello schema di database di Project Server 2010. Se si aggiungono tabelle ai database di base, è inoltre necessario specificare lo stack completo di un assembly personalizzato, un servizio Web, oggetti business e accesso ai dati. Il database delle relazioni può essere modificato senza difficoltà, mentre è consigliabile non modificare i database di Project Server di base.

Pubblicazione e programmazione sul lato server

Project Server 2010 supporta supporta aggiornamenti sia manuali che automatici della programmazione dei progetti. Il processo predefinito prevede l'aggiornamento manuale dei progetti, ovvero il project manager apre il progetto in Microsoft Project Professional, applica le modifiche e quindi salva e pubblica il progetto per rendere le modifiche disponibili per tutti. Il motore di programmazione in Microsoft Project Professional calcola le modifiche alla programmazione per gli aggiornamenti manuali.

Il motore di programmazione in Project Server consente gli aggiornamenti automatici dei progetti tramite PSI. Project Server consente l'aggiornamento della versione pubblicata di un progetto mentre un project manager utilizza la versione bozza. A tale scopo:

  1. Project Server applica gli aggiornamenti e riprogramma automaticamente la versione pubblicata.

  2. Project Server salva l'aggiornamento da applicare alla versione bozza quando si verifica uno degli eventi seguenti:

    1. Microsoft Project Professional apre il progetto.

    2. Microsoft Project Professional tenta di pubblicare il progetto.

  3. In caso di conflitto, il project manager deve risolverlo prima della pubblicazione della versione bozza.

Avviso

Esistono alcune restrizioni e differenze tra i motori di programmazione di Project Server e Microsoft Project Professional. In Project Server ad esempio non vengono programmati sottoprogetti o collegamenti ad altri progetti e non vengono calcolati i campi dei costi realizzati. Per ulteriori informazioni, vedere la sezione relativa alla programmazione di progetti nel server in Programmabilità di Project Server (le informazioni potrebbero essere in lingua inglese) (https://go.microsoft.com/fwlink/?linkid=191606&clcid=0x410) in MSDN Library.