JWebSocket
This presentation is the property of its rightful owner.
Sponsored Links
1 / 31

jWebSocket as Enterprise Middleware PowerPoint PPT Presentation


  • 120 Views
  • Uploaded on
  • Presentation posted in: General

jWebSocket as Enterprise Middleware. jWebSocket – The Real-time Communication and Messaging Framework. Alexander Schulze Founder jWebSocket CEO Innotrade GmbH Herzogenrath, Germany. DWX Developer Week June, 25th 2013 NCC Ost , Nürnberg. Today‘s Session. Agenda

Download Presentation

jWebSocket as Enterprise Middleware

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Jwebsocket as enterprise middleware

jWebSocketas Enterprise Middleware

jWebSocket – The Real-time Communication and Messaging Framework

Alexander Schulze

Founder jWebSocket

CEO Innotrade GmbHHerzogenrath, Germany

DWX Developer Week

June, 25th 2013

NCC Ost, Nürnberg


Today s session

Today‘s Session

Agenda

  • jWebSocket as Middleware,Communication and Messaging

  • Architectures and Integration

  • Security and Performance

  • Demos (ExtJS, jQuery Mobile)

  • Discussion, Questions and Answers

jWebSocket as Enterprise Middleware


Middleware

Middleware

Message Oriented Middleware (MOM)

  • Separate Software-Level,Decoupling of Apps and Services

  • Intermediate and Support forDistributed Applications

  • Service Oriented Architectures

  • Message Queue, Transactions,Persistence and Durability

jWebSocket as Enterprise Middleware


Communication messaging

Communication & Messaging

Java

Perl

.NET

Browser

Android

iOS

Java

Browser

JMS

STOMP

AMQP

WebSocket

WebSocket

WebSocket

WebSocket

WebSocket

OpenWire

STOMP

AMQP

WebSocket

jWebSocket Server

Message Broker ( ActiveMQ )

Filesys.

JDBC

SMTP

Application

ERPSystem

MessagePersistence DB

ServiceHost

FileServer

DatabaseServer

MailServer

jWebSocket as Enterprise Middleware


Status of web communication

Status of Web Communication

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

jWebSocket as Enterprise Middleware


Jwebsocket as enterprise middleware

WebSockets - Technology

WebSocket Protocol

  • Permanent TCP connections, bidirectional, full-duplex 4oo times less overhead⅓ of latency

  • Standardized in HTML5 by W3C and IETF protects investments

  • Single TCP Port saves 50% server resources

jWebSocket as Enterprise Middleware


Jwebsocket as enterprise middleware

WebSockets - Technology

WebSocket Protocol

  • No Rules for Content Text/Binary Frames, Chunking/Compression Encryption (SSL/TLS)

  • No Limits for Formats/Sub-Protocols JSON, XML, CSV, Map, Object…

  • No Restrictions for Processing Responsible for Logic, Security

jWebSocket as Enterprise Middleware


Jwebsocket as enterprise middleware

WebSockets - Technology

Compared with HTTP

quicker

cheaper

more portable

jWebSocket as Enterprise Middleware


Jwebsocket as enterprise middleware

jWebSocket - Online Collaboration

  • Experience the Performance!Share a Whiteboardlive in this Session!

    • Click our Demo

  • http://jwebsocket.org/dwx_sw

25.06.2013

jWebSocket as Enterprise Middleware


Jwebsocket as enterprise middleware

WebSockets - Technology

Technology-State?

  • Available on allBrowsers (RFC 6455),Fallbacks for older ones

  • Available on all Platforms,continuously extended

  • Java, C# and Python

  • New: STOMP over WebSockets & jWebSocket JMS Gateway

jWebSocket as Enterprise Middleware


Jwebsocket integration

jWebSocket - Integration

Tool-Support?

Closed Integration into existing Frameworks

25.06.2013

jWebSocket as Enterprise Middleware

11


Jwebsocket as enterprise middleware

jWebSocket - Integration

Integration ofRealtime-Comm.into Sencha ExtJS Check out our Demo

  • http://jwebsocket.org/dwx_ej

25.06.2013

jWebSocket as Enterprise Middleware

12


Jwebsocket as enterprise middleware

jWebSocket - Integration

  • Sencha/ExtJS Integration

  • Integration of WebSockets intoexisting Sencha/ExtJS-Applications

  • Replaces AJAX/XHR-Proxy by jWebSocket-Proxy

  • Worldwide Data Synchronization in Realtime

  • jWebSocket and Sencha/ExtJS as Basisfor Online-Collaboration

25.06.2013

jWebSocket as Enterprise Middleware

13


Jwebsocket plug ins

jWebSocket - Plug-ins

jWebSocket Plug-ins (Open Source, Apache 2 Licence)

  • Models: Channels, Events, JMS, MQ with STOMP, AMQP

  • Interfaces: JDBC, SMTP, SMS, CGI, Scripting (JavaScript)

  • Security: Quota, Captcha, Filters, Spring Auth, SSO, SSL/TLS

  • Remote Procedure Calls: C2S-, S2C- and C2C-RPCs

  • Sharing: Data Persistence/Synchronization and Filesharing

  • Social: Chat, Twitter, Instant Messaging (XMPP)

  • Administration: JMX, Logging, Statistics, Monitoring, Reporting, Clustering

jWebSocket as Enterprise Middleware


Jwebsocket as enterprise middleware

WebSockets - Technology

WebSocket Summary

  • Designed for highly interactiveWeb Applications, high level of freedom

  • Supports stationary & mobile,browser based & native apps

  • Not just a protocol, but a new paradigmRequest/Response Real-Time Comm.

  • Perfect Basis for Low-LatencyCommunity and Enterprise Middleware

jWebSocket as Enterprise Middleware


Jwebsocket as enterprise middleware

Middleware - Goals

Demand from Developers, Providers and Users

  • CompatibilityInteroperability

  • IndependencyIntegratability

  • ReliabilitySecurity

jWebSocket as Enterprise Middleware


Jwebsocket as enterprise middleware

Middleware - Goals

Demand from Developers, Providers and Users

  • AvailabilityScalability

  • ExtendabilityFlexability

  • SimplicityMaintainability

jWebSocket as Enterprise Middleware


Jwebsocket as enterprise middleware

jWebSocket - Middleware

jWebSocket Middleware

  • Combining Real-Time Communicationwith Message Queuing

  • Integration: Web Frameworks, Devices, Clients, Servers, Services

  • Abstraction: Tokens, Plug-Ins, Apps

  • Decoupling: Interfaces

  • Security: Roles, Filters, Quotas, Encryption

jWebSocket as Enterprise Middleware


Middleware queues topics

Middleware - Queues/Topics

Queues and Topics

  • Queues forPoint-2-PointConnections

  • Topics for Publish/SubscribeEnvironments

Producer

Consumer

Producer

Consumer

Queue

Producer

Consumer

Producer

Consumer

Producer

Consumer

Producer

Consumer

Topic

Producer

Consumer

Producer

Consumer

jWebSocket as Enterprise Middleware


Middleware selectors advisory

Middleware - Selectors/Advisory

Message Selectors

  • Source-Id und Target-Id(z.B. targetId = “JDBCService“)

    Advisory Topics

  • Connect / Disconnect(Service Availability)

  • Message Expiration

  • No Cosumer Listening

  • Further Destination Policies

ProducersourceId = 1

ConsumertargetId = 1

ProducersourceId = 2

ConsumertargetId = 2

Topic

ProducersourceId = 3

Consumer

targetId = 3

Messagewith sourceId = 3and targetId = 2

ProducersourceId = 4

ConsumertargetId = 4

EndPointendPointId = 1

P

EndPointendPointd = 3

P

C

C

Topic

EndPointendPointId = 2

EndPointendPointId = 4

P

P

C

C

jWebSocket as Enterprise Middleware


Middleware persistence durability

Middleware - Persistence/Durability

Message Persistence & Durability

  • Acknowledge & Auto Acknowledge

  • ExpirationOption Notification via Advisory-Topic

  • Persistence:„Survive a Broker Restart“

  • Durable Subscriptions„Survive a Endpoint Restart“

jWebSocket as Enterprise Middleware


Middleware persistence durability1

Middleware - Persistence/Durability

Message Persistence & Durability

  • Acknowledge & Auto Acknowledge

  • ExpirationOption Notification via Advisory-Topic

  • Persistence:„Survive a Broker Restart“

  • Durable Subscriptions„Survive a Endpoint Restart“

jWebSocket as Enterprise Middleware


Middleware messaging demo

Middleware - Messaging Demo

Live Slideshow

  • A typical Topic Messaging Application

  • One or multiple Producers:„The Presenters“

  • Many Consumers:„The Audience“

    http://jwebsocket.org/dwx_aw

jWebSocket as Enterprise Middleware


Jwebsocket jms gateway

jWebSocket - JMS Gateway

Web-Browser

Java

Perl/Ruby/..

.NET App

Web-Browser

JMS

STOMP

AMQP

JavaScript

JavaScript

OpenWiretcp://host:61616

WebSocketws://host:8787

STOMPstomp://host:61613

AMQPstomp://host:5672

STOMP over WebSocketsws://host:61614

Message Broker (Active MQ)

JMS Gateway

jWebSocket Server

Filesys.

JDBC

SMTP

...

FileServer

DatabaseServer

MailServer

jWebSocket as Enterprise Middleware


Jwebsocket as enterprise middleware

jWebSocket - Abstraction

Tokens (Abstraction)

  • Endpoints are stupid

  • Common languageto understand messages

  • DataformatsJSON, XML or CSV

  • Solution:Abstract Data Objects, in jWebSocket Token

Endpoint

Endpoint

Browser

Native Client

STOMP

JMS

WebSocket

WebSocket

CSV

JSON

JSON

XML

JMS Gateway

jWebSocketEngines

CSV

JSON

JSON

XML

Message Abstraction Layer( Token-Processors, extendable )

Token

Message Security Layer( Token-Filters, extendable )

jWebSocketCore

App

App

App

Plug-in

Plug-in

Plug-in

jWebSocket as Enterprise Middleware


Stomp over websockets

STOMP over WebSockets

  • Simple Text Oriented Messaging Protocol

  • Clients for...Ruby, Perl, C, C++, C#, .Net, Flash, Delphi, Java, Objective C,Python, PHP, JavaScript

  • STOMP over WebSocketsThanks to Jeff Mesnil and Jeff Lindsayhttp://jmesnil.net/stomp-websocket/doc/

jWebSocket

Perl

Browser

JMS Gateway

STOMP

WebSocket

OpenWire/JMStcp://host:61616

STOMP stomp://host:61613

STOMP over WebSocketsws://host:61614

JMS

AMQP

STOMP

WebSocket

Active MQ

MessagePersistence DB

jWebSocket as Enterprise Middleware


Middleware security

Middleware - Security

Security Instances

  • EncryptionTransport encryption via SSL/TLS

  • AuthenticationAgainst the Broker, many sources (LDAP, JAAS, JDBC, XML … )

  • Authorization for QueueRoles for Read, Write and Administration

  • Message Level AuthorizationRouting Permissons, Validation of ContentMessageAuthorizationPolicy, isAllowedToConsume

  • More sophisticated mechanims via plug-insSecurity Instances decoupled from Applications

jWebSocket as Enterprise Middleware


Jwebsocket as enterprise middleware

jWebSocket - Security

jWebSocket Security

  • Encryption SSL/TLS

  • ws:// and wss://

  • Inbound/Outbound Filter

  • Role based Authenticationand Authorization with Spring Security

  • Quotas and Captchas

WebSocket Client / JMS Endpoint

Token

In Custom-/Admin Filter Out

Administrator

In System-Filter Out

Plug-ins (Chain)

jWebSocket Server

Authentication

& Authorization

jWebSocket as Enterprise Middleware


Jwebsocket as enterprise middleware

Middleware - Scaling

Middleware Scaling

failover (tcp:host1,tcp:host2)

failover (tcp:host1,tcp:host2)

JMS Service

JMS Client

Active MQ

Active MQ

JMS Queues/Topics

Cluster

Gateway

Message Persistence Database Cluster

Web Client

jWebSocket

jWebSocket

FileServer

MailServer

Database

Server/Cluster

jWebSocket as Enterprise Middleware


Jwebsocket as enterprise middleware

jWebSocket as Middleware

Summary

  • WebSocket replaces HTTP Higher Speed & User Experience

  • jWebSocket integrates Web Frameworks Simple & Rapid Implementation

  • Messaging for Reliability & Scalability Higher Availability & Security for Services

    Middleware Solution for Community & Enterprises

jWebSocket as Enterprise Middleware


Jwebsocket as enterprise middleware

Thankyouforyourattention!

Questions & Answers

Alexander [email protected]

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

jWebSocket as Enterprise Middleware


  • Login