©SIProp Project, 2006-2008 1
NGN/IMS 時代の Web アプリケーション開
発
クライアント間マッシュアップ用 UA Servlet アプリケーションサーバ
「雷電」の紹介とデモ
SIProp プロジェクト
©SIProp Project, 2006-2008 2
自己紹介
氏名:今村謙之(いまむらのりつな)
年齢: 29 歳+ 15 ヶ月
IT 業界歴:約 7 年
SIP 歴:約 5 年
得意言語: Java 、 C
得意分野: SIP 、ネット...
©SIProp Project, 2006-2008 3
Agenda
SIProp プロジェクトとは
各種プロジェクト概要
雷電
背景
設計
ターゲット
©SIProp Project, 2006-2008 4
SIProp プロジェクト解説編
©SIProp Project, 2006-2008 5
SIProp プロジェクトとは
「メディア ( 通信媒体 ) の世界を広げ
る」
という使命の元、 SIP の汎用セッションプロトコル
という
特性に注目し、この特性を生かした OSS ...
©SIProp Project, 2006-2008 6
プロジェクト一覧
SIProp Ver.2.0
B2BUA フレームワーク
雷電
後述
P2P SIP 実装実験プロジェクト
SIP を P2P 的に使う場合、
IETF の P2PSI...
©SIProp Project, 2006-2008 7
何がやりたいのか?
SIP とは?
上位にある様々なネットワーク・アプリケーショ
ンのためにセッションの管理を行うための「汎用
セッション・プロトコル」
現状では?
IP 電話に付随する...
©SIProp Project, 2006-2008 8
なぜ、セッション・プロトコルを?
無線ネットワークのオープン化
携帯できる無線デバイス (≠ 携帯電話 ) の登場
WiMAX やらフェムトセルやらの盛り上がり
Android や iP...
©SIProp Project, 2006-2008 9
想定する層関係
アプリケーション
層
セッション層
トランスポート層
ネットワーク層
アプリケーションのための機能を提
供する
NGN+IMS の「アプリケーション基盤」に相当
セッショ...
©SIProp Project, 2006-2008 10
いいたいことを!
SIProp 勉強会
プロトコル屋やネットワーク屋が、しゃべ
る機会がない!!!
愚痴を言う機会ともいう (; _ A^ ^ アセアセ・・
・
月に一回のペースで開催...
©SIProp Project, 2006-2008 11
雷電紹介編
©SIProp Project, 2006-2008 12
雷電とは?
クライアント間マッシュアップ用
B2BUA アプリケーションサーバ
VoIP(SIP) と Web(HTTP) をつなぐもの
VoIP と Web の相互接続を解決する
U...
©SIProp Project, 2006-2008 13
自己紹介
氏名:鈴木雄介(すずきゆうすけ)
年齢: 32 歳+ 3 ヶ月
IT 業界歴:約 10 年
SIP 歴:約 0.5 年
得意言語: Java
得意分野: Web 、エンタープ...
©SIProp Project, 2006-2008 14
宣言
B2BUA ってなんやねん
VoIP カンファレンスですが、普通に Web アプ
リエンジニアとして話します
なので、 VoIP 業界では言ってはいけなそう
なことについても K...
©SIProp Project, 2006-2008 15
雷電の背景
Web アプリエンジニアにとって音声は聖域
電話と Web のすれ違い
プロトコル
ステートレスな HTTP とステートフルな SIP
アプリケーション
Click2Cal...
©SIProp Project, 2006-2008 16
電話の未来
電話はなくならない。もちろん Web も
どうやって融合していくかがテーマ
< 2005 年通信販売における受注メディア比率(複数回答可)>
©SIProp Project, 2006-2008 17
雷電が生まれた背景
どうすれば電話と Web は融合できるのか
マルチコンタクトセンターは CTI の延長に過ぎな
い
もっとオープンに、もっと自由に可能性を追
求するためのプラットフ...
©SIProp Project, 2006-2008 18
雷電
雷電を実現する 3 つの技術
COMET
プロトコルハンドリング
EDA
©SIProp Project, 2006-2008 19
COMET
Ajax
通信と画面の描画を
非同期に実行するこ
とで、通信時間を意
識させないようなア
プリケーションを構
築できる
http://adaptivepath.com/id...
©SIProp Project, 2006-2008 20
COMET
クライアントから
のリクエストを返
却せずに保持し、
サーバ側でイベン
トが発生するたび
にデータを返却す
る
擬似的なサーバプ
ッシュを実現
ブラウザがあれば
、対応可能...
©SIProp Project, 2006-2008 21
COMET
NIO
サーバ側でリクエスト
にスレッドを割り当て
てしまうとリソースの
無駄が発生する
そこでイベントが発生
しない限りはリクエス
トを保留キューにいれ
てスレッドは共用...
©SIProp Project, 2006-2008 22
プロトコルハンドリング
プロトコルのハンドリング
ク
ラ
イ
ア
ン
ト
ク
ラ
イ
ア
ン
ト
サー
バ
サー
バ
プロキ
シ
B2BUA
SBC
イベント
ハンドリン
グ
イベント...
©SIProp Project, 2006-2008 23
EDA ( Event-Driven Architecture )
イベントを通じて Sender と Receiver を分離
Identity と Location も分離
コンポ...
©SIProp Project, 2006-2008 24
EDA
SEDA ( Staged Event-Driven Architecture )
ステージに区切ってスレッドプールを実装する
ステージ間はイベントドリブンで会話する
全体とし...
©SIProp Project, 2006-2008 25
EDA
ESB ( Enterprise Service Bus )
中央にメッセージングバス
メッセージの様々な交換
HTTP 、 SOAP 、 JMS
パブリッシュ&サブスクライブ...
©SIProp Project, 2006-2008 26
EDA
JBI
Java における ESB の標準仕様
NMR ( Normalized Message Router )が中央にいて、メ
ッセージの送り手を受け手を分離する
JBI ...
©SIProp Project, 2006-2008 27
EDA
ServiceMix
http://servicemix.apache.org/home.html
JBI ( Java Business Integration )の実装
S...
©SIProp Project, 2006-2008 28
雷電
リーチが長いこと
COMET :ほとんどのブラウザが対応
標準的な手法であること
プロトコルハンドリング:公開されておりアプリ
ケーションに非依存でアクセス可能な手法
コネクティ...
©SIProp Project, 2006-2008 29
COMET + SIProp + ServiceMix
雷電
Asterisk
SIProp
COMET
ServiceMix
SIProp
Binding
SIProp
Bindin...
©SIProp Project, 2006-2008 30
デモ見てね(はぁ
と
©SIProp Project, 2006-2008 31
雷電の可能性
マッシュアップによる新しい価値の創出
それが何かは、今は分からない
たとえば、
マルチプロトコル
XMPP ( Jabber )、 SMTP 、 FTP 、 SOAP 、...
©SIProp Project, 2006-2008 32
雷電の裏事情
某ネットワークの不透明性
承認が必要?
利用料は?
⇒ ベストエフォートバージョン
雷電
コンテンツ
  アプリケーション
サーバ
SIProp
サービス制御
出典:沖電...
©SIProp Project, 2006-2008 33
ご静聴ありがとうございました。
<(_ _)>
http://www.siprop.org/
Blog: http://noritsuna.siprop.org/
Upcoming SlideShare
Loading in …5
×

今村さん資料

1,199 views
1,107 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,199
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • という形で進める
  • 2006年スタート。およそ、2年ほどの活動。
  • 今村さん資料

    1. 1. ©SIProp Project, 2006-2008 1 NGN/IMS 時代の Web アプリケーション開 発 クライアント間マッシュアップ用 UA Servlet アプリケーションサーバ 「雷電」の紹介とデモ SIProp プロジェクト
    2. 2. ©SIProp Project, 2006-2008 2 自己紹介 氏名:今村謙之(いまむらのりつな) 年齢: 29 歳+ 15 ヶ月 IT 業界歴:約 7 年 SIP 歴:約 5 年 得意言語: Java 、 C 得意分野: SIP 、ネットワーク層 (開発~運用、セキュリ ティー) 特記事項: PC サーバ タワー 8 台運営中 ( 自宅にて )
    3. 3. ©SIProp Project, 2006-2008 3 Agenda SIProp プロジェクトとは 各種プロジェクト概要 雷電 背景 設計 ターゲット
    4. 4. ©SIProp Project, 2006-2008 4 SIProp プロジェクト解説編
    5. 5. ©SIProp Project, 2006-2008 5 SIProp プロジェクトとは 「メディア ( 通信媒体 ) の世界を広げ る」 という使命の元、 SIP の汎用セッションプロトコル という 特性に注目し、この特性を生かした OSS アプリを 提案・開発するプロジェクト
    6. 6. ©SIProp Project, 2006-2008 6 プロジェクト一覧 SIProp Ver.2.0 B2BUA フレームワーク 雷電 後述 P2P SIP 実装実験プロジェクト SIP を P2P 的に使う場合、 IETF の P2PSIP とは、別物。 HOTARU プロジェクト IMS/SIPv6 参照実装開発プロジェクト with WIDE プロジェクト 俺流プロトコル実装入門 プロトコル実装解説書
    7. 7. ©SIProp Project, 2006-2008 7 何がやりたいのか? SIP とは? 上位にある様々なネットワーク・アプリケーショ ンのためにセッションの管理を行うための「汎用 セッション・プロトコル」 現状では? IP 電話に付随する通信プロトコルとしての「シ グナリング・プロトコル」 ⇒ 汎用セッション・プロトコルとしての SIP の 復権
    8. 8. ©SIProp Project, 2006-2008 8 なぜ、セッション・プロトコルを? 無線ネットワークのオープン化 携帯できる無線デバイス (≠ 携帯電話 ) の登場 WiMAX やらフェムトセルやらの盛り上がり Android や iPhone SDK の登場 端末の解放が見えてきた アドホックなネットワークの出現 確実にネットワーク接続されているとは限らない し、局所的なデータ処理だけできればよい 車車間通信による、事故の回避用のデータなど  ⇒ノード間 ( クライアント間 ) の通信となるた め、セキュリティーが重要!!!
    9. 9. ©SIProp Project, 2006-2008 9 想定する層関係 アプリケーション 層 セッション層 トランスポート層 ネットワーク層 アプリケーションのための機能を提 供する NGN+IMS の「アプリケーション基盤」に相当 セッション管理や認証、パーミッ ションを提供する NGN+IMS の「サービス・ストラタム」に相当 Peer やリソースへのリーチャビリ ティーを提供する NGN+IMS の「トランスポート・ストラタム」に相 当 ネットワークを提供する NGN+IMS の「各アクセス網」に相当
    10. 10. ©SIProp Project, 2006-2008 10 いいたいことを! SIProp 勉強会 プロトコル屋やネットワーク屋が、しゃべ る機会がない!!! 愚痴を言う機会ともいう (; _ A^ ^ アセアセ・・ ・ 月に一回のペースで開催中 次回は明日!一言言いたい人は、是非! ATL Systems 社さん (in 新宿 ) が、会場を無償提供 P2P SIP 勉強会 ネットワークについて、一言物申す勉強会 詳細は、こちらへアクセス! http://www.p2psip.jp/
    11. 11. ©SIProp Project, 2006-2008 11 雷電紹介編
    12. 12. ©SIProp Project, 2006-2008 12 雷電とは? クライアント間マッシュアップ用 B2BUA アプリケーションサーバ VoIP(SIP) と Web(HTTP) をつなぐもの VoIP と Web の相互接続を解決する UA 、 B2BUA ベースフレームワークの 実装 クライアント間マッシュアップが可能 SIProp をベースとして実装 オープンソース (Apache License2.0) Java 実装
    13. 13. ©SIProp Project, 2006-2008 13 自己紹介 氏名:鈴木雄介(すずきゆうすけ) 年齢: 32 歳+ 3 ヶ月 IT 業界歴:約 10 年 SIP 歴:約 0.5 年 得意言語: Java 得意分野: Web 、エンタープライズ 特記事項:
    14. 14. ©SIProp Project, 2006-2008 14 宣言 B2BUA ってなんやねん VoIP カンファレンスですが、普通に Web アプ リエンジニアとして話します なので、 VoIP 業界では言ってはいけなそう なことについても KY なので、よろしくです
    15. 15. ©SIProp Project, 2006-2008 15 雷電の背景 Web アプリエンジニアにとって音声は聖域 電話と Web のすれ違い プロトコル ステートレスな HTTP とステートフルな SIP アプリケーション Click2Call は電話クライアントをブラウザに埋め込んでい るだけ。アプリが融合しているわけではない CTI ( Computer Telephony Integration )は、プロダクトとし て完成されすぎ。 エンジニア 「それ、ベストエフォート?」 「 SIP って音質どーなんすか?」
    16. 16. ©SIProp Project, 2006-2008 16 電話の未来 電話はなくならない。もちろん Web も どうやって融合していくかがテーマ < 2005 年通信販売における受注メディア比率(複数回答可)>
    17. 17. ©SIProp Project, 2006-2008 17 雷電が生まれた背景 どうすれば電話と Web は融合できるのか マルチコンタクトセンターは CTI の延長に過ぎな い もっとオープンに、もっと自由に可能性を追 求するためのプラットフォームが必要 プラットフォームに求められること リーチが長いこと 標準的な手法であること コネクティビティが高いこと
    18. 18. ©SIProp Project, 2006-2008 18 雷電 雷電を実現する 3 つの技術 COMET プロトコルハンドリング EDA
    19. 19. ©SIProp Project, 2006-2008 19 COMET Ajax 通信と画面の描画を 非同期に実行するこ とで、通信時間を意 識させないようなア プリケーションを構 築できる http://adaptivepath.com/ideas/essays/archives/000385.php
    20. 20. ©SIProp Project, 2006-2008 20 COMET クライアントから のリクエストを返 却せずに保持し、 サーバ側でイベン トが発生するたび にデータを返却す る 擬似的なサーバプ ッシュを実現 ブラウザがあれば 、対応可能 http://ajaxian.com/index.php?s=alex+russel+interview&searchbutton=Go
    21. 21. ©SIProp Project, 2006-2008 21 COMET NIO サーバ側でリクエスト にスレッドを割り当て てしまうとリソースの 無駄が発生する そこでイベントが発生 しない限りはリクエス トを保留キューにいれ てスレッドは共用する 今回は Apache Tomcat 6 で実現 http://d.hatena.ne.jp/brazil/20050921/1127284397
    22. 22. ©SIProp Project, 2006-2008 22 プロトコルハンドリング プロトコルのハンドリング ク ラ イ ア ン ト ク ラ イ ア ン ト サー バ サー バ プロキ シ B2BUA SBC イベント ハンドリン グ イベント ハンドリン グ イベント ハンドリン グ イベント ハンドリン グ (ry SIProp
    23. 23. ©SIProp Project, 2006-2008 23 EDA ( Event-Driven Architecture ) イベントを通じて Sender と Receiver を分離 Identity と Location も分離 コンポーネント間の疎結合を実現 Channel Channel Channel Channel ChannelChannel EDA EventEvent Generator Event Generator Event processing engine Event processing engine Service Event Service Event
    24. 24. ©SIProp Project, 2006-2008 24 EDA SEDA ( Staged Event-Driven Architecture ) ステージに区切ってスレッドプールを実装する ステージ間はイベントドリブンで会話する 全体としてのスループットが調整可能になる http://www.usenix.org/events/usits03/tech/full_papers/welsh/welsh_html/index.html
    25. 25. ©SIProp Project, 2006-2008 25 EDA ESB ( Enterprise Service Bus ) 中央にメッセージングバス メッセージの様々な交換 HTTP 、 SOAP 、 JMS パブリッシュ&サブスクライブ、 ストアフォワードメッセージ、ル ーティング 同期、非同期 http://msdn2.microsoft.com/en-us/library/bb220799.aspx?ref=videoara.in
    26. 26. ©SIProp Project, 2006-2008 26 EDA JBI Java における ESB の標準仕様 NMR ( Normalized Message Router )が中央にいて、メ ッセージの送り手を受け手を分離する JBI と ServiceMix by 丸山不二夫 
    27. 27. ©SIProp Project, 2006-2008 27 EDA ServiceMix http://servicemix.apache.org/home.html JBI ( Java Business Integration )の実装 SEDA を実装した ESB エンジン
    28. 28. ©SIProp Project, 2006-2008 28 雷電 リーチが長いこと COMET :ほとんどのブラウザが対応 標準的な手法であること プロトコルハンドリング:公開されておりアプリ ケーションに非依存でアクセス可能な手法 コネクティビティが高いこと EDA :モジュールを疎結合に保ったまま連携可能
    29. 29. ©SIProp Project, 2006-2008 29 COMET + SIProp + ServiceMix 雷電 Asterisk SIProp COMET ServiceMix SIProp Binding SIProp Binding ③ 電話 ④ ルーティング ⑤ プロトコル  ハンドリング ⑥ イベント ジェネレート ⑦ イベントプロセッシング ① 接続 ② 保持 ⑤ 着信 ⑧ イベント通知 ⑨ イベント通知
    30. 30. ©SIProp Project, 2006-2008 30 デモ見てね(はぁ と
    31. 31. ©SIProp Project, 2006-2008 31 雷電の可能性 マッシュアップによる新しい価値の創出 それが何かは、今は分からない たとえば、 マルチプロトコル XMPP ( Jabber )、 SMTP 、 FTP 、 SOAP 、 XML 、 JM S マルチアプリケーション PBX 、ケータイ、動画、 GIS 、エンタープライ ズ、 Web2.0 マルチタレント 電話、 Web 、デザイナ、スーツ
    32. 32. ©SIProp Project, 2006-2008 32 雷電の裏事情 某ネットワークの不透明性 承認が必要? 利用料は? ⇒ ベストエフォートバージョン 雷電 コンテンツ   アプリケーション サーバ SIProp サービス制御 出典:沖電気 千村様公開プレゼン資料よ り
    33. 33. ©SIProp Project, 2006-2008 33 ご静聴ありがとうございました。 <(_ _)> http://www.siprop.org/ Blog: http://noritsuna.siprop.org/

    ×