Архитектура Project Server 2010
Применимо к: Project Server 2010
Последнее изменение раздела: 2016-11-30
Microsoft Project Server 2010 – это истинно многоуровневая система, которая расширяет архитектуру, введенную в Microsoft Office Project Server 2007. Архитектура Project Server содержит клиенты Microsoft Project профессиональный 2010 и Microsoft Project Web App на интерфейсном уровне. Интерфейсные приложения обмениваются данными со средним уровнем только через веб-службы интерфейса Project Server (PSI), которые в свою очередь обмениваются данными с уровнем бизнес-объекта. Бизнес-объекты используют базы данных через уровень доступа к данным. Клиентские приложения не обращаются непосредственно к основным базам данных; Project Server скрывает от клиентов бизнес-объекты и DAL.
Содержание
Общая архитектура
Веб-серверы
Интерфейс Project Server (PSI)
Бизнес-объекты
Уровень доступа к данным и базы данных
Публикация и расписание серверной стороны
Общая архитектура
Основными различиями в общей архитектуре между Project Server 2010 и Office Project Server 2007 являются следующие:
Project Server 2010 требует Microsoft SharePoint Server 2010 Enterprise для установки. Как и при развертывании фермы Microsoft Office Project Server 2007, при развертывании Project Server 2010 в ферму Project Server 2010 должен быть установлен на серверах приложений на всех веб-серверах фермы.
Интерфейс Project Server содержит интерфейс Windows Communication Foundation (WCF) и интерфейс ASMX для веб-служб.
Платформа рабочих процессов Project Server интегрирована в PSI и DAL, а также встроена в Windows Workflow Foundation (WF) в платформе SharePoint.
Данные задач, назначений и состояния назначений Project Server интегрированы с Microsoft Exchange Server вместо надстройки Microsoft Outlook.
На следующем рисунке показано обобщенное представление архитектуры Project Server 2010. Оно содержит веб-сервер и экземпляр Project Web App в Project Server. Как и в Office Project Server 2007, на одном сервере может работать несколько экземпляров Project Web App.
Примечание
-
В Project Server 2010 можно использовать интерфейс WCF или ASMX интерфейса PSI. Клиенты Project Web App и Project профессиональный 2010 используют интерфейс WCF.
-
Сервер пересылки PSI на графике архитектуры состоит из двух компонентов: сервера пересылки WCF и сервера пересылки веб-служб. Клиенты, использующие интерфейс ASMX, вызывают PSI через сервер пересылки веб-служб. Клиенты, использующие интерфейс WCF, вызывают PSI через сервер пересылки WCF.
-
На графике архитектуры не показано, что веб-сервер может быть изолирован дополнительным брандмауэром в сети периметра (также называемой "демилитаризованной зоной" или DMZ).
-
Сайт веб-служб SharePoint – это часть SharePoint Server 2010 (не показано на графике архитектуры). Сайт веб-служб SharePoint содержит приложение-службу проекта с виртуальным каталогом PSI для служб ASMX и WCF. Приложение-служба проекта в Project Server 2010 заменяет приложение общих служб в Office Project Server 2007.
Интерфейсный уровень содержит сторонние приложения, Microsoft Project профессиональный и Project Web App. Project Web App использует Internet Explorer для отображения страниц Microsoft ASP.NET 3.5. Страницы Project Web App используют веб-части Project Server, которые обмениваются данными с PSI, а также используют стандарт веб-частей SharePoint Server 2010.
Клиентские приложения на отдельных компьютерах вызывают PSI через прокси-серверы служб. Внешние клиенты, использующие интерфейс WCF, обращаются к PSI через службу https://ServerName/ProjectServerName/_vti_bin/psi/ProjectServer.svc. Клиенты, использующие интерфейс веб-службы ASMX, используют один из URL-адресов Project Web App, например http://server1/pwa/_vti_bin/psi/project.asmx. Если приложения не имеют доступа интрасети к Project Server, они могут использовать сервер Project Web App в демилитаризованной зоне (не показано на графике архитектуры).
Если они могут обращаться к компьютеру Project Server напрямую, клиентские приложения и внутренние компоненты специализированных веб-приложений могут использовать прокси-серверы PSI, которые используют URL-адрес общей службы SharePoint для веб-служб PSI, например http://server1:32843/ProjectServiceApplication/project.asmx. Порт 32843 – это порт по умолчанию для приложения веб-служб SharePoint в SharePoint Server 2010. Прямой доступ к виртуальному каталогу приложения-службы проекта должен использоваться только в случае, если приложение должно использовать олицетворение или выполняться с проверкой прав.
Средний уровень содержит PSI и уровень бизнес-логики, который состоит из логических бизнес-объектов, представляющих бизнес-сущности Project Server. К бизнес-объектам относятся проект, задача, ресурс, назначение и т. д. PSI и уровень бизнес-логики тесно связаны и расположены на одном сервере. Клиентское приложение вызывает веб-службы PSI, а PSI вызывает бизнес-объекты на уровне бизнес-логики.
DAL обеспечивает обмен данными между средним уровнем и базой данных. Все данные Project Server хранятся в базах данных Microsoft SQL Server. Базы данных Project Server разделены на следующие хранилища: черновики, опубликованные проекты, архив и отчеты. Клиентские приложения могут считывать данные проекта из базы данных отчетов. Для доступа к базам данных черновиков, опубликованных проектов или архива клиенты должны использовать только PSI. Служба данных отчетов (RDS, которая не показана на рисунке 1) обновляет базу данных отчетов опубликованными данными практически в режиме реального времени. В Project Server 2010 все базы данных Project Server могут располагаться на отдельных серверах.
Компоненты Project Web App продукта Project Server также используют базы данных конфигурации Microsoft SharePoint Foundation 2010 для настройки сайта проекта, а базу данных контента для контента сайта проекта, такого как настраиваемые страницы, рабочие процессы, параметры управления, документы и списки проблем, рисков и обязательств. Базы данных конфигурации и контента SharePoint поддерживают дополнительные функции управления проектом, например шаблоны и рабочие области проекта, настраиваемые списки для совместной работы группы и отчеты.
Веб-серверы
В корпоративной интрасети можно установить один или несколько веб-серверов, чтобы обеспечить распределение нагрузки для клиентов интрасети. Если клиентское приложение использует отдельный веб-сервер, вызовы PSI направляется через сервер пересылки PSI на веб-службы PSI на компьютере Project Server. Сервер пересылки PSI (сервер пересылки WCF или сервер пересылки веб-служб) выполняет следующие функции:
Оптимизирует вызовы PSI от удаленных клиентов
Содержит серверный кэш, который работает с активным кэшем на стороне клиента в Microsoft Project профессиональный для уменьшения количества двусторонних вызовов Project Server
После того, как пользователь получает Cookie-файл проверки подлинности от Project Server, сервер пересылки PSI явным образом отправляет запросы веб-службам PSI на компьютер Project Server. Сервер пересылки PSI улучшает производительность и надежность как локальной, так и территориально-распределенной сети.
Продукт Project Web App разработан с использованием ASP.NET 3.5. Визуальные элементы в файлах ASPX (HTML, элементы управления сервера и статический текст) отделены от программной логики в классах кода, которые содержатся в скомпилированных сборках (DLL-файлах). Страницы сайта в Project Web App, такие как страницы верхнего уровня, центра проектов и центра отчетов, можно настроить с помощью веб-частей. Страницы приложений, у которых нет пункта Изменить страницу в меню Действия сайта, нельзя изменить (это, например, такие страницы, как "Параметры сервера" или "Просмотр расписания").
Интерфейс Project Server (PSI)
Интерфейс PSI – это API Project Server. Объектная модель PSI предоставляет функциональные возможности Project Server всем внешним приложениям. В приложениях Project профессиональный 2010, Project Web App, а также в бизнес-приложениях и других приложениях сторонних поставщиков интерфейс PSI используется для обращения к данным Project Server, сохраняемым в базах данных черновиков, опубликованных проектов и архивных базах данных. Интерфейс PSI доступен через вызовы служб WCF и веб-службы ASMX бизнес-приложениями серверной части или через прокси интерфейса PSI.
Веб-методы в PSI обычно возвращают или принимают объекты типа DataSet, таким образом обмениваясь информацией с бизнес-объектами. Документация по DataSet содержится в справке по PSI.
Бизнес-объекты
Внутренняя объектная модель Project Server содержит бизнес-объекты. Клиентские приложения обращаются к бизнес-объектам только через PSI, и только бизнес-объекты могут вызывать DAL.
Бизнес-объекты – это логические сущности, которые можно разделить на три типа:
Основные сущности – это такие объекты, как проекты, задачи, назначения, ресурсы и календари. Основные сущности содержат базовую бизнес-логику, например разрешения и правила именования.
Бизнес-сущности – это такие объекты, как расписания, портфели и модели. Бизнес-сущности содержат дополнительную бизнес-логику и обычно состоят из комбинации основных сущностей.
Вспомогательные сущности – это такие объекты, как безопасность и проверка.
PSI управляет сопоставлением API и бизнес-объектов.
Уровень доступа к данным и базы данных
Уровень доступа к данным (DAL) является внутренним уровнем Project Server и недоступен для внешних приложений. Уровень доступа к данным преобразовывает логическое представление бизнес-сущности данных в физические таблицы баз данных. Каждая логическая сущность хранится в ряде разных таблиц. Уровень доступа к данным инкапсулирует работу, необходимую для управления подключениями, выполнения запросов, а также начала, выполнения и отката транзакций.
Данные Project Server распределены между четырьмя базами данных в SQL Server.
База данных черновиков содержит таблицы для сохранения неопубликованных проектов из Microsoft Project профессиональный и из других приложений. Project Web App не показывает данные проекта в базе данных черновиков.
В базе данных опубликованных проектов содержатся все опубликованные проекты и ресурсы предприятия, глобальный шаблон предприятия и другие шаблоны проекта. Опубликованные проекты доступны для просмотра в Project Web App. База данных опубликованных проектов также содержит таблицы, характерные для Project Web App (расписания, модели, представления и т. д.), а также таблицы глобальных данных (коды структур, безопасность и метаданные).
В базе данных архива сохраняются резервные версии проекта и других данных.
База данных отчетности (RDB) – это промежуточная область для создания отчетов и кубов OLAP. Данные в базе данных отчетности представляются в полном виде и обновляются почти в режиме реального времени. Таблицы и представления оптимизированы для создания отчетов только для чтения; например, таблицы RDB являются ненормализованными для обеспечения избыточности данных и уменьшения числа связанных таблиц.
Такие сущности, как ресурс или проект, могут охватывать несколько таблиц, и все таблицы для определенной сущности имеют один первичный ключ. Первичный ключ – это одиночный столбец, однозначно идентифицирующий один экземпляр конкретной сущности. Уникальные идентификаторы – это идентификаторы GUID.
Документация доступна только по схеме базы данных отчетов. Доступ к базам данных черновиков, опубликованных проектов и архива должен осуществляться только через интерфейс PSI. В базу данных отчетности можно добавлять таблицы данных, поля (свойства) и сущности, не заданные в схеме базы данных Project Server 2010. При добавлении таблиц в основные базы данных необходимо также предоставить полный стек пользовательской сборки, веб-службы, бизнес-объекты и доступ к данным. Базу данных отчетности можно легко изменять; изменять основные базы данных Project Server не рекомендуется.
Публикация и расписание серверной стороны
Project Server 2010 поддерживает автоматическое и ручное обновление расписания проекта. По умолчанию проекты обновляются вручную. То есть руководитель проекта открывает проект в Microsoft Project профессиональный, применяет изменения, а затем сохраняет и публикует проект, чтобы сделать изменения доступными для всех. Механизм составления расписания в Microsoft Project профессиональный рассчитывает изменения в расписании для ручных обновлений.
Механизм составления расписания в Project Server позволяет автоматизировать обновления проекта с помощью PSI. Project Server позволяет опубликованной версии проекта обновляться, в то время как руководитель проекта использует черновую версию, выполняя следующие действия:
Project Server автоматически применяя обновления и изменяя расписание опубликованной версии.
Project Server сохраняя обновление для применения к черновой версии при наступлении одного из следующих событий:
Microsoft Project профессиональный открывает проект.
Microsoft Project профессиональный пытается опубликовать проект.
Если происходит конфликт, руководитель проекта должен разрешить его перед тем, как черновая версия может быть опубликована.
Предупреждение
Существует несколько ограничений и различий между механизмами составления расписаний Project Server и Microsoft Project профессиональный. Например, Project Server не включает в расписание подпроекты или ссылки на другие проекты и не рассчитывает поля заработанной стоимости. Дополнительные сведения см. в описании расписания проекта в разделе, посвященном серверу в статье о программируемости Project Server (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=191606&clcid=0x419) (Возможно, на английском языке) в библиотеке MSDN в Интернете.