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 アプリケーションとは何かを明らかにしました。いくつかの便利な 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 開発用の構成要素

構成要素

説明

SharePoint Foundation 2010

SharePoint Server 2010

SharePoint Enterprise 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 (英語)

ホワイト ペーパー: Improving the Reach and Manageability of Microsoft Access 2010 Database Applications with Microsoft Access Services (英語)

ポータル: 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

SDK: SP.ViewCollection Class

ダッシュボードおよび KPI

"ダッシュボード" は、個人、チーム、社内、または社外の情報をインフォメーション ワーカー向けに統合するソリューションです。1 回のクリックで分析ツールや共同作業ツールにすばやくアクセスできます。社内のデータ リソースを 1 つのデスクトップ上に統合して表示するツールです。ダッシュボードを使用すると、主要なビジネス情報にアクセスできます。

はじめに: ビジネス インテリジェンス センターの概要

Office Online: ダッシュボードを使ってみる

Office Online: KPI とステータス インジケーター

SDK: PerformancePoint Services での開発シナリオ

ドキュメント ライブラリ

SharePoint ドキュメント ライブラリは、SharePoint リストの特別な形式です。ドキュメント ライブラリには、ドキュメントのメジャー バージョンとマイナー バージョンを保持する機能などがあります。ID に基づいてドキュメントへのアクセスを制限できます。任意の数の列を定義して、ライブラリ内の各ドキュメントに関する補足情報を含めることができます。

ドキュメント ライブラリの非常に重要な機能として、列のデータをドキュメント内のメタデータにバインドできることが挙げられます。ドキュメントをライブラリからチェックアウトすると、メタデータはそのドキュメントにコピーされ、ユーザーが管理できる状態になります。このドキュメントをライブラリにチェックインすると、更新されたメタデータがドキュメント ライブラリ内のアイテムのフィールドにコピーされます。

ドキュメント ライブラリには、さまざまな種類のファイルを格納できます。また、フォルダーを入れ子にして含めることもできるので、ファイル構造はファイル システムに似ています。

SDK: 構成要素: ファイルとドキュメント

ドキュメント メタデータ

ドキュメント メタデータは、ドキュメント ライブラリ内の各ドキュメントに関連付ける形で SharePoint によって保存されるカスタム データです。ユーザーは、SharePoint Web ユーザー インターフェイスまたは Microsoft Word を使用してメタデータを指定できます。ユーザーがドキュメントをドキュメント ライブラリに追加すると自動的にイベント ハンドラーでメタデータが設定されるようにプログラミングできます。ユーザーは、このメタデータをドキュメントのフィルター処理や検索に利用できます。また、SharePoint ワークフローでメタデータにアクセスし、メタデータに基づいてワークフローの動作を変更できます。通常、ドキュメント メタデータを定義するにはコンテンツ タイプを使用します。ワークフローでは、このデータを対話式に操作できます。

ドキュメント情報パネルは、クライアント アプリケーション内に表示されるフォームです。ドキュメント メタデータを表示するフィールドは、このパネルに含まれます。ドキュメント情報パネルを使用すると、クライアント アプリケーションから切り替えなくても、必要に応じてファイルに関する重要なメタデータを入力できます。

SDK: メタデータ ナビゲーションとフィルター処理

SDK: ドキュメント情報パネルの概要

ECMAScript クライアント オブジェクト モデル

JavaScript クライアント オブジェクト モデルは、JavaScript で使用できるマネージ クライアント オブジェクト モデルの 1 種類です。使用できるメソッドとデータ型は同じであり、プログラミング モデルも共通します。マネージ クライアント オブジェクト モデルと同様に、サーバーとネットワーク トラフィックをやり取りするタイミングを制御できます。

SDK: マネージ クライアント オブジェクト モデル

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 REST API

SDK: Excel Services の基礎知識

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 を通じてブック ドキュメントの各部分または要素にプログラミングによって直接アクセスするために使用できます。

SDK: Excel Services REST API

Excel Services ユーザー定義関数

Excel Services ユーザー定義関数 (UDF) を使用すると、サーバー側スプレッドシートで使用できる高パフォーマンスの関数を Microsoft Visual C または Microsoft Visual C++ で書くことができます。

SDK: Excel Services ユーザー定義関数

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 リストを使用する方法を説明しています。

SDK: 構成要素: リストとドキュメント ライブラリ

SDK: 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 がファイルのアップロードおよびダウンロードの最も効率的な手段です。

SDK: マネージ クライアント オブジェクト モデル

技術記事: 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 のサーバーサイド オートメーションについて

ブログ: Eric White's Blog (英語)

ブログ: Brian Jones’ Blog (英語)

ブログ: 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 (英語)

検索のカスタマイズ

検索をカスタマイズして、新しい種類や異なる種類のコンテンツにインデックスを付けることができます。このカスタマイズは、外部コンテンツ タイプにも適用できます。

SDK: SharePoint エンタープライズ検索

ブログ: 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: 発行プログラミング モデル

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 インターフェイス

SDK: マネージ クライアント オブジェクト モデル

技術記事: 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 図面の表示やデータをさまざまなデータ ソースから最新の状態に更新することもできます。

SDK: Visio Services overview

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 グリッド コントロール

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 の新しい機能です。これは共有サービスであり、これを使用して、サーバー側でドキュメントを他の形式に無人で変換できます。また、その他の重要な機能もいくつか提供されます。最初からサーバーで動作するように設計されているので、信頼性の高い予測可能な方法で多くのドキュメントを処理できます。

SDK: Word Automation Services

技術記事: 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 コード サンプル

SDK: SharePoint Server での推奨事項

記事: SharePoint 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 (英語)