SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
HTML5




          HTML5, WebApplications 2




                      とくなが たかひさ ( id : totty_jp )

<html>5
i.                .
        名前   :   徳永 貴久
        所属   :   EC-One
        業務   :   SE or PG (Java, Ruby, Flex, etc...)
        性別   :   ♂
        年齢   :   そのくらいです。

        blog : http://d.hatena.ne.jp/totty_jp/
        twitter : totty_jp




<html>5
ii.
      今日は、Web Sockets API
          サーバーPush型
          リアルタイム型
          普通のWeb
          現行のHttpプロトコルを利用した全てに適用できる!?

      メリットの高そうな利用用途
          西鉄バス位置情報サービス
          モバイル端末向けのデータサービス




<html>5
iii. Indexed Database API
      実装されたブラウザが・・・
          K/V型のデータストア(+ index)
          検証できる環境が出来るまでご容赦




<html>5
iv. Web Sockets API
      クライアントとサーバとの双方向通信を実現
          永続的な接続ができる(コネクション張りっぱなし)
           リソース的には、都度、コネクションを張ってヘッダを付与したやり
           とりよりECOな感じ
           リソース的に負荷は、コネクションを接続する際に多く必要とする為


          双方向にデータの送信できるということは・・
           サーバー <=> クライアント
           クライアント <=> クライアント
           サーバー <=> サーバー
           クライアント <=> サーバー <=> クライアント

          HTTPの拡張プロトコル
           ただし、永続なので、クローズ処理は、明示的に行う必要がある



<html>5
iv. Web Sockets API
      Ajax
          サーバーとの通信をポーリングし、そのポーリング期間でメッ
          セージが配信される
          ポーリング期間中、都度サーバーと接続する為リソースの消費が
          多い

      Commet
          プッシュ方式だが、永続的な接続には、煩雑な作業が必要になる
          2つのHTTP接続を使って、双方向通信が実現できる

      Web Sockets
          1つのソケットで、双方向通信が実現できる
          サーバー×クライアント間で、UTF-8なら変換が不要


<html>5
iv. Web Sockets API
      対応ブラウザ
          Google Chrome
          Firefox
          Safari
          ?

      対応サーバー(ソフトウェア)
          Kaazing
              MinaというフレームワークでJava実装サーバー
          Jetty
              Java純正サーバー
          apache(pywebsocket)
              Python向け組み込み型モジュール

      利用ポート(Httpと同じ)
          80番
              default port
          443番
              secure port


<html>5
iv. Web Sockets API
      Web Sockets Interface
          Constractor
              var ws = new WebSocket(url, protocol)
                      ws://domain/hello    ⇒   平文通信 80ポート
                      wss://domain/hello   ⇒   暗号化通信 413ポート
          EventHandler
              ws.onopen
                      通信開始イベント
              ws.onclose
                      通信終了イベント
              ws.onmessage
                      メッセージの受信イベント
          Method
              ws.send(“Hello WebSocket”)
                      メッセージの送信
              ws.close()
                      通信終了
          Attribute
              URL
                      WebSocketに渡されたURLの解決した結果
              readyState
                      CONNECTING = 0 ・・・ コネクションは確立されていない
                      OPEN       = 1 ・・・ コネクションは確立されている(通信可能)
                      CLOSED    = 2 ・・・ コネクションは閉じている
              bufferedAmount
                      まだ、送信されていないデータ(メッセージ)のバイト数

<html>5
iv. Web Sockets API
      Demo




<html>5
iv. Web Sockets API
      Sample
          websocketSample.html
          <script>
             var ws = new WebSocket("ws://localhost:81");
             ws.onopen = openConnection;
             ws.onclose = closeConnection;
             ws.onmessage = recieveMsg;
             window.onunload = closeConnection;

             function openConnection() { //null }
             function closeConnection() { ws.close(); }
             function recieveMsg(evt) {
                 log("message receive -> ", evt.data);
             }
             function sendMsg() {
               var msg = document.getElementById("msg").value;
               ws.send(msg);
             }
          </script>


<html>5
iv. Web Sockets API
      Sample
          websocketSample.html(続き)
          <body>
             <section>
               <h2>Web Socket Demo</h2>
               <div>
                 <table>
                   <tr>
                     <th>Mesaage</th>
                     <th colspan="2">&nbsp;</th>
                   </tr>
                   <tr>
                     <td><input type="text" id="msg"></td>
                     <td><button onClick="sendMsg()">    </button></td>
                   </tr>
                 </table>
                 <table id="logTable"></table>
               </div>
             </section>
           </body>

<html>5
v. それで。。
      それで。。
      前回は、ネットワーク世界のonline/offlineに不可欠となる
      技術として、HTML5のオフラインキャッシュ機能の紹介
      でした。

      今回は、ネットワーク負荷が低くリアルタイム性のある
      Web Sockets 機能の紹介でした。

      この二つの機能と、他のHTML5によってWebの世界では、
      また一つ革新的な時代を迎えるだろうと考えています。




<html>5

Mais conteúdo relacionado

Mais procurados

日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
博文 斉藤
 
Janogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshiJanogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshi
Keisuke Ishibashi
 
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
Sho Shimizu
 
Webアプリケーションの無停止稼働
Webアプリケーションの無停止稼働Webアプリケーションの無停止稼働
Webアプリケーションの無停止稼働
Kazuho Oku
 

Mais procurados (20)

これから利用拡大?WebSocket
これから利用拡大?WebSocketこれから利用拡大?WebSocket
これから利用拡大?WebSocket
 
再入門、サーバープッシュ技術
再入門、サーバープッシュ技術再入門、サーバープッシュ技術
再入門、サーバープッシュ技術
 
Varnish
VarnishVarnish
Varnish
 
Tiny server
Tiny serverTiny server
Tiny server
 
Study2study3 nslope
Study2study3 nslopeStudy2study3 nslope
Study2study3 nslope
 
第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理
第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理
第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理
 
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
 
第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村
 
Clack meetup #1 lt
Clack meetup #1 ltClack meetup #1 lt
Clack meetup #1 lt
 
Janogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshiJanogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshi
 
Web packaging IETF 側
Web packaging IETF 側Web packaging IETF 側
Web packaging IETF 側
 
私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか 私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか
 
How To Drink Wsgi
How To Drink WsgiHow To Drink Wsgi
How To Drink Wsgi
 
Nodejsによるwebsocket入門
Nodejsによるwebsocket入門Nodejsによるwebsocket入門
Nodejsによるwebsocket入門
 
Firefox OS and Web server
Firefox OS and Web serverFirefox OS and Web server
Firefox OS and Web server
 
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
 
WebSocketでリアルタイム通信 (第13回学生LT資料)
WebSocketでリアルタイム通信 (第13回学生LT資料)WebSocketでリアルタイム通信 (第13回学生LT資料)
WebSocketでリアルタイム通信 (第13回学生LT資料)
 
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
 
Webアプリケーションの無停止稼働
Webアプリケーションの無停止稼働Webアプリケーションの無停止稼働
Webアプリケーションの無停止稼働
 
Nko
NkoNko
Nko
 

Semelhante a Html5, Web Applications 2

JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要
Shumpei Shiraishi
 
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るnode+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作る
Kiyoshi SATOH
 
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
Yoshifumi Kawai
 
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript APIHTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
Yosuke HASEGAWA
 
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうChromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそう
mganeko
 

Semelhante a Html5, Web Applications 2 (20)

JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要
 
Clrh 110716 wcfwf
Clrh 110716 wcfwfClrh 110716 wcfwf
Clrh 110716 wcfwf
 
WebSocket + Node.jsでつくるチャットアプリ
WebSocket + Node.jsでつくるチャットアプリWebSocket + Node.jsでつくるチャットアプリ
WebSocket + Node.jsでつくるチャットアプリ
 
Gaeja20121130
Gaeja20121130Gaeja20121130
Gaeja20121130
 
SlackのIncomingWebhooksとOutgoingWebhooksを使って電子工作と連携させてみよう
SlackのIncomingWebhooksとOutgoingWebhooksを使って電子工作と連携させてみようSlackのIncomingWebhooksとOutgoingWebhooksを使って電子工作と連携させてみよう
SlackのIncomingWebhooksとOutgoingWebhooksを使って電子工作と連携させてみよう
 
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
 
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
 
SocketStream入門
SocketStream入門SocketStream入門
SocketStream入門
 
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るnode+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作る
 
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
 
勉強会資料①
勉強会資料①勉強会資料①
勉強会資料①
 
JavaOne2014報告会資料
JavaOne2014報告会資料JavaOne2014報告会資料
JavaOne2014報告会資料
 
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript APIHTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
 
20120425
2012042520120425
20120425
 
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
 
Web socket and gRPC
Web socket and gRPCWeb socket and gRPC
Web socket and gRPC
 
HTTP入門
HTTP入門HTTP入門
HTTP入門
 
Let's begin WebRTC
Let's begin WebRTCLet's begin WebRTC
Let's begin WebRTC
 
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうChromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそう
 
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
 

Último

Último (10)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

Html5, Web Applications 2

  • 1. HTML5 HTML5, WebApplications 2 とくなが たかひさ ( id : totty_jp ) <html>5
  • 2. i. . 名前 : 徳永 貴久 所属 : EC-One 業務 : SE or PG (Java, Ruby, Flex, etc...) 性別 : ♂ 年齢 : そのくらいです。 blog : http://d.hatena.ne.jp/totty_jp/ twitter : totty_jp <html>5
  • 3. ii. 今日は、Web Sockets API サーバーPush型 リアルタイム型 普通のWeb 現行のHttpプロトコルを利用した全てに適用できる!? メリットの高そうな利用用途 西鉄バス位置情報サービス モバイル端末向けのデータサービス <html>5
  • 4. iii. Indexed Database API 実装されたブラウザが・・・ K/V型のデータストア(+ index) 検証できる環境が出来るまでご容赦 <html>5
  • 5. iv. Web Sockets API クライアントとサーバとの双方向通信を実現 永続的な接続ができる(コネクション張りっぱなし) リソース的には、都度、コネクションを張ってヘッダを付与したやり とりよりECOな感じ リソース的に負荷は、コネクションを接続する際に多く必要とする為 双方向にデータの送信できるということは・・ サーバー <=> クライアント クライアント <=> クライアント サーバー <=> サーバー クライアント <=> サーバー <=> クライアント HTTPの拡張プロトコル ただし、永続なので、クローズ処理は、明示的に行う必要がある <html>5
  • 6. iv. Web Sockets API Ajax サーバーとの通信をポーリングし、そのポーリング期間でメッ セージが配信される ポーリング期間中、都度サーバーと接続する為リソースの消費が 多い Commet プッシュ方式だが、永続的な接続には、煩雑な作業が必要になる 2つのHTTP接続を使って、双方向通信が実現できる Web Sockets 1つのソケットで、双方向通信が実現できる サーバー×クライアント間で、UTF-8なら変換が不要 <html>5
  • 7. iv. Web Sockets API 対応ブラウザ Google Chrome Firefox Safari ? 対応サーバー(ソフトウェア) Kaazing MinaというフレームワークでJava実装サーバー Jetty Java純正サーバー apache(pywebsocket) Python向け組み込み型モジュール 利用ポート(Httpと同じ) 80番 default port 443番 secure port <html>5
  • 8. iv. Web Sockets API Web Sockets Interface Constractor var ws = new WebSocket(url, protocol) ws://domain/hello ⇒ 平文通信 80ポート wss://domain/hello ⇒ 暗号化通信 413ポート EventHandler ws.onopen 通信開始イベント ws.onclose 通信終了イベント ws.onmessage メッセージの受信イベント Method ws.send(“Hello WebSocket”) メッセージの送信 ws.close() 通信終了 Attribute URL WebSocketに渡されたURLの解決した結果 readyState CONNECTING = 0 ・・・ コネクションは確立されていない OPEN = 1 ・・・ コネクションは確立されている(通信可能) CLOSED = 2 ・・・ コネクションは閉じている bufferedAmount まだ、送信されていないデータ(メッセージ)のバイト数 <html>5
  • 9. iv. Web Sockets API Demo <html>5
  • 10. iv. Web Sockets API Sample websocketSample.html <script> var ws = new WebSocket("ws://localhost:81"); ws.onopen = openConnection; ws.onclose = closeConnection; ws.onmessage = recieveMsg; window.onunload = closeConnection; function openConnection() { //null } function closeConnection() { ws.close(); } function recieveMsg(evt) { log("message receive -> ", evt.data); } function sendMsg() { var msg = document.getElementById("msg").value; ws.send(msg); } </script> <html>5
  • 11. iv. Web Sockets API Sample websocketSample.html(続き) <body> <section> <h2>Web Socket Demo</h2> <div> <table> <tr> <th>Mesaage</th> <th colspan="2">&nbsp;</th> </tr> <tr> <td><input type="text" id="msg"></td> <td><button onClick="sendMsg()"> </button></td> </tr> </table> <table id="logTable"></table> </div> </section> </body> <html>5
  • 12. v. それで。。 それで。。 前回は、ネットワーク世界のonline/offlineに不可欠となる 技術として、HTML5のオフラインキャッシュ機能の紹介 でした。 今回は、ネットワーク負荷が低くリアルタイム性のある Web Sockets 機能の紹介でした。 この二つの機能と、他のHTML5によってWebの世界では、 また一つ革新的な時代を迎えるだろうと考えています。 <html>5