j web socket

22
Boosting Web Communication with WebSockets jWebSocket – The Open Source Solution for Real-Time Web Developers SDC 2011 April 04-05, 2011 Göteborg Convention Centre Göteborg, Sweden Alexander Schulze & Claudia Gillrath Innotrade GmbH, Germany

Upload: hiroshi-ochi

Post on 16-Apr-2017

2.485 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: J web socket

Boosting Web Communicationwith WebSockets

jWebSocket – The Open Source Solution for Real-Time Web Developers

SDC 2011April 04-05, 2011

Göteborg Convention CentreGöteborg, Sweden

Alexander Schulze & Claudia GillrathInnotrade GmbH, Germany

Page 2: J web socket

Boosting Web Communication with WebSockets 205.04.2011

Follow the presentation at...

http://jwebsocket.org/sdcEnjoy the slides in realtime

driven by WebSockets

Realtime Presentation

Page 3: J web socket

Boosting Web Communication with WebSockets 305.04.2011

Agenda

• Introduction:Status, Technology, Targets

• Use and Benefits vs. http• Models, Migration and Implementation• Solutions, Aspects and Prospects• Discussion

Today's Session

Page 4: J web socket

The Web becomes more and more

Necessity of evolution to a platform for real-time data exchange

WebSocket technology is the fundament

Boosting Web Communication with WebSockets 405.04.2011

Introduction

pervasive interactive social mobile

Page 5: J web socket

Status of Web Communication

Boosting Web Communication with WebSockets 505.04.2011

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

Page 6: J web socket

Boosting Web Communication with WebSockets 605.04.2011

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

Page 7: J web socket

Boosting Web Communication with WebSockets 705.04.2011

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

Page 8: J web socket

Demand from Developers, Providers and Users

• CompatibilityInteroperability

• IndependencyIntegratability

• ReliabilitySecurity

Boosting Web Communication with WebSockets 805.04.2011

WebSockets – Targets

Page 9: J web socket

Demand from Developers, Providers and Users

• AvailabilityScalability

• ExtendabilityFlexibility

• SimplicityMaintainability

Boosting Web Communication with WebSockets 905.04.2011

WebSockets – Targets

Page 10: J web socket

Boosting Web Communication with WebSockets 1005.04.2011

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

Page 11: J web socket

Boosting Web Communication with WebSockets 1105.04.2011

WebSockets – Models

jWebSocket Framework

TCPNIO

JBossNetty

Glass-Fish

EclipseJetty

SystemPlug-in

CustomApp

3rd-PartyApp

CustomPlug-in

jWebSocket Framework

• Replacible Engines• Stand-Alone or

Embedded Operation• Plug-ins and

WebSocket Apps• Completely open

Engines

Plug-ins Apps

Page 12: J web socket

Boosting Web Communication with WebSockets 1205.04.2011

WebSockets – Models

XMLJSON

jWebSocket Tokens

• WebSocket nodes are stupid• Need for a common language

to understand incoming packets• Dataformats

JSON, XML or CSV• Solution: Abstract Data objects,

so called „Tokens“ jWebSocket Framework

Token-Processor

NativeClient

BrowserClient

Page 13: J web socket

Boosting Web Communication with WebSockets 1305.04.2011

WebSockets – Interoperability

jWebSocket Framework

WebSocket Services

WebSocketApps

X-Browser-Compatibility

• Native Support inChrome 4+, FF 4,Safari 5, Opera 11

• Flash-Fallback forIE and older Browsers

• Long-Polling orComet Fallback

Page 14: J web socket

jWebSocket Framework

WebSocket Services

WebSocketApps

Boosting Web Communication with WebSockets 1405.04.2011

WebSockets – Interoperability

X-Platform-Compatibility

• Android (Dalvik VM)• iPad/iPhone (iOS)• Symbian/BlackBerry

(Java ME)• Windows Phone and

Samsung Bada pending

Page 15: J web socket

jWebSocket Security

• SSL-Encryption• wss://[host][:port][/path]...• Authentication & Authorization• Filter & Validation• Virus-Scanning• Spam-Filter & Banning

Boosting Web Communication with WebSockets 1505.04.2011

WebSockets – Models

wss://

jWebSocket Framework

In System-Filter Out

Client

In Custom-Filter Out

Filterchain

Page 16: J web socket

Boosting Web Communication with WebSockets 1605.04.2011

WebSockets – Models

jWebSocket Framework

Collaboration SuiteOnline-Game

Channel 2„WorkTogether“

Channel 1„PlayTheGame“

Player 1 Player 2 Collab.Memb1

Collab.Memb2

jWebSocket Channels

• Publish/SubscribeMechanism

• Private and PublicChannels

• Authentication• Separate Applications

Page 17: J web socket

Boosting Web Communication with WebSockets 1705.04.2011

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

WebSocket –Models

Observ

e

Observer 1( Client )

Observer 2( Client )

ws://or wss://

Observable (Server)

Page 18: J web socket

Boosting Web Communication with WebSockets 1805.04.2011

WebSockets – Models

Synchronization Backbone

Client

Node 3Node 2Node 1

Re-director

LoadBal.

ClientjWebSocket Clusters

• Load-Balancer• Redirector• Backbone simply

WebSocket based• External

Service Nodes

Ext.Serv.Node

Page 19: J web socket

Boosting Web Communication with WebSockets 1905.04.2011

jWebSocket Plug-ins

• JDBC, SMTP, XMPP

• Remote Procedure CallsC2S-, S2C-, C2C-RPCs

• Object-, Filesharing

• Logging, Stats, Admin

• Chat, Stream, Twitter

WebSocket – Plug-ins

JDBC SMTP XMPP RPC ...

Brows.Client

Deskt.Client

CustomClient

Stream Sharing Chat Twitter ...

MobileClient

jWebSocket Framework

Page 20: J web socket

Boosting Web Communication with WebSockets 2005.04.2011

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

Page 21: J web socket

Boosting Web Communication with WebSockets 2105.04.2011

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?

Page 22: J web socket

Questions & AnswersAlexander Schulze

[email protected]

Forum & Download:http://jwebsocket.org, @jWebSocket

Boosting Web Communication with WebSockets 2205.04.2011

Thank you for your attention!