Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Работа с Microsoft Project Server 2003
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

25. Работа с Project Data Services

Project Data Services в Project Server 2003, обмен информацией с Project Server 2003 в формате XML, служба Enterprise Data Maintenance (EDM)

Project Data Services - это специальный набор программных объектов, который позволяет обращаться к Project Server как к Web-службе. При этом используются стандартный протокол SOAP, а также формат XML как для передачи запросов на Project Server, так и для получения с него ответов. Причина, по которой был выбран такой подход, очевидна: Project Server - это решение для больших предприятий, а на них с большой долей вероятности придется сопрягать информацию на Project Server (например, корпоративный пул ресурсов) с внешними программными продуктами (например, модулями учета кадров). Поскольку внешние продукты могут использовать любые платформы, использование открытых стандартов HTTP/SOAP/XML очень удобно.

Работа с Project Server из Visual Studio.NET вообще никаких сложнотей не представляет: мы можем стандартными способами добавить Web-ссылку на объект Project Server и вызывать нужные методы.

Работа без .NET требует наличия ссылок на библиотеки Microsoft XML версии 3.0, Microsoft SOAP Type Library версии 3.0 и Microsoft HTML Object Library. Общий принцип работы такой: создаем объект MSSOAP.SoapClient30, используем его для получения ссылки на объект Web-службы Project Server : soapclient.mssoapinit("http://london5/ProjectServer/PDS.wsdl"), а затем вызываем

для него метод SoaPXMLRequest, которому передаем куки аутентификации и запрос в формате XML:

s = soapclient.SoapXMLRequest(sCookie, sXML)

Получение куки - это отдельная тема, которая очень хорошо проиллюстрирована в примере от Microsoft PDSTest.vbs (поставляется в составе Project Server SDK). Объяснение также есть в статье "Programmatic Logon to Project Server" в документации SDK.

После вызова этого метода нам возвращается ответ также в формате XML. Далее его можно преобразовывать в DataSet (в .NET), разбирать анализатором, помещать в базу данных средствами XML for SQL Tools и выполнять прочие обычные для работы с данными XML действия.

Кроме того, для совсем ленивых предусмотрена возможность передавать данные в XML с Project Server совсем без программирования. В Project Server предусмотрена папка C:\Program Files\Microsoft Office Project Server 2003\BIN\Connector (с двумя подкаталогами - Success и Fail). Это - так наазываемый drop folder. Если включить его, создав параметр реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\MS Project \Services\Configuration\Connector\[Monitor Location] (вместо  [Monitor Location] можно подставить все, что угодно), то Project Server будет автоматически забирать файлы XML из этого каталога и их обрабатывать как запросы к Web-службе EDM - Enterprise Data Maintenance (к ней можно обращаться и обычным способом, через SOAP). Правда, возможностей у этой службы меньше. В основном ее методы предназначены для работы с наборами ресурсов.

Некоторые методы, определенные для Web-службы Project Data Services, необходимо отметить отдельно:

·        ProjectStatus(). При передаче без параметров возвращает информацию о всех проектах на Project Server. Можно передавать параметры, связанные с именем проекта, идентификатором, типом и т.п.

·        ProjectDelete() - возможность удалить проект по ID или имени.

·        ProjectData() - обязательно требует информации о ID проекта или его имени, возвращает информацию о всех задачах, ресурсах и назначениях. Позволяет фактически протоколировать проект в XML, а также готовиться к внесению изменений в проект, получая информацию об идентификаторах элемента проекта.

·        ProjectCreate() - возможность создать проект (а вместе создать также задачи, ресурсы и назначения, определив их в коде XML).

·        ProjectTaskCreate(), ProjectResourceCreate(), ProjectAssignmentCreate() - названия эти методов говорят сами за себя. Методы для работы с ресурсами, задачами и назначениями достаточно очевидные, они покрывают все потребности по работе с этими элементами и поэтому здесь рассматриваться не будут.

·        PSNewUser(), PSAddUsersToGroups(), PSDeleteUsersFromGroups() - возможность создать нового пользователя на Project Server и добавить/удалить его в группу.

Предумотрена возможность работы с настраиваемыми кодами структуры, получать информацию о разрешениях (настраивать, к сожалению, их нельзя), возвращать коды ошибки и т.п.

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 

 
© 2004-2008, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru