Microsoft Office Project Server 2007 - Project Server Interface ( PSI ) を使用したソリューション 開発 -
アジェンダ Project Server 2003 と Project Server 2007 の アーキテクチャの相違 PDS と PSIのプログラミングモデル PDS と PSI におけるプログラミングモデル の 比較 PSI を利用した開発のポイント PSI による、ソリューション 開発の可能性 セクション のまとめ
Project Server 2003 と Project Server 2007 の アーキテクチャの相違 ◆ スケジュール エンジン クライアントサイド、サーバーサイド? ◆ サーバーサイド API PDS (Project Data Service) と PSI (Project Server Interface) ? Project Server 2003 以前 Project Server 2007 スケジュール エンジン Project Professional 2003 に 実装 Project Professional 2007 Project Server 2007 に 実装 サーバーサイドプログラミング インターフェース PDS (Project Data Service) PSI (Project Server Interface)
Project Server 2003 の アーキテクチャ ◆ スケジュールエンジン Project Professional に 実装され、 シミュレーション、Project DB の Read、Update 処理は、Project Professional が行う ◆ PDS (Project Data Service) Project Professional と Project DB をつなげるための、中間層として機能 Project Pro Project Server Core View Project Data PDS SOAP ODBC Scheduling Engine
Project Server 2007 のアーキテクチャ ◆ スケジュールエンジン PSI のバックグラウンド にも 実装され、 Project Professional は、 PSI を使用して、Project Server の データストア の Read、Update 処理を行う ◆ PSI (Project Server Interface) ProjectDB の データソースロジック を実装したサーバーアプリケーションとして機能 Project Pro Project Server Working PSI SOAP Scheduling Engine Published Version PWA Authentication
Project Server 2003 における、 エンタープライズ ソリューション 開発の問題点 ◆ Project Server 2003 で用意された API クライアント API ( Microsoft Project Object Library ) サーバー API ( Project Data Service ) ◆ PDS ( Project Data Service ) の実情 スケジュールエンジンを持たない スケジュール エンジン を持つ Microsoft Project Object Library の必要性 限られた機能 ( メソッド ) PDS 拡張 ( PDS Extension ) の 必要性 PDS Extension へ データソースロジック 実装 の 困難
Project Server 2007 おける、 エンタープライズ ソリューション 開発 ◆ Project Server 2007 で用意された サーバーサイドAPI PSI ( Project Server Interface ) サーバーサイド スケジュールエンジンを実装 PDSのような、中間層のインターフェースではなく、すべての Project クライアントツール の データソースロジック としての位置づけ 23本のWebサービス、350以上のメソッドを実装しており、多機能 サーバーサイド の イベントハンドラの実装
PDS 、PSI のプログラミングモデル ◆ PDS と PSI の 相違点 インターフェース 必要条件 開発言語 XML ベース ADO.NET DataSet ベース 必要条件 SOAP が使用できる言語 .NET Framework 2.0 プラッフォフォーム 開発言語 C# , VB.NET , VB 6.0 , C/C++ , VBScript , Jscript etc C# , VB.NET etc
PDS と PSI における プログラミングモデル の 比較 3rd Party App Project Database ビジネス ロジック PDS 要求送信 PDS 応答受信 SOAP PDS メソッド ( XML ) PDS 戻り値 メソッド PDS C# , VB.NET , VB 6.0 , C/C++ , VBScript , Jscript etc .NET Framework 2.0 PSI オブジェクト .NET ランタイム DataSet PSI スケジュール エンジン C# , VB.NET , etc
PSI を利用した開発のポイント - ① 認証処理 - ◆認証処理 Project Web Access (PWA) 層による認証処理 Windows 認証を行う Web サービス ・・・ LoginWindows.asmx Form 認証を行う Web サービス・・・・・・・LoginForms.asmx 3rd Party App 認証処理 Windows 認証 Form 認証 (Project Server 認証) OR 認証 OK PSI Webサービスの インスタンス ビジネスロジック PWA LoginWindows.asmx LoginForms.asmx ・Cookie ・アプリケーション の システム資格情報 ・UserName ・Password 認証 PSI ビジネスオブジェクト
PSI を利用した開発のポイント – ② Webサービス - Admin Archive Authentication Calendar CubeAdmin CustomFields Events LoginForms LoginWindows LookupTable Notification ObjectLinkProvider Project PWA QueueSystem Resource ResourcePlan Security Statusing TimeSheet View WinProj WSSInterrop
PSI を利用した開発のポイント – ③ ADO.NET DataSet - PSI では、データの取得、更新追加 処理 を、DataTable に対して行う 開発者は、ADO.NET のスキルを要します DataSet DataTable DataColumn ・ DataRow フィールド データ DataTableCollection DataTable DataTable DataTable ・
PSI を利用した開発のポイント – ④ ProjectDataset - ◆PSI の DataSetタイプ のオブジェクトの例 ProjectDataSet が持つ DataTableCollection ProjectDataSet ProjectDataTable TaskDataTable ProjectResourceTable AssignmentDataTable DependencyDataTable ProjectCustomFieldsDatatable TaskCustomFieldsDatatable ProjectResourceCustomFieldsDatatable AssingnmentCustomFieldsDatatable
PSI による、ソリューション 開発の可能性 ◆リポートツール アプリケーション の開発 詳細 且つ、横断的なプロジェクトデータ の取得が可能 ◆Projectデータ更新 インターフェース の開発 整合性の保障されたデータ更新が可能 ◆他システムのデータベースへ、Projectデータの自動更新 Project Server のイベントのハンドリングが可能 ◆EPMソリューション データソースの一部として適用 DataSet タイプのオブジェクトによる、柔軟なデータの取り扱いが可能
セクションのまとめ Project Server 2003 では、エンタープライズ ソリューションで利用できる万能なAPI が存在しなかった。 Project Server 2007 には、サーバーサイド スケジュール エンジンが搭載されている Project Server 2007 環境では、すべての Project クライアントは、PSI を使用して、Project Serverのデータにアクセスしている。 Project Server 2007 環境では、サーバーサイド の イベント の ハンドリング ができる。 PSI は、.NET Framework 2.0 にマネージされた ランタイムクラスである。
最後に 本書は、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