Microsoft Office Project Server 2007
description
Transcript of Microsoft Office Project Server 2007
Microsoft Office Project Server 2007
- Project Server Interface ( PSI ) を使用したソリューション 開発 -
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 による、ソリューション 開発の可能性 セクション のまとめ
アジェンダ
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) ?
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
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
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
の必要性の必要性
7
Project Server 2007 おける、エンタープライズ ソリューション 開発
◆ Project Server 2007 で用意された サーバーサイド API PSI ( Project Server Interface )
サーバーサイド スケジュールエンジンを実装 PDS のような、中間層のインターフェースではなく、すべての
Project クライアントツール の データソースロジック としての位置づけ
23 本の Web サービス、 350 以上のメソッドを実装しており、多機能
サーバーサイド の イベントハンドラの実装
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
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
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
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
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
フィールド
データ
13
PSI を利用した開発のポイント – ④ ProjectDataset -
◆ PSI の DataSet タイプ のオブジェクトの例 ProjectDataSet が持つ DataTableCollection
ProjectDataSetProjectDataSet
ProjectDataTableProjectDataTable
TaskDataTableTaskDataTable
ProjectResourceTableProjectResourceTable
AssignmentDataTableAssignmentDataTable
DependencyDataTableDependencyDataTable
ProjectCustomFieldsDatatableProjectCustomFieldsDatatable
TaskCustomFieldsDatatableTaskCustomFieldsDatatable
ProjectResourceCustomFieldsDatatableProjectResourceCustomFieldsDatatable
AssingnmentCustomFieldsDatatableAssingnmentCustomFieldsDatatable
14
PSI による、ソリューション 開発の可能性
◆ リポートツール アプリケーション の開発 詳細 且つ、横断的なプロジェクトデータ の取得が可能
◆ Project データ更新 インターフェース の開発 整合性の保障されたデータ更新が可能
◆ 他システムのデータベースへ、 Project データの自動更新 Project Server のイベントのハンドリングが可能
◆ EPM ソリューション データソースの一部として適用 DataSet タイプのオブジェクトによる、柔軟なデータの取り扱いが可
能
15
セクションのまとめ
Project Server 2003 では、エンタープライズ ソリューションで利用できる万能な API が存在しなかった。
Project Server 2007 には、サーバーサイド スケジュール エンジンが搭載されている
Project Server 2007 環境では、すべての Project クライアントは、 PSI を使用して、 Project Server のデータにアクセスしている。
Project Server 2007 環境では、サーバーサイド の イベント の ハンドリング ができる。
PSI は、 .NET Framework 2.0 にマネージされた ランタイムクラスである。
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