Architecture de Project Server 2010

 

S’applique à : Project Server 2010

Dernière rubrique modifiée : 2016-11-30

Microsoft Project Server 2010 est un véritable système multiniveau qui étend l’architecture introduite dans Microsoft Office Project Server 2007. L’architecture de Project Server comprend les clients Microsoft Project Professional 2010 et Microsoft Project Web App au niveau frontal. Les applications frontales communiquent avec le niveau intermédiaire uniquement via les services Web PSI (Project Server Interface), qui à leur tour communiquent avec la couche des objets métiers. Les objets métiers utilisent les bases de données via la couche d’accès aux données. Les applications clientes n’accèdent pas directement aux bases de données primaires ; Project Server masque les objets métiers et la couche d’accès aux données aux clients.

Cet article contient les sections suivantes :

  • Architecture générale

  • Serveurs Web

  • Interface PSI (Project Server Interface)

  • Objets métiers

  • Couche d’accès aux données et bases de données

  • Publication et planification côté serveur

Architecture générale

Voici les principales différences en matière d’architecture générale entre Project Server 2010 et Office Project Server 2007 :

  • Project Server 2010 requiert Microsoft SharePoint Server 2010 Enterprise en tant que composant requis pour l’installation. À l’instar du déploiement de batteries de serveurs Microsoft Office Project Server 2007, lorsque vous déployez Project Server 2010 sur une batterie de serveurs, Project Server 2010 doit être installé sur tous les serveurs d’applications et tous les serveurs Web de la batterie de serveurs.

  • L’interface PSI (Project Server Interface) inclut l’interface WCF (Windows Communication Foundation) et l’interface ASMX pour les services Web.

  • La plateforme de flux de travail Project Server est intégrée à l’interface PSI (Project Server Interface), à la couche des objets métiers et à la couche d’accès aux données ; en outre, elle s’appuie sur Windows Workflow Foundation dans la plateforme SharePoint

  • Les données de tâche, d’affectation et d’état des affectations Project Server sont intégrées à Microsoft Exchange Server, au lieu d’un complément Microsoft Outlook.

La figure ci-après montre une vue généralisée de l’architecture de Project Server 2010. Elle comprend un serveur Web et une instance de Project Web App sur Project Server. Comme dans Office Project Server 2007, plusieurs instances de Project Web App peuvent s’exécuter sur un seul serveur.

Architecture Project Server 2010

Notes

  • Dans Project Server 2010, vous pouvez utiliser l’interface WCF ou ASMX de l’interface PSI. Les clients Project Web App et Project Professionnel 2010 utilisent tous les deux l’interface WCF.

  • Dans l’illustration graphique de l’architecture, le redirecteur PSI se compose de deux composants, un redirecteur WCF et un redirecteur de services Web. Les clients qui utilisent l’interface ASMX appellent l’interface PSI via le redirecteur de services Web. Les clients qui utilisent l’interface WCF appellent l’interface PSI via le redirecteur WCF.

  • L’illustration graphique de l’architecture ne montre pas que le serveur Web peut être isolé par un pare-feu supplémentaire dans un réseau de périmètre (également appelé « zone démilitarisée » ou DMZ).

  • Le site des services Web SharePoint fait partie de SharePoint Server 2010 (non représenté dans l’illustration graphique de l’architecture). Le site des services Web SharePoint inclut l’application de service Project avec le répertoire virtuel PSI pour les services ASMX et WCF. L’application de service Project dans Project Server 2010 remplace l’application de services partagée dans Office Project Server 2007.

Le niveau frontal inclut des applications tierces, Microsoft Project Professional et Project Web App. Project Web App utilise Internet Explorer pour afficher les pages Microsoft ASP.NET 3.5. Les pages Project Web App utilisent les composants WebPart Project Server qui communiquent avec l’interface PSI, ainsi que les composants WebPart SharePoint Server 2010 standard.

Les applications clientes situées sur des ordinateurs distincts appellent l’interface PSI via des proxys de service. Les clients externes qui utilisent l’interface WCF accèdent à l’interface PSI via https://ServerName/ProjectServerName/_vti_bin/psi/ProjectServer.svc. Les clients qui se servent de l’interface des services Web ASMX utilisent l’une des URL de Project Web App, par exemple http://server1/pwa/_vti_bin/psi/project.asmx. Si les applications n’ont pas un accès intranet à Project Server, elles peuvent utiliser un serveur Project Web App dans un réseau de périmètre (non représenté dans l’illustration graphique de l’architecture).

Si l’accès direct à l’ordinateur Project Server est possible, les applications clientes et les composants principaux des applications Web métiers peuvent utiliser les proxys PSI qui tirent parti de l’URL de service partagé SharePoint pointant vers les services Web PSI, par exemple http://server1:32843/ProjectServiceApplication/project.asmx. Le port 32843 est le port par défaut de l’application des services Web SharePoint dans SharePoint Server 2010. L’accès direct au répertoire virtuel de l’application de service Project ne doit être utilisé que lorsqu’une application est contrainte de recourir à l’emprunt d’identité ou de s’exécuter avec des autorisations élevées.

Le niveau intermédiaire inclut l’interface PSI et la couche de logique métier, qui comprend les objets métiers logiques représentant les entités métiers Project Server. Les objets métiers incluent les projets, les tâches, les ressources, les affectations, etc. L’interface PSI et le niveau de logique métier sont étroitement liés, et sont situés sur le même serveur. Une application cliente appelle les services Web PSI, et l’interface PSI appelle les objets métiers au niveau de logique métier.

La couche d’accès aux données permet la communication entre le niveau intermédiaire et la base de données. Toutes les données Project Server sont stockées dans les bases de données Microsoft SQL Server. Les bases de données Project Server sont contenues dans les banques de données provisoire, publiée, d’archivage et de création de rapports. Les applications clientes peuvent lire la base de données de création de rapports pour les données de projet. Les clients doivent utiliser uniquement l’interface PSI pour accéder aux bases de données provisoire, publiée ou d’archivage. Le service RDS (Reporting Data Service), qui n’est pas représenté sur la figure 1, met à jour la base de données de création de rapports à partir des données publiées, quasiment en temps réel. Dans Project Server 2010, toutes les bases de données Project Server peuvent se trouver sur des serveurs distincts.

Les composants Project Web App de Project Server utilisent également la base de données de configuration Microsoft SharePoint Foundation 2010 pour la configuration du site de projet, et la base de données de contenu pour le contenu du site de projet, par exemple les pages personnalisées, les flux de travail, les paramètres de gestion, les documents et les listes de problèmes, les risques, ainsi que les engagements. Les bases de données de configuration et de contenu SharePoint prennent en charge des fonctionnalités supplémentaires pour la gestion de projets, notamment les modèles de projet et les espaces de travail, les listes personnalisées pour la collaboration d’équipe, et les rapports.

Serveurs Web

Vous pouvez installer un ou plusieurs serveurs Web dans un intranet d’entreprise afin de permettre la distribution de la charge pour les clients intranet. Lorsqu’une application cliente utilise un serveur Web distinct, les appels PSI sont routés via un redirecteur PSI vers les services Web PSI de l’ordinateur Project Server. Le redirecteur PSI (qu’il s’agisse du redirecteur WCF ou du redirecteur de services Web) remplit les fonctions suivantes :

  • Il optimise les appels à l’interface PSI à partir de clients distants.

  • Il inclut un cache serveur qui fonctionne conjointement avec le cache actif côté client dans Microsoft Project Professional pour réduire les appels aller-retour de Project Server

Une fois qu’un utilisateur a reçu un cookie d’authentification de la part de Project Server, le redirecteur PSI envoie de manière transparente les requêtes aux services Web PSI de l’ordinateur Project Server. Le redirecteur PSI améliore les performances et la fiabilité du réseau local (LAN) et d’un réseau WAN.

Project Web App est développé à l’aide d’ASP.NET 3.5. Les éléments visuels des fichiers .aspx (contenu HTML, contrôles serveur et texte statique) sont distincts de la logique de programmation des classes code-behind présentes dans les assemblys compilés (fichiers .dll). Les pages de site dans Project Web App, par exemple la page de niveau supérieur, le Centre de projets et le Centre de rapports, peuvent être personnalisées à l’aide de composants WebPart. Vous ne pouvez pas modifier les pages d’application qui n’ont pas d’option Modifier la page dans le menu Actions du site, par exemple la page Paramètres du serveur et la page Vérifier les détails de la feuille de temps.

Interface PSI (Project Server Interface)

L’interface PSI est l’API de Project Server. Le modèle objet PSI expose les fonctionnalités de Project Server à l’ensemble des applications externes. Les applications Project Professionnel 2010 et Project Web App, les applications métiers, ainsi que les autres applications tierces utilisent l’interface PSI pour accéder aux données Project Server des bases de données provisoire, publiée et d’archivage. L’interface PSI est disponible via les services WCF et via les appels aux services Web ASMX par les applications métiers principales, ou via un proxy PSI.

En règle générale, les méthodes Web de l’interface PSI produisent ou consomment des objets DataSet typés pour échanger des informations avec les objets métiers. La référence de l’interface PSI inclut la documentation relative à DataSet.

Objets métiers

Le modèle objet interne de Project Server inclut les objets métiers. Les applications clientes accèdent aux objets métiers uniquement via l’interface PSI, et seuls les objets métiers peuvent appeler la couche d’accès aux données.

Les objets métiers sont des entités logiques qui peuvent être classées en trois types :

  • Entités principales : objets tels que les projets, tâches, affectations, ressources et calendriers. Les entités principales incluent une logique métier de base, par exemple les autorisations et les règles d’affectation de noms.

  • Entités métiers : objets tels que les feuilles de temps, portefeuilles et modèles. Les entités métiers incluent une logique métier supplémentaire et sont généralement basées sur une combinaison d’entités principales.

  • Entités de prise en charge : objets tels que la sécurité et la validation.

L’interface PSI gère le mappage de l’API aux objets métiers.

Couche d’accès aux données et bases de données

La couche d’accès aux données est interne à Project Server et n’est pas exposée aux applications externes. La couche d’accès aux données convertit la représentation des données sous forme d’entité métier logique en tables de base de données physiques. Chaque entité logique est stockée dans plusieurs tables différentes. La couche d’accès aux données encapsule le travail nécessaire à la gestion des connexions, à l’exécution des requêtes, ainsi qu’au démarrage, à la validation ou à la restauration des transactions.

Les données Project Server sont partitionnées en quatre bases de données dans SQL Server.

  • La base de données provisoire contient les tables qui permettent d’enregistrer les projets non publiés à partir de Microsoft Project Professional et d’autres applications. Project Web App n’affiche aucune donnée de projet dans cette base de données.

  • La base de données publiée contient l’ensemble des ressources d’entreprise et projets publiés, le modèle global d’entreprise, ainsi que d’autres modèles de projet. Les projets publiés sont visibles dans Project Web App. La base de données publiée contient également les tables spécifiques à Project Web App (feuilles de temps, modèles, affichages, etc.), ainsi que les tables de données globales (champs personnalisés, tables de choix, sécurité et métadonnées).

  • La base de données d’archivage enregistre les versions de sauvegarde des projets et autres données.

  • La base de données de création de rapports est la zone de transit destinée à la génération des rapports et cubes OLAP. Les données de la base de données de création de rapports sont complètes et sont mises à jour quasiment en temps réel. Les tables et les vues sont optimisées pour la génération de rapports en lecture seule ; par exemple, les tables de la base de données de création de rapports sont dénormalisées afin de fournir des données redondantes et de réduire le nombre de tables relationnelles.

Les entités telles que les ressources ou les projets peuvent recouvrir plusieurs tables. En outre, toutes les tables d’une entité particulière ont la même clé primaire. La clé primaire est une colonne qui identifie de manière unique une instance d’une entité particulière. Les identificateurs uniques sont des GUID.

Seul le schéma de la base de données de création de rapports est documenté. Vous devez accéder aux bases de données provisoire, publiée et d’archivage uniquement via l’interface PSI. Vous pouvez ajouter à la base de données de création de rapports des tables de données, des champs (propriétés) et des entités qui ne sont pas définis dans le schéma de base de données Project Server 2010. Si vous ajoutez des tables aux bases de données principales, vous devez également fournir un ensemble complet constitué d’un assembly personnalisé, d’un service Web, d’objets métiers et d’un accès aux données. Vous pouvez facilement modifier la base de données de création de rapports ; il est recommandé de ne pas modifier les bases de données principales Project Server.

Publication et planification côté serveur

Project Server 2010 prend en charge les mises à jour de planification de projet manuelles et automatisées. Le processus par défaut consiste à mettre à jour les projets manuellement. En d’autres termes, le responsable de projet ouvre le projet dans Microsoft Project Professional, applique les modifications, puis enregistre et publie le projet afin que les modifications soient accessibles à tout le monde. Le moteur de planification de Microsoft Project Professional calcule les modifications de planification pour les mises à jour manuelles.

Le moteur de planification de Project Server active les mises à jour de projet automatisées via l’interface PSI. Project Server procède comme suit pour autoriser la mise à jour de la version publiée d’un projet lorsqu’un responsable de projet utilise la version provisoire :

  1. Project Server applique les mises à jour et replanifie automatiquement la version publiée.

  2. Project Server enregistre la mise à jour à appliquer à la version provisoire lorsque l’un des événements suivants se produit :

    1. Microsoft Project Professional ouvre le projet.

    2. Microsoft Project Professional tente de publier le projet.

  3. Si un conflit se produit, le responsable de projet doit le résoudre pour que la version provisoire puisse être publiée.

Avertissement

Il existe des limitations et des différences entre le moteur de planification de Project Server et celui de Microsoft Project Professional. Par exemple, Project Server ne planifie pas les sous-projets, ni les liens vers d’autres projets ; par ailleurs, il ne calcule pas les champs de valeur acquise. Pour plus d’informations, voir les détails relatifs à la planification de projet dans la section Serveur de la programmabilité Project Server (éventuellement en anglais) (https://go.microsoft.com/fwlink/?linkid=191606&clcid=0x40C), dans MSDN Library Online.