Architektur von Project Server 2010

 

Gilt für: Project Server 2010

Letztes Änderungsdatum des Themas: 2016-11-30

Microsoft Project Server 2010 ist ein echtes mehrstufiges System, mit dem die in Microsoft Office Project Server 2007 eingeführte Architektur erweitert wird. Zur Project Server-Architektur gehören Microsoft Project Professional 2010- und Microsoft Project Web App-Clients auf der Front-End-Stufe. Die Front-End-Anwendungen kommunizieren mit der mittleren Stufe nur über die Webdienste der Project Server-Schnittstelle (Project Server Interface, PSI), die wiederum mit der Geschäftsobjektschicht kommunizieren. Geschäftsobjekte verwenden die Datenbanken über die Datenzugriffsschicht (Data Access Layer, DAL). Clientanwendungen greifen nicht direkt auf die primären Datenbanken zu; Geschäftsobjekte und die DAL werden von Project Server für Clients ausgeblendet.

Dieser Artikel enthält die folgenden Abschnitte:

  • Allgemeine Architektur

  • Webserver

  • Project Server-Schnittstelle (PSI)

  • Geschäftsobjekte

  • Datenzugriffsschicht und Datenbanken

  • Veröffentlichung und serverseitige Zeitplanung

Allgemeine Architektur

Bei der allgemeinen Architektur zwischen Project Server 2010 und Office Project Server 2007 gibt es die folgenden Hauptunterschiede:

  • Für Project Server 2010 muss Microsoft SharePoint Server 2010 Enterprise installiert sein. Ähnlich wie bei der Farmbereitstellung von Microsoft Office Project Server 2007, wenn Sie Project Server 2010 in einer Farm bereitstellen, muss Project Server 2010 auf allen Anwendungsservern und allen Webservern innerhalb der Farm installiert sein.

  • Die PSI enthält sowohl die Windows Communication Foundation (WCF)-Schnittstelle als auch die ASMX-Schnittstelle für Webdienste.

  • Die Project Server-Workflowplattform ist in die PSI, die Geschäftsobjektschicht und die DAL integriert und basiert in der SharePoint-Plattform auf Windows Workflow Foundation (WF).

  • Aufgaben-, Zuordnungs- und Zuordnungsstatusdaten von Project Server werden mit Microsoft Exchange Server integriert, und nicht mit einem Microsoft Outlook-Add-In.

Die folgende Abbildung enthält eine verallgemeinerte Darstellung der Project Server 2010-Architektur. Hierzu gehören ein Webserver und eine Project Web App-Instanz in Project Server. Wie bei Office Project Server 2007 können mehrere Instanzen von Project Web App auf einem einzelnen Server ausgeführt werden.

Project Server 2010-Architektur

Hinweis

  • In Project Server 2010 können Sie die WCF- oder ASMX-Schnittstelle der PSI verwenden. Die Project Web App- und Project Professional 2010-Clients verwenden beide die WCF-Schnittstelle.

  • Die PSI-Weiterleitung in der abgebildeten Architektur besteht aus zwei Komponenten, nämlich einer WCF-Weiterleitung und einer Webdienstweiterleitung. Clients, die die ASMX-Schnittstelle verwenden, rufen die PSI über die Webdienstweiterleitung auf. Clients, die die WCF-Schnittstelle verwenden, rufen die PSI über die WCF-Weiterleitung auf.

  • In der abgebildeten Architektur ist nicht dargestellt, dass der Webserver durch eine zusätzliche Firewall in einem Umkreisnetzwerk (wird auch als "Demilitarized Zone" oder DMZ bezeichnet) isoliert werden kann.

  • Die SharePoint-Webdienstesite ist Bestandteil von SharePoint Server 2010 (ist in der abgebildeten Architektur nicht dargestellt). Zur SharePoint-Webdienstesite gehört die Project-Dienstanwendung mit dem virtuellen PSI-Verzeichnis für die ASMX- und WCF-Dienste. Die Project-Dienstanwendung in Project Server 2010 ersetzt die gemeinsame Dienstanwendung aus Office Project Server 2007.

Zur Front-End-Stufe gehören Anwendungen von Drittanbietern, Microsoft Project Professional und Project Web App. Project Web App verwendet Internet Explorer zum Anzeigen von Microsoft ASP.NET 3.5-Seiten. Die Project Web App-Seiten verwenden Project Server-Webparts, die mit der PSI kommunizieren, und verwenden auch standardmäßige SharePoint Server 2010-Webparts.

Clientanwendungen auf separaten Computern rufen die PSI über Dienstproxys auf. Externe Clients, die die WCF-Schnittstelle verwenden, greifen über https://ServerName/ProjectServerName/_vti_bin/psi/ProjectServer.svc auf die PSI zu. Clients, die die ASMX-Webdienstschnittstelle nutzen, verwenden eine der Project Web App-URLs, wie z. B. http://server1/pwa/_vti_bin/psi/project.asmx. Falls Anwendungen keinen Intranetzugriff auf Project Server haben, können sie einen Project Web App-Server in einem Umkreisnetzwerk verwenden (ist in der abgebildeten Architektur nicht dargestellt).

Wenn sie direkten Zugriff auf den Project Server-Computer haben, können Clientanwendungen und Back-End-Komponenten von Branchenwebanwendungen PSI-Proxys verwenden, die die gemeinsame SharePoint-Dienst-URL zu den PSI-Webdiensten verwenden, wie z. B. http://server1:32843/ProjectServiceApplication/project.asmx. Port 32843 ist der Standardport für die SharePoint-Webdiensteanwendung in SharePoint Server 2010. Der direkte Zugriff auf das virtuelle Verzeichnis der Project-Dienstanwendung sollte nur verwendet werden, wenn für eine Anwendung der Identitätswechsel erforderlich ist oder eine Anwendung mit erhöhten Berechtigungen ausgeführt werden muss.

Zur mittleren Stufe gehören die PSI und die Geschäftslogikstufe bestehend aus logischen Geschäftsobjekten, die Project Server-Geschäftsentitäten repräsentieren. Zu den Geschäftsobjekten zählen Projekt, Vorgang, Ressource, Zuordnung usw. Die PSI und die Geschäftslogikstufe sind eng miteinander verknüpft und befinden sich auf demselben Server. Eine Clientanwendung ruft die PSI-Webdienste auf, und die PSI ruft Geschäftsobjekte auf der Geschäftslogikstufe auf.

Die DAL ermöglicht die Kommunikation zwischen der mittleren Stufe und der Datenbank. Alle Project Server-Daten werden in Microsoft SQL Server-Datenbanken gespeichert. Die Project Server-Datenbanken werden auf die folgenden Speicher verteilt: Entwurf, Veröffentlicht, Archiv und Berichterstellung. Clientanwendungen können die Berichtsdatenbank für Projektdaten lesen. Clients sollten nur die PSI für den Zugriff auf die Entwurfsdatenbank, die veröffentlichte Datenbank oder die Archivdatenbank verwenden. Mit dem Reporting Data Service (RDS, nicht in Abbildung 1 dargestellt) wird die Berichtsdatenbank beinahe in Echtzeit mit veröffentlichten Daten aktualisiert. In Project Server 2010 können sich alle Project Server-Datenbanken auf separaten Servern befinden.

Die Project Web App-Komponenten von Project Server verwenden auch die Microsoft SharePoint Foundation 2010-Konfigurationsdatenbank für das Setup von Projektwebsites sowie die Inhaltsdatenbank für den Inhalt von Projektwebsites, wie z. B. benutzerdefinierte Seiten, Workflows, Verwaltungseinstellungen, Dokumente und Listen mit Problemen, Risiken und Zusicherungen. Die Konfigurations- und Inhaltsdatenbanken von SharePoint unterstützen zusätzliche Features für das Projektmanagement, wie z. B. Projektvorlagen und Arbeitsbereiche, benutzerdefinierte Listen für die Teamzusammenarbeit sowie Berichte.

Webserver

Sie können einen oder mehrere Webserver in einem Unternehmensintranet installieren, um die Lastenverteilung für Intranetclients zu ermöglichen. Wenn eine Clientanwendung einen separaten Webserver verwendet, werden PSI-Aufrufe über eine PSI-Weiterlung an die PSI-Webdienste auf dem Project Server-Computer geroutet. Die PSI-Weiterleitung (die WCF-Weiterleitung oder die Webdienstweiterleitung) führt die folgenden Funktionen aus:

  • Optimiert Aufrufe der PSI von Remoteclients

  • Enthält einen serverbasierten Cache, der zusammen mit dem clientseitigen aktiven Cache in Microsoft Project Professional Roundtripaufrufe von Project Server reduziert

Nachdem ein Benutzer ein Authentifizierungscookie von Project Server erhalten hat, werden von der PSI-Weiterleitung auf transparente Weise Anforderungen an die PSI-Webdienste auf dem Project Server-Computer gesendet. Die PSI-Weiterleitung verbessert die Leistung und Zuverlässigkeit im LAN und in einem WAN.

Project Web App wird mit ASP.NET 3.5 entwickelt. Die visuellen Elemente in ASPX-Dateien (HTML, Serversteuerelemente und statischer Text) sind von der Programmierlogik in CodeBehind-Klassen, die in kompilierten Assemblys (DLL-Dateien) vorhanden sind, getrennt. Websiteseiten in Project Web App, wie z. B. die Seite auf oberster Ebene, Projektcenter und Berichtscenter, können mithilfe von Webparts angepasst werden. Anwendungsseiten ohne die Option Seite bearbeiten im Menü Websiteaktionen können nicht bearbeitet werden, wie z. B. die Seite Servereinstellungen und die Seite Detail meiner Arbeitszeittabelle überprüfen.

Project Server-Schnittstelle (PSI)

Die Project Server-Schnittstelle (Project Server Interface, PSI) ist die Anwendungsprogrammierschnittstelle (Application Programming Interface, API) von Project Server. Das PSI-Objektmodell macht Project Server-Funktionalität für alle externen Anwendungen verfügbar. Project Professional 2010, Project Web App, Branchenanwendungen und sonstige Anwendungen von Drittanbietern verwenden die PSI für den Zugriff auf Project Server-Daten in den Entwurfsdatenbank, der veröffentlichten Datenbank und der Archivdatenbank. Die PSI steht über WCF-Dienste und über ASMX-Webdienstaufrufe von Back-End-Branchenanwendungen oder einen PSI-Proxy zur Verfügung.

Mit Webmethoden in der PSI werden in der Regel eingegebene DataSet-Objekte produziert oder genutzt, um Informationen mit den Geschäftsobjekten auszutauschen. Die PSI-Referenz enthält DataSet-Dokumentation.

Geschäftsobjekte

Zum internen Objektmodell von Project Server gehören die Geschäftsobjekte. Clientanwendungen greifen nur über die PSI auf Geschäftsobjekte zu, und nur Geschäftsobjekte können die Datenzugriffsschicht (Data Access Layer, DAL) aufrufen.

Geschäftsobjekte sind logische Entitäten, die in drei Typen klassifiziert werden können:

  • Kernentitäten sind Objekte wie z. B. Projekte, Vorgänge, Zuordnungen, Ressourcen und Kalender. Die Kernentitäten enthalten grundlegende Geschäftslogik wie z. B. Berechtigungen und Benennungsregeln.

  • Geschäftsentitäten sind Objekte wie z. B. Arbeitszeittabellen, Portfolios und Modelle. Geschäftsentitäten enthalten zusätzliche Geschäftslogik und bestehen in der Regel aus einer Kombination der Kernentitäten.

  • Supportentitäten sind Objekte wie z. B. Sicherheit und Überprüfung.

Die PSI übernimmt die Zuordnung der API zu den Geschäftsobjekten.

Datenzugriffsschicht und Datenbanken

Die Datenzugriffsschicht (Data Access Layer, DAL) ist intern für Project Server und wird nicht für externe Anwendungen verfügbar gemacht. Auf der DAL findet die Übersetzung zwischen der Darstellung der Daten als logische Geschäftsentität und den physischen Datenbanktabellen statt. Jede logische Entität wird in mehreren unterschiedlichen Tabellen gespeichert. Die Vorgänge zum Verwalten von Verbindungen, Ausführen von Abfragen sowie zum Beginnen von Transaktionen, zum Ausführen von Commits und zum Ausführen von Rollbacks für Transaktionen werden auf der DAL gekapselt.

Die Project Server-Daten sind auf vier Datenbanken in SQL Server aufgeteilt.

  • Die Entwurfsdatenbank enthält Tabellen zum Speichern nicht veröffentlichter Projekte aus Microsoft Project Professional und anderen Anwendungen. In Project Web App werden Projektdaten nicht in der Entwurfsdatenbank angezeigt.

  • Die veröffentlichte Datenbank enthält alle veröffentlichten Projekte sowie Enterprise-Ressourcen, die Enterprise-Global-Projektvorlage und andere Projektvorlagen. Veröffentlichte Projekte sind in Project Web App sichtbar. Die veröffentlichte Datenbank enthält außerdem für Project Web App spezifische Tabellen (Arbeitszeittabellen, Modelle, Sichten usw.) und globale Datentabellen (benutzerdefinierte Felder, Nachschlagetabellen, Sicherheit und Metadaten).

  • In der Archivdatenbank werden Sicherungskopien von Projekten und andere Daten gespeichert.

  • Die Berichtsdatenbank (RDB) dient als Stagingbereich für das Generieren von Berichten und OLAP-Cubes (Online Analytical Processing). Die Daten in der Berichtsdatenbank sind umfassend und werden beinahe in Echtzeit aktualisiert. Die Tabellen und Sichten sind für die Generierung schreibgeschützter Berichte optimiert. Beispielsweise sind die RDB-Tabellen denormalisiert, um redundante Daten bereitzustellen und die Anzahl relationaler Tabellen zu reduzieren.

Entitäten wie z. B. Ressource oder Projekt können mehrere Tabellen umfassen, und alle Tabellen für eine bestimmte Entität weisen den gleichen Primärschlüssel auf. Der Primärschlüssel ist eine einzelne Spalte, mit der eine Instanz einer bestimmten Entität eindeutig identifiziert wird. Eindeutige Bezeichner sind GUIDs.

Nur das Schema der Berichtsdatenbank ist dokumentiert. Auf die Entwurfsdatenbank, die veröffentlichte Datenbank und die Archivdatenbank sollten Sie nur über die PSI zugreifen. Sie können der Berichtsdatenbank Datentabellen, Felder (Eigenschaften) und Entitäten hinzufügen, die im Project Server 2010-Datenbankschema nicht definiert sind. Wenn Sie den Kerndatenbanken Tabellen hinzufügen, müssen Sie auch den vollständigen Stapel einer benutzerdefinierten Assembly, einen Webdienst, Geschäftsobjekte und Datenzugriff bereitstellen. Die Berichtsdatenbank kann auf einfache Weise geändert werden. Es wird davon abgeraten, die Project Server-Kerndatenbanken zu ändern.

Veröffentlichung und serverseitige Zeitplanung

Project Server 2010 unterstützt sowohl manuelle als auch automatisierte Aktualisierungen des Projektzeitplans. Standardmäßig werden Projekte manuell aktualisiert. Das heißt, der Projektmanager öffnet das Projekt in Microsoft Project Professional, wendet die Änderungen an und speichert und veröffentlicht anschließend das Projekt, um die Änderungen allen Benutzern verfügbar zu machen. Mit dem Zeitplanungsmodul in Microsoft Project Professional werden Zeitplanungsänderungen für manuelle Aktualisierungen berechnet.

Das Zeitplanungsmodul in Project Server ermöglicht automatisierte Projektaktualisierungen mithilfe der PSI. Mit Project Server kann mithilfe der folgenden Schritte die veröffentlichte Version eines Projekts aktualisiert werden, während ein Projektmanager die Entwurfsversion verwendet:

  1. Project Server wendet Aktualisierungen an und plant die veröffentlichte Version automatisch erneut.

  2. Project Server speichert die auf die Entwurfsversion in folgenden Situationen anzuwendende Aktualisierung:

    1. Das Projekt wird von Microsoft Project Professional geöffnet.

    2. Microsoft Project Professional versucht das Projekt zu veröffentlichen.

  3. Falls ein Konflikt vorliegt, muss der Projektmanager diesen beheben, damit die Entwurfsversion veröffentlicht werden kann.

Warnung

Zwischen dem Zeitplanungsmodul von Project Server und dem Zeitplanungsmodul von Microsoft Project Professional gibt es einige Einschränkungen und Unterschiede. Beispielsweise werden von Project Server keine Unterprojekte oder Verknüpfungen zu anderen Projekten geplant, und Ertragswertfelder werden nicht berechnet. Weitere Informationen finden Sie im Abschnitt "Projektplanung auf dem Server" unter Programmierbarkeit von Project Server (https://go.microsoft.com/fwlink/?linkid=191606&clcid=0x407) in der MSDN Library.