1 / 31

jWebSocket as Enterprise Middleware

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

cyrah
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. WebSockets - Technology Compared with HTTP quicker cheaper more portable jWebSocket as Enterprise Middleware

  9. 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

  10. 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

  11. jWebSocket - Integration Tool-Support? Closed Integration into existing Frameworks 25.06.2013 jWebSocket as Enterprise Middleware 11

  12. 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

  13. 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

  14. 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

  15. 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

  16. Middleware - Goals Demand from Developers, Providers and Users • CompatibilityInteroperability • IndependencyIntegratability • ReliabilitySecurity jWebSocket as Enterprise Middleware

  17. Middleware - Goals Demand from Developers, Providers and Users • AvailabilityScalability • ExtendabilityFlexability • SimplicityMaintainability jWebSocket as Enterprise Middleware

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. Thankyouforyourattention! Questions & Answers Alexander Schulzea.schulze@jwebsocket.org Forum & Download: http://jwebsocket.org, @jWebSocket jWebSocket as Enterprise Middleware

More Related