sharepoint business connectivity services を使用した外部アプリケーション連携

33
BCS (Business Data Connectivity Service) を使用した外部アプリケーション連携 Community Open Day 2012 1 Presenter 健吾 日本マイクロソフト株式会社 コマーシャル テクニカル サポート

Upload: atsuo-yamasaki

Post on 20-Aug-2015

6.380 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

BCS (Business Data Connectivity Service) を使用した外部アプリケーション連携

Community Open Day 2012

1

Presenter

森 健吾 日本マイクロソフト株式会社 コマーシャル テクニカル サポート

Page 2: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

自己紹介

2

ブログ Office Client Development Support Blog http://blogs.msdn.com/b/office_client_development_support_blog/ Japan SharePoint Support Team Blog http://blogs.technet.com/b/sharepoint_support/

<担当製品> ・SharePoint 開発 ・SharePoint BI / 各種サービス ・Office Web Apps ・Office 開発 (オートメーション, VSTO) ・InfoPath

Page 3: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

Agenda

BCS には可能性がある!

3

1. BCS とは? 2. BCS で外部システムと連携する <DEMO> 2-1. SQL Server に接続 2-2. WCF サービスに接続 2-3. .NET Assembly Connector を使用して接続 3. BCS のデータ アクセス セキュリティ 3-2. BDC ID (RevertToSelf) のための補足事項 3-3. Secure Store Service について 4. BCS で広がる世界

Page 4: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

想定しているシナリオ (今回の例)

アプリケーションを統合・連携せよ!

4

Kenmori 社の Web アプリケーション ・SQL Server をバックエンドにしたアプリケーションがある。 ・Kenmori 社には SharePoint も導入された。 多重管理ではなく、ビジネス データを

活かしながら、コラボレーションを推進したい。

Page 5: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

1-1. BCS とは?

データ層でアプリケーションと連携するため汎用性が生まれる。

5

サイト

リスト

リスト (外部)

リスト (外部)

カスタム アプリケーション SharePoint

Web サービス

データベース

Web パーツ/ UI リスト ビュー、BI

ワークフロー

各種サービス User Profile, クロール etc.

カスタム ソリューション Web パーツ、サイト定義

外部コンテンツ タイプ 外部リスト 、外部列

Page 6: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

1-2. 開発ツール

SharePoint Designer or Visual Studio

6

対応形式 コーディング 配置

SharePoint Designer 2010

・SQL Server ・ASMX / WCF サービス

不要 エクスポート・インポートは可能

Visual Studio 2010

実装次第 必要 再配布可能 (WSP)

Page 7: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

1-3. 限定的 or 汎用的

常に BCS を使用すべき? NO! どちらのソリューションにもメリットがある。

7

限定的 (カスタム Web パーツ等)

汎用的 (BCS) 例) 特定のデータを Web パーツで

表示

SIer ・実装工数が短い ・テスト範囲が狭い ・処理が高速である。

エンド ユーザー ・コードなしで実現可能な場合がある ・保守費用が削減できる ベンダー ・製品の SharePoint との連携を売りにできる。 ・競合製品ではなく、共生を目指せる。

(アイテム < 5000 の絞りを受けない)

Page 8: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

2. 外部コンテンツ タイプを実際に作る

SharePoint Designer 2010 や Visual Studio 2010 を使用して接続

8

DEMO 接続先アプリケーションの紹介

Page 9: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

2. カスタム アプリケーション概要

9

Page 10: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

2. 外部コンテンツ タイプを実際に作る

外部コンテンツ タイプ作成のポイントを紹介します。

10

(2) 5 つの “操作” (操作、引数、戻り値) を追加する。 ・リストの読み取り ・項目の読み取り ・作成 ・更新 ・削除

(1) データ ソース (エンティティ) を特定する

Page 11: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

2. 外部コンテンツ タイプを実際に作る

SharePoint Designer 2010 や Visual Studio 2010 を使用して接続

11

DEMO 1. SharePoint Designer 2010 で SQL Server に接続 2. SharePoint Designer 2010 で WCF Service に接続 3. Visual Studio 2010 で WCF Data Service に接続

Page 12: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

2. 外部コンテンツ タイプを実際に作る

1. SharePoint Designer 2010 で SQL Server に接続

12

閲覧

追加

削除

更新

Page 13: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

2. カスタム アプリケーション概要

13

Page 14: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

2. 外部コンテンツ タイプを実際に作る

実際の動きを見てみましょう。

14

1. SharePoint Designer 2010 で SQL Server に接続

Page 15: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

2. カスタム アプリケーション概要

15

Page 16: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

2. 外部コンテンツ タイプを実際に作る

少しだけ、構造を理解しましょう。

16

1. SharePoint Designer 2010 で SQL Server に接続

Page 17: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

2. カスタム アプリケーション概要

17

Page 18: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

2. 外部コンテンツ タイプを実際に作る

2. SharePoint Designer 2010 で WCF Service に接続

18

Page 19: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

2. カスタム アプリケーション概要

19

Page 20: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

2. 外部コンテンツ タイプを実際に作る

3. Visual Studio 2010 で WCF Data Service に接続

20

Page 21: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

2. カスタム アプリケーション概要

21

Page 22: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

2. 外部コンテンツ タイプを実際に作る

懸念事項のおさらい

22

共通 ・挿入時にも識別子が必要 (キー項目の内部自動生成などが難しい) WCF サービスに接続 ・DataSet, DataTable を含む、Complex Type は対応外 ・OData (RESTful Web サービス) は対応外 対応外のデータに接続する場合は、.NET Assembly Connector を使用する。

Page 23: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

3. データアクセス セキュリティについて

PassThrough, RevertToSelf or Secure Store Service

23

NTLM 認証のダブルホップに注意

SharePoint Web Front End

クライアント ブラウザ

Web サービス (外部)

DB サーバー (外部)

1 hop

2 hop

2 hop

対処方法

1. PassThrough with Kerberos 委任を許可する。 2. BDC ID (RevertToSelf) ASP.NET 偽装解除 3. Secure Store Service Proxy 偽装

※匿名アクセス

オススメ

Page 24: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

3. データアクセス セキュリティについて (2)

対処策 2. BDC ID (RevertToSelf) のための補足事項

24

<<PowerShell で有効化>> $bdc = Get-SPServiceApplication | where {$_ -match "<ServiceName>"} $bdc.RevertToSelfAllowed = $true

セキュリティ的に危険性が高いため、既定の状態では許可されていない。 SharePoint における ASP.NET 偽装解除 = w3wp.exe 実行アカウント = Web アプリケーションのシステム アカウント

Page 25: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

3. データアクセス セキュリティについて (3)

• 対処策 3. Secure Store Service 画面デモ

25

Page 26: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

4. BCS で広がる世界

いろいろ幅が広がります。

26

ほんの一部を紹介します!

Page 27: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

4. BCS で広がる世界

外部リスト

27 リストビューが使用可能 : グループ化、並べ替え、フィルタ、集計などが可能

Page 28: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

4. BCS で広がる世界

外部列

28

ワークフローとも連携可能

Page 29: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

4. BCS で広がる世界

クライアント アプリケーション連携!!

SharePoint Workspace

Outlook

Page 30: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

4. BCS で広がる世界

検索連携!!

30

プロファイル ページ で見やすく!

Page 31: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

4. BCS で広がる世界

ユーザー プロファイル連携!!

31

Page 33: SharePoint Business Connectivity Services を使用した外部アプリケーション連携

33