Advanced Message Queuing Protocol. An open standard for messaging middleware that was originally designed by the financial services industry to provide an interoperable protocol for managing the flow of enterprise messages. To guarantee messaging interoperability, AMQP 0-9-1 defines both a wire-level protocol and a model — the AMQP Model — of messaging capabilities.
Android is an SDK that is used for the development and deployment of Java-based Android applications (applications that run on the Android platform). The Android SDK includes a set of user interface components that you can use to build a rich Internet application (RIA), such as lists, grids, and text boxes.
The mechanism by which a system identifies a user and verifies whether or not the user really is who he represents himself to be. To start the authentication process, the Gateway issues a standard challenge using the HTTP 401 Authorization Required code. The browser or client then responds by providing the requested authentication information.
The mechanism by which a system determines what level of access a particular user has. Even after a user is successfully authenticated for general access, the user is not necessarily entitled to perform any operation. Access rights are typically stored in the policy store that is associated with the application.
An entity that issues certificates. In practice, a CA is a server running a certificate service that processes certificate requests and performs certificate validation and revocation. In a PKI, there is a single root CA and one or more subordinate CAs.
Client ID (sometimes referred to as front-end client ID) is the identifier set by the client application on its JMS Connection. The client ID is set by calling one of the StompConnectionFactory.createConnection methods that takes a clientID parameter, or you can configure Kaazing WebSocket Gateway to set the client ID automatically.
Web-based communication where a server pushes data to a browser or client without an explicit request from the browser. Comet is not an official standard, but rather an umbrella term for push technology that is used in Ajax web applications. It is also known as "Reverse Ajax."
The HTML5 standard includes Cross Origin Resource Sharing (CORS) that makes it possible to safely share and move data across domains. Prior to CORS, web browsers abided by the same-origin policy that restricted user access to documents within the same origin. With CORS, you can build web applications to access documents and services in different domains.
A Gateway instance that receives connections from clients that are outside of the firewall. You can optionally set up Kaazing WebSocket Gateway in a DMZ (perimeter network) for an additional layer of security. See also internal Gateway.
To create a durable subscriber for a topic, the client application calls the createDurableSubscriber() method of a session object and specifies a durable name and a destination. The durable names that the Gateway will use depend on whether or not a client ID is set.
A Gateway implementation of reverse connectivity that protects your enterprise network by letting you close all inbound ports of your internal firewall, eliminating penetration into your trusted enterprise network. Enterprise Shield works by initiating the connection from the internal trusted network towards the DMZ. This provides maximum security and minimizes attack vectors for malicious users seeking to exploit the DMZ or ports in your firewall, while still allowing clients to initiate connections.
Web-based communication between a browser and server where messages are sent and received by both the browser and server simultaneously, as enabled by Kaazing WebSocket Gateway. See also bidirectional. Compare with half-duplex.
This is the directory that contains Kaazing WebSocket Gateway and its components. The default Gateway home is represented in the documentation as GATEWAY_HOME because the actual directory destination depends on your operating system and the method you use to install the Gateway:
- If you download and unpack the Gateway using the standalone method, then you can unpack the download into a directory of your choice (for example, C:\kaazing or /home/username/kaazing).
- If you install the Gateway using the Windows or Linux Installer, then the installation creates the destination directory location as described in the following table, where edition refers to the product edition (for example, HTML5 or JMS) and version refers to the version number (for example, 3.3):
|Windows: 32-bit||C:\Program Files\Kaazing\edition\version\Gateway|
|Windows: 64-bit||C:\Program Files\Kaazing\edition\version\Gateway|
|Windows: 32-bit installation on a 64-bit Windows system||C:\Program Files (x86)\Kaazing\edition\version\Gateway|
|Linux: Debian-based system||/usr/share/kaazing/edition/version/|
You can find more information about GATEWAY_HOME and the directory structure that is set up during installation in Setting Up Kaazing WebSocket Gateway. To read this document, go to the Kaazing Documentation home page, choose the edition (for example, HTML5 or JMS) of the Gateway you are running, and open Setting Up Kaazing WebSocket Gateway.
Web-based communication between a browser and server where messages are sent or received by the browser or the server, one direction at a time (not simultaneously). A server can send a message to the browser; if the browser has a message to send back to the server, it must wait until it has received the message from the server before sending its message. Contrast with full-duplex and bidirectional.
The next major revision of HTML (Hypertext Markup Language) for the Web. It introduces new elements and attributes that reflect typical usage in modern web sites and web applications. See the W3C specification.
A Gateway instance that is inside the firewall on the trusted network. The internal Gateway acts as a gatekeeper between the DMZ Gateway and the back-end server. See also DMZ Gateway.
A client application that runs on the iOS operating system. See Objective-C client.
A public API that enables the publishing and subscribing of messages between one or more clients and a message broker, and consists of a JMS provider, a JMS client, a JMS producer/publisher, a JMS consumer/subscriber, a JMS message, a JMS topic, and a JMS queue.
JMS messages can be transferred between a producer/publisher and a consumer/subscriber in two ways. A JMS producer/publisher sends a message to a destination in the JMS provider. This destination can be either a JMS queue or a JMS topic. If the destination is a queue, only the consumer/subscriber at that destination can receive the message. If the destination is a topic, any subscriber actively subscribing to the topic receives the message. See the JMS Specification.
An application or process that creates and sends and/or receives JMS messages.
A proprietary Java JMS implementation or an adapter to a non-Java Message Oriented Middleware (MOM), such as 29West, Apache ActiveMQ, and TIBCO.
A staging area that contains messages that have been sent but not yet received by the JMS consumer/subscriber.
A mechanism for distributing and publishing messages to multiple JMS consumers/subscribers.
Kaazing provides a high-performance Web platform that enables full-duplex communication over the Web.
A network authentication protocol that enables security on a web client with a web server. For information about Kerberos, see the Kerberos web site.
A login module handles the challenge/response authentication sequence of events during authentication, and evaluates the encoded login credentials that the Gateway passes to it. You implement login modules using the Java Authentication and Authorization Service (JAAS) framework.
Web-based communication where the browser or client requests information from the server. If the server does not have any information to return at the time of the request, it waits for information to become available, then sends a complete response back to the client. See Comet. Compare with polling.
A program that translates a message from the messaging protocol of the sender to the messaging protocol of the receiver, in a network where clients and servers communicate by exchanging messages.
For added security, you can implement a mutual verification pattern where, in addition to the Gateway presenting a certificate to the client, the client also presents a certificate to the Gateway so that the Gateway can validate the client's authenticity. This configuration is implemented using the ssl.verify-client and socks.ssl.verify-client options on the accept and connect elements to ensure that both the DMZ Gateway and internal Gateway are verified via TLS/SSL before transmitting data. This is also referred to as a mutually verified connection.
An API produced by Adobe that enables you to build Flash/Flex applications that can transfer messages with a back-end message broker. For more information about the API, see Adobe's mx.messaging documentation.
A client application built using the iOS programming language. An Objective-C client is a mobile client application for devices running the iOS operating system, such as Apple iPhone and Apple iPad. See iOS client.
An in-memory, in-process transfer of bytes from one end of a “pipe” connection to the other. Pipes can be named, and are specified by URLs of the form pipe://pipe-name. The pipe transport is essential to the reverse connectivity topology.
Web-based communication where the browser sends HTTP requests to a server at regular intervals and immediately receives a response.
A connection between Kaazing WebSocket Gateway and a back-end service. In a Kaazing WebSocket Gateway architecture, a client connects to the Gateway, which accepts the connection. The Gateway then connects to a back-end service, and establishes full-duplex communication between the client and the back-end service. A prepared connection is one that only exists between the Gateway and the back-end service, in preparation for use by a client.
Libraries built and packaged with Kaazing WebSocket Gateway to enable certain client-based WebSocket applications to interact with the Gateway. Examples of client libraries include Stomp, AMQP, and XMPP.
A hierarchical network security model where all trusted certificates are created, verified, and revoked from a trusted root Certificate Authority (CA). Adding Subordinate CAs to the hierarchy distribute the infrastructure across sites.
Also known as server push. Web-based communication where the request for a transaction is initiated by the server. HTTP server push is an example of push technology, where data is sent from a web server to a web browser over an HTTP connection. See also Comet.
A feature of Kaazing WebSocket Gateway that allows logical connections to be initiated from the internal Gateway to the DMZ Gateway, without requiring any ports to be open inbound towards the internal trusted network. With reverse connectivity, messages flow in reverse for all connections, from the back-end server on the trusted network through the internal Gateway to the clients outside of the DMZ Gateway. In other words, there are no inbound connections.
A web application that is typically delivered through a web browser and contains features similar to those in a desktop application. RIAs are most commonly built using Java, Adobe Flash, and Microsoft Silverlight.
The goal of a TLS connection is to negotiate a secure session. A successful TLS connection will result is a secure session that contains a 48-byte secret shared between the client and server, known as the master secret (RFC 2246). A secure session also contains algorithm information and a session identifier used to resume the session.
A pioneering network security protocol based on public key cryptography and described in historical RFC 6101. SSL was never standardized by an IETF RFC. See Transport Layer Security (TLS).
The mechanism where users log in only once to access many different services, removing the need to distribute usernames, passwords, and ACLs throughout the enterprise.
Simple and Protected GSSAPI Negotiation Mechanism. A pseudo-mechanism that uses a protocol to determine the common GSSAPI mechanisms that are available on a client and a remote server, selects one, then bases the security operations on it. Used when a client application needs to authenticate with a server, but it is not clear which authentication protocols each supports.
See Server-Side Events.
Secure Sockets Layer. See Transport Layer Security (TLS).
Streaming Text Oriented Messaging Protocol. A simple, yet effective protocol that provides an interoperable wire format, allowing Stomp clients to communicate with almost every available message broker. An example of a message broker that provides built-in support for Stomp is Apache ActiveMQ.
A network security protocol based on public key cryptography. The latest version of TLS is standardized in RFC 5246. TLS succeeded SSL as development in SSL ended in 1996. TLS provides secure transport for application level protocols, such as HTTP, WS, FTP, SMTP, and LDAP. TLS includes important improvements to SSL, such as new alert messages, an improved authentication algorithm, and the ability to verify certificates using subordinate CAs. TLS is used to establish WSS.
An HTML5 API that enables full-duplex communication between web pages or web applications and a remote host over the Web. The two official WebSocket schemes are "ws" and "wss." See the W3C specification.
The technology behind Kaazing WebSocket Gateway that handles the transmission of massive quantities of messages a second between clients and servers. WebSocket Acceleration extends any TCP-based messaging format out to the web client, which turns any browser into a full-featured enterprise platform: a first-class citizen of any enterprise messaging system that is both fast and fully manageable.
Extensible Messaging and Presence Protocol (XMPP) is an open XML technology for presence and real-time communication, developed by the Jabber open-source community in 1999. XMPP was formalized by the Internet Engineering Task Force (IETF) between 2002 and 2004 and the protocol continues to be extended through the XMPP Standards Foundation.
XMPP consists of XML streams that enable any two entities on the Internet to exchange messages, presence, and other structured information. Chat and presence are obvious candidates for real-time communication. Examples of chat solutions that use XMPP today are Google Talk and Apple iChat.