SharePoint Online: 開発者向けの概要紹介
概要: SharePoint Online に用意される開発者向け機能と、SharePoint Online での開発を成功させるための戦略とパターンを説明し、開発者がこうした拡張的な機能を深く理解するための関連技術情報へのリンクを提供します。
最終更新日: 2015年3月9日
適用対象: Business Connectivity Services | Office 2010 | Open XML | SharePoint Designer 2010 | SharePoint Foundation 2010 | SharePoint Online | SharePoint Server 2010 | Visual Studio
この記事の内容
SharePoint Online の概要
SharePoint Designer 2010 を使用した SharePoint Online のカスタマイズ
SharePoint Online ソリューションの開発
クライアント オブジェクト モデルによる SharePoint データへのアクセス
SharePoint Online で利用できる SharePoint Web サービス
SharePoint Online と SharePoint Server の機能の比較
まとめ
その他の技術情報
Applies to: Microsoft SharePoint Online
提供元: SharePoint 開発者ドキュメント チーム
コンテンツ
SharePoint Online の概要
SharePoint Designer 2010 を使用した SharePoint Online のカスタマイズ
SharePoint Online ソリューションの開発
クライアント オブジェクト モデルによる SharePoint データへのアクセス
SharePoint Online で利用できる SharePoint Web サービス
SharePoint Online と SharePoint Server の機能の比較
まとめ
その他の技術情報
SharePoint Online の概要
SharePoint Online は Microsoft によってホストされるクラウドベースのサービスであり、あらゆる規模の企業に対応できます。SharePoint Server を社内にインストールして展開することなく、どんな企業でも SharePoint Online を購読するだけで、サイトを作成して同僚、パートナー、および顧客とドキュメントや情報を共有するというエンタープライズ レベルのソリューションを従業員に提供できるようになります。
SharePoint Online は、以下の機能をサイトに提供します。
重要なドキュメントの管理と共有
チーム間の同期の維持と重要なプロジェクトの管理
最新の会社情報やニュースの取得
パートナーや顧客との安全なドキュメント共有
簡単な社外向け Web サイトを使用したビジネス マーケティング
SharePoint Online は、おなじみの Microsoft Office アプリケーションと連携して動作します。Office ドキュメント作成後の SharePoint Online への直接保存や、Office Web Apps によるドキュメントの共同作成が簡単に行えます。ユーザーは、重要なドキュメントに対して、オフライン状態でアクセスしたり、使い慣れたモバイル デバイスからアクセスしたり、ドキュメントレベルのアクセス許可を設定して機密のコンテンツを保護したりできます。クリック 1 回で、SharePoint サイト内から同僚、顧客、およびパートナーとリアルタイムでコミュニケーションをとることができます。
社内のソフトウェアに関連したインフラストラクチャの管理に伴う運用上の負担の多くを Microsoft が肩代わりすることで、企業は自社のリソースを重要な対象 (ビジネス) に集中できます。中小企業は、社内で SharePoint をホストするのに必要な運用上およびハードウェアのインフラストラクチャを自前で用意しなくても、大企業で活用されているのと同じエンタープライズ レベルのプラットフォームを活用できるようになります。
クラウドベースのサービスである SharePoint Online では、冗長化され、地理的に分散したデータ センターが利用されます。各データ センターは、サービスをサポートするための冗長化された信頼性の高いインフラストラクチャを備えています。また、SharePoint Online は、要求の変化に応じてリソースを増減できる柔軟性を企業に提供します。
SharePoint Online は、クラウドのマルチテナント型環境で使用されるソリューションをカスタマイズおよび開発するための柔軟かつ堅牢なフレームワークを開発者に提供します。SharePoint Online 向けの開発で使用される開発機能およびパターンは、社内設置型の SharePoint 2010 を対象とした開発で利用できるもののサブセットになっています。
この記事では、SharePoint Online で利用できる開発者向け機能の概要と、SharePoint Online での開発を成功させるための戦略とパターンを説明し、開発者がこうした拡張的な機能を深く理解するための関連技術情報へのリンクを提供します。
カスタマイズと開発の戦略
SharePoint Online をカスタマイズする基本的な方法として次の 3 つがあります。
ブラウザーを使用した構成 ブラウザー内の SharePoint Online ユーザー インターフェイスを使用して実行できるカスタマイズです。たとえば、ページ レイアウトの編集、既定の Web パーツの追加およびカスタマイズ、ページへの軽量な Microsoft Silverlight ウィジェットの追加、コンテンツ エディター Web パーツへの jQuery コードの埋め込みなどが行えます。
ブラウザー内での構成は、エンド ユーザーによって主に実行されるため、この記事では説明しません。大企業向けの詳細情報については、「一般法人向け Office 365 用 SharePoint Online 計画ガイド」を参照してください。中小企業向けの詳細情報については、「Office 365 Small Business 向け SharePoint Online 計画ガイド」を参照してください。
SharePoint Designer を使用したカスタマイズ Microsoft SharePoint Designer 2010 は、SharePoint Online 内での Web サイトのデザイン、構築、およびカスタマイズに使用できる Web およびアプリケーション設計用プログラムです。SharePoint Designer 2010 を使用すると、豊富なデータが揃った Web ページの作成、コードを持たない高機能なワークフロー対応ソリューションの作成、サイトの外観と動作の設計が行えます。SharePoint Designer で実行できるカスタマイズは、概して宣言型のものであり、クライアント側のスクリプトも利用できます。
カスタム コードを含む SharePoint Online ソリューションの開発 技術的により複雑なソリューションに対応できるように、SharePoint Online ではサーバー オブジェクト モデルとクライアント オブジェクト モデルの双方を開発者に提供します。Microsoft Visual Studio 2010 には、SharePoint ソリューションに盛り込まれるさまざまな SharePoint アイテム (サイト定義およびリスト定義、ワークフロー、Web パーツ、イベント レシーバー、コンテンツ タイプなど) を含むサンドボックス ソリューションを作成するための特別なテンプレート群が用意されています。
開発者向け機能へのアクセス
SharePoint Online には各種のユーザー ライセンスが用意されており、所有するユーザー ライセンスによって、使用できる開発者向け機能が異なります。所有しているユーザー ライセンスで使用できる開発者向け機能を確認するには、「SharePoint Online の全般的な参照情報」の「SharePoint Online で使用できる開発者向け機能の一覧」を参照してください。
SharePoint Designer 2010 を使用した SharePoint Online のカスタマイズ
SharePoint Designer 2010 は、SharePoint アプリケーションを迅速に開発するための最適なツールです。SharePoint Designer 2010 を使用することで、上級ユーザーや開発者はビジネス ニーズに即した SharePoint ソリューションを作成できます。上級ユーザーは、共同作業用サイトからヒューマン ワークフローに至るまでのさまざまな共通シナリオを網羅した、コードを持たないソリューションを作成でき、SharePoint で利用可能な構成要素を使用の容易な環境で活用できます。また、開発者は、SharePoint Designer 2010 を使用して SharePoint 開発プロジェクトにすばやく着手できます。
SharePoint Designer 2010 は強力なサイト作成機能を備えており、1 つの場所で以下の作業のすべてを 1 行のコードも書かずに実行できます。
SharePoint サイトの作成
サイトを構成するコンポーネントのカスタマイズ
ビジネス プロセスに関わるサイトのロジックの設計
パッケージ化されたソリューションとしてのサイトの展開
通常、SharePoint Designer で実行する作業は、開発ではなく、カスタマイズと呼ばれます。これは、SharePoint Designer で実行される作業が SharePoint アイテムの宣言的な作成または編集を必要とし、サーバー側のコードを使用しないからです (SharePoint Designer で実行する作業によっては、クライアント側のスクリプトを使用できます)。
SharePoint Designer によるカスタマイズには、注意すべき重要な点があります。SharePoint Designer を使用する場合は、選択した SharePoint Online サイトに対して編集が直接行われることです。これは、ローカルの SharePoint インストール上でソリューションの作成とデバッグを行ったうえで完成したソリューションを SharePoint Online のソリューション ギャラリーに展開する Visual Studio 2010 での SharePoint ソリューション開発とは異なっています。
SharePoint Designer は、Microsoft から無償でダウンロードできます。システム要件など、詳細については「Microsoft SharePoint Designer 2010 (32-bit)」を参照してください。
SharePoint Designer のカスタマイズ領域
SharePoint Designer を使用して SharePoint Online で作成できるビジネス ソリューションは、主に以下の種類のソリューションに分類できます。
データが豊富な対話型のユーザー インターフェイス
SharePoint Designer 2010 を使用すると、SharePoint データ用の高機能で動的なユーザー インターフェイスを作成し、SharePoint サイト、Microsoft Office ビジネス アプリケーション内のカスタム ウィンドウおよびフィールドなど、多くの場所でそうしたインターフェイスを利用できます。
作成できるインターフェイスには、カスタム ビュー、フォーム、Web パーツ、ナビゲーション、カスタムの Office クライアント ウィンドウおよび作業ウィンドウがあります。このような柔軟性により、ビジネス データを処理する完全にカスタマイズされたユーザー向け機能を作成できます。
複数のデータ ソースを統合した単一ビューの形成、関連するアイテム ビューを備えたダッシュボードの作成、個々のロールに応じたカスタム フォームの設計、利用可能なツール バーやデータに関連付けられた Server リボン コマンドのカスタマイズを行うこともできます。
ビジネス プロセスを管理するための宣言型ワークフロー
組織内のすべてのビジネス プロセスは、共通のビジネス ニーズに基づいて関連付けられた一連の活動で構成されています。SharePoint の宣言型ワークフローはこのモデルに基づいて設計され、そのために条件およびアクションの集合で構成されるルールベースのワークフローが用意されています。開発者は、条件およびアクションの系列に基づいた作業プロセスに対応する一連のアクションを整理して実行します。
SharePoint Designer 2010 を使用することで、組織のビジネス プロセスを管理するルールベースの宣言型ワークフローを作成できます。ワークフローは、ビジネス アプリケーション プロセスと人による共同作業プロセスの双方を自動化します。ビジネス アプリケーション プロセスのワークフローでは、あるデータ ソースの変更時に別のデータ ソースを更新できます。人による共同作業プロセスのワークフローでは、承認を得るために管理者にドキュメントを送信できます。
SharePoint Designer で作成できる宣言型ワークフローでは、コードを書かなくてもアプリケーション ロジックがビジネス プロセスに導入されます。これを可能にしているのが、ロジック、サブステップなどを入れ子の構造にできる SharePoint Designer 2010 のワークフロー デザイナーです。また、SharePoint Designer 2010 にエクスポート可能なフローチャート テンプレートを Microsoft Visio 2010 で使用しても、ワークフローの設計および共有ができます。
SharePoint の内外にあるデータへの接続
SharePoint Designer 2010 では、多数のデータ ソースに接続し、そうしたデータをサイトおよび Office クライアント アプリケーションに統合できます。その結果、ユーザーは、それらのデータ ソースに個別に接続することなく、サイト上や開発者が選択したプログラム内からビジネス データを確認したり操作したりできます。
外部データベース、SOAP サービス、REST (Representational State Transfer) サービスなどには、リボンから直接接続できます。データ ソースへの接続は SharePoint Designer 2010 の強力な機能の 1 つであり、データをユーザーが利用できるようにするためのオプションが数多くサポートされています。データ接続によって、リストやライブラリを統合したり、外部のデータベースやデータ ソースを OLE DB または ODBC プロトコル経由で、また XML Web サービスを SOAP 経由で 1 つにまとめたりできます。
デザインおよびブランド設定されたサイト
SharePoint Designer 2010 によって提供されるカスタマイズの最後の領域は、デザインとブランド設定 (一貫性のある外観の設定とそうした外観の SharePoint サイトへの適用) です。会社のロゴ、配色、ヘッダーおよびフッター、関連グラフィックス、カスタム ナビゲーションなどを組み込むことができます。その結果、サイト上のどのページを見てもより大きな企業サイトの一部であることがすぐにわかるようになります。SharePoint Designer 2010 では、マスター ページ、ページ レイアウト、およびカスケード スタイル シートを使用して SharePoint サイトのデザインとブランド設定を行います。
サイトのデザインとブランド設定は、カスタム ビジネス ソリューションの作成に注目した他のカスタマイズ領域とは異なります。ブランド設定は、通常、それほど頻繁に実行されることはなく、サイト コレクションの最上位で行われます。こうしたカスタム ブランドは、さらにサイト コレクションのサブサイトに継承されます。また、ブランド設定の作業は、多くの場合、ソリューション作成者ではなく Web デザイナーによって実行されます。
こうした理由から、マスター ページ、ページ レイアウト、およびカスケード スタイル シートは SharePoint Online 管理者を除くすべてのユーザーに対して既定では無効になっています。これは、サイトのブランド設定の担当者のみがこれらの影響力が大きく注意を要するファイルにアクセスできるようにするためです。これらのファイルは、特定のユーザーに対して有効にできます。
SharePoint Designer へのアクセスの制限
SharePoint Online 管理者は、他のユーザーが SharePoint Designer を使用できる作業を制限できます。以下の操作を SharePoint Online 管理者は実行できます。
サイト定義から接続を解除できるユーザーの制限
マスター ページとページ レイアウトを編集できるユーザーの制限
URL サイト階層でファイルを編集できるユーザーの制限
SharePoint Designer 2010 を使用したサイト編集の抑制
カスタム SharePoint ソリューションの展開
SharePoint Designer には、作成および編集した SharePoint アイテムを別のサーバーや企業のあらゆる場所に展開したり、追加の開発のために Visual Studio 2010 で開いたりできるようにそれらをパッケージ化する機能が含まれています。[テンプレートとして保存] 機能により、ソリューションを SharePoint ソリューション パッケージ (.wsp) ファイルとして保存できます。.wsp ファイルに保存される内容は、開発者が決定します。このファイルには、データ ソースと構造、ビューおよびフォーム、ワークフロー、Web パーツなど、サイトのコンテンツ全体を含めることも、リスト、ビュー、ワークフローなど、個別のコンポーネントを保存することもできます。
Visual Studio 2010 で開くことができる .wsp ファイルに SharePoint アイテムを保存するこの機能により、デザイナーは、自分がよく知っている使い慣れた SharePoint Designer インターフェイスで SharePoint アイテムを作成し、開発者にとって使い慣れたツールである Visual Studio 2010 でのさらなる開発のためにそのアイテムを開発者に渡すことができます。また、開発者は、Visual Studio 2010 への移植が容易なので作業のやり直しは不要という認識の下で、SharePoint Designer を使用して迅速なアプリケーション開発を進めることができます。
SharePoint Designer 2010 を使用した SharePoint Online のカスタマイズに関する詳細情報
SharePoint Designer のインターフェイスと機能の概要については、「SharePoint Designer 2010 について」を参照してください。使い始める際に役立つリソースの詳細な一覧については、「SharePoint Designer の概要」を参照してください。
SharePoint Online ソリューションの開発
SharePoint Online では、SharePoint Online 管理者の概念が導入されています。SharePoint Online 管理者は、SharePoint Online 内のある企業のサイトに対して管理タスクを実行するアクセス許可を持つユーザーです (これとは対照的に、ファームの管理作業は SharePoint Online では Microsoft によって実行されます)。SharePoint Online 管理者は、ファーム インストール全体ではなく、SharePoint Online 内のサイト コレクションを所有および管理するので、SharePoint Online に対する開発手法は必然的にサイト コレクションを対象としたものになります。そのため、SharePoint Online 向け開発の基盤は、次の 2 つの開発者向け機能によって形成されます。
サンドボックス ソリューション 特殊な種類の SharePoint ソリューション フレームワークであり、サンドボックス ソリューションは、開発者がカスタム コード ソリューションを作成したり、SharePoint Online 管理者がカスタム コード ソリューションを SharePoint Online にアップロードしてアクティブにしたりするためのフレームワークを提供します。サンドボックス ソリューションは、サーバー オブジェクト モデルのコア サブセットにアクセスできる環境で実行されます。サンドボックス ソリューション フレームワークによって、開発者にはサイト コレクション以下のレベルにある主要オブジェクトへのアクセス権が付与されます。
クライアント オブジェクト モデル クライアント オブジェクト モデルには、サーバー側の SharePoint オブジェクト モデル内でのコア オブジェクトの 3 つの対等かつ類似の表現があります。それらは, .NET Framework マネージ モデル、Silverlight モデル、および ECMAScript (JavaScript、JScript) モデルです。こうしたクライアント オブジェクト モデルにより、SharePoint データおよび機能へのリモート アクセスが可能になります。
また、クライアント側コードを使用して、SharePoint Online によって利用可能になる Web サービスや、外部データ ソースにアクセスすることもできます。そのため、クライアント側コードは、サンドボックス ソリューションには含まれないものの SharePoint Online Web サービスで利用できるオブジェクトと、外部データのどちらにもアクセスする必要がある場合に便利なオプションです。
図 1 に、これらの開発オプションを使用します。1 つは、サンドボックス ソリューションで利用できるサーバー オブジェクト モデルを使用するもの、もう 1 つは、クライアント オブジェクト モデルとクライアント側コードを使用して、SharePoint Web サービスによって利用できる追加データや、外部ソースのデータにアクセスするものです。
図 1. SharePoint Online の開発オプション
実際には SharePoint Web パーツが SharePoint Online 内で実行されることに注意してください。ただし、この Web パーツが参照するクライアント側コードは、クライアントにダウンロードされてそこで実行され、SharePoint クライアント オブジェクト モデルを使用してデータ転送のために SharePoint Online に接続します。
SharePoint Online 内のサンドボックス ソリューション
SharePoint Online 開発では、社内設置型の SharePoint インストールの場合と同じフレームワークを使用して、カスタム コード ソリューションをパッケージ化して展開します。SharePoint Online 向けの開発では、サンドボックス ソリューションと呼ばれる特有の種類のソリューションを作成します。サンドボックス ソリューションにより、SharePoint Online 管理者は独自のカスタム コード ソリューションをアップロードできます。
サンドボックス ソリューションは、ファーム (完全信頼) ソリューションとほとんど同じように動作します。たとえば、サンドボックス ソリューションでは、SharePoint Online の拡張に使用できるすべてのコンポーネントをバンドルして、ソリューション ファイルと呼ばれる 1 つの新規ファイルにまとめることができます。サンドボックス ソリューションは、サイトに適用される一連の機能、サイト定義、およびアセンブリを含めることができ、個別に有効または無効にできる展開可能かつ再利用可能なパッケージです。サンドボックス ソリューション ファイルを使用して、アセンブリ、クラス リソース、Web パーツ記述 (.dwp) ファイル、その他のパッケージ コンポーネントなど、Web パーツ パッケージのコンテンツを展開できます。
サンドボックス ソリューションがファーム ソリューションと基本的に異なるのは、展開の方法とサーバー オブジェクト モデルにアクセスできる度合いです。前述のように、サンドボックス ソリューションはサーバー オブジェクト モデルのコア サブセットにアクセスできる別のプロセスで実行されます。すべてのサンドボックス ソリューションは、1 つのソリューション ギャラリーに格納されます。
また、サンドボックス ソリューションには、以下のアクセス許可を持つカスタムのコード アクセス セキュリティ (CAS) ポリシーが割り当てられます。
SecurityPermission.Execution
AspNetHostingPermission = Minimal
WebPermission.Connect
CAS ポリシーの詳細については、「ASP.NET でコード アクセス セキュリティを使用する」および「セキュリティ ガイドライン : .NET Framework 2.0」を参照してください。
サンドボックス ソリューションで利用できるコンポーネント
サンドボックス ソリューションには、以下に示すプログラム的なアイテムや宣言型アイテムを含めることができます。
コード コンポーネント:
機能レシーバー
イベント レシーバー
ナビゲーション
Web パーツ (WebPart クラスから派生している場合)
注意
サンドボックス ソリューションの一部として展開する視覚的 Web パーツの作成に Visual Studio 2010 を使用するには、事前に Visual Studio 2010 SharePoint Power Tools をインストールする必要があります。このツール セットには、SharePoint 開発者に役立つテンプレートや拡張機能が含まれており、そのうちのアイテム テンプレートの 1 つを利用すると、サンドボックス ソリューションの一部として展開できる SharePoint Web パーツの作成用にビジュアル デザイナーを使用できます。
Microsoft InfoPath フォーム ロジック
SharePoint Designer ワークフロー アクティビティ
サンドボックス ソリューションのワークフロー アクティビティ
宣言型コンポーネント:
宣言型ワークフロー
コンテンツ タイプ、サイト列
リストおよびリスト定義
ビジュアルおよび非ビジュアル Web パーツ
カスタム アクション、リボン拡張機能
クライアント側テクノロジ
Web テンプレート、サイト ページ、ページ レイアウト、およびマスター ページ
以下の機能と要素はサンドボックス ソリューションではサポートされていません。
Web サービスを呼び出すためのインターネットへのアクセス
ファイルの読み取りおよび書き込みのためのハード ディスクへのアクセス
(もちろん、SharePoint Online 内のリストやライブラリに対する読み取りと書き込みはできます)
Web アプリケーションまたはファームを対象とした機能
グローバル アセンブリ キャッシュへのアセンブリの追加
セキュリティ関連機能の実行 (RunWithElevatedPrivileges メソッド、その他の SPSecurity メソッドなど)
カスタム アクション グループ
コンテンツ タイプのバインド
Web パーツ接続
SharePoint Online ソリューションの開発プロセス
以下に、SharePoint Online でサンドボックス ソリューションを作成、展開、アクティブ化するプロセスの基本的な手順を示します。
ソリューションを開発してテストする。
SharePoint Online ソリューションを作成したりカスタマイズしたりするには、SharePoint Server 2010 または SharePoint Foundation 2010 がインストールされているローカル コンピューター上でソリューションを開発する必要があります。この作業には、ソリューションのデバッグも含まれます。SharePoint Online 上では、ソリューションを直接デバッグできません。
開発環境の設定後は、Visual Studio 2010 を使用してサンドボックス ソリューションを作成できます。SharePoint ソリューションを迅速に開発するためのツールである Visual Studio 2010 は、高度なデバッグ ツール、IntelliSense 機能、ステートメント候補、プロジェクト テンプレートといった機能を備えています。Visual Studio 2010 には、サイト定義およびリスト定義、ワークフロー、Web パーツ、イベント レシーバー、コンテンツ タイプなど、SharePoint アイテムを作成してサンドボックス ソリューションに含めるための特別なテンプレート群が用意されています。Visual Studio 2010 では、SharePoint Designer 2010 で作成されたソリューション パッケージ (.wsp) ファイルを開いたり編集したりでき、デザイナーと開発者は共通のフレームワークを利用してソリューションに対する緊密な共同作業ができます。
ハードウェアに関する推奨事項、オペレーティング システムおよび Hyper-V のオプション、前提条件など、開発環境の設定の詳細については、「Windows Vista、Windows 7、および Windows Server 2008 で SharePoint 2010 の開発環境をセットアップする」を参照してください。
Visual Studio 2010 を使用およびカスタマイズして効率を最大化する方法については、「Visual Studio を使用して SharePoint 開発を行う」を参照してください。
ソリューションを展開してアクティブ化する。
ローカル コンピューター上でのサンドボックス ソリューションの作成およびデバッグ後は、SharePoint Online の管理権限を持っていない限り、ソリューションを SharePoint Online 管理者に引き渡す必要があります。SharePoint Online 管理者は、アクティブ化のためにソリューション パッケージ (.wsp) ファイルをソリューション ギャラリーにアップロードします。
詳細については、「Deploying a Sandboxed Solution」を参照してください。
ユーザーがソリューションを利用できるようにするには、ソリューションをアクティブにする必要があります。サイト コレクション レベルを対象とする機能が含まれているサンドボックス ソリューション パッケージは、自動的にアクティブになります。サイト レベルを対象とするすべての機能は、https://servername/site/subsite/_layouts/managefeatures.aspx にある [サイト機能の管理] ページでアクティブにする必要があります。
アクティブ化されたソリューションを監視する。
アクティブ化されたソリューションは、消費するリソースの観点で監視されます。ソリューションのパフォーマンスは、CPU 実行時間、メモリ消費量、データベース クエリ時間など、複数の種類の計測値を使用して監視できます。
図 2 に、SharePoint Online でのサンドボックス ソリューション開発プロセスの主な手順を示します。
図 2. SharePoint Online でのサンドボックス ソリューション開発
SharePoint Online の付加的なソリューション制限
マルチテナント型の環境なので、サンドボックス ソリューションをソリューション ギャラリーにアップロードすると、SharePoint Online は、社内設置型の SharePoint コンピューターによって実行される検証チェックに加え、さらに検証チェックを行います。サンドボックス ソリューションは、次の名前空間のいずれかを呼び出すコードが含まれている場合、有効化されません。
Microsoft.SqlServer
-
ただし、サンドボックス ソリューション コードのこの名前空間からは次のメンバーを使用できます。
System.Runtime.InteropServices
ただし、サンドボックス ソリューション コードの LayoutKind 列挙体は使用できます。
-
ただし、サンドボックス ソリューション コードのこの名前空間からは次のメンバーを使用できます。
また、SharePoint Online のサンドボックス ソリューション コードから次の型とメンバーは呼び出せません。
サンドボックス ソリューションの詳細情報
サンドボックス ソリューション で使用できる機能と要素、サンドボックス ソリューション の CAS ポリシー、およびサンドボックス ソリューションのリソース監視については、「サンドボックス ソリューションのアーキテクチャ」を参照してください。
サンドボックス ソリューションを SharePoint Online 管理者として展開する方法については、「Deploying a Sandboxed Solution」を参照してください。
サンドボックス ソリューションで利用できるサーバー オブジェクト モデルの型とメンバーについては、「サンドボックス ソリューションから使用可能な Microsoft.SharePoint.dll API」を参照してください。
サンドボックス ソリューションの参考用の実装については、「参考実装: サンドボックス実行モデル」を参照してください。
サンドボックス ソリューションに関するトレーニングについては、Channel 9 の「Sandboxed Solutions」を参照してください。
クライアント オブジェクト モデルによる SharePoint データへのアクセス
SharePoint Online には 3 つのクライアント オブジェクト モデルが含まれており、各モデルには、Microsoft.SharePoint.dll で定義されたサーバー オブジェクト モデルのほぼ同じサブセットが用意されています。JavaScript, .NET Framework マネージ、および Silverlight クライアント オブジェクト モデルのそれぞれには、SharePoint 階層のサイト コレクション レベル以下の主要オブジェクトに対応するオブジェクトが含まれています。これらのオブジェクト モデルによって、リモート クライアントまたはサーバーから SharePoint データとの相互運用を行うための、一貫性と使いやすさを備えたオブジェクト指向のシステムが実現されます。
クライアント オブジェクト モデルに反して記述されたコードは、クライアント上でリモート実行されるため、サンドボックス ソリューションと同様の制限を受けることはなく、たとえば、外部のデータ ソースにアクセスできます。
セキュリティ性とパフォーマンスを向上するために、クライアント オブジェクト モデルには、サーバー オブジェクト モデルで表現される型とメンバーのすべてではなく、クライアント開発にとって関連性の高い API のみが含まれています。クライアント ライブラリのサイズを制限することで、Silverlight および JavaScript のコンテキストでのライブラリのダウンロードに必要な時間が短縮されます。また、新しい API の設計によって、一般的なアクションで実行が必要なラウンドトリップ数が最小限に抑えられています。
クライアント オブジェクト モデルは、プロキシ .js ファイルやマネージ .dll ファイルによって提供されます。これらのファイルは、他のオブジェクト モデルと同じようにカスタム アプリケーション内で参照できます。クライアント オブジェクト モデルは、Windows Communication Foundation (WCF) サービスとして実装されますが、Web バインドを使用して要求の効率的なバッチ処理を実現します。すべての動作は本質的に非同期であり、コマンドは XML にシリアル化されて 1 つの HTTP 要求でサーバーに送信されます。すべてのコマンドについて、対応するサーバー オブジェクト モデルが呼び出され、サーバーは圧縮された JavaScript Object Notation (JSON) 形式でクライアントに応答を返します。この形式は、プロキシによって解析され、適切なオブジェクトに関連付けられます。図 3 に、クライアント オブジェクト モデルの呼び出しと応答の流れを示します。
図 3. SharePoint クライアント オブジェクト モデルのアーキテクチャ
各クライアント オブジェクト モデルは、オブジェクト モデル階層、オブジェクトの識別情報、データ取得のセマンティクス、クライアントのコンテキスト、基盤となるクライアント オブジェクト、コレクション、例外処理など、構造設計上の特徴を共有しています。こうしたオブジェクト モデルには、サーバー オブジェクト モデルとの一貫性があります。そのため、サーバー側の API に習熟している場合は、クライアントの .NET Framework マネージ、Silverlight、および JavaScript の各 API をすぐに使用できるようになります。また、こうしたクライアント オブジェクト モデルは概して互いに類似しているので、サーバー オブジェクト モデルのあるサブセットを習得すれば、他のサブセットのほとんども習得したことになります。
クライアント オブジェクト モデルの 1 つを使用してクライアント上で実行中のプログラムでは、リストの追加と削除、リスト アイテムの追加、更新、および削除、ドキュメント ライブラリ内のドキュメントの変更、サイトの作成、アイテムのアクセス許可の管理、ページに対する Web パーツの追加と削除などが行えます。
サポートされる開発領域の一部を以下に示します。
サイト コレクションおよびサイト
リスト、リスト アイテム、ビュー、およびリスト スキーマ
ファイルおよびフォルダー
Web、リスト、およびリスト アイテムのプロパティ バッグ
Web パーツ
セキュリティ
コンテンツ タイプ
サイト テンプレートおよびサイト コレクションの操作
SharePoint Online での Silverlight クライアント オブジェクト モデルの使用
Silverlight クライアント オブジェクト モデルや Silverlight クライアント オブジェクト モデルを使用すると、SharePoint Online 内で高機能かつ洗練化されたアプリケーションを作成できます。Silverlight (.xap) アプリケーションは、それ自身の ASPX ページ、または Web パーツ 内でホストできます。SharePoint Online には既定の Silverlight Web パーツが含まれていますが、サンドボックス ソリューションの一部としてカスタム Web パーツも作成できます。
SharePoint の Silverlight オブジェクト モデルを Silverlight Web パーツ内で使用する場合は、Visual Studio 2010 で Silverlight アプリケーションを作成し、プロジェクトの既定の Page.xaml.cs ファイル内にある Page クラスにコードを追加できます。プロジェクトのビルド後は、選択した任意のドキュメント ライブラリにプロジェクトのアプリケーション パッケージ (.xap) ファイルをアップロードします。Silverlight Web パーツを Web パーツ ページに挿入し、Web パーツの URL ソースがドキュメント ライブラリ内にある .xap ファイルのパスの場所を指すようにします。Web パーツには、InitParameters プロパティによって Silverlight に送信されるカスタム プロパティを含めることができます。
SharePoint Online でユーザーを認証する場合は、フォーム ベース認証 (FBA) を使用します。
また、Visual Studio 2010 を使用すると、展開およびアクティブ化の際に以下のアクションを実行する単一のソリューション (.wsp) ファイルを作成できます。
既定の Silverlight Web パーツに基づいて、Silverlight アプリケーションをホストする Web パーツを展開する。
モジュールとしてパッケージされた Silverlight アプリケーション パッケージ (.xap) ファイルを指定したドキュメント ライブラリの場所に展開する。
Web パーツを埋め込むページをサイト ページ コレクション内に作成する。
ソリューションがアクティブになった後、ユーザーは作成されたページに移動し、Silverlight アプリケーションをホストしている Web パーツを操作できます。アプリケーション自体は、SharePoint の Silverlight オブジェクト モデルを使用して SharePoint Online データにリモートでアクセスできますが、ユーザーには SharePoint Online 内でホストされているように見えます。
SharePoint Online での ECMAScript オブジェクト モデルの使用
SharePoint Online では、同様の方法で JavaScript オブジェクト モデルも使用できます。ある .aspx ページのスクリプト ブロック内で JavaScript オブジェクト モデルを使用するカスタム コードを記述したり、別途作成した .js ファイルにコードを記述して .aspx ページから参照したりできます。詳細については、「ECMAScript を使用するアプリケーション ページをセットアップする」を参照してください。
SharePoint クライアント オブジェクト モデルの詳細情報
クライアント オブジェクト モデルの詳しい紹介については、「SharePoint Foundation 2010 のマネージ クライアント オブジェクト モデルの使用」を参照してください。詳細な技術情報と実装手順については、SharePoint 2010 SDK の以下のセクションを参照してください。
Silverlight クライアント アプリケーションの作成については、「Silverlight オブジェクト モデルを使用する」および「How to: Use a SharePoint Project to Deploy a Silverlight Application」を参照してください。
SharePoint クライアント オブジェクト モデルを使用した参考実装例については、「Reference Implementation: Client」を参照してください。
API リファレンス情報については、「クライアント クラス ライブラリ」および「ECMAScript クラス ライブラリ」を参照してください。
SharePoint クライアント オブジェクト モデルに関するトレーニングについては、Channel 9 の「Client Object Model」を参照してください。
SharePoint Online で利用できる SharePoint Web サービス
表 1 に、SharePoint Online で利用できる既定の Web サービスを示します。これらは、すべての外部データ接続と同様、サンドボックス ソリューションでは使用できませんが、Silverlight、JavaScript といったクライアント アプリケーションを介してアクセスできます。
表 1. SharePoint Online で利用できる Web サービス
Web サービス |
説明 |
---|---|
SharePoint サイト内のリスト アイテムに関する通知を操作するメソッドを提供します。 |
|
SharePoint サイト内および SharePoint サイト間でファイルをコピーするためのサービスを提供します。 |
|
ドキュメント ワークスペース サイトおよびそのサイトに含まれるデータを管理するメソッドを提供します。 次のメソッドは SharePoint Online では利用できません。
|
|
画像ライブラリを作成し、管理できるメソッドを提供します。 |
|
SharePoint のリスト、コンテンツ タイプ、リスト アイテム、およびファイルを操作するメソッドを提供します。 次のメソッドは SharePoint Online では利用できません。
|
|
会議ワークスペース サイトを作成し、管理できるメソッドを提供します。 |
|
ユーザー識別子 (ID) をサイトのアクセス許可に関するセキュリティ グループに関連付けるメソッドを提供します。 |
|
サイトまたはリストのアクセス許可を操作するためのメソッドを提供します。 |
|
サイトまたはリストからメタデータまたはリスト データを返すメソッドを提供します。 |
|
サイト コレクションのサイト テンプレートに関する情報を返すメソッドを提供します。 |
|
SharePoint サイトのコンテキスト外にあるクライアント アプリケーションおよび Web アプリケーションから検索結果にアクセスするメソッドを提供します。 |
|
ユーザーとグループを操作するためのメソッドを提供します。 |
|
SharePoint ドキュメント ライブラリ内のファイルのバージョンを操作するメソッドを提供します。 |
|
SharePoint Online でリスト ビューを作成、削除、または更新するメソッドを提供します。 |
|
Web パーツを操作するメソッドを提供します。 次のメソッドは SharePoint Online では利用できません。
|
|
サイトおよびサブサイトを操作するメソッドを提供します。 次のメソッドは SharePoint Online では利用できません。
|
SharePoint REST インターフェイス
SharePoint Online には、リレーショナル データ サービスとしてリストやライブラリへのアクセスを提供する Representational State Transfer (REST) インターフェイスも用意されています。REST に対応したすべてのインターフェイスのコアとなる概念はリソースであり、SharePoint Online ではリモート URL によってアドレス指定できる HTTP リソースとしてリストやアイテムが表されます。
SharePoint REST インターフェイスでの操作は、REST に対応した Web サービスの標準的な操作セットで構成されています。読み取り、作成、更新、および削除 の操作は、それぞれ GET、POST、PUT、および DELETE HTTP 動詞に直接マップされます。これにより、クライアントとサーバーの間の中間層が不要になります。
REST インターフェイスでは、データのクエリ処理に柔軟性の高い URL 変換を使用しており、SharePoint リストの情報のフィルター処理、並べ替え、および選択がブラウザーから直接行えます。また、JSON、Atom、および AtomPub の各標準のサポートなど、複数の表現によって SharePoint リストの情報を取得することもできます。
REST インターフェイスを実装したサンプル URL など、詳細については、「SharePoint Foundation REST インターフェイス」を参照してください。
また、開発者は SharePoint Online の Excel Services REST API にアクセスできます。この API を使用して、開発者は URL によってブックのパーツまたは要素に直接アクセスできます。これにより、Excel Services コンテンツにアクセスして操作するための柔軟かつ安全でより簡単なメカニズムが実現されます。
また、Excel Services REST API に組み込まれた検出メカニズムを使用すると、開発者とユーザーは、特定のブック内に存在する要素についての情報を含む Atom フィードを提供することで、手動またはプログラムによってブックのコンテンツを探査できます。この REST API を使用してアクセスできるリソースの例には、グラフ、ピボットテーブル、表があります。
この REST API によって提供される Atom フィードを使用すると、関心のあるデータに簡単にアクセスできます。フィードには横断可能な要素が含まれます。この要素を使用すると、あらゆるコードで、ブックに存在する要素を検出できます。
詳細については、「Excel Services REST API」を参照してください。
SharePoint Online と SharePoint Server の機能の比較
以下の表に、SharePoint Online で利用できる開発者向け機能を SharePoint Server 2010 で利用できるものと比較して示します。
表 2. SharePoint Online と SharePoint Server 2010 の開発者向け機能の比較
機能 |
SharePoint Online |
SharePoint Server 2010 (社内設置型) |
---|---|---|
ブラウザーによる構成 |
利用可能 |
利用可能 |
SharePoint Designer によるカスタマイズ |
データの豊富なインターフェイスの作成 ワークフローによるビジネス プロセスの管理 SharePoint 内外のデータへの接続 デザインおよびブランド設定 |
データの豊富なインターフェイスの作成 ワークフローによるビジネス プロセスの管理 SharePoint 内外のデータへの接続 デザインおよびブランド設定 Business Connectivity Services |
SharePoint ソリューション |
サンドボックス ソリューション |
ファーム ソリューション サンドボックス ソリューション |
クライアント オブジェクト モデル |
Silverlight .NET Framework マネージ JavaScript |
Silverlight .NET Framework マネージ JavaScript |
Silverlight Web パーツ |
利用可能 |
利用可能 |
Web サービス |
.NET SharePoint Web サービスのサブセット REST API Excel Services REST API |
すべての .NET SharePoint Web サービス REST API Excel Services REST API |
InfoPath フォーム |
サンドボックス ソリューション フォーム |
サンドボックス ソリューション フォーム 管理フォーム |
ワークフロー |
宣言型 サンドボックス ソリューションのワークフロー アクティビティ |
宣言型 サンドボックス ソリューションおよびファームのワークフロー アクティビティ |
まとめ
SharePoint Online は、SharePoint の高機能な共同作業プラットフォームを必要とする企業に魅力的で柔軟性の高いオプションを提供し、そのうえソフトウェアを社内でホストする場合に伴う運用コストもかかりません。また、開発者向けの堅牢で柔軟な開発用インターフェイスを提供します。
この記事では、SharePoint Online で開発者が利用できる開発オプションの概要を簡単に説明しました。特定の領域に関する詳細については、この記事で示したリンクを参照してください。また、何度か「SharePoint Online の開発者向けリソース センター」にアクセスして、記事、トレーニング、ビデオなど、各種リソースへのリンクが更新されていないか確認してください。
その他の技術情報
詳細については、次のリソースを参照してください。
「SharePoint Online の全般的な参照情報」: SharePoint 2010 SDK セクションです。
「SharePoint Online とのクラウドベースのグループ作業」: 技術記事とサンプル コードです。
SharePoint Designer に関するリソース
SharePoint Designer 2010 のダウンロード ページ: ダウンロードの詳細に関するページです。
「SharePoint Designer 2010 について」: SharePoint Designer のインターフェイスおよび機能の概要です。
「SharePoint Designer の概要」: 使い始める際に役立つリソースの詳細な一覧です。
サンドボックス ソリューションに関するリソース
「Windows Vista、Windows 7、および Windows Server 2008 で SharePoint 2010 の開発環境をセットアップする」: ハードウェアに関する推奨事項、オペレーティング システムおよび Hyper-V のオプション、前提条件など、開発環境の設定に関する情報です。
「Visual Studio を使用して SharePoint 開発を行う」: 効率を最大化するための Visual Studio 2010 の使用方法とカスタマイズ方法を説明しています。
「サンドボックス ソリューションのアーキテクチャ」: サンドボックス ソリューション で使用できる機能と要素、サンドボックス ソリューションの CAS ポリシー、およびサンドボックス ソリューションのリソース監視について説明しています。
「Deploying a Sandboxed Solution」: サンドボックス ソリューションを SharePoint Online 管理者として展開する方法を説明しています。
「サンドボックス ソリューションから使用可能な Microsoft.SharePoint.dll API」: サンドボックス ソリューションで利用できるオブジェクト モデルの一覧です。
「参考実装: サンドボックス実行モデル」: サンドボックス ソリューションの参考用の実装です。
「Sandboxed Solutions」: Channel 9 が提供するサンドボックス ソリューションに関するトレーニングです。
クライアント オブジェクト モデルに関するリソース
「SharePoint Foundation 2010 のマネージ クライアント オブジェクト モデルの使用」: クライアント オブジェクト モデルの詳しい紹介です。
「Silverlight オブジェクト モデルを使用する」: Silverlight クライアント アプリケーションの作成に関する情報です。
「ECMAScript を使用するアプリケーション ページをセットアップする」: JavaScript を SharePoint ページに含めるための情報です。
「マネージ クライアント オブジェクト モデル」: 詳細な技術情報と実装手順です。
「クライアント オブジェクト モデルのガイドライン」: 詳細な技術情報と実装手順です。
「一般的なプログラミング作業」: 詳細な技術情報と実装手順です。
「クライアント クラス ライブラリ」: API のリファレンス情報です。
「ECMAScript クラス ライブラリ」: API のリファレンス情報です。
「Client Object Model」: Channel 9 が提供する SharePoint クライアント オブジェクト モデルに関するトレーニングです。