16
Microsoft Office Project Server 2007 - Project Server Interface ( PSI ) をををををををを をををを をを -

Microsoft Office Project Server 2007

  • Upload
    reyna

  • View
    67

  • Download
    3

Embed Size (px)

DESCRIPTION

Microsoft Office Project Server 2007. - Project Server Interface ( PSI ) を使用した ソリューション 開発 -. アジェンダ. Project Server 2003 と Project Server 2007 の アーキテクチャの相違 Project Server 2003 の アーキテクチャ Project Server 2007 の アーキテクチャ Project Server 2003 における、エンタープライズ ソリューション 開発の問題点 - PowerPoint PPT Presentation

Citation preview

Page 1: Microsoft Office Project Server 2007

Microsoft Office Project Server 2007

- Project Server Interface ( PSI ) を使用したソリューション 開発 -

Page 2: Microsoft Office Project Server 2007

2

Project Server 2003 と Project Server 2007 の アーキテクチャの相違

Project Server 2003 の アーキテクチャ Project Server 2007 の アーキテクチャ Project Server 2003 における、エンタープライズ ソリューシ

ョン 開発の問題点 Project Server 2007 における、エンタープライズソリューシ

ョンの開発 PDS と PSI のプログラミングモデル PDS と PSI におけるプログラミングモデル の 比較 PSI を利用した開発のポイント PSI による、ソリューション 開発の可能性 セクション のまとめ

アジェンダ

Page 3: Microsoft Office Project Server 2007

3

Project Server 2003 と Project Server 2007 の

アーキテクチャの相違

Project Server 2003 Project Server 2003 以前以前

Project Server 2007Project Server 2007

スケジュールスケジュールエンジンエンジン

Project Project Professional 2003 Professional 2003 に 実装に 実装

Project Project Professional 2007 Professional 2007 Project Server Project Server 20072007

に 実装に 実装

サーバーサイドサーバーサイドプログラミンプログラミンググインターフェーインターフェースス

PDSPDS

(Project Data (Project Data Service)Service)

PSIPSI

(Project Server (Project Server InterfaceInterface))

◆ スケジュール エンジン クライアントサイド、サーバーサイド? 

◆ サーバーサイド API PDS (Project Data Service) と PSI (Project Server

Interface) ?

Page 4: Microsoft Office Project Server 2007

4

◆ スケジュールエンジン Project Professional に 実装され、 シミュレーション、 Project

DB の Read 、 Update 処理は、 Project Professional が行う

◆ PDS (Project Data Service) Project Professional と Project DB をつなげるための、中間層

として機能

Project Server 2003 の アーキテクチャ

Project ProProject Pro

Project ServerProject ServerCoreCore

ViewView

ProjectProjectDataData

PDSPDSSOAPSOAP

ODBCODBCSchedulingEngine

Page 5: Microsoft Office Project Server 2007

5

Project Server 2007 のアーキテクチャ

◆ スケジュールエンジン PSI のバックグラウンド にも 実装され、 Project Professional

は、 PSI を使用して、 Project Server の データストア の Read 、Update 処理を行う

◆ PSI (Project Server Interface) Project DB の データソースロジック を実装したサーバーアプリ

ケーションとして機能

Project ProProject Pro

Project ServerProject Server

WorkingWorkingPSIPSI

SOAPSOAP

SchedulingEngine

PublishedPublished

VersionVersion

PWAPWA

Authentication

SOAPSOAPSchedulingEngine

Page 6: Microsoft Office Project Server 2007

6

Project Server 2003 における、エンタープライズ ソリューション 開発の

問題点◆ Project Server 2003 で用意された API

クライアント API ( Microsoft Project Object Library ) サーバー API ( Project Data Service )

◆ PDS ( Project Data Service ) の実情

スケジュールエンジンを持たないスケジュールエンジンを持たないスケジュールエンジンを持たないスケジュールエンジンを持たない

限られた機能 ( メソッド )限られた機能 ( メソッド )限られた機能 ( メソッド )限られた機能 ( メソッド )

PDS PDS 拡張 拡張 ( PDS Extension ) ( PDS Extension ) の 必要性の 必要性PDS PDS 拡張 拡張 ( PDS Extension ) ( PDS Extension ) の 必要性の 必要性

PDS Extension PDS Extension へ へ データソースロジック データソースロジック

実装 の 困難実装 の 困難

PDS Extension PDS Extension へ へ データソースロジック データソースロジック

実装 の 困難実装 の 困難

スケジュール エンジン を持つスケジュール エンジン を持つMicrosoft Project Object LibraryMicrosoft Project Object Library

の必要性の必要性

Page 7: Microsoft Office Project Server 2007

7

Project Server 2007 おける、エンタープライズ ソリューション 開発

◆ Project Server 2007 で用意された サーバーサイド API PSI ( Project Server Interface )

サーバーサイド スケジュールエンジンを実装 PDS のような、中間層のインターフェースではなく、すべての

Project クライアントツール の データソースロジック としての位置づけ

23 本の Web サービス、 350 以上のメソッドを実装しており、多機能

サーバーサイド の イベントハンドラの実装

Page 8: Microsoft Office Project Server 2007

8

PDS 、 PSI のプログラミングモデル

◆ PDS と PSI の 相違点

PDSPDS PSIPSI

インターフェーインターフェースス

XML XML ベースベース ADO.NET DataSet ADO.NET DataSet ベースベース

必要条件必要条件 SOAP SOAP が使用できる言語が使用できる言語 .NET Framework 2.0 .NET Framework 2.0 ププラッフォフォームラッフォフォーム

開発言語開発言語 C# , VB.NET , VB C# , VB.NET , VB 6.0 , C/C++ , 6.0 , C/C++ , VBScript , Jscript VBScript , Jscript etcetc

C# , VB.NET etcC# , VB.NET etc

Page 9: Microsoft Office Project Server 2007

9

PDS と PSI におけるプログラミングモデル の 比較

33rdrd Party App Party App

Project Project DatabaseDatabase

ビジネス ロジック

ビジネス ロジック

PDS 要求送信

PDS 応答受信SOAPSOAP

PDS メソッド( XML )

PDS 戻り値( XML )

メソッド

PDSPDS

C# , VB.NET , VB 6.0 , C/C++ , VBScript , Jscript etc

.NET Framework 2.0.NET Framework 2.0

33rdrd Party App Party App

ビジネス ロジックPSI オブジェクト

ビジネス ロジック

.NET ランタイムDataSet

PSIPSI

スケジュールエンジンSOAPSOAP

Project Project DatabaseDatabase

C# , VB.NET , etc

Page 10: Microsoft Office Project Server 2007

10

PSI を利用した開発のポイント - ① 認証処理 -

◆ 認証処理 Project Web Access (PWA) 層による認証処理 Windows 認証を行う Web サービス ・・・

LoginWindows.asmx Form 認証を行う Web サービス・・・・・・・

LoginForms.asmx33rdrd Party App Party App

認証処理

Windows 認証

Form 認証(Project Server 認証 )

OR

認証 OK

PSI Web サービスのインスタンス

ビジネスロジック

PWAPWA

LoginWindows.asmx

LoginForms.asmx

・ Cookie ・アプリケーション の

システム資格情報

・ Cookie・ UserName ・ Password

認証

認証

PSIPSI

ビジネスオブジェクト

・ Cookie

Page 11: Microsoft Office Project Server 2007

11

PSI を利用した開発のポイント – ② Web サービス -

PSI Web PSI Web サービスサービス

Admin Archive Authentication

Calendar CustomFields

Events LoginForms LoginWindows

LookupTable Notification ObjectLinkProvider

Project

Resource

PWA QueueSystem

CubeAdmin

Statusing

ResourcePlan Security

WinProj

TimeSheet View

WSSInterrop

Page 12: Microsoft Office Project Server 2007

12

PSI を利用した開発のポイント – ③ ADO.NET DataSet -

◆ ADO.NET DataSet PSI が提供する インターフェース は、 ADO.NET DataSet タイプ PSI では、データの取得、更新追加 処理 を、 DataTable に対して

行う 開発者は、 ADO.NET のスキルを要します

DataSetDataSet

DataTableCollectionDataTableCollection

DataTableDataTable

DataTableDataTable

DataTableDataTable

・・・・・・

DataTableDataTable

DataColumn DataColumn ・ ・ ・

・・ ・DataRow DataRow

・・・・・・

・・ ・DataRow DataRow

フィールド

データ

Page 13: Microsoft Office Project Server 2007

13

PSI を利用した開発のポイント – ④ ProjectDataset -

◆ PSI の DataSet タイプ のオブジェクトの例 ProjectDataSet が持つ DataTableCollection

ProjectDataSetProjectDataSet

ProjectDataTableProjectDataTable

TaskDataTableTaskDataTable

ProjectResourceTableProjectResourceTable

AssignmentDataTableAssignmentDataTable

DependencyDataTableDependencyDataTable

ProjectCustomFieldsDatatableProjectCustomFieldsDatatable

TaskCustomFieldsDatatableTaskCustomFieldsDatatable

ProjectResourceCustomFieldsDatatableProjectResourceCustomFieldsDatatable

AssingnmentCustomFieldsDatatableAssingnmentCustomFieldsDatatable

Page 14: Microsoft Office Project Server 2007

14

PSI による、ソリューション 開発の可能性 

◆ リポートツール アプリケーション の開発 詳細 且つ、横断的なプロジェクトデータ の取得が可能

◆ Project データ更新 インターフェース の開発 整合性の保障されたデータ更新が可能

◆ 他システムのデータベースへ、 Project データの自動更新 Project Server のイベントのハンドリングが可能

◆ EPM ソリューション データソースの一部として適用 DataSet タイプのオブジェクトによる、柔軟なデータの取り扱いが可

Page 15: Microsoft Office Project Server 2007

15

セクションのまとめ

Project Server 2003 では、エンタープライズ ソリューションで利用できる万能な API が存在しなかった。

Project Server 2007 には、サーバーサイド スケジュール エンジンが搭載されている

Project Server 2007 環境では、すべての Project クライアントは、 PSI を使用して、 Project Server のデータにアクセスしている。

Project Server 2007 環境では、サーバーサイド の イベント の ハンドリング ができる。

PSI は、 .NET Framework 2.0 にマネージされた ランタイムクラスである。

Page 16: Microsoft Office Project Server 2007

16

最後に本書は、 Microsoft Office Project Server 2007 をもとにしております。今後リリースされるバージョンでは、紹介した内容が異なる可能性があります

Microsoft Office Project 2007 の最新情報は、下記から入手してください。http://office.microsoft.com/ja-jp/project/default.aspx

Microsoft Office Project 2007 SDK は、下記から入手してください。http://msdn2.microsoft.com/en-us/library/ms512767.aspx

■ 参考資料 ・ ProjectGuide.doc ・ Project 2007 SDK