220 likes | 329 Views
Boosting Web Communication with WebSockets. jWebSocket – The Open Source Solution for Real-Time Web Developers. Alexander Schulze & Claudia Gillrath Innotrade GmbH, Germany. SDC 2011 April 04-05, 2011 Göteborg Convention Centre Göteborg, Sweden. Realtime Presentation.
E N D
Boosting Web Communication with WebSockets jWebSocket – The Open Source Solution for Real-Time Web Developers Alexander Schulze & Claudia Gillrath Innotrade GmbH, Germany SDC 2011 April 04-05, 2011 Göteborg Convention Centre Göteborg, Sweden
Realtime Presentation Follow the presentation at... http://jwebsocket.org/sdc Enjoy the slides in realtimedriven by WebSockets Boosting Web Communication with WebSockets
Today's Session Agenda • Introduction:Status, Technology, Targets • Use and Benefits vs. http • Models, Migration and Implementation • Solutions, Aspects and Prospects • Discussion Boosting Web Communication with WebSockets
Introduction The Web becomes more and more Necessity of evolution to a platform for real-time data exchange WebSocket technology is the fundament pervasive interactive social mobile Boosting Web Communication with WebSockets
Status of Web Communication The HTTP Protocol • Designed for document transmission • Cumbersome, nearly real-time tricks • Polling, Long-Polling • Reverse-AJAX, Comet etc. • Ultimately non-standardized hacks • Remains a Request/Response mechanism Boosting Web Communication with WebSockets
WebSockets – Technology What are WebSockets? • Bidirectional, full-duplex, permanent TCP connections 400 times less overhead⅓ of latency • Standardized in HTML5 by W3C & IETF protects investments • Single TCP port saves 50% server resources Boosting Web Communication with WebSockets
WebSockets – Technology What else? • Designed for interactiveWeb Applications • Open for all kind ofstationary and mobilebrowser based and native apps • Not just a protocol, but a new paradigmRequest/Response Real-Time Communication Boosting Web Communication with WebSockets
WebSockets – Targets Demand from Developers, Providers and Users • CompatibilityInteroperability • IndependencyIntegratability • ReliabilitySecurity Boosting Web Communication with WebSockets
WebSockets – Targets Demand from Developers, Providers and Users • AvailabilityScalability • ExtendabilityFlexibility • SimplicityMaintainability Boosting Web Communication with WebSockets
WebSockets – Concept The Concept • Framework vs. Client/Server • 3rd Party Engines and Servers • Message Routing, Stream, Send, Broadcast, Events, Channels • Tokens and Plug-ins • Listeners and Apps • Filters and Encryption Boosting Web Communication with WebSockets
WebSockets – Models jWebSocket Framework • Replacible Engines • Stand-Alone orEmbedded Operation • Plug-ins andWebSocket Apps • Completely open Plug-ins Apps Custom Plug-in 3rd-Party App System Plug-in Custom App jWebSocket Framework TCP NIO Eclipse Jetty Glass- Fish JBoss Netty Engines Boosting Web Communication with WebSockets
WebSockets – Models jWebSocket Tokens • WebSocket nodes are stupid • Need for a common languageto understand incoming packets • DataformatsJSON, XML or CSV • Solution: Abstract Data objects, so called „Tokens“ Browser Client Native Client JSON XML Token-Processor jWebSocket Framework Boosting Web Communication with WebSockets
WebSockets – Interoperability X-Browser-Compatibility • Native Support inChrome 4+, FF 4,Safari 5, Opera 11 • Flash-Fallback forIE and older Browsers • Long-Polling orComet Fallback jWebSocket Framework WebSocket Services WebSocketApps Boosting Web Communication with WebSockets
WebSockets – Interoperability X-Platform-Compatibility • Android (Dalvik VM) • iPad/iPhone (iOS) • Symbian/BlackBerry(Java ME) • Windows Phone andSamsung Bada pending jWebSocket Framework WebSocket Services WebSocketApps Boosting Web Communication with WebSockets
WebSockets – Models jWebSocket Security • SSL-Encryption • wss://[host][:port][/path]... • Authentication & Authorization • Filter & Validation • Virus-Scanning • Spam-Filter & Banning Client wss:// In Custom-Filter Out In System-Filter Out Filterchain jWebSocket Framework Boosting Web Communication with WebSockets
WebSockets – Models jWebSocket Channels • Publish/SubscribeMechanism • Private and PublicChannels • Authentication • Separate Applications Player 2 Collab. Memb2 Player 1 Collab. Memb1 Channel 2 „WorkTogether“ Channel 1 „PlayTheGame“ jWebSocket Framework Collaboration Suite Online-Game Boosting Web Communication with WebSockets
WebSocket –Models jWebSocket Events • Event-Driven Programming using the Observable Pattern • Objects are „observable“ • Clients or other instancesobserve objects andare notified by events • Easy, flexible and effective Observer 1( Client ) Observer 2( Client ) Observe ws://or wss:// Event Observable (Server) Boosting Web CommunicationwithWebSockets
WebSockets – Models jWebSocket Clusters • Load-Balancer • Redirector • Backbone simplyWebSocket based • ExternalService Nodes Client Client Load Bal. Re-director Ext.Serv.Node Node 1 Node 2 Node 3 Synchronization Backbone Boosting Web Communication with WebSockets
WebSocket – Plug-ins jWebSocket Plug-ins • JDBC, SMTP, XMPP • Remote Procedure CallsC2S-, S2C-, C2C-RPCs • Object-, Filesharing • Logging, Stats, Admin • Chat, Stream, Twitter Brows. Client MobileClient Deskt.Client CustomClient jWebSocket Framework JDBC SMTP XMPP RPC ... Stream Sharing Chat Twitter ... Boosting Web CommunicationwithWebSockets
WebSockets – Application Areas Where to use WebSockets? • Chats, Messaging and Mail • Remote Control and Monitoring • Push and Streaming Services, Financial Ticker, Weather, News, Video • Bidirectional Remote Procedure Calls • Sharing Objects, Databases, Files • Uniting Stationary and Mobile Applications Boosting Web Communication with WebSockets
WebSockets – Prospects What is the future of WebSockets? • New Dimension of Online-Collaboration • New Level of Online-Entertainment • New Opportunities for Online-Education • New Social Participation and Contribution What comes to your mind? Boosting Web Communication with WebSockets
Thank you for your attention! Questions & Answers Alexander Schulzea.schulze@jwebsocket.org Forum & Download:http://jwebsocket.org, @jWebSocket Boosting Web Communication with WebSockets