microsoft office project server 2007
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 PresentationTRANSCRIPT
![Page 1: Microsoft Office Project Server 2007](https://reader035.vdocuments.pub/reader035/viewer/2022062517/56813aea550346895da35143/html5/thumbnails/1.jpg)
Microsoft Office Project Server 2007
- Project Server Interface ( PSI ) を使用したソリューション 開発 -
![Page 2: Microsoft Office Project Server 2007](https://reader035.vdocuments.pub/reader035/viewer/2022062517/56813aea550346895da35143/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062517/56813aea550346895da35143/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062517/56813aea550346895da35143/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062517/56813aea550346895da35143/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062517/56813aea550346895da35143/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062517/56813aea550346895da35143/html5/thumbnails/7.jpg)
7
Project Server 2007 おける、エンタープライズ ソリューション 開発
◆ Project Server 2007 で用意された サーバーサイド API PSI ( Project Server Interface )
サーバーサイド スケジュールエンジンを実装 PDS のような、中間層のインターフェースではなく、すべての
Project クライアントツール の データソースロジック としての位置づけ
23 本の Web サービス、 350 以上のメソッドを実装しており、多機能
サーバーサイド の イベントハンドラの実装
![Page 8: Microsoft Office Project Server 2007](https://reader035.vdocuments.pub/reader035/viewer/2022062517/56813aea550346895da35143/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062517/56813aea550346895da35143/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062517/56813aea550346895da35143/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062517/56813aea550346895da35143/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062517/56813aea550346895da35143/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062517/56813aea550346895da35143/html5/thumbnails/13.jpg)
13
PSI を利用した開発のポイント – ④ ProjectDataset -
◆ PSI の DataSet タイプ のオブジェクトの例 ProjectDataSet が持つ DataTableCollection
ProjectDataSetProjectDataSet
ProjectDataTableProjectDataTable
TaskDataTableTaskDataTable
ProjectResourceTableProjectResourceTable
AssignmentDataTableAssignmentDataTable
DependencyDataTableDependencyDataTable
ProjectCustomFieldsDatatableProjectCustomFieldsDatatable
TaskCustomFieldsDatatableTaskCustomFieldsDatatable
ProjectResourceCustomFieldsDatatableProjectResourceCustomFieldsDatatable
AssingnmentCustomFieldsDatatableAssingnmentCustomFieldsDatatable
![Page 14: Microsoft Office Project Server 2007](https://reader035.vdocuments.pub/reader035/viewer/2022062517/56813aea550346895da35143/html5/thumbnails/14.jpg)
14
PSI による、ソリューション 開発の可能性
◆ リポートツール アプリケーション の開発 詳細 且つ、横断的なプロジェクトデータ の取得が可能
◆ Project データ更新 インターフェース の開発 整合性の保障されたデータ更新が可能
◆ 他システムのデータベースへ、 Project データの自動更新 Project Server のイベントのハンドリングが可能
◆ EPM ソリューション データソースの一部として適用 DataSet タイプのオブジェクトによる、柔軟なデータの取り扱いが可
能
![Page 15: Microsoft Office Project Server 2007](https://reader035.vdocuments.pub/reader035/viewer/2022062517/56813aea550346895da35143/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062517/56813aea550346895da35143/html5/thumbnails/16.jpg)
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