Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SharePoint Online 開発の最初の一歩

6,902 views

Published on

「SharePoint Online 開発の最初の一歩」セッション資料
SharePoint 用アプリ開発の概要を紹介しました。

第9回 Office 365 勉強会(2014年8月2日)

Published in: Software
  • Be the first to comment

SharePoint Online 開発の最初の一歩

  1. 1. SharePoint Online 開発の第一歩 瀬尾佳隆 (@seosoft) Microsoft MVP for Visual C#第9回 Office 365 勉強会
  2. 2. 自己紹介 瀬尾 佳隆 (せお よしたか) MVP for Visual C# (Jan 2009 – Dec 2014) SharePoint / Office 365 が好き  AKB48G が好き 技術ひろば.net やってます  http://hiroba-tech.net/ ブログやってます  http://yseosoft.wordpress.com/
  3. 3. アジェンダ SharePoint 用アプリとは ~ 開発前の約束事 Host Web ~ 最初の一歩 App Web ~ 柔軟なアプリ構成 Remote App ~ SharePoint の壁を超える クラウドビジネスアプリ ~ 業務アプリのクラウド化
  4. 4. 今日の題材 今日お話しする技術 SharePoint 用アプリ (Apps for SharePoint) .NET OM クラウドビジネスアプリ 今日の対象外の技術 サーバーサイド API JavaScript OM REST API Access アプリ / napa / Project Siena Office 365 API ※本セッションでは Office 365 API は扱いません。 Office 365 API は最後のセッションをお楽しみに。
  5. 5. SharePoint 用アプリとは 開発前の約束事
  6. 6. SharePoint 用アプリの構成 http://msdn.microsoft.com/en-us/library/office/fp179930(v=office.15)
  7. 7. SharePoint 用アプリのメリット SharePoint 用アプリは “Web アプリ “ 従来の Web 開発の技術を活用できる REST に対応していれば言語やプラットフォームに依存しない .NET や JavaScript のオブジェクトモデルは開発生産性を 上げてくれる アプリ自体は SharePoint の外で動作する Web サービス、DB などサーバーサイドの技術を利用 JavaScript などのクライアントサイドの技術を利用 ただし、いくつかの約束事と定石の理解は必要 このセッションで共有します
  8. 8. 参考) Web アプリの DB 接続 DB接続の 準備をして DB インスタンスに 接続して アプリが対象とする テーブルを選択して 各レコードを読んだり 書いたりする
  9. 9. SharePoint 接続の 準備をして サイトに接続して アプリが対象とする リストを選択して 各アイテムを読んだり 書いたりする SharePoint 用アプリの流れ DB接続の 準備をして DB インスタンスに 接続して アプリが対象とする テーブルを選択して 各レコードを読んだり 書いたりする
  10. 10. コードの定石 = 前提となる約束事 SharePoint 接続の 準備をして サイトに接続して アプリが対象とする リストを選択して 各アイテムを読んだり 書いたりする
  11. 11. コンテキスト生成からリスト取得まで
  12. 12. リストアイテムの読み出し
  13. 13. Host Web 最初の一歩
  14. 14. SharePoint 用アプリのサーバー構成 App Web Host Web アプリ本体 CreateUserClientContextForSPHost でアクセス Remote App CreateUserClientContextForSPAppWeb でアクセス SQL データベース
  15. 15. Host Web とは 利用者が普段利用する SharePoint サイトのこと SharePoint 用アプリは別のサイトや別のサーバー上で 動作する 本体へのアクセスのための専用のコンテキストが Host Web SharePointContextProvider. CreateUserClientContextForSPHost() で生成できる
  16. 16. コンテキストの生成方法
  17. 17. Host Web 利用の注意点 処理によっては、明示的なアクセス許可の指定が必要 AppManifest.xml の [アクセス許可] を開く アプリで必要な “最低限の” アクセス許可を指定する
  18. 18. App Web 柔軟なアプリ構成
  19. 19. SharePoint 用アプリのサーバー構成 App Web Host Web アプリ本体 CreateUserClientContextForSPHost でアクセス Remote App CreateUserClientContextForSPAppWeb でアクセス SQL データベース
  20. 20. App Web とは 各SharePoint 用アプリ専用のサイト 専用サイトのコンテキストが App Web SharePointContextProvider. CreateUserClientContextForSPAppWeb() で生成できる サイトであることには変わりはないので、アプリ専用の リストなどを置くことができる リスト名が重複する可能性がなくなるというメリットもある 万一、アプリに不具合があっても Host Web への 影響は最小限
  21. 21. コンテキストの生成方法
  22. 22. アプリ専用のリストの作り方
  23. 23. リストが作成される場所 アプリを一度デバッグ実行する アプリの URL の SPAppWebUrl パラメーターから リストのアドレスを組み立てることができる
  24. 24. Remote App SharePoint の壁を超える
  25. 25. SharePoint 用アプリのサーバー構成 App Web Host Web アプリ本体 CreateUserClientContextForSPHost でアクセス Remote App CreateUserClientContextForSPAppWeb でアクセス SQL データベース
  26. 26. Remote App とは SharePoint 用アプリの本体 アプリは SharePoint ではない Web サーバー上で動 作する “napa” で開発したアプリなど、SharePoint 上で動作する SharePoint 用アプリもある 独立した Web サーバー上で動作しているので、 一般の Web 技術を利用できる データを SQL Server で管理することで、 パフォーマンス向上や SharePoint の 5000件問題の 回避などのメリットが多い
  27. 27. 既存の Web アプリを変換可能 既存の Web アプリもメニュー選択だけで SharePoint 用アプリに変換できる もちろん使用によってはコードの追加・変更は必要 特に “認証” 周りは要修正
  28. 28. クラウドビジネスアプリ 業務アプリのクラウド化
  29. 29. SharePoint 用アプリのサーバー構成 App Web Host Web アプリ本体 CreateUserClientContextForSPHost でアクセス Remote App CreateUserClientContextForSPAppWeb でアクセス SQL データベース
  30. 30. クラウドビジネスアプリとは LightSwitch ベースの SharePoint 用アプリ テンプレート SQL Server、App Web のリスト、Host Web の リストを自由に組み合わせたアプリ開発が簡単 全てのデータソースを単一のプログラミングモデルで操作 CreateContext, Load, ExecuteQuery が不要 サーバーサイド、クライアントサイドとも Web 標準の 技術で処理をカスタマイズできる
  31. 31. LightSwitch の開発画面
  32. 32. LightSwitch アプリの実行画面
  33. 33. SharePoint 活用の究極の形 http://msdn.microsoft.com/ja-JP/office/dn448479
  34. 34. まとめ
  35. 35. まとめ CreateUserClientContext → Load → ExecuteQuery が .NET OM の定石 SharePoint 用アプリのサーバー構成は Host Web, App Web, Remote App SharePoint をハブとして社内の業務アプリを 連携・統合するのが SharePoint 用アプリの本質 (だと思います)

×