SharePoint 2010 の開発構成要素: SharePoint アプリケーションを作成するためのテクノロジ (パート 2/2)
概要: SharePoint 開発について高レベルから概要を解説し、SharePoint 開発用の構成要素について学習する 2 部構成の記事です。
最終更新日: 2015年3月9日
適用対象: Business Connectivity Services | Open XML | SharePoint Designer 2010 | SharePoint Foundation 2010 | SharePoint Online | SharePoint Server 2010 | Visual Studio
この記事の内容
概要
重要な構成要素
SharePoint 開発用の構成要素の一覧
開発者ダッシュボードを使用してパフォーマンス メトリックを表示する
SharePoint 2010 アクセシビリティ ガイドライン
SharePoint 2010 開発ツール
SharePoint 2010 開発環境を設定する
SharePoint 2010 とアプリケーション ライフサイクル管理 (ALM)
まとめ
その他の技術情報
目次
概要
重要な構成要素
SharePoint 開発用の構成要素の一覧
開発者ダッシュボードを使用してパフォーマンス メトリックを表示する
SharePoint 2010 アクセシビリティ ガイドライン
SharePoint 2010 開発ツール
SharePoint 2010 開発環境を設定する
SharePoint 2010 とアプリケーション ライフサイクル管理 (ALM)
まとめ
その他の技術情報
この記事は、Microsoft SharePoint 製品とテクノロジを使用する開発構成要素について解説する 2 部構成の記事の後半部分です。
SharePoint 2010 の開発構成要素: SharePoint アプリケーションを作成するためのテクノロジ (パート 1/2)
SharePoint 2010 の開発構成要素: SharePoint アプリケーションを作成するためのテクノロジ (パート 2/2) (この記事)
概要
前半の記事「SharePoint 2010 の開発構成要素: SharePoint アプリケーションを作成するためのテクノロジ (パート 1/2)」では、SharePoint アプリケーションとは何かを明らかにしました。いくつかの便利な SharePoint 機能を紹介してから開発シナリオを詳しく解説し、数種類のシナリオについて具体例を示して説明しました。この記事では、SharePoint 開発用の構成要素について説明します。Microsoft SharePoint 製品とテクノロジのアプリケーションを構築するための開発手法を理解することができます。
重要な構成要素
以下の表に構成要素をアルファベット順で示しますが、これらの構成要素の重要度には差があります。特に重要な構成要素については、表の後に個別にセクションをもうけて詳しい解説を加えています。
最初に、サーバー オブジェクト モデルについて理解する必要があります。このプログラミング インターフェイスは、Web パーツ、カスタムのアクションを組み込むワークフロー、およびイベント レシーバーを作成するときに使用します。マネージ クライアント オブジェクト モデルは、サーバー オブジェクト モデルを基盤とします。サーバー オブジェクト モデルを理解すると、クライアント側オブジェクト モデルもおおよそ理解できます。
Web パーツは、SharePoint を拡張する手段として最もよく利用されます。Web パーツを作成する方法を学ぶことは、SharePoint 開発習得の第一歩として適しています。
ワークフローは、ビジネス プロセスを体系化し、標準化するために使用できます。特定のシナリオを実装するための基本的なツールの 1 つです。コードを使用してワークフローを拡張する場合は、サーバー オブジェクト モデルを使用します。
Microsoft Business Connectivity Services (BCS) は、SharePoint 展開の外部にあるデータを SharePoint アプリケーションで使用できるようにします。
Collaborative Application Markup Language (CAML) および LINQ to SharePoint を理解することは、良質の SharePoint アプリケーションを開発するうえで非常に重要です。
ドキュメント ライブラリとリストは、Microsoft SharePoint Foundation 2010 のエンドユーザー機能であると同時に、開発者が利用できるプログラミング リソースでもあります。多くの場合、ソフトウェア システムを設計するときは、アプリケーションの動作を制御する構成情報をどこかに保存する必要があります。このような情報は、必要に応じて非公開のリストに格納し、ユーザーからのアクセスを制限できます。この設定が最も適切なのは、開発者ではないユーザーがアプリケーションの構成を保守する必要がある場合です。または、構成 XML ファイルを、アクセスが制限された非公開のドキュメント ライブラリに格納する方法もあります。
SharePoint 開発用の構成要素の一覧
以下の表に、SharePoint アプリケーションの構築に使用できる SharePoint 開発用の構成要素の一覧を示します。
SharePoint 2010 開発用の構成要素
構成要素 |
説明 |
|||
---|---|---|---|---|
Access Services |
Microsoft Access データベースを SharePoint サイトに発行します。 |
X |
||
管理 |
SharePoint Foundation 2010 および Microsoft SharePoint Server 2010 をプログラミングによって管理します。 |
X |
X |
X |
通知 |
電子メール メッセージまたは SMS メッセージを送信します。 |
X |
X |
X |
ASP.NET アプリケーション ページ |
Microsoft ASP.NET 分離コード モデルを使用して Web ページを作成します。 |
X |
X |
X |
Business Connectivity Services |
外部データを SharePoint 展開に取り込みます。 |
X |
X |
X |
Business Connectivity Services クライアント側 API |
クライアント コンピューターから Business Connectivity Services データにアクセスします。 |
X |
X |
X |
Collaborative Application Markup Language (CAML) |
クエリ言語を XML 形式で宣言します。 |
X |
X |
X |
列の種類とフィールドの種類 |
データのドメイン定義をリストとライブラリに作成します。 |
X |
X |
X |
コンテンツ タイプ |
リスト アイテムの プロトタイプを定義します。 |
X |
X |
X |
カスタム アクション |
リンク、ツールバー ボタン、またはメニュー項目を作成します。 |
X |
X |
X |
カスタム ビュー |
リストおよびドキュメント ライブラリのビューを定義します。 |
X |
X |
X |
ダッシュボードおよび KPI |
レポート、グラフ、および KPI に使用する Web パーツ。 |
X |
||
ドキュメント ライブラリ |
任意の種類のドキュメントまたはファイルを格納します。 |
X |
X |
X |
ドキュメント メタデータ |
ドキュメントの高度な分類。 |
X |
X |
|
ECMAScript クライアント オブジェクト モデル |
ECMAScript (JavaScript、JScript) を使用して SharePoint データにアクセスします。 |
X |
X |
X |
イベント レシーバー |
リストまたはライブラリが更新されたときに実行する動作を提供します。 |
X |
X |
X |
Excel Services |
Microsoft Excel のブックの読み込み、計算、および表示を実行可能にします。 |
X |
||
Excel Services ECMAScript インターフェイス |
JavaScript を使用して Excel Web Access Web パーツにアクセスします。 |
X |
||
Excel Services REST API |
URL を通じて Excel のブック ドキュメントの各部分または要素に直接アクセスします。 |
X |
||
Excel Services ユーザー定義関数 |
サーバー側スプレッドシートに使用できる高パフォーマンスの関数を作成します。 |
X |
||
Excel Web Services |
Web サービスを使用して Excel サービスにプログラミングによってアクセスします。 |
X |
||
フィーチャー |
展開の単位。 |
X |
X |
X |
正常性ルール |
大規模なシステムで正常性を監視する方法を体系化します。 |
X |
X |
X |
InfoPath Forms Services |
Microsoft InfoPath 2010 フォームをブラウザー内で入力できるようにします。 |
X |
||
LINQ to SharePoint |
LINQ を使用して SharePoint リストやドキュメント ライブラリにクエリを実行します。 |
X |
X |
X |
リスト |
ユーザーが編集できるデータ ストレージ。 |
X |
X |
X |
マネージ クライアント オブジェクト モデル |
クライアント コンピューターから SharePoint データにアクセスします。 |
X |
X |
X |
モバイル ページ、コントロール、およびアダプター |
SharePoint データを携帯電話に移動します。 |
X |
X |
|
OData REST API |
OData 標準を使用して SharePoint データへの REST アクセスを提供します。 |
X |
X |
X |
Office クライアント管理アドイン |
SharePoint データとドキュメントを使用して Office クライアントを強化します。 |
X |
X |
X |
Open XML SDK |
ドキュメントの生成および変換に Open XML を使用します。 |
X |
X |
X |
PerformancePoint Services |
ダッシュボード、スコアカード、レポート、および主要業績評価指標を作成します。 |
X |
||
PowerPivot |
ビジネス インテリジェンス ソリューションを作成します。 |
X |
||
サンドボックス ソリューション |
サンドボックス インフラストラクチャは、不適切なコードを切り離してシャットダウンし、サーバー ファームに障害が発生することを防ぎます。 |
X |
X |
X |
検索のカスタマイズ |
外部コンテンツ タイプなど、さまざまな種類のコンテンツを検索できるようにします。 |
X |
X |
|
Secure Store Service |
セキュリティで保護された方法でレガシ システムにアクセスします。 |
X |
X |
|
セキュリティ |
重要情報の使用を権限のあるユーザーのみに制限します。 |
X |
X |
X |
サーバー オブジェクト モデル |
データおよびコンテンツにアクセスするために使用できるサーバー側 .NET Framework ベース API。 |
X |
X |
X |
Server リボン |
SharePoint のリボンをカスタマイズします。 |
X |
X |
X |
サービス アプリケーション アーキテクチャ |
複数の SharePoint アプリケーションによって消費される共有サービスを作成します。 |
X |
X |
X |
SharePoint ダイアログ フレームワーク |
ダイアログ ボックスなどのクライアント側ユーザー インターフェイス要素を作成するための JavaScript プログラミング インターフェイス。 |
X |
X |
X |
SharePoint テーマ |
カスタムのブランド化をサイトまたはサイト コレクションに適用します。 |
X |
X |
X |
SharePoint Web サービス |
Web サービスを通じて SharePoint データにアクセスします。 |
X |
X |
X |
Silverlight Web パーツ |
外観と使いやすさに優れたユーザー インターフェイスを作成します。 |
X |
X |
X |
サイト定義 |
SharePoint サイトを作成、構成、および準備します。 |
X |
X |
X |
サイト ページ |
リソースを浪費しないユーザー カスタマイズ可能なページ。 |
X |
X |
X |
タイマー ジョブ |
時間または間隔を指定してコードを実行します。 |
X |
X |
X |
バリエーション |
サイトを複数の文化、市場、および言語に対応させます。 |
X |
X |
|
Visio Services |
Microsoft Visio 図面を共有および表示します。 |
X |
||
Visual Studio SharePoint ツール機能拡張 |
Microsoft Visual Studio 2010 を拡張して、カスタム ソリューションをすばやく作成できるようにします。 |
X |
X |
X |
Web 分散オーサリングとバージョン管理 (WebDAV) |
ファイルのアップロードおよびダウンロードを効率よく実行します。 |
X |
X |
X |
Web パーツ |
ユーザーは Web パーツと Web パーツ ページを使用してユーザー インターフェイスをカスタマイズできます。Web パーツを作成することは、SharePoint を拡張する最も一般的な方法です。 |
X |
X |
X |
Web サービス |
スケーラビリティのある、ゆるやかに結合された分散 SharePoint アプリケーションを構築するための主要なコンポーネント。 |
X |
X |
X |
Windows Identity Foundation |
信頼できるプロバイダーに基づくクレームベースのユーザー認証を提供します。 |
X |
X |
X |
Word Automation Services |
ドキュメントをさまざまな種類のファイル形式と相互に変換するサービスを提供します。 |
X |
X |
|
ワークフロー |
タスクとフォームを使用してビジネス プロセスを自動化します。 |
X |
X |
X |
Access Services
SharePoint Server 2010 では、インターネット ブラウザーまたは Access クライアントから Access Services を使用することにより、リンクされた Access 2010 データベースを編集、更新、および作成できます。書式設定されたレポートを作成するには、Microsoft SQL Server Reporting Services を使用できます。
Visual How-to: Access 2010 と Access Services を使用した Web データベースの作成
ビデオ: The Access Show: Access 2010 demo of Access Services and web databases (英語)
ポータル: Access 2010 Development (英語)
SDK: Using Access Services with SQL Reporting Services
管理
Microsoft.SharePoint.Administration 名前空間のクラスは、SharePoint サイトおよび SharePoint ベース ソリューションをプログラミングによって展開、移行、保守、および管理するツールとして利用できます。
SDK: SharePoint Foundation の管理
SDK: Microsoft.SharePoint.Administration
SDK: Microsoft SharePoint Foundation の管理オブジェクト モデル
通知
通知は、電子メール メッセージまたは SMS 通知結果を SharePoint ユーザーに自動的に送信するフレームワークとして使用できます。通知は、リストまたはリスト アイテムに関連付けることができます。SharePoint Foundation 2010 には、一般的なシナリオに適用できる通知テンプレートのライブラリが用意されています。
SDK: 構成要素: 通知
SDK: SharePoint Foundation での通知
SDK: 通知の概要
SDK: Alert オブジェクト モデル
ASP.NET アプリケーション ページ
ASP.NET 分離コード モデルを使用して Microsoft Visual C# または Microsoft Visual Basic でアプリケーション ロジックを記述してカスタム ユーザー インターフェイスを作成する場合は、ASP.NET ページの特別な種類である ASP.NET アプリケーション ページ ( .aspx ページとも呼ぶ) を使用できます。
.aspx ページは、ASP.NET マスター ページに統合する必要があります。マスター ページを .aspx ページに関連付けると、SharePoint サイトとサイト コレクションの全体でユーザー インターフェイスを統一できます。
これらのページは、分離コードを含み、プリコンパイルされる通常の .aspx ページなので、SharePoint サイト ページよりも高いパフォーマンスが得られます。
アプリケーション ページを使用して Web パーツ ゾーンまたは Web パーツをホストすることはできません。
.aspx ページの特徴の 1 つは、Microsoft Silverlight コントロールを配置する場所に複数の選択肢があることです。特定のユーザーのために Silverlight インターフェイスをサイトの広範囲に排他的に提供できます。ただし、サイトの保守管理を担当するユーザーは既定の SharePoint ユーザー インターフェイスを使用できます。
SDK: マスター ページ
SDK: サイトおよびページ
SDK: SharePoint のページの種類
MSDN: Creating Application Pages for SharePoint
SDK: [文書パーツ] ページとユーザー インターフェイス
SDK: SharePoint Foundation におけるカスケード スタイル シート クラスの使用
Business Connectivity Services
Business Connectivity Services には、メソッドを特定のプロトタイプと共に定義し、データを SharePoint に取り込むことで、ユーザーが SharePoint のデータを直接表示および変更できるようにするインフラストラクチャがあります。外部のテーブルは、"外部コンテンツ タイプ" または "エンティティ" と呼ばれます。外部コンテンツ タイプは、"エンティティ" と "関係" の理論でいうエンティティとして使用できます。
Business Connectivity Services では、以下の 3 つの基本メカニズムを使用して外部データを SharePoint に取り込めます。
SQL データベースに接続できます。既定で、SQL Server がサポートされています。適切な構成を行えば、Oracle などの他の種類のデータベース サーバーにも接続できます。
メソッド プロトタイプの特定のパターンに従うメソッドを公開する Web サービスを利用できます。
任意の種類のデータに接続するために .NET マネージ コード (C# または Visual Basic) を作成できます。コードを通じて機能を拡張する方法は次の 2 つです。
.NET アセンブリ コネクタを作成して、ユーザーが定義済みのスキーマに従う外部コンテンツ タイプを作成できるようにします。このスキーマは、再コンパイルや再展開を行わないと変更できません。
独自のスキーマ機構と定義を持つシステムを基盤にする場合は、カスタム コネクタを作成できます。このカスタム コネクタは、基盤スキーマの定義を使用し、ユーザーが外部コンテンツ タイプを基盤スキーマのテーブルに作成するために利用できます。当然ですが、この方法は .NET アセンブリ コネクタを作成する場合よりも広い用途に使用できます。
外部リストと外部データ列は、外部コンテンツ タイプのデータの表示および保守に使用できる組み込みのユーザー インターフェイス機能です。外部リストは、Web インターフェイス、Microsoft SharePoint Designer 2010、または Visual Studio 2010 を使用して作成できます。
ユーザーが外部コンテンツ タイプのデータを検索できるように、外部コンテンツ タイプを検索エンジンに公開できます。既定で、データはプロファイル ページに表示されます。プロファイル ページをカスタマイズしたり、検索結果に含まれるアイテムをユーザーがクリックしたときに実行する動作をカスタマイズしたりすることができます。たとえば、アイテムの表示や保守に SharePoint 以外のサイトを使用できます。
SDK: Business Connectivity Services の概要
SDK: Microsoft Business Connectivity Services
SDK: Business Connectivity Services: 方法説明とチュートリアル
SDK: .NET Assembly Connector を使用することとカスタム コネクタを作成することの違い
SDK: [方法] SharePoint で外部リストを作成する
SDK [方法] SQL Server テーブルに基づく外部コンテンツ タイプを作成する
SDK [方法] Business Connectivity Services を使用して Oracle Database に接続する
SDK [方法] 外部データ列を含む SharePoint リストの作成
Visual How-to: 外部データ ソースのデータを読み書きできる SharePoint 2010 の Web パーツを作成する
チュートリアル: Creating an External List in SharePoint by Using Business Data
ビデオおよびハンズオン ラボ: Accessing External Data with Business Connectivity Services in SharePoint 2010 (英語)
ブログ: Walkthrough of creating a SharePoint 2010 external list using Visual Studio 2010 (英語)
ブログ: Searching External Data in SharePoint 2010 Using Business Connectivity Services (英語)
Business Connectivity Services クライアント側 API
Business Connectivity Services クライアント側 API を使用すると、外部コンテンツ タイプに対応した作成、読み取り、更新、および削除の一連の機能を持つアプリケーションを作成できます。Microsoft Office 管理アドインを構築する場合にユーザー インターフェイスを提供するには、作業ウィンドウまたは操作ウィンドウを使用すると便利です。この方法を使用すると、ユーザーはいつもどおりにドキュメントやスプレッドシートを操作しながら Business Connectivity Services データも扱えます。
Business Connectivity Services クライアント側 API は、クライアント アプリケーションから Business Connectivity Services のデータにアクセスする手段です。また、データをオフラインに移行できるように Business Connectivity Services を構成することもできます。クライアント コンピューターがオンラインに戻ると、変更内容が Business Connectivity Services を通じて同期され、競合があれば適切に解決されます。Business Connectivity Services クライアント側 API は、Office 2010 クライアント管理アドインで最も頻繁に使用されますが, .NET Framework ベース アプリケーションで使用することもできます。
ユーザーがキャッシュ内のデータを表示および変更できるように、データをオフラインに移行することができます。オフラインのユーザーがデータを変更した結果、別のユーザーが行った変更との競合が発生した場合のために、このような競合を解決するコードを作成し、適切なオプションをユーザーに提示することができます。
SDK: Business Connectivity Services を使用して高度なコードベースのソリューションを作成する
SDK: [方法] コンテンツ コントロールを使用して Word で外部データを表示する
ブログ: Overview of business connectivity services Advanced Code-Based Solutions (英語)
Collaborative Application Markup Language (CAML)
Collaborative Application Markup Language (CAML) は、フィルター、並べ替え順序などを指定できる XML ベース クエリ言語です。各アイテムで取得するフィールドを正確に指定できます。この機能を使用すると、クエリ結果の大きさを制御できます。
状況によってクエリの実行に CAML ではなく LINQ to SharePoint を使用できますが、CAML を SharePoint 2010 で使用することには現在も妥当性があります。マネージ クライアント オブジェクト モデルを使用してクエリを実行するときは CAML を使用します。マネージ クライアント オブジェクト モデルの使用時に、基盤となるシステムで CAML ではなく LINQ を使用してアイテムをフィルター処理すると、フィルターはすべてのアイテムが返された後で適用されます。このプロセスは、サーバー上で必要以上の CPU とメモリ リソースが消費される結果を招きます。
SDK: Collaborative Application Markup Language のコア スキーマ
SDK: CAML (Collaborative Application Markup Language) の概要
列の種類とフィールドの種類
列の種類とフィールドの種類を使用すると、SharePoint リスト内のフィールドと列を標準化するための多種多様なメタデータを定義できます。特定のデータ型用のサイト列をサイト列ギャラリーに定義して、このデータ型をサイト全体で使用できます。これは、ドメインをデータベース スキーマ設計で定義するのと似ています。この方法を使用すると、複数のリストに含まれる列で同じ値空間を使用できます。
SDK: ユーザー設定フィールド型
SDK: 列
コンテンツ タイプ
リスト アイテムのプロトタイプとなるコンテンツ タイプを定義できます。リスト用のコンテンツ タイプを使用する場合は、1 つのコンテンツ タイプのアイテムのみを含むリストを定義したり、複数のコンテンツ タイプのいずれかの種類のアイテムを含むリストを定義したりすることができます。
SDK: コンテンツ タイプ
SDK: コンテンツ タイプについて
カスタム アクション
カスタム アクションは、リンク、ツールバー ボタン、メニュー項目、またはそれ以外でユーザー インターフェイスに表示されるツールバーまたはメニューに追加できるコントロールを表します。カスタム アクションは、フィーチャー定義ファイル内でカスタム アクション要素を使用して定義します。カスタム アクションは、リストの種類、コンテンツ タイプ、またはプログラム ID (ProgID) にバインドできます。
SDK: カスタム アクション
SDK: [方法] カスタム アクションを使用してユーザー インターフェイスを変更する
カスタム ビュー
SharePoint リストのカスタム ビューを定義する機能は、ツールキット内で利用できる主要なツールです。データが最適な形式で提示されるように、特定のユーザーまたはシナリオ向けにカスタム ビューをプログラミングによって定義できます。一般に、カスタム ビューは、スプレッドシートにデータをエクスポートして追加の操作を行うためにデータに書式を定義する目的で使用します。
注意
ここでいう "ビュー" とは、SQL Server で使用されるビューとは意味が異なります。SQL Server では、テーブルの表示形式を定義するデータベース構造のことをビューと呼びますが、カスタム ビューの "ビュー" は、SharePoint リストに含まれるデータの特定のサブセットをユーザーに見せるためにページに提示する表示用テーブルを指します。
Office Online: Create or change a view
SDK: SPViewCollection
SDK: SP.View Class
ダッシュボードおよび KPI
"ダッシュボード" は、個人、チーム、社内、または社外の情報をインフォメーション ワーカー向けに統合するソリューションです。1 回のクリックで分析ツールや共同作業ツールにすばやくアクセスできます。社内のデータ リソースを 1 つのデスクトップ上に統合して表示するツールです。ダッシュボードを使用すると、主要なビジネス情報にアクセスできます。
はじめに: ビジネス インテリジェンス センターの概要
Office Online: ダッシュボードを使ってみる
Office Online: KPI とステータス インジケーター
SDK: PerformancePoint Services での開発シナリオ
ドキュメント ライブラリ
SharePoint ドキュメント ライブラリは、SharePoint リストの特別な形式です。ドキュメント ライブラリには、ドキュメントのメジャー バージョンとマイナー バージョンを保持する機能などがあります。ID に基づいてドキュメントへのアクセスを制限できます。任意の数の列を定義して、ライブラリ内の各ドキュメントに関する補足情報を含めることができます。
ドキュメント ライブラリの非常に重要な機能として、列のデータをドキュメント内のメタデータにバインドできることが挙げられます。ドキュメントをライブラリからチェックアウトすると、メタデータはそのドキュメントにコピーされ、ユーザーが管理できる状態になります。このドキュメントをライブラリにチェックインすると、更新されたメタデータがドキュメント ライブラリ内のアイテムのフィールドにコピーされます。
ドキュメント ライブラリには、さまざまな種類のファイルを格納できます。また、フォルダーを入れ子にして含めることもできるので、ファイル構造はファイル システムに似ています。
SDK: 構成要素: ファイルとドキュメント
ドキュメント メタデータ
ドキュメント メタデータは、ドキュメント ライブラリ内の各ドキュメントに関連付ける形で SharePoint によって保存されるカスタム データです。ユーザーは、SharePoint Web ユーザー インターフェイスまたは Microsoft Word を使用してメタデータを指定できます。ユーザーがドキュメントをドキュメント ライブラリに追加すると自動的にイベント ハンドラーでメタデータが設定されるようにプログラミングできます。ユーザーは、このメタデータをドキュメントのフィルター処理や検索に利用できます。また、SharePoint ワークフローでメタデータにアクセスし、メタデータに基づいてワークフローの動作を変更できます。通常、ドキュメント メタデータを定義するにはコンテンツ タイプを使用します。ワークフローでは、このデータを対話式に操作できます。
ドキュメント情報パネルは、クライアント アプリケーション内に表示されるフォームです。ドキュメント メタデータを表示するフィールドは、このパネルに含まれます。ドキュメント情報パネルを使用すると、クライアント アプリケーションから切り替えなくても、必要に応じてファイルに関する重要なメタデータを入力できます。
SDK: ドキュメント情報パネルの概要
ECMAScript クライアント オブジェクト モデル
JavaScript クライアント オブジェクト モデルは、JavaScript で使用できるマネージ クライアント オブジェクト モデルの 1 種類です。使用できるメソッドとデータ型は同じであり、プログラミング モデルも共通します。マネージ クライアント オブジェクト モデルと同様に、サーバーとネットワーク トラフィックをやり取りするタイミングを制御できます。
SDK: マネージ オブジェクト モデルと ECMAScript オブジェクト モデルの相違点
イベント レシーバー
イベント レシーバーを使用すると、SharePoint ドキュメントまたはリスト内でアイテムが追加、削除、または変更されたときや、それ以外のタイミングで呼び出されるイベント ハンドラーを書くことができます。イベント ハンドラーは、完全信頼サーバー ファーム ソリューションとして、つまりサンドボックス ソリューションとして展開できます。
ビデオ: How Do I: Visual Studio 2010 で SharePoint 2010 のイベント レシーバーを作成する
SDK: 構成要素: イベント処理
SDK: SharePoint Foundation 2010 のイベント
SDK: SharePoint Foundation のイベントについて
SDK: Walkthrough: Add Feature Event Receivers
SDK: SPEventReceiverDefinition
Excel Services
Excel Services を使用すると、Excel のブックを SharePoint Server 2010 に読み込んで、計算や表示を行うことができます。Excel Services 用のプログラム インターフェイスは、主に 4 種類あります。
Excel Web Access : SharePoint Server 2010 内の Web ページに追加できるビューアー ページおよび Excel Services Web パーツです。Excel Web Access は、Excel のブック本体を Web ページに描画する (つまり HTML 形式を作成する) ことにより 、ブックを対話式に操作できるようにします。
Excel Web Services : プログラミングによるアクセスを提供します。
**JavaScript オブジェクト モデル:**Excel Web Access コントロールの自動化とカスタマイズおよび制御を提供します。魅力的な統合ソリューションを開発するのに役立ちます。
REST (Representational State Transfer) API : URL を通じてブック ドキュメントの各構成要素に直接アクセスできるようにします。
スプレッドシートをカスタマイズする場合は、Excel Services ユーザー定義関数を作成して Excel Calculation Services を拡張できます。
Office Online: Excel Services
SDK: Excel Web Access
SDK: Excel Web サービス
SDK: Excel Services ECMAScript (JavaScript、JScript)
SDK: Excel Services の基礎知識
Excel Services ECMAScript インターフェイス
Excel Services の JavaScript オブジェクト モデルを使用して、ページ上の Excel Web Access Web パーツ コントロールを自動化、カスタマイズ、および操作するコードを作成できます。JavaScript オブジェクト モデルを使用すると、Excel Web Access Web パーツ コントロールと対話するマッシュアップやその他の統合ソリューションを作成できます。また、ブックに機能を追加することもできます。
SDK: Excel Services ECMAScript (JavaScript、JScript)
Excel Services REST API
Excel Services REST API は、URL を通じてブック ドキュメントの各部分または要素にプログラミングによって直接アクセスするために使用できます。
Excel Services ユーザー定義関数
Excel Services ユーザー定義関数 (UDF) を使用すると、サーバー側スプレッドシートで使用できる高パフォーマンスの関数を Microsoft Visual C または Microsoft Visual C++ で書くことができます。
Visual How To: Writing Asynchronous User-Defined Functions in Excel 2010
Visual How To: Creating Managed-Code UDFs for Excel Services
Excel Web Services
Excel Web Services を使用してプログラミングによって Excel Services にアクセスできます。
SDK: Excel Web サービス
フィーチャー
フィーチャーは、SharePoint の展開の単位です。大規模なサーバー ファームにフィーチャーを展開すると、フィーチャー内のアーティファクトがすべてのサーバーにインストールされます。フィーチャーには、テンプレート、ページ、リスト定義、イベント ハンドラー、ワークフロー、JavaScript ソース ファイル、およびカスケード スタイル シート ファイルを格納できます。また、フィーチャーがインストール、アンインストール、アクティブ化、非アクティブ化、またはアップグレードされたときに実行されるイベント ハンドラーであるフィーチャー ハンドラーをフィーチャーに格納することもできます。
SDK: フィーチャーの使用
SDK: 機能アップグレードの概要
SDK: Walkthrough: Add Feature Event Receivers
正常性ルール
SharePoint Health Analyzer は、正常性ルールを適用して、サーバー ファーム全体の SharePoint Foundation 展開の正常性を監視します。正常性ルールは、コンパイル済みのアセンブリにサーバー ファーム レベルで展開される実行可能コードであり、SharePoint Health Analyzer に登録されます。正常性ルールを登録すると、ルールを実行するタイマー ジョブが作成されます。ルールの項目が、サーバーの全体管理の [監視] セクションの [ルール定義の確認] の下にある Health Analyzer ルール リストに追加されます。
SDK: [文書パーツ] 正常性ルール
SDK: SharePoint Health Analyzer
InfoPath Forms Services
InfoPath Forms Services は、ユーザーが Web ブラウザー内で入力できるフォームを提供するサーバー テクノロジです。フォームを中心的な場所で管理することにより、ビジネス プロセスを合理化し、顧客、パートナー、および業者との連携を改善できます。
デベロッパー センター: InfoPath デベロッパー ポータル
Office Online: InfoPath 2010 の使用を開始する
TechNet: Plan InfoPath Forms Services
LINQ to SharePoint
LINQ to SharePoint は、CAML を使用する場合よりも自然なクエリを作成できる LINQ クエリ プロバイダーです。SharePoint Server オブジェクト モデルを使用するときに最も便利です。
LINQ to SharePoint の重要な特徴の 1 つは、クエリから返されたデータにアクセスするときに厳密に型指定されたオブジェクト モデルを使用するようにコードが生成されることです。
関数型プログラミングに興味があるなら、純粋な関数変換を実行するためのデータ ソースとして LINQ to SharePoint を利用できることは、覚えておいて損はありません。
SDK: LINQ to SharePoint でデータを管理する
ビデオおよびハンズオン ラボ: Accessing SharePoint 2010 Data with Server-Side APIs (英語)
ブログ: Query Composition using Functional Programming Techniques in C# 3.0 (英語)
リスト
SharePoint サイトのカスタム リストは、データを保存する場所として使用できます。プログラミングによってアクセスするデータを格納する場所としての SharePoint リストは、開発者にとって非常に重要な構成要素です。「SharePoint アプリケーションとデータベース アプリケーションの比較」では、データベースの各部分に SharePoint リストを使用する方法を説明しています。
マネージ クライアント オブジェクト モデル
マネージ クライアント オブジェクト モデルは、外部 .NET Framework ベース アプリケーションから SharePoint データにアクセスする機能を提供します。この API は、クライアント側オブジェクト モデル (CSOM) とも呼ばれます。
マネージ クライアント オブジェクト モデルの用途は、基本的に次の 3 つです。
マネージ .NET 接続アプリケーション: マネージ クライアント オブジェクト モデルは、ほとんどの .NET Framework ベース アプリケーションで使用できます。これには、ユーザー コンピューターで実行されたり, .NET Framework ベースのサーバー アプリケーションの一部として動作したりするリッチ クライアント アプリケーションも含まれます。たとえば、クライアント コンピューターで実行され、マネージ クライアント オブジェクト モデルを使用して SharePoint Server から情報を取得する Windows Presentation Foundation (WPF) 不動産管理アプリケーションを作成できます。また、通常の ASP.NET アプリケーションにデータ取得機能を追加するためにクライアント オブジェクト モデルを利用することもできます。
**Silverlight Web パーツ:**Silverlight コントロール内のコードでクライアント オブジェクト モデルを使用できます。
HTML Web パーツ: クライアント オブジェクト モデルの JavaScript バージョンを使用できます。JavaScript プログラミング インターフェイスを使用することを除けば、記述形式は完全に同じです。
重要 |
---|
マネージ クライアント オブジェクト モデルを使用してリスト内のアイテムをクエリするときは、LINQ ではなく常に CAML を使用してクエリを記述してください。LINQ を使用すると、リストに含まれるアイテムの総数に比例してパフォーマンスが低下します。これとは逆に、サーバー オブジェクト モデルを使用する場合は、CAML ではなく LINQ to SharePoint を使用することをお勧めします。 |
クライアント側コードでは、SharePoint ドキュメント ライブラリのドキュメントやファイルをアップロードおよびダウンロードする処理を頻繁に実行します。マネージ クライアント オブジェクト モデルでは、OpenBinaryDirect メソッドと SaveBinaryDirect メソッドはファイルのアップロードとダウンロードに Web 分散オーサリングとバージョン管理 (WebDAV) を使用します。カスタムの Windows Communication Foundation (WCF) を構築しない場合、WebDAV がファイルのアップロードおよびダウンロードの最も効率的な手段です。
技術記事: SharePoint Foundation 2010 のマネージ クライアント オブジェクト モデルの使用
技術記事: SharePoint Foundation 2010 マネージ クライアント オブジェクト モデルで Open XML SDK 2.0 を使用する
ビデオおよびハンズオン ラボ: Accessing SharePoint 2010 Data with Client-Side APIs (英語)
モバイル ページ、コントロール、およびアダプター
SharePoint Foundation 2010 は、デスクトップ コンピューターやポータブル コンピューターに表示されるページとコントロールから分離したモバイル ページとモバイル コントロールを提供します。モバイル ブラウザーは、Web パーツ アダプターを介して特定の Web パーツにアクセスできます。
SDK: 構成要素: モバイル ページ、モバイル コントロール、およびモバイル アダプター
OData REST API
SharePoint 2010は、OData プロトコル (英語)を使用して、URI からアドレス可能なリソースとしてデータを発行します。データのアクセスと変更には、標準の HTTP 動詞 GET、PUT、POST、および DELETE を使用できます。OData は、エンティティ データ モデルのエンティティと関係の変換を使用して、関連付けによって関係が設定されたエンティティとしてリソースを公開します。
SDK: SharePoint Foundation REST インターフェイス
Office クライアント管理アドイン
Office クライアント管理アドインは、Office クライアント アプリケーションを拡張し、より深く SharePoint Foundation と SharePoint Server に統合するための手段です。Office クライアント管理アドインを作成すると、SharePoint アプリケーションの機能をエンド ユーザーの目に触れやすくし、利用の機会を広げることができます。SharePoint データを Microsoft Word ドキュメントまたは Excel スプレッドシートに深く統合すると、重要なデータの 1 つのバージョンのみをアプリケーションで使用できるようになり、古いデータを判断基準に決定が下されるのを回避できます。
SharePoint 外部コンテンツ タイプには、Business Connectivity Services クライアント側 API を使用してアクセスできます。SharePoint リストとドキュメントに保存されたデータやドキュメントには、マネージ クライアント オブジェクト モデルを使用してアクセスできます。
デベロッパー センター: Office 開発者向け技術情報
デベロッパー センター: Office Development with Visual Studio (英語)
ビデオ: Developing with Office 2010 (英語)
Open XML SDK
ほとんどの SharePoint ユーザーは、ドキュメント ライブラリを頻繁に使用します。ドキュメント ライブラリ内のほとんどのドキュメントは、Open XML ファイル形式で保存されています。Open XML が登場するまで、ドキュメントのコンテンツに直接アクセスするコードを書くのは困難でしたが、Open XML SDK ではサーバー側の強化されたツールを使用して Open XML ドキュメントのクエリと変換を実行できます。SharePoint アプリケーションから Open XML を使用する場合は、以前とは別のシナリオに従います。多数のドキュメントを生成し、それらを別のファイル形式に自動的に変換できます。既存のドキュメントのコンテンツをクエリし、そのコンテンツとデータを新しい魅力的な方法でユーザーに提供できます。たとえば、製品デザイン チームが独自のドキュメント テンプレートを仕様書の作成に使用し、仕様書作成を担当する各セクションは作業の進捗を報告する義務を負うものとします。この場合、プロジェクトのすべての仕様書を処理するアプリケーションを作成すると、仕様書作成プロセスの全般的な進捗を示すレポートを管理職向けに生成できます。
Open XML SDK の機能を Word Services と組み合わせると、高いパフォーマンスを発揮する多数のサーバー側シナリオを実装できます。
Open XML が登場するまで、顧客がサーバー側でドキュメントを処理しようと Office オートメーションを使用するケースがありました。サーバー上で Microsoft Office アプリケーションのオートメーションを実行すると、複数の問題が起こることが知られています。この問題を解決するには、SharePoint 2010 と Open XML SDK を使用します。
通常、SharePoint 2010 でドキュメントを生成するには、ドキュメントの生成場所として SharePoint ドキュメント ライブラリを使用します。その後で、必要に応じて Word Automation Services を使用してドキュメント内のフィールドを更新したり、altChunk コンテンツをインポートしたりすることができます。
デベロッパー センター: Open XML Formats Resource Center (英語)
外部リンク: ECMA 376-2 (英語)
外部リンク: ISO/IEC 29500-2 (英語)
サポート情報記事: Office のサーバーサイド オートメーションについて
ブログ: How to Use altChunk for Document Assembly (英語)
PerformancePoint Services
SharePoint Server 2010 の PerformancePoint Services は、ビジネスの監視と分析に使用できるパフォーマンス管理サービスです。ダッシュボード、スコアカード、レポート、および主要業績評価指標 (KPI) を作成できるツールが用意されています。社員は、統合された分析機能を利用して、情報の監視から情報の分析にすばやく画面を切り替えたり、必要であれば情報を社内で共有したりすることができます。
SDK: PerformancePoint Services での開発シナリオ
PowerPivot
PowerPivot は、魅力的なセルフサービス ビジネス インテリジェンス ソリューションを作成し、ユーザーによって生成されたビジネス インテリジェンス ソリューションでの共有や共同作業をサポートし、IT 組織が Microsoft SQL Server 2008 R2 ベースの管理ツールを利用して業務の生産性を向上できるようにします。
MSDN: PowerPivot Overview
外部リンク: PowerPivot.com (英語)
サンドボックス ソリューション
サンドボックス ソリューションは、SharePoint ユーザーが特別に構築されたソリューションを必要とするときにスケーラビリティの問題を解決する 1 つの方法です。すべての開発者があらゆるベスト プラクティスを熟知し、厳密にそれらに従って、常に欠点のないコードを書けるのであれば、何も問題はありません。しかし、完全無欠のコードなどないため、サーバー ファーム管理者の権限で動作するコードに含まれるバグはサーバー ファーム全体をダウンさせる可能性があります。サンドボックス ソリューションを使用すると、インフラストラクチャがコードからスローされる例外を確認し、メモリや CPU の使用状況などを常に監視します。不適切な動作を示すコードのみが停止され、サーバー ファームは停止されません。
SDK: サンドボックス ソリューション
SDK [方法] セキュリティで保護されたワークフロー アクションの作成
ビデオおよびハンズオン ラボ: Sandboxed Solutions for Web Parts in SharePoint 2010 (英語)
検索のカスタマイズ
検索をカスタマイズして、新しい種類や異なる種類のコンテンツにインデックスを付けることができます。このカスタマイズは、外部コンテンツ タイプにも適用できます。
ブログ: Searching External Data in SharePoint 2010 Using Business Connectivity Services (英語)
Secure Store Service
Secure Store Service は、アカウント名やパスワードなどの資格情報の保存場所とマッピングを提供するクレーム対応の承認サービスです。このサービスを使用すると、外部システムに接続し、特定の ID または ID のグループに関連付けるために必要な資格情報を提供するデータをセキュリティで保護して保存できます。
SDK: Secure Store Service
SDK: [方法] 外部システムに接続するために Secure Store Service を使用する
セキュリティ
SharePoint Foundation 2010、基盤となる ASP.NET、および .NET Framework のセキュリティ機能は、データに対する故意または偶然による不正な変更を防ぎ、重要情報が適切な権限を持つユーザーにのみ開示されることを保証します。
SDK: SharePoint Foundation のセキュリティ
サーバー オブジェクト モデル
SharePoint サーバー側オブジェクト モデルを使用すると、SharePoint リスト、ドキュメント ライブラリ、サイト コレクション、サイト、およびその他のリソースにアクセスするプログラムを作成できます。このオブジェクト モデルは非常に大規模ですが、使い方は難しくありません。
SharePoint 用のアプリケーションを開発していると、複雑な作業が増えてきます。Web パーツ、イベント レシーバー、またはワークフローの一部として実行されるコードを作成することも、場合によって必要です。このようなシナリオでは、サーバー オブジェクト モデルを使用するコードを作成します。つまり、編集/コンパイル/実行の一連のサイクルが複雑になります。コンパイルを行うたびに、SharePoint フィーチャーの再インストール、Internet Information Services の再実行、またはデバッグ用の別プロセスへの接続が必要になります。
この問題に対処する方法を、サーバー オブジェクト モデルのしくみを学習しながら検討することは妥当とは言えません。サーバー オブジェクト モデルを学ぶために、小さなコンソール アプリケーションをサーバー オブジェクト モデルで作成することをお勧めします。このコンソール アプリケーションは、サーバー上で直接実行できます。次に、最終的に Web パーツになる複雑なコードを書くときに、サーバー オブジェクト モデルを使用するコードを分解して、アプリケーション内の 1 つ以上のクラスとして分離します。Open XML SDK を使用するコードは、これとは別に一連のクラスに分解します。こうすることで、Open XML コードとサーバー オブジェクト モデル コードの両方で編集/コンパイル/実行のサイクルを短くすることができます。すべての構成要素の開発が終わったら、デバッグ済みのコードを使用する Web パーツを簡単に構築および展開できます。
サーバー オブジェクト モデルを使用するコードは、サーバー ファーム管理者の権限で、つまりサンドボックス ソリューションとして、実行できます。サンドボックス ソリューションを使用することにより、サーバー ファーム管理者の権限で実行されるコードで使用可能な API のサブセットにアクセスできます。
サーバー オブジェクト モデルは、3 つの階層に分けることができます。
「Microsoft SharePoint Foundation のコンテンツ階層」では、リスト アイテムなど、発行可能なデータ アイテムを表す各種のクラスについて解説します。また、リスト、コンテンツ データベース、Web サイト、Web サイトのコレクション、サイト コレクションのグループ (Web アプリケーション) など、ネストしたデータ コンテナーを表すクラスもあります。
「Microsoft SharePoint Foundation の物理オブジェクト階層」では、物理エンティティ (サーバー、ファイルなど) と物理エンティティ コンテナー (ファーム、フォルダーなど) を表す各種のクラスについて解説します。
「Microsoft SharePoint Foundation のサービス階層」では、Web サービス、Windows サービス、その他の種類のサービス、およびサービスのインスタンスを表すクラスについて解説します。
SDK: サーバーとサイトのアーキテクチャ : オブジェクト モデルの概要
SDK: SharePoint での必須のプログラミング タスク
SDK: SharePoint Foundation サーバー側のオブジェクト モデルを使用する
SDK: 基本的なオブジェクト モデルのタスク
SDK: デジタル資産管理プログラミング モデル
SDK: ドキュメント管理プログラミング モデル
SDK: レコード管理プログラミング モデル
SDK: 発行プログラミング モデル
SDK: サンドボックス ソリューション
ビデオおよびハンズオン ラボ: Accessing SharePoint 2010 Data with Server-Side APIs (英語)
Server リボン
SharePoint 2010Server リボンをカスタマイズすると、直感的に操作できる強力なユーザー インターフェイスを SharePoint アプリケーションに追加できます。リボンをカスタマイズする際の重要なポイントは、カスタム SharePoint アプリケーションの機能を見つけやすくすることです。このリボンのカスタマイズは、Office クライアント アプリケーションでのリボンのカスタマイズに相当します。
SDK: 構成要素: Server リボン
SDK: SharePoint Foundation のサーバー リボン
SDK: Server リボンのアーキテクチャ
SDK: サーバー リボンをカスタマイズする
ビデオおよびハンズオン ラボ: Creating Dialogs and Ribbon Controls for SharePoint 2010 (英語)
サービス アプリケーション アーキテクチャ
サービス アプリケーション アーキテクチャは、複数の SharePoint アプリケーションで利用できる堅牢でスケーラブルな共有サービスを作成可能にします。
SDK: Service Application Framework
SDK: Service Application Framework アーキテクチャ
ビデオ: SharePoint 2010 Service Application Architecture (英語)
ビデオ: Creating Custom Service Applications (英語)
SharePoint ダイアログ フレームワーク
Web パーツまたはアプリケーション ページを作成するときは、いずれかの種類のダイアログ ボックスを表示する必要があります。
SDK: チュートリアル : PWA リボンのカスタマイズと JS グリッドのアクセス
ビデオ: SharePoint 2010 UI Features (英語)
ブログ: How to Display a SharePoint Dialog from Ribbon Button and Get Selected Item Context (英語)
ビデオおよびハンズオン ラボ: Creating Dialogs and Ribbon Controls for SharePoint 2010 (英語)
SharePoint テーマ
テーマは、SharePoint サイトをブランド化するときに重要な役割を演じる機能です。テーマを使用すると、SharePoint 2010 内でサイトに色やフォントをすばやく簡単に適用できます。テーマを変更すると、背景の画像、テキスト、ハイパーリンクなど、ほとんどのページ要素の色が変わります。また、タイトルなどのページ要素に使用されるフォントも変わります。
TechNet: SharePoint Themes
SharePoint Web サービス
SharePoint には、クライアントが SharePoint 展開と対話できるようにする一連の Web サービスが、かなり前から用意されています。これらには、データ取得専用に設計されたサービスと、データ取得サービスを機能の一部として含むサービスがあります。これらのデータ提供 Web サービスの API は、Web サービス クライアントとの下位互換性と相互運用性のために現在もサポートされています。パフォーマンスと使いやすさの両面で利点が得られるので、SharePoint データのクエリにはクライアント オブジェクト モデルまたは OData REST API を使用することをお勧めします。
SDK: SharePoint Foundation 2010 Web サービス
SDK: WebSvcLists
SDK: WebSvcWebs
SDK: WebSvcsites
SDK: WebSvcSiteData
SDK: WebSvcDspSts
相互運用性に関するドキュメント: SharePoint Products and Technologies Protocols
Web サービスを使用しないで、以下の記事を参照してください。
SDK: SharePoint Foundation REST インターフェイス
技術記事: SharePoint Foundation 2010 のマネージ クライアント オブジェクト モデルの使用
技術記事: SharePoint Foundation 2010 マネージ クライアント オブジェクト モデルで Open XML SDK 2.0 を使用する
ビデオおよびハンズオン ラボ: Accessing SharePoint 2010 Data with Client-Side APIs (英語)
Silverlight Web パーツ
Silverlight Web パーツは、最適なユーザー インターフェイスの作成に役立つ重要なツールです。Silverlight 以外の選択肢がない状況があります。
コード サンプル: SharePoint Foundation 2010 コード サンプル
ビデオおよびハンズオン ラボ: Creating Silverlight User Interfaces for SharePoint 2010 Solutions (英語)
サイト定義
サイト定義は、すべてのフロントエンド Web サーバーに保存されるマスター XML 構成ファイルを含む一連のファイルです。サイト定義は、サイトの外観、サイトに含めるリスト、サイトの既定のナビゲーション構造など、基本的なサイトの設計図を提供します。
SDK: サイトの種類: WebTemplates とサイト定義
サイト ページ
サイト ページは、大量の同じ Web ページと少数のカスタマイズされた Web ページから構成される膨大な数の Web ページを (ストレージと CPU 時間の両方において) 効率的に実現します。通常の ASP.NET アプリケーションとは異なり、物理 .aspx ページをサーバー上のすべてのサイト ページに用意する必要はありません。SharePoint は、カスタマイズされていないサイト ページを仮想ファイルとして扱うので、ごく少数のファイルのみを多くの場所に提示できます。これは、SharePoint にスケーラビリティを与える多数の機能の 1 つです。この機能がないと、大規模なサイトを展開するときに、膨大な数のコンパイル済み .aspx ページが生成されます。そのような大量のページの管理は手に負えません。
SDK: サイトおよびページ
SDK: SharePoint のページの種類
ブログ: Creating a SharePoint Site Page with Code-Behind Using Visual Studio 2010 (英語)
タイマー ジョブ
cron (英語) ジョブと同様に、タイマー ジョブも特定の時間に実行されるコードです。アプリケーションが SharePoint リスト内のデータを定期的に処理したり、外部システム内のデータを変更したりすることが必要な状況があります。たとえば、毎日午前 1 時にこのような操作を実行するタイマー ジョブを作成できます。
SDK: Timer job reference
バリエーション
バリエーションを使用すると、サイトをカスタマイズして複数の文化、市場、および言語に対応できます。利用者によって異なるコンテンツを提供するには便利な機能です。バリエーションを利用すると、ユーザーが使用する言語に基づいて適切なコンテンツを表示できます。また、エンドユーザーが使用するデバイス、またはブランドやユーザーの専門知識のレベルなど、任意の基準を決めて異なるコンテンツを表示することもできます。
SDK: バリエーション サイトと複数言語サイト
ブログ: Variations in SharePoint 2010 (英語)
Visio Services
Visio Services は、Microsoft Visio Web 図面の共有と表示をサポートするサービス アプリケーションです。データに接続された Visio 2010 Web 図面の表示やデータをさまざまなデータ ソースから最新の状態に更新することもできます。
Visual Studio SharePoint ツール機能拡張
Visual Studio 2010 の SharePoint ツールは、多数のアプリケーション開発シナリオの要件を満たします。ただし、開発者が必要とする機能を提供できない状況もないとは言えません。このような場合は、SharePoint ツールを拡張して、必要な機能を作成できます。
SDK: Visual Studio SharePoint Tools Extensibility
ビデオ: Visual Studio 2010 での SharePoint 2010 開発ツールの基礎知識
Web 分散オーサリングとバージョン管理 (WebDAV)
クライアント側コードでは、ドキュメントやファイルのアップロードとダウンロードが高い頻度で実行されます。SharePoint ドキュメント ライブラリからドキュメントをクライアント コンピューターに取得したり、クライアント コンピューターからドキュメントを SharePoint ドキュメント ライブラリにアップロードしたりする必要があります。WebDAV は直接使用することもできますが、マネージ クライアント オブジェクト モデルを使うともっと簡単に WebDAV を使用できます。クライアント オブジェクト モデルの OpenBinaryDirect() メソッドと SaveBinaryDirect() メソッドでは、ファイルのアップロードとダウンロードに WebDAV を使用します。カスタム WCF サービスを独自に作成する場合を除き、WebDAV は最も効率的にファイルをアップロードまたはダウンロードできる手段です。WebDAV はファイルにアクセスできますが、データにはアクセスできないことに注意してください。
外部リンク: RFC 4918 (英語)
Web パーツ
SharePoint は、ASP.NET を基盤とします。ASP.NET から重要ないくつかの特性を受け継いでいます。たとえば、Web パーツ ページや Web パーツの概念は共通します。SharePoint Web パーツを表すクラスは、これに対応する ASP.NET クラスから派生します。
SharePoint Web パーツの作成には、他のどのカテゴリよりも多くの開発時間 (おそらく他のすべてのカテゴリを合わせたよりも多くの時間) を要します。現在、ユーザー インターフェイスの外観の美しさ、直感的な操作性、および機能の充実に対してユーザーが寄せる期待はこれまで以上に高まっているので、Web パーツは多くの場合に最も効果的なソリューションとなります。
Web パーツは、他の Web パーツと通信できます。たとえば、データを保守するときに Web パーツをリンクして親子のフォームやリストのユーザー インターフェイスを提供できます。
AJAX Web パーツは、特別なカテゴリです。最適なユーザー インターフェイスを得るためにこの Web パーツが必要な場合は、AJAX アーキテクチャを利用できます。
Silverlight Web パーツも、特別なカテゴリです。Silverlight の使用が最も適切な状況があります。個人的には、SharePoint での Silverlight Web パーツの未来は明るいと感じています。
Web パーツを作成するには、サンドボックス モードまたは完全信頼モードで ASP.NET 分離コード モデルを使用します。
クライアント側で、Web パーツはマネージ クライアント オブジェクト モデル、OData REST API、または Web サービスを使用して SharePoint サーバーと通信できます。WCF は、Silverlight Web パーツから使用できるオプションです。
カスタム Web パーツを作成できますが、SharePoint 2010 には多数の既定の Web パーツがあり、カスタム ソリューションの設計にこれらが役立ちます。以下に、よく使用する SharePoint 組み込み Web パーツの一覧を示します。
一般的な組み込みの Web パーツ
Web パーツ |
リンク |
---|---|
リスト ビュー Web パーツ |
SDK: リスト ビュー ブログ: SharePoint 2010 List View Blog Series (英語) Office Online: About the List View Web Part (英語) |
イメージ Web パーツ |
Office Online: Image Web Part |
サイトのユーザーの Web パーツ |
Office Online: Site Users Web Part |
グラフ Web パーツ |
Office Online: Introduction to the Chart Web Part |
SDK: SharePoint Foundation の Web パーツ
SDK: Microsoft.SharePoint.WebPartPages
SDK: 構成要素: Web パーツ
SDK: SharePoint 2010 の Web パーツを接続する
SDK: JS グリッド コントロール
ビデオおよびハンズオン ラボ: Getting Started Building Web Parts in SharePoint 2010 (英語)
ビデオおよびハンズオン ラボ: Building Blocks for Web Part Development in SharePoint 2010 (英語)
ビデオおよびハンズオン ラボ: Creating Silverlight User Interfaces for SharePoint 2010 Solutions (英語)
ビデオおよびハンズオン ラボ: Sandboxed Solutions for Web Parts in SharePoint 2010 (英語)
ビデオ: 外部データ ソースのデータを読み書きできる SharePoint 2010 の Web パーツを作成する
ビデオ: Advanced Web Part Development in SharePoint 2010 (英語)
SDK: SharePoint Foundation におけるカスケード スタイル シート クラスの使用
コード サンプル: SharePoint Foundation 2010 コード サンプル
Web サービス
大きな分散アプリケーションを作成する場合は、ASMX Web サービスまたは WCF サービスを使用してゆるやかにアプリケーションを結合するのがベスト プラクティスです。大規模な SharePoint アプリケーションを作成するときも、このテクニックを適用する必要があります。
たとえば、オペレーショナル リサーチを実施する際に、問題に最適か、最適に近いソリューションを得るために高度な数学オプティマイザーが必要になることがよくあります。この機能は、専用のハードウェアに展開し、Web サービスを通じて公開する必要があります。
また、最大規模の展開に対応する高度なサーバー側機能をクライアント アプリケーションで使用することが必要な場合もあります。このようなケースでは、必要のないネットワーク トラフィックは、できる限り少なくするのが適切です。多くの場合に、これを実現する最適なソリューションは、WCF サービスを SharePoint Server でホストすることです。このサービスのコードは、サーバー オブジェクト モデルと完全なサーバー ファームの権限を使用し、必要な機能をクライアント アプリケーションに提供できます。適切であれば、これらの種類のサービスを作成するときに攻撃可能領域分析と脅威モデリングを実行する必要があります。
デベロッパー センター: WCF デベロッパー センター (英語)
ブログ: Getting Started Building a WCF Web Service (英語)
Windows Identity Foundation
SharePoint Foundation 2010 および SharePoint Server 2010 の 要求ベース ID モデルは、Windows Identity Foundation (WIF) を基盤としています。要求ベース ID には、以下の機能があります。
Windows ベース システムと Windows ベース以外のシステムの両方にまたがる認証。
複数の種類の認証。
リアルタイム認証の強化。
プリンシパルの種類の拡充。
アプリケーション間でのユーザー ID 委任。
クレームを処理できるアプリケーションを構築する場合、ユーザーはアプリケーションに ID を一連のクレームとして提示します。あるクレームはユーザー名、あるいは別のクレームはメールアドレスであることがあります。このしくみの基本にあるのは、何らかの外部 ID システムが構成され、そこからアプリケーションに対して、ユーザーに関するすべての必要な情報 (および、受け取った ID データが信頼できる提供元から得られたものであることを示す暗号化済みの証拠) が個々の要求と共に提供されるという考え方です。このモデルでは、シングル サインオンの実現が非常に容易になります。
デベロッパー センター: SharePoint 2010 Security Resource Center (英語)
デベロッパー センター: Windows Identity Foundation (英語)
ブログ: Consuming a Claims-Enabled WCF Web Service as a SharePoint 2010 External Content Type (英語)
Word Automation Services
Open XML SDK では実現が難しいタスクがあります。たとえば、改ページ位置の修正、他のドキュメント形式 (PDF など) への変換などがこれに該当します。また、フィールド コードまたは目次、フィールドなど、ドキュメント内の動的コンテンツの更新も困難なタスクです。Word Automation Services は、このようなシナリオで役に立つ場合がある SharePoint 2010 の新しい機能です。これは共有サービスであり、これを使用して、サーバー側でドキュメントを他の形式に無人で変換できます。また、その他の重要な機能もいくつか提供されます。最初からサーバーで動作するように設計されているので、信頼性の高い予測可能な方法で多くのドキュメントを処理できます。
技術記事: SharePoint 2010 Word Automation Services での開発
ワークフロー
SharePoint ワークフローを使用して、ビジネス プロセスを体系化できます。ワークフローのロジックは、非常に単純にも、非常に複雑にもなりえます。エンドユーザーは、ワークフローを使用して、コードを使用しないビジネス ソリューションを構築できます。ワークフローを強化するために、適切なときに呼び出される C# コードを追加できます。ワークフローは、完全信頼サーバー ファーム ソリューション、つまりサンドボックス ソリューションとして展開できます。たとえば、クレーム処理、コンテンツ承認、または購入処理などのワークフローを作成できます。
SDK: SharePoint Foundation のワークフロー
SDK: Microsoft.SharePoint.Workflow
SDK: [チュートリアル] Business Connectivity Services で SharePoint の完全信頼ワークフロー アクティビティを使用する
ビデオおよびハンズオン ラボ: Developing Business Processes with SharePoint 2010 Workflows (英語)
開発者ダッシュボードを使用してパフォーマンス メトリックを表示する
SharePoint アプリケーションの開発は、かなり複雑な作業になることがあります。ページまたは Web パーツの動作が適切ではない場合、遅延やリソース消費の原因を突き止めるのは困難です。SharePoint 2010 に用意されている開発者ダッシュボードを使用すると、読み込み中のページに関連するパフォーマンス メトリックを表示できます。
開発者ダッシュボードを使用するには、次の Stsadm コマンドを実行します。
stsadm -o setproperty -pn developer-dashboard -pv OnDemand
SDK: SharePoint 2010 Development for ASP.NET Developers (英語)
SDK: 開発者ダッシュボードの使用
SharePoint 2010 アクセシビリティ ガイドライン
Microsoft は、Web Content Accessibility Guidelines 2.0 (WCAG 2.0) を SharePoint 2010 に採用し、目標をレベル AA の達成に置きました。2008 年 12 月 11 日に W3C 勧告となった WCAG 2.0 は、Web サイトの適切なアクセシビリティに関する標準指針とテクニックについて規定しています。
外部リンク: Web Content Accessibility Guidelines 2.0 (英語)
ブログ: Accessibility and SharePoint 2010 (英語)
SharePoint 2010 開発ツール
SharePoint 2010 アプリケーションの構築には複数のツールを使用できます。
SharePoint 開発ツール
ツール |
説明 |
---|---|
Visual Studio 2010 |
Visual Studio 2010 は、プロフェッショナルな SharePoint 2010 開発者向けの主要なツールです。事前に構成されたプロジェクトの種類が用意されているので、目的のシナリオのコードを簡単に作成できます。 |
SharePoint Designer 2010 |
SharePoint Designer 2010 を使用すると、共同作業サイトや Web 発行から基幹業務データの統合、ビジネス インテリジェンス ソリューション、およびヒューマン ワークフローまで、一般的なシナリオを網羅する SharePoint ソリューションを、コードを使用しないで作成できます。SharePoint Designer 2010 を使用して、SharePoint 開発プロジェクトに着手できます。 |
Visio 2010 |
開発者と領域の専門家は、Visio 2010 でドラッグ アンド ドロップ操作を行って SharePoint ワークフローを作成できます。その後で、ワークフローを SharePoint Designer 2010 にインポートしてさらに編集し、最後に SharePoint 2010 で実行します。 |
SDK: SharePoint Foundation 開発ツール
MSDN: SharePoint Development in Visual Studio
MSDN マガジン: Visual Studio 2010 の SharePoint 開発用ツール
ビデオ: Visual Studio 2010 での SharePoint 2010 開発ツールの基礎知識
ダウンロード: Microsoft SharePoint Designer 2010 (32 bit)
ブログ: SharePoint Workflow Authoring in Visio Premium 2010 (英語)
ブログ: Visual Studio SharePoint Development Blog (英語)
SharePoint 2010 開発環境を設定する
SharePoint 2010 開発環境を設定する方法はいくつかあります。
個人的に好きなのは、Windows Server 2008 R2 を使用し、開発用コンピューターを Hyper-V を使って設定するという方法です。すべてのソフトウェアをインストールした後で、すぐにスナップショットを作成します。こうしておくと、必要な場合にこのクリーンな状態に戻すことができます。ただし、実際にその必要に迫られることはめったにありません。使いやすくするため、仮想ハード ディスク ドライブをホスト オペレーティング システムがあるドライブとは別の場所に配置します。
Hyper-V 仮想マシンではなくサーバー上で直接実行されている Windows Server 2008 (または Windows Server 2008 R2) を実行しているコンピューターにインストールできます。これは実用的な方法ですが、構成をスナップショットの状態に戻す機能は失われます。
64 ビット版の Windows 7 または Windows Vista を実行しているコンピューターにインストールできます。会社によっては、サーバー オペレーティング システムの実行がポリシーによって禁止されていることがあります。その場合は、このインストール方法が解決策となります。また、完了まで数か月かかる大型の開発プロジェクトを開始する場合は、SharePoint 2010 を個人用ラップトップにインストールすると、都合のよいときに開発作業を進めることができ、エンドユーザー向けオペレーティング システムの使いやすさを保つことができます。
SDK: Windows Vista、Windows 7、および Windows Server 2008 で SharePoint 2010 の開発環境をセットアップする
ブログ投稿: SharePoint development environments (英語)
SharePoint 2010 とアプリケーション ライフサイクル管理 (ALM)
アプリケーション ライフサイクル管理 (ALM) とは、ソフトウェア エンジニアリングのあらゆる側面を調整することです。対象となるのは、ビジネスおよび技術の公式化と連絡手段の要件、コード設計とアーキテクチャ、プロジェクト追跡、変更管理、コーディング、テスト、デバッグ、リリース管理などであり、これらを作業チーム内および作業チーム間での共同作業を支援および追跡するツールを使用して調整します。
リソース センター: Application Lifecycle Management Resource Center (英語)
ビデオおよびハンズオン ラボ: Development Life Cycle for SharePoint 2010 (英語)
ビデオ: Improving Software Development across the Lifecycle with Visual Studio 2010 (英語)
まとめ
SharePoint Foundation 2010 および SharePoint Server 2010 で、SharePoint は包括的な開発プラットフォームへと進化を遂げました。多くの SharePoint アプリケーションは単純ですが、多数の構成要素を組み立てることで、非常に複雑なアプリケーションを構築することもできます。スケールアップおよびスケールアウトできる堅牢なアプリケーションを作成し、ユーザーの要望を満たすアプリケーション ユーザー インターフェイスを提供するには、アプリケーションを慎重に設計する必要があります。
その他の技術情報
コード サンプル: SharePoint Server 2010 コード サンプル
コード サンプル: SharePoint Foundation 2010 コード サンプル
ビデオ: SharePoint 2010 Videos | SharePoint Conference 2009 (英語)
ビデオおよびハンズオン ラボ: What Developers Need to Know About SharePoint 2010 (英語)
ブログ: SharePoint Team Blog
ブログ: Microsoft SharePoint Developer Documentation Team Blog (英語)
MSDN: Developer Getting Started Training (英語)
MSDN: Advanced Developer Training (英語)
トレーニング: Microsoft Training and Certification for SharePoint 2010 (英語)