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.
株式会社アプレッソ
開発部 第2グループリーダー
Thunderbusチーフディベロッパー
土岐 拓未
2015年4月17日 dstnHUB
2015年4月リリース予定
1. Thunderbusとは?
2. DataSpider Thunderbusコネクタ
3. Thunderbusインターナル
アジェンダ
1.
Thunderbus
とは?
Thunderbus開発のきっかけ
データ処理
コンピュータ-は
「データ」を「処理」する
クラウド
オンプレミス
クラウド時代の2つの
コンピューティング環境
• クラウド側にAPIが用意されている
ことが多い
• インターネット経由で利用しやすい
• DataSpiderでも多数のアダプタが
リリース
• オンプレミスのデータへの接続
方式は一般には提供されて
いない
• VPNなどのインフラ設定が必
要
• DataSpiderでは
Microsoft Azure
Appfabricトリガーのみ対応
マシンパワーを必要する処理は
クラウド上の仮想マシンで
オンプレミスに置いておきたいデータは
オンプレミスに置いたまま
もっと簡単にデータ連携ができる方法は?
2015年4月リリース予定
Thunderbusを使った連携
クラウド
オンプレミス
処理
Server
ファイル
クラウド上にThunderbus
Serverを稼働
Thunderbusを使った連携
クラウド
オンプレミス
処理
Server
Agent
ファイル
オンプレミスのマシンに
Thunderbus Agentをイン
ストール
Thunderbusを使った連携
クラウド
オンプレミス
処理
Server
Agent
ファイル
クラウド上のThunderbus
ServerにHTTPS(WebSocket)
で接続
Thunderbusを使った連携
クラウド
オンプレミス
処理
Server
Agent
ファイル
Thunderbus Server&Agent
が処理を中継してデータ連
携を行う
クラウド
オンプレミス
処理 Server
Agent
ファイル
Thunderbus v1.0 WebDAVサーバーとしてオ
ンプレミスのファイルを処理
デモ
クラウド
オンプレミス
処理 Server
Agent
Thunderbus 今後
データベース・Webサー
バーへのアクセスも可能に
拡張予定
DB
Web
サーバー
Thunderbusの特徴
• オンプレミスのデータにクラウドからセキュアにアクセ
ス可能
• VPNなどのネットワーク設定不要。サーバーへの
HTTPS通信のみで双方向処理を実現
• 簡単な設定でThunderbus Agentを追加可
能。...
2.
DataSpider
Thunderbus
コネクタ
×
クラウド・オンプレミスを意識しない
シームレスなクラウド連携基盤
クラウド
オンプレミス
Server
Agent
DataSpider Thunderbusコネクタ
ファイル
簡単な設定でThunderbus
を利用したクラウド・ファイ
ル連携が可能
DataSpider Thunderbusコネクタ
Thunderbus Agentのファイ
ルをDataSpiderファイルシ
ステム内にマウント
DataSpiderの多様な
ファイル連携機能をすべて使用可能
ファイル
トリガー
CSV
アダプタ
Excel
アダプタ
固定長
アダプタ
可変長
アダプタ
ファイル
操作
アダプタ
デモ
ブラウザ
Server
Agent
デモ環境
Excel
ファイル
HTTPトリガーでExcel情報取
得スクリプトを実行
取得したExcelの情報を返して
HTML内に表示
利用例1 Excel-クラウド連携
各拠点で入力されたExcel
ファイルをThunderbus経由
で自動でkintoneに登録
利用例2 店鋪 - 本部間データ連携
多店舗展開する企業の拠
点データのデータバックアッ
プ、データ同期、データ配布
を自動化
利用例3 グローバル拠点間連携
ネットワーク敷設が困難な
グローバルな各拠点間・本
社システムのデータ連携を
実現
×
ぜひお試しください!
3.
Thunderbus
インターナル
Thunderbus通信部分
Server
Agent
オンプレミス→クラウドへの
HTTPS通信のみで、双方向
通信を実現
WebSocket
WebSocket
• クライアント⇔サーバーの双方向通信を実現する
ためのプロトコル
• 通信の確立にHTTPを使用、その後独自プロトコル
で双方向通信を行う
• もともとHTML5の一部として仕様策定が進められ
ていたが、その後独立
• 2...
WebSocket通信イメージ
GET
HTTP 101 Switching Protocol
WebSocket使用を宣言
する特殊なヘッダを付
与してHTTPリクエスト プロトコル変更を通知す
るHTTPレスポンスを返
す
WebSocke...
JavaにおけるWebSocket
• 2013年6月にリリースされたJava EE7でJSR356
としてWebSocketのJavaにおけるAPI標準仕様
が策定
– それまでは各Webコンテナごとの独自実装がされ
ていた
• 現在では主要...
実装例
JSR 356のポイント
• アノテーションを使用した簡潔な記述
• Server、Client双方でほぼ同じ実装で記述可能
• 実装ライブラリを意識せずに実装が可能
→ライブラリの切り替えが容易(JDBC的なイメージ)
実装した感想
• 学習コストが低く、簡単な動作まではごく単純な実装で可能
• メソッドの呼び出し方法がさまざまな利用形態が想定されて
おり、フレキシブルに使用できる
• プロキシ超えも可能(対応していないライブラリもあり)
• 多数のメッセージ...
インターネットを利用した
双方向通信は
WebSocket!
結論
が、利用には注意点も
WebSocket通信イメージ
(再掲)
GET
HTTP 101 Switching Protocol
任意のタイミングでサー
バー/クライアントどちら
からでもメッセージ送信
が可能
WebSocket通信
注意点1
リクエスト-レスポンス問題
GET
HTTP 101 Switching Protocol
WebSocket通信
この間にレスポンスを必要とする通信
を行おうとしても、プロトコルでは規定
されていない
→単純なメッセージ送信のみ
リクエスト-レスポンス方式の通信を行おうとする
場合、レスポンスを保証するための独自実装で
対応
Thunderbusでの対応
注意点2
メタ情報問題
• 単純なテキスト/バイナリメッセージであるため
HTTPのようなメタ情報を付与できない
パス情報
パラメータ
HTTPヘッダ
ボディ
メッセージボディ
HTTP WebSocket
独自フォーマットのメッセージ形式を策定して、メ
タ情報を同時に送信できるように対応
Thunderbusでの対応
2015年4月リリース予定
よろしくお願いします!
2015年2月26日 dsthHUB 『オンプレミスとクラウドをシームレスに"つなぐ" 新製品「Thunderbus」の全貌』
Upcoming SlideShare
Loading in …5
×

2015年2月26日 dsthHUB 『オンプレミスとクラウドをシームレスに"つなぐ" 新製品「Thunderbus」の全貌』

1,661 views

Published on

Thunderbus はクラウドからオンプレミス側のデータを読み書きできるようにする、あたらしい「つなぐ」技術の製品です。

例えば、クラウド上のDataSpiderから、会社の社内LANの中にあるExcelファイルのデータを読み書きできるようになり、いわば「クラウド」と自分のPC上のExcelを「つなぐ」ことができる、クラウドの新しい活用方法を提案する製品です。

また、Thunderbusは複雑な設定も不要で、インターネットが使える環境なら特別な設定(VPNなどのネットワーク設定など)なしに利用できる点も特徴です。

Published in: Software
  • Be the first to comment

  • Be the first to like this

2015年2月26日 dsthHUB 『オンプレミスとクラウドをシームレスに"つなぐ" 新製品「Thunderbus」の全貌』

  1. 1. 株式会社アプレッソ 開発部 第2グループリーダー Thunderbusチーフディベロッパー 土岐 拓未 2015年4月17日 dstnHUB
  2. 2. 2015年4月リリース予定
  3. 3. 1. Thunderbusとは? 2. DataSpider Thunderbusコネクタ 3. Thunderbusインターナル アジェンダ
  4. 4. 1. Thunderbus とは?
  5. 5. Thunderbus開発のきっかけ
  6. 6. データ処理 コンピュータ-は 「データ」を「処理」する
  7. 7. クラウド オンプレミス クラウド時代の2つの コンピューティング環境
  8. 8. • クラウド側にAPIが用意されている ことが多い • インターネット経由で利用しやすい • DataSpiderでも多数のアダプタが リリース
  9. 9. • オンプレミスのデータへの接続 方式は一般には提供されて いない • VPNなどのインフラ設定が必 要 • DataSpiderでは Microsoft Azure Appfabricトリガーのみ対応
  10. 10. マシンパワーを必要する処理は クラウド上の仮想マシンで オンプレミスに置いておきたいデータは オンプレミスに置いたまま もっと簡単にデータ連携ができる方法は?
  11. 11. 2015年4月リリース予定
  12. 12. Thunderbusを使った連携 クラウド オンプレミス 処理 Server ファイル クラウド上にThunderbus Serverを稼働
  13. 13. Thunderbusを使った連携 クラウド オンプレミス 処理 Server Agent ファイル オンプレミスのマシンに Thunderbus Agentをイン ストール
  14. 14. Thunderbusを使った連携 クラウド オンプレミス 処理 Server Agent ファイル クラウド上のThunderbus ServerにHTTPS(WebSocket) で接続
  15. 15. Thunderbusを使った連携 クラウド オンプレミス 処理 Server Agent ファイル Thunderbus Server&Agent が処理を中継してデータ連 携を行う
  16. 16. クラウド オンプレミス 処理 Server Agent ファイル Thunderbus v1.0 WebDAVサーバーとしてオ ンプレミスのファイルを処理
  17. 17. デモ
  18. 18. クラウド オンプレミス 処理 Server Agent Thunderbus 今後 データベース・Webサー バーへのアクセスも可能に 拡張予定 DB Web サーバー
  19. 19. Thunderbusの特徴 • オンプレミスのデータにクラウドからセキュアにアクセ ス可能 • VPNなどのネットワーク設定不要。サーバーへの HTTPS通信のみで双方向処理を実現 • 簡単な設定でThunderbus Agentを追加可 能。接続先の増加にもスピーディに対応
  20. 20. 2. DataSpider Thunderbus コネクタ
  21. 21. ×
  22. 22. クラウド・オンプレミスを意識しない シームレスなクラウド連携基盤
  23. 23. クラウド オンプレミス Server Agent DataSpider Thunderbusコネクタ ファイル 簡単な設定でThunderbus を利用したクラウド・ファイ ル連携が可能
  24. 24. DataSpider Thunderbusコネクタ Thunderbus Agentのファイ ルをDataSpiderファイルシ ステム内にマウント
  25. 25. DataSpiderの多様な ファイル連携機能をすべて使用可能 ファイル トリガー CSV アダプタ Excel アダプタ 固定長 アダプタ 可変長 アダプタ ファイル 操作 アダプタ
  26. 26. デモ
  27. 27. ブラウザ Server Agent デモ環境 Excel ファイル HTTPトリガーでExcel情報取 得スクリプトを実行 取得したExcelの情報を返して HTML内に表示
  28. 28. 利用例1 Excel-クラウド連携 各拠点で入力されたExcel ファイルをThunderbus経由 で自動でkintoneに登録
  29. 29. 利用例2 店鋪 - 本部間データ連携 多店舗展開する企業の拠 点データのデータバックアッ プ、データ同期、データ配布 を自動化
  30. 30. 利用例3 グローバル拠点間連携 ネットワーク敷設が困難な グローバルな各拠点間・本 社システムのデータ連携を 実現
  31. 31. × ぜひお試しください!
  32. 32. 3. Thunderbus インターナル
  33. 33. Thunderbus通信部分 Server Agent オンプレミス→クラウドへの HTTPS通信のみで、双方向 通信を実現
  34. 34. WebSocket
  35. 35. WebSocket • クライアント⇔サーバーの双方向通信を実現する ためのプロトコル • 通信の確立にHTTPを使用、その後独自プロトコル で双方向通信を行う • もともとHTML5の一部として仕様策定が進められ ていたが、その後独立 • 2011年にRFC6455として標準仕様が確定 • 近年のWebサービスにおいてサーバープッシュの 通信を行うための標準技術となっている
  36. 36. WebSocket通信イメージ GET HTTP 101 Switching Protocol WebSocket使用を宣言 する特殊なヘッダを付 与してHTTPリクエスト プロトコル変更を通知す るHTTPレスポンスを返 す WebSocket通信を開始 任意のタイミングでサー バー/クライアントどちら からでもメッセージ送信 が可能 WebSocket通信
  37. 37. JavaにおけるWebSocket • 2013年6月にリリースされたJava EE7でJSR356 としてWebSocketのJavaにおけるAPI標準仕様 が策定 – それまでは各Webコンテナごとの独自実装がされ ていた • 現在では主要WebコンテナがJSR356に対応済 – Tomat、jetty、GlassFish、WildFly、WebSphere AS・・・
  38. 38. 実装例
  39. 39. JSR 356のポイント • アノテーションを使用した簡潔な記述 • Server、Client双方でほぼ同じ実装で記述可能 • 実装ライブラリを意識せずに実装が可能 →ライブラリの切り替えが容易(JDBC的なイメージ)
  40. 40. 実装した感想 • 学習コストが低く、簡単な動作まではごく単純な実装で可能 • メソッドの呼び出し方法がさまざまな利用形態が想定されて おり、フレキシブルに使用できる • プロキシ超えも可能(対応していないライブラリもあり) • 多数のメッセージ送信を行った際のパフォーマンスが良い – 簡単に計測した結果、HTTPロングポーリング(Comet)の1.3倍~2倍 – OracleのブログにはRESTと比べて数十倍の性能差という記述も Oracle Web Logic Channel 「Java EE 7新機能の目玉「WebSocket対応」、「バッチ処理」を アルン・グプタが解説──Java Day Tokyo 2013レポート 」より引 用 https://blogs.oracle.com/wlc/entry/javaee_c151
  41. 41. インターネットを利用した 双方向通信は WebSocket! 結論
  42. 42. が、利用には注意点も
  43. 43. WebSocket通信イメージ (再掲) GET HTTP 101 Switching Protocol 任意のタイミングでサー バー/クライアントどちら からでもメッセージ送信 が可能 WebSocket通信
  44. 44. 注意点1 リクエスト-レスポンス問題 GET HTTP 101 Switching Protocol WebSocket通信 この間にレスポンスを必要とする通信 を行おうとしても、プロトコルでは規定 されていない →単純なメッセージ送信のみ
  45. 45. リクエスト-レスポンス方式の通信を行おうとする 場合、レスポンスを保証するための独自実装で 対応 Thunderbusでの対応
  46. 46. 注意点2 メタ情報問題 • 単純なテキスト/バイナリメッセージであるため HTTPのようなメタ情報を付与できない パス情報 パラメータ HTTPヘッダ ボディ メッセージボディ HTTP WebSocket
  47. 47. 独自フォーマットのメッセージ形式を策定して、メ タ情報を同時に送信できるように対応 Thunderbusでの対応
  48. 48. 2015年4月リリース予定 よろしくお願いします!

×