PDF Print

Kaazing Enterprise Gateway

Kaazing Enterprise Gateway is a cutting-edge, enterprise WebSocket server that enables full-duplex communication from the browser to any TCP-based back-end service (for example, JMS, JMX, IMAP, Jabber, and so on). This simplified architecture allows developers to code directly against back-end services, using JavaScript or technologies such as Adobe Flex and Microsoft Silverlight, which eliminates the need for complex server- and client-side architectures to bridge various protocols to the browser over HTTP.

Developers simply configure Kaazing Enterprise Gateway (to accept and connect to certain hosts and ports, and so on), include a few script tags that can talk directly to the back-end APIs (for example, Apache ActiveMQ JMS over Stomp), and develop their client application, allowing them to maintain focus on what matters most: building applications, rather than reinventing the wheel.

Image

Kaazing Enterprise Gateway Components

Kaazing Enterprise Gateway consists of the following components:

  • Kaazing Gateway - An open source enterprise WebSocket server that enables direct TCP connectivity between browsers and back-end services and is available at kaazing.org

  • Kaazing Protocols - A set of API-specific JavaScript and Adobe Flex libraries that provide protocol implementations (e.g. STOMP, AMQP, XMPP, etc.)

  • Kaazing Gateway Extensions - A set of enterprise-ready extensions for Kaazing Enterprise Gateway

Enterprise HTML 5 WebSocket Architecture

Kaazing Gateway is configured to interpret the emulated or native TCP calls and pass them directly to the TCP-based back-end service (for example, a JMS broker, a database, IMAP server or Instant Messaging Server) At that point, an end-to-end TCP connection is established over which messages can be sent with minimal overhead.


The browser connects directly to the Kaazing Gateway. The use of the Kaazing Protocols libraries directs requests immediately to the Kaazing Gateway. The Kaazing Gateway supports the WebSocket protocol and can emulate WebSocket using two HTTP connections, one for upstream and one for downstream communications. The downstream connection is implemented using the Server-sent events wire protocol, allowing native browser Server-sent events and WebSocket implementations to be used as they are made available in future browser releases.

Setting up Kaazing Enterprise Gateway in an enterprise topology is not much different from the simple setup shown in the above figure. Kaazing Enterprise Gateway TCP connections seamlessly traverse firewalls and proxy servers between the different enterprise tiers, ensuring that message delivery guarantees are maintained.

Additional hardware load-balancing routers and additional Kaazing Gateways can be configured for high availability and failover.

Kaazing Enterprise Gateway Features

The following are the key features of Kaazing Enterprise Gateway:

  • Reliability - Message delivery from back-end systems and services is guaranteed all the way from the server to the browser and vice versa in the same way that the HTML 5 Specification guarantees TCP message delivery natively.

  • Standards-Compliance - The current implementation of Kaazing Enterprise Gateway is based on the HTML 5 standard. Once browsers support full-duplex connectivity, per the HTML 5 specification, there is no need to change any server or client code; applications will automatically take advantage of the native implementations of HTML 5's Server-sent events and WebSocket with improved performance.

  • Binary and Text-Based Protocol Support-While the JavaScript WebSocket specification only supports text-based protocols, the Kaazing Enterprise Gateway also supports binary protocols, enabling raw TCP communication between client and server.

  • Scalability-Kaazing Gateway is stateless and therefore scales quite easily to enormous amounts of concurrent users. Kaazing Gateway runs separately from the application logic, which eliminates resource competition between applications.

  • Performance - HTTP is a request and response-driven protocol, whereas TCP is centered around the reliable delivery of message data. With each HTTP request and response, header information is sent, which is an unnecessary overhead. This overhead is virtually eliminated by the Kaazing Gateway, which favors TCP-based traffic.

  • Low Latency - With no need to contact server systems through custom Servlets and application server logic, the browser can now send binary data packages and receive an immediate response.

  • Enterprise-Ready - Network proxy servers and firewalls are not a problem, because the Kaazing Gateway automatically reconnects in case a request is broken, guaranteeing message delivery. All connectivity is client-initiated, enabling the seamless traversal of firewalls and proxy servers. Additionally, Kaazing's emulation layer automatically honors the browser's proxy settings, elimination potential problems with connections that must pass through a Web proxy server.

  • Protocol Validation Support - The Kaazing Protocol Validator extension verifies that bytes passing through the Kaazing Gateway match expected protocol wire formats to prevent any buffer overrun attacks on back-end servers.

  • Cross-Browser Support - Kaazing Enterprise Gateway supports all major browsers (Firefox version 1.5 and higher, Internet Explorer version 5.5 and higher, Safari 3.0 and higher, Google Chrome 0.2 and higher).

  • Internet Explorer 5.5+
  • Firefox 1.5+
  • Safari 3.0+
  • Google Chrome 0.2+
 



Copyright © 2007, Kaazing Corporation. All rights reserved.