160 likes | 345 Views
Microsoft Office Project Server 2007. - Project Server Interface ( PSI ) を使用した ソリューション 開発 -. アジェンダ. Project Server 2003 と Project Server 2007 の アーキテクチャの相違 Project Server 2003 の アーキテクチャ Project Server 2007 の アーキテクチャ Project Server 2003 における、エンタープライズ ソリューション 開発の問題点
E N D
Microsoft Office Project Server 2007 - Project Server Interface ( PSI ) を使用したソリューション 開発 -
アジェンダ • Project Server 2003 と Project Server 2007 の アーキテクチャの相違 • Project Server 2003 の アーキテクチャ • Project Server 2007 の アーキテクチャ • 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) ?
Scheduling Engine Project Server Core SOAP Project Pro PDS View ODBC ProjectData Project Server 2003 の アーキテクチャ ◆ スケジュールエンジン • Project Professional に 実装され、 シミュレーション、Project DB の Read、Update 処理は、Project Professional が行う ◆ PDS (Project Data Service) • Project Professional と Project DB をつなげるための、中間層として機能
Scheduling Engine Scheduling Engine Project Server PWA Authentication SOAP Project Pro Working PSI SOAP Published Version Project Server 2007 のアーキテクチャ ◆ スケジュールエンジン • PSI のバックグラウンド にも 実装され、 Project Professional は、 PSI を使用して、Project Server の データストア の Read、Update 処理を行う ◆ PSI (Project Server Interface) • ProjectDB の データソースロジック を実装したサーバーアプリケーションとして機能
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 で用意された サーバーサイドAPIPSI ( Project Server Interface ) • サーバーサイド スケジュールエンジンを実装 • PDSのような、中間層のインターフェースではなく、すべての Project クライアントツール の データソースロジック としての位置づけ • 23本のWebサービス、350以上のメソッドを実装しており、多機能 • サーバーサイド の イベントハンドラの実装
PDS 、PSI のプログラミングモデル ◆ PDS と PSI の 相違点
3rd Party App C# , VB.NET , VB 6.0 , C/C++ , VBScript , Jscript etc PDS ビジネス ロジック ビジネス ロジック ビジネス ロジック ビジネス ロジック PDS メソッド ( XML ) PDS 要求送信 PDS 応答受信 PSI オブジェクト SOAP PDS 戻り値 ( XML ) .NET Framework 2.0 メソッド 3rd Party App Project Database Project Database C# , VB.NET , etc PSI DataSet .NET ランタイム スケジュール エンジン SOAP PDS と PSI におけるプログラミングモデル の 比較
・Cookie 3rd Party App Windows 認証 PWA 認証処理 ・Cookie ・アプリケーションの システム資格情報 認証 LoginWindows.asmx LoginForms.asmx Form 認証 (Project Server 認証) OR ・Cookie ・UserName ・Password 認証 PSI Webサービスの インスタンス 認証 OK PSI ビジネスロジック ビジネスオブジェクト PSI を利用した開発のポイント - ① 認証処理 - ◆認証処理 • Project Web Access (PWA) 層による認証処理 • Windows 認証を行う Web サービス ・・・ LoginWindows.asmx • Form 認証を行う Web サービス・・・・・・・LoginForms.asmx
PSI を利用した開発のポイント – ② Webサービス - 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
フィールド DataTable DataColumn DataColumn DataTable DataTable DataTable ・ ・ ・ DataRow DataRow ・ ・ ・ DataRow DataRow ・ ・ ・ ・ ・ ・ データ PSI を利用した開発のポイント – ③ ADO.NET DataSet- ◆ADO.NET DataSet • PSI が提供する インターフェース は、ADO.NET DataSet タイプ • PSI では、データの取得、更新追加 処理 を、DataTable に対して行う • 開発者は、ADO.NET のスキルを要します DataSet DataTableCollection ・ ・ ・
ProjectDataSet ProjectDataTable TaskDataTable ProjectResourceTable AssignmentDataTable DependencyDataTable ProjectCustomFieldsDatatable TaskCustomFieldsDatatable ProjectResourceCustomFieldsDatatable AssingnmentCustomFieldsDatatable PSI を利用した開発のポイント – ④ ProjectDataset- ◆PSI の DataSetタイプ のオブジェクトの例 • ProjectDataSet が持つ DataTableCollection
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 は、.NETFramework 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