次の方法で共有


Project Server プログラミング

適用対象: Office 2010 | Project 2010 | Project Server 2010 | SharePoint Server 2010

この記事の内容
Project Server と SharePoint Server
一般的な PSI 機能
Project Server イベント
サーバー上でのプロジェクト スケジューリング
Project Server データベースへのアクセスについて

Microsoft Project Server 2010 は、Microsoft SharePoint Server 2010 と Microsoft .NET Framework 3.5 の上で構築することにより、プログラマの高レベルな生産性をサポートするように設計されています。開発者は、Microsoft ASP.NET 3.5 で開発した Web パーツを使用して Project Web App ユーザー インターフェイスを拡張し、Windows Workflow Foundation を使用してワークフローを定義し、Project Server イベントおよび Project Server Interface (PSI) の Web サービスを使用してビジネス ルールを適用することができます。

ここでは、Project Server の一般的なプログラミング機能について、以下のセクションに分けて説明します。

  • Project Server と SharePoint Server

    • Project Web App のカスタマイズ

    • ワークフロー エンジン

  • 一般的な PSI 機能

    • API の種類

    • Project Server 2003 用に構築されたアプリケーションの移植

    • Project Server 2007 用に構築されたアプリケーションの移植

    • プロジェクトのバージョン

  • Project Server イベント

  • サーバー上でのプロジェクト スケジューリング

  • Project Server データベースへのアクセスについて

Project Server と SharePoint Server

Project Web App は、SharePoint Server 2010 上に構築され、マスター ページと Web パーツを使用して Project Web App のカスタム ソリューションの構築を簡素化します。また、SharePoint Server 2010 は、管理、セキュリティ、Excel Services によるレポート センター、一般的なワークフロー アクティビティなどの、Project Server 用のコア インフラストラクチャ サービスを提供します。Microsoft SharePoint Foundation 2010 は、Windows Workflow Foundation ランタイム エンジンをホストします。

Project Server 2010 は SharePoint Server 2010 と緊密に連携し、このプラットフォームの上にプロジェクト コラボレーション、レポート作成、サイト管理、およびワークフロー管理を実現します。プロジェクト サイトには、ドキュメント ライブラリとチーム ディスカッションに加えて、問題、リスク、プロジェクト成果物、およびチーム予定表を追跡するための専用の SharePoint リストがあります。Project Server 2010 ではチームのグループ作業を柔軟に行えます。たとえば、Project Server がインストールされている SharePoint サーバー ファームのどこででもプロジェクト サイトを見つけることができます。Excel Services、エンタープライズ検索など、SharePoint Server 2010 のその他のコア サービスを使用するためには、管理者がそれらのサービスを有効にして、構成する必要があります。

Project Server 2010 のインストールでは、SharePoint Web サービス サイトのプロジェクト サービス アプリケーションも準備されます。これには、PSI 用のローカルな ASMX Web サービスや Windows Communication Foundation (WCF) サービスが含まれます。SharePoint Foundation 2010 のサービス アプリケーションが Windows SharePoint Services 3.0 の共有サービス プロバイダーの機能を引き継ぎます。この変更により、サードパーティの開発者が Service Application Framework を使用してカスタム サービス アプリケーションを開発できるようになります。プロジェクト サービス アプリケーション以外のサービス アプリケーションとしては、SharePoint 検索や SharePoint ドキュメント管理があります。詳細については、SharePoint Server 2010 SDK を参照してください。

プロジェクト サービス アプリケーションは、Project Web App の 1 つまたは複数のインスタンスを処理する論理サービス プロバイダーです。Project Server の準備段階で、Web アプリケーション内に特定の Project Web App サイトが作成されます。Project Web App には Project ポータル ページ (プロジェクト センター、リソース センター、レポート センターなど) が含まれています。Microsoft インターネット インフォメーション サービス (IIS) から見た典型的なインストールのプロジェクト サービス アプリケーションについては、「WCF と PSI の概要」を参照してください。

Project Web App のカスタマイズ

Project Web App の [サイトの設定] ページ (https://ServerName/ProjectServerName/_layouts/settings.aspx) で、プロジェクト サイトの外観やサイトのテーマを変更したり、カスタム Web パーツを追加したり、マスター ページを変更または作成したりすることができます。

Web パーツの使用が可能な Project Web App ページでは、Web パーツを追加したり、組み込みの Web パーツの編集機能を使用したりすることができます。しかし、ASPX ページ自体のカスタマイズはサポートされていません。Project Web App ページ内のコードをカスタマイズすると、Project Server の更新プログラムやサービス パックで問題が生じることがあります。

注意

Project Web App は SharePoint アプリケーションです。しかし、Project Web App のマスター ページ内のコードを Microsoft SharePoint Designer 2010 でカスタマイズすることはサポートされていません。プロジェクト サイトのマスター ページをカスタマイズすることはできます。

Project Web App の [サイトの操作] メニューは、SharePoint アプリケーションでは、ほぼ標準メニューのようになっています。[SharePoint Designer で編集] コマンドは、Project Web App ページではサポートされていません。

ワークフロー エンジン

Windows Workflow Foundation (WF) は、Microsoft .NET Framework 3.0 テクノロジの 1 つです。SharePoint Foundation 2010 でホストされる WF ランタイム エンジンは、SharePoint Server 2010 のワークフロー エンジンであり、中心となる Project Server プラットフォームの一部でもあります。

統合されたワークフロー ソリューションは、組織のビジネス プロセスを自動化するのに役立ち、追跡、監査、アラートの各機能を提供することができます。ワークフロー ソリューションの例としては、変更管理システムや需要管理システム、分野別タイムシート アプリケーションなどがあります。また、顧客関係管理などの他の LOB アプリケーションとの統合も例として挙げることができます。

SharePoint Foundation 2010 は、Windows SharePoint Services 3.0 で導入された WF プラットフォーム上に構築され、以下の機能を追加します。

  • すべてのワークフローの構成要素となる新しいワークフロー アクティビティ。

  • ワークフローと外部ソースとのやり取りを行えるようにするプラグ可能なワークフロー サービス。

  • ワークフローの新しいプレイベントとポストイベント。たとえば、ワークフローから別のワークフローを呼び出し、その終了を待ったり、エラーに応答したりすることができる。

  • ワークフローのイベント レシーバーを特定の SharePoint サイト、リスト、またはコンテンツ タイプに登録して、範囲を絞ることができる。

WF は、パートナー、ISV、および顧客が Project Server 上でビジネス ワークフローのカスタム ソリューション (ワークフロー) を構築することを可能にする、拡張性に優れたワークフロー ランタイム エンジンを提供しています。Project Server は、ワークフロー アクティビティと統合のためのクラスを Microsoft.Office.Project.Server.Workflow 名前空間に追加します。開発者は Microsoft Visual Studio 2010 を使用してカスタム ワークフローを作成することができます。

注意

Microsoft SharePoint Designer では、Project Server ワークフローは作成できません。Project Server のワークフローを開発するには、Project Server がインストールされたコンピューターで Visual Studio 2010 を使用する必要があります。「Project Server ワークフローを開発する」を参照してください。

SharePoint ワークフローの詳細については、SharePoint Foundation 2010 SDK の「構成要素: ワークフロー」を参照してください。

一般的な PSI 機能

Project Server Interface (PSI) は、Project Professional 2010、Project Web App、およびバックエンド LOB アプリケーションを含むすべてのクライアント アプリケーションが、Project Server データにアクセスすることを可能にします。PSI は、Microsoft .NET Framework 3.5 を使用して構築およびプログラミングされており、開発の容易性、セキュリティ、エラー処理、ガーベジ コレクションなど、Microsoft .NET Framework 3.5 のすべての利点を提供します。

API の種類

PSI には、常に ASMX Web サービスまたは WCF サービスを通じてアクセスします。Project Server 2010 の ASMX は WCF に基づいています。各 PSI サービスには、通常、基本クラスと共に、そのクラス内のアイテムの作成、読み取り、更新、および削除を行う "CRUD" メソッドが含まれています。アイテムは関連する DataSet クラスで指定されます。たとえば、CustomFields サービスには、CustomFields クラスと共に、CreateCustomFields などのメソッドが含まれています。1 つまたは複数のエンタープライズ ユーザー設定フィールドに対するデータが CustomFieldDataSet で指定されます。

PSI には、大きく分けて次の 3 種類の API があります。

  • サードパーティの開発者が容易に使用および整理できることを重視して Project Server 機能を公開する汎用 API。これらの API は、詳しく文書化されています。PSI には、Project、PortfolioAnalyses、TimeSheet などの基本クラスと共に、22 の汎用サービスがあります。さらに、LoginForms サービスは、フォーム認証を使用して Project Server にプログラムでログオンおよびログオフするためのジェネリック メソッドを提供しています。

  • プロジェクト固有の API。パフォーマンスを特別に調整する目的や、Project Server 2007 からのアップグレード、Microsoft Exchange Server との同期といった特殊な目的で使用されます。プロジェクト固有の API では、複数の API 呼び出しを組み合わせたり、バッチ化したりすることがあります。Authentication、ExchangeSync、P12Upgrade、PWA、View の各サービスは Project Web App および Project Professional 専用に設計されています。

  • Project Professional でのみ使うように制限された API。WinProj クラスには、パラメーターに大量のバイナリ データを含めることができるメソッドがあります。

Project Web App と Project Professional では、制限された API とプロジェクト固有の API だけでなく、汎用の PSI サービスも使用されます。

注意

Authentication、ExchangeSync、P12Upgrade、PWA、View、WinProj の各サービスは、サード パーティでの開発用に文書化されておらずサポートされていません。これらのインターフェイスは、Project Server のサービス パックや将来のバージョンで変更される可能性があります。

PSI は、ビジネス オブジェクトに一致するように分解されます。つまり、各 PSI メソッドは、Calendar、Resource などのビジネス オブジェクトに関連付けられます。PSI は、ビジネス オブジェクトへのインターフェイスです。ビジネス層によって再利用可能なビジネス ロジック コンポーネントが提供されるため、Project Server データを処理するさまざまなアプリケーションで同じビジネス ロジックが使用されます。PSI は、開発者が場合によっては Project Server のビジネス ロジックを PDS 拡張機能で再実装しなければならないという Project Server 2003 の問題を解決するのに役立ちます。

各 PSI メソッドは、厳密に型指定されたデータを使用してクライアントと対話する独立したインターフェイスを使用して実装されます。たとえば、Project サービスの QueueCreateProject メソッドは、ProjectDataSet 型の dataset パラメーターを受け取ります。ProjectDataSet クラスは、DataSet 型から派生します。.NET Framework の型チェックと Visual Studio の IntelliSense 入力支援により、PSI による開発ではエラーの発生が抑えられます。

Project Server 2010 は, .NET Framework の例外処理を使用します。すべてのエラーは、サーバー内で PSI スタックの最上位に記録されます。エラーの中には、アプリケーション イベント ログに記録される SoapException オブジェクトのように、クライアントへ簡単なレポートとして送信されるものもあれば、サーバーの統合ログ サービス (ULS) のトレース ログに詳細レポートとして記録されるものもあります。

PSI も拡張性に優れています。独自の Web サービスを含む .NET アセンブリを追加し、そこで新しい機能を提供し、同じ Project Server セキュリティ インフラストラクチャを使用できます。また、他の PSI メソッドを呼び出したり、PSI のクラスを継承したりすることができます。PSI 拡張機能では、その新しい機能で必要とされるビジネス ロジックとデータベース アクセスも提供する必要があります。

PSI の名前空間、クラス、メソッド、プロパティ、イベント、および関連アセンブリの詳細なリファレンスの概要については、「PSI リファレンスの概要」を参照してください。

Project Server 2003 用に構築されたアプリケーションの移植

Project Server 2003 では、データや機能を利用するためには、多くの場合、Project Professional 2003 を使用するか、データベースに直接アクセスするしかありませんでした。Project Server 2007 で導入された PSI では、こうした制約の多くが取り除かれています。Project Server 2003 の Project Data Service (PDS) と異なり、PSI は Project Server のビジネス オブジェクトに対する包括的なインターフェイスを提供しています。

Project Server 2003 で Project Data Service (PDS) 用に開発されたアプリケーションは Project Server 2010 と互換性がありません。PSI は PDS と同等の機能を提供していますが、PDS のメソッドやパラメーターと完全には対応していません。PDS アプリケーションを Project Server 2010 に移植するには、以下の作業を行う必要があります。

  • 必要な各 PSI サービスへの WCF 参照または ASMX 参照を設定します。Project Server コンピューター上で実行する必要がないアプリケーションについては、Project Web App URL を通じて ASMX 参照を設定できます。たとえば、Resource サービスを使用するには、https://ServerName/ProjectServerName/_vti_bin/psi/resource.asmx?wsdl への参照を設定します。

    すべての新しいアプリケーションおよび、Project Server コンピューター上でのみ実行されるミドルウェア コンポーネントや偽装を使用するアプリケーションについては、WCF サービス参照を使用してください。詳細については、「WCF ベースのコード サンプルの前提条件」を参照してください。

  • すべての PDS 呼び出しを PSI 呼び出しに変更します。

  • PDS の XML 要求や XML 応答の処理を PSI の DataSet オブジェクトやその他のパラメーターの処理に変更します。

PSI は Project Server 2003 用に構築された PDS 拡張機能をサポートしていません。通常、それらの拡張機能ではデータベースに直接アクセスするからです。PDS の互換性の詳細と PDS 拡張機能を移植するときのガイドラインについては、「PDS Parity in PSI Web Services」を参照してください。

Project Server 2007 用に構築されたアプリケーションの移植

Project Server 2010 の PSI は、Project Server 2007 の PSI オブジェクト モデルのスーパーセットです。Project Server 2007 用に構築された多くのアプリケーションは、Project Server 2010 でも引き続き使用できます。ただし、Project Server コンピューター上で実行されるミドルウェア コンポーネントや偽装を使用するアプリケーションについては、若干の変更が必要です。詳細については、「WCF と PSI の概要」の「カスタム ソリューションの移行と互換性」を参照してください。

プロジェクトのバージョン

Project Server 2003 では、さまざまなバージョンのプロジェクトのためにプロジェクト名拡張機能を使用していました。Project Server 2010 でプロジェクトのバージョンを追跡するには、次のようにします。

  • CustomFields PSI Web サービスおよび LookupTable PSI Web サービスを介して使用でき、プロジェクト レベルのメタデータにアクセスするための [バージョンの作成] ユーザー設定フィールドと参照テーブル。

  • プロジェクトが組織に与える影響を制御する、タスク レベルの発行フラグとプロジェクト レベルの利用可能時間設定を使用する。

Project Server イベント

Project Server 2003 とそれ以前のバージョンでは、イベントに基づいてユーザー設定コードを呼び出す手段は、SQL Server トリガーだけでした。トリガーを使用するには Project Server の内部プロセスに関する知識が必要で、またシステムのパフォーマンスが低下することがあります。Project Server 2010 は、パブリック イベントを提供しており、これを利用してビジネス ルールの追加と適用、検証、データ処理、通知サービス、ワークフローなどのユーザー設定プロセスを開発することができます。サーバー側のイベントにより、Project Server の開発プラットフォームとしての価値が大幅に向上します。

Project Server のイベント プラットフォームには、Project Server イベント サービスと、イベントのリストを表示したりアプリケーション イベント ハンドラーを登録したりするための Project Web App 管理ページが含まれます。Project Server のイベント プラットフォームを使用すると、開発者は以下のことができます。

  • ユーザー定義イベント ハンドラーで Project Server の機能を拡張し、それらのイベント ハンドラーを Project Server が発生させるイベントに関連付ける。

  • イベント ハンドラーを使用して他のアプリケーションにデータを送信したり、アプリケーションからデータを受信したりする。

  • カスタム ビジネス ロジックを実装したプレイベント ハンドラーを使用して、Project Server プロセスを取り消す。

  • 1 つのイベントに複数のイベント ハンドラーを関連付け、実行の順序を決定する。

  • ワークフローを呼び出し、ワークフローとの間でメッセージを送受信する。

クライアント アプリケーションは、Project Server 2010 とやり取りするとき、サーバー側のイベントを発生させることができます。クライアントは Project Server と、PSI を通じて、また SharePoint Foundation 2010 のワークフロー プラットフォームを通じて、やり取りすることができます。PSI 呼び出しによって、イベント ソースとして機能するビジネス オブジェクトが呼び出されます。サードパーティの開発者は、イベント ハンドラーで使用する抽象基本クラスをオーバーライドすることもできます。このアセンブリでは、メソッド名ではなく、クラス名のみを Project Server イベント プラットフォームで使用できるようにする必要があります。また、この実装クラスでは、イベント ハンドラーの登録時と実行時の型チェックも有効にします。

Project Server は、1 つのイベントを分断するようなトランザクションは提供しません。中心となる Project Server プロセスを、不適切に記述されたイベント レシーバーから遮断するために、すべてのイベント レシーバーは Project Server とは異なるアプリケーション ドメインで実行されます。イベント ハンドラーがクラッシュしても Project Server プロセスには影響しません。例外を管理し、クリーンアップを実行し、例外が発生した場合にデータの整合性を維持するのは、開発者の責任です。

サーバー上でのプロジェクト スケジューリング

Project Server のスケジューリングは、全体として Project Professional のスケジューリングと同じように機能します。しかし、サーバー側スケジューリングにはいくつかの違いと制限があります。

  • タスクのアクティブ ステータスを変更する   QueueUpdateProject メソッドを使用してタスクのアクティブ ステータスを変更するか、dataset パラメーターに関して ProjectDataSet オブジェクトに複数の変更がある場合、Project Server のスケジューリング エンジンは矛盾した開始時間または終了時間を表示できます。QueueUpdateProject の dataset パラメーターでの唯一の変更が TASK_IS_ACTIVE プロパティの場合は、プロジェクトを更新できます。

    非アクティブなタスクおよび Project Server のスケジューリングの詳細については、ブログ記事の「Introducing Inactive Tasks in Project 2010 (英語)」および「Project Server 2010: Scheduling on the Web, the PSI and Project Professional (英語)」を参照してください。Project Professional 2010 と Project Web App でのスケジューリングの比較については、「Web-Based Capabilities (英語)」を参照してください。

  • 達成額は計算されない   Project Server のスケジューリング エンジンは、達成額フィールド (ACWP、BAC、BCWP、BCWS、CPI、CV、CV%、EAC、SPI、SV、SV%、TCPI、VAC、期間差異、開始日の差異、終了日の差異、コスト差異、および作業時間の差異) を計算しません。プロジェクトがこれらのフィールドに値を持ち、そのプロジェクトがサーバー上で更新された場合、これらのフィールドの値は変更されません。ただし、差異フィールドなどのユーザー設定フィールドを使用することにより、達成額フィールドの一部を複製することができます。Project Server のスケジューリング エンジンは、ユーザー設定フィールドを更新します。

  • 単一プロジェクトのスケジューリングのみ   Project Server は、変更がタスクの実績情報更新を通じて行われ、プロジェクトが PSI または Project Web App を使用して変更されたときに、現在のプロジェクトのみをスケジューリングします。現在のプロジェクトが他のプロジェクト、サブプロジェクト、またはマスター プロジェクトへのリンクを持つ場合、リンク先のプロジェクトは変更されません。

サーバー側スケジューリングの制限には、以下の方法で対処できます。

  • Project Professional でプロジェクトを開き、Project Server に保存する。

  • レポートに、Project Server が更新しないフィールドは含めない。

  • レポートに、データが古くなっている可能性があるという注意を記す。

レポート データベースとキューブには、プロジェクト データの一部が更新されていないことを検出できるフラグがあります。詳細については、レポート データベース スキーマ リファレンス (Project 2010 SDK ダウンロードの ProjectServer_ReportingDB.chm) 内の MSP_EpmProject テーブルを参照してください。

  • ProjectWbsIsStale   作業分割構造 (タスク アウトライン階層) が古いことを示します。

  • ProjectEarnedValueIsStale   達成額フィールドが古いことを示します。

  • ProjectRollupsAreStale   サブプロジェクトが下書きデータベースで更新されているのに、マスター プロジェクトが更新されていないことを示します。サブプロジェクトからの重ね合わせた値が古くなっています。

  • ProjectHierarchyNotSynchronized   マスター プロジェクトがその子と同期されていません。この状態は、子プロジェクトがマスター プロジェクトの発行の一部ではなく、明示的に発行されたときに発生します。

  • ProjectCalculationsAreStale   Project Professional がスケジュールを計算せずにプロジェクトを保存しました (つまり、[Project のオプション] ダイアログ ボックスの [スケジュール] タブで、計算モードが [手動] に設定されています)。

  • ProjectGhostTaskAreStale   ProjectHierarchyNotSynchronized に似ていますが、プロジェクト間のリンクのデータについて警告します。マスター プロジェクトが存在しないのに、リンクの一方のプロジェクト データが他方よりも新しい可能性があります。

以下に、Project Server と Project Professional のスケジューリングのしくみの、その他の違いを示します。

  • 実績の細分化   Project Server 2010 と Project Professional 2010 は、どちらも数量単価型リソースの割り当てに対する実績値を数量単価型リソースに細分化します。一方、Project Server 2007 は、数量単価型リソースの割り当てに対する実績値を時間単価型リソースに細分化します。

  • サマリー タスク    一般に、Project Server 上のサマリー タスクは読み取り専用です。たとえば、サマリー タスクに対する割り当てを作成したり、達成率を変更したりすることはできません。しかし、Project Server は手動でスケジュールされたサマリー タスクの日付や期間を編集することはサポートしています。

    Project Server の実績作業時間がサマリー タスクの割り当てに自動的に追加されることはありません。それは Project Server の承認プロセスをバイパスすることになるからです。Project Professional では、サブタスクに追加した実績作業時間はサマリー タスクの割り当てにも追加されます。この動作の違いがユーザーを混乱させることがあります。

    Project Server は、サブタスクの期間が短縮されるか、終了日が変更された場合に、サマリー タスク割り当ての実績を削除します。Project Professional 2010 では、実績の細分化と、サマリー タスク割り当てへの実績の追加が、Project Server の動作と一致するように変更されます。

    注意

    Project Professional ではサマリー タスク上で割り当てを作成できますが、作成しないことをお勧めします。

  • 無効なタスク    Project Server は、タスクを非アクティブにしたり、再度アクティブ化したりすることはできません。

  • アウトライン番号    Project Server は、タスクのアウトライン番号を計算しません。

  • WBS 値    Project Server は、作業分割構造の値を更新しません。

  • リソースの割り当て超過    Project Server は、割り当て超過フラグの値を正しく計算しません。

Project Server データベースへのアクセスについて

開発者には、Project Server の下書きデータベース、発行済みデータベース、またはアーカイブ データベースに Microsoft SQL Server クエリを通じて直接アクセスしないことを強く推奨します。Project Server データベース テーブルに直接変更を加えると、参照整合性が損なわれたり、Project Server キュー サービスを通じたデータベース アクセスと干渉したりする可能性があります。

重要

プログラムによってデータベースに直接アクセスしてデータを更新することを能動的に妨げるものは存在しません。Project Professional キャッシュ、発行済みデータベース、およびレポート データベースはすべてがキャッシュ同期プロトコルに依存しているので、直接データを編集すると同期が混乱する可能性があることに注意が必要です。直接アクセスしてデータを変更することによって、Project Server データベースや Project Professional クライアント側キャッシュが破損した場合、製品サポートは役に立てません。

下書きデータベース、発行済みデータベース、またはアーカイブ データベースに直接アクセスするアプリケーションは、データベース スキーマにも依存します。データベース スキーマは、Project Server 2010 のサービス パックや将来のバージョンで変更される可能性があります。さらに、データベースに直接アクセスするアプリケーションは、組み込みの Project Server セキュリティ、共通ビジネス ロジック、追跡、監査、エラー チェック、レポート、ワークフローなどの機能を利用できません。こうしたアプリケーションは、Project Server 2010 の更新に合わせて書き換える必要性が高くなります。

以上の理由により、Project Professional と Project Web App は、下書きデータベース、発行済みデータベース、またはアーカイブ データベースへの直接呼出しを行いません。Project Server と統合される他のアプリケーションでも、そのような呼び出しは避ける必要があります。

注意

Office Project Server 2007 では、発行済みデータベースのセキュリティ テーブルに変更を加えることによって、カスタムのグローバル権限およびカテゴリ権限を作成できます。記事「Walkthrough: Creating and Using Custom Project Server Permissions」は、発行済みデータベースの変更に対して例外が作成される唯一の SDK 例です。Project Server 2010 では、カスタム権限を作成するプロセスは廃止されています。代わりに、クレーム拡張を使用してカスタム権限を作成できます。詳細については、「クレーム プロバイダー」を参照してください。

下書きデータベース、発行済みデータベース、およびアーカイブ データベースは文書化されていません。レポートの生成を支援するために、レポート データベースを使用できます。レポート データベースのスキーマは、Project 2010 SDK ダウンロードで文書化されています。また、レポート データベースを拡張して外部データを含め、統合されたレポート ソリューションを実現することもできます。

関連項目

概念

Project Server 2010 のアーキテクチャ

PSI が行うこと、行わないこと

ワークフローおよび需要管理

WCF と PSI の概要

PSI リファレンスの概要

その他のリソース

Project Server ワークフローを開発する

Project プログラミング リファレンス

構成要素: ワークフロー

Windows Workflow Foundation

PDS Parity in PSI Web Services

Introducing Inactive Tasks in Project 2010 (英語)

Project Server 2010: Scheduling on the Web, the PSI and Project Professional (英語)

Web-Based Capabilities (英語)