Novell exteNd Messaging Platform's JMS is a high-performance and scalable implementation of the Java Message Service (JMS), an API for accessing messaging middleware using Java. JMS allows distributed Java applications to exchange data is a loosely coupled and reliable way. All features from the JMS specification are supported:
Point-to-point (P2P) and Publish/Subscribe (Pub/Sub) messaging models
Automatic, client-initiated, lazy, individual, or transactional acknowledgement modes
Transient messages for performance, and persistent messages for guaranteed delivery
Application Server Facilities (concurrent message processing using connection consumers)
Transactional messaging; sending and receiving messages can participate in a distributed transaction
Also, several value-added features are supported:
Clustering for fault-tolerance and replication of destinations
Memory management for paging out infrequently used messages
HTTP client connectivity using the ORB's HTTP tunnel
Sits on top of a proven, high-performance IIOP engine
Built-in system namespace (CosNaming service)
Security (authentication and access control)
Administration API's and tools
Ability to run the JMS server in-process
Server monitor process for automatic restart
Novell exteNd Messaging Platform's JMS provides high performance and scalability for both transient and persistent messages. It uses sophisticated buffering techniques to reduce latency resulting from database and network I/O bottlenecks. The result is unparalleled message throughput in all situations, including transacted sessions.
Novell exteNd Messaging Platform's JMS leverages enterprise class IIOP support in the Novell exteNd Messaging Platform's ORB, which provides a robust and proven engine for communication between client and server applications. In addition to a standards-based communication protocol, the ORB provides dynamic management of network connections.
To balance the incoming message rate against available system resources and the rate at which messages are consumed, the Novell exteNd Messaging Platform's JMS applies flow control to throttle producer applications. Also, the JMS server can be configured to use memory management techniques and page out infrequently accessed messages.
The JMS cluster provides fault-tolerance and load balancing, which makes it easier to develop robust and scalable applications. All topics are available on any server in a cluster, while queues are always bound to one server. Client applications can send or receive messages using any server in the cluster. The JMS cluster provides these fault-tolerance benefits with almost the same message semantics as when using a single messaging server.
A client application that only contains message producers will automatically and transparently fail-over to any available server if the server it uses fails. The server that receives a message from the producer will forward it to all other servers in the cluster (for topics), or to the server which hosts the queue where the message is designated. Since producer applications can be configured to use different primary and secondary servers, load balancing can be achived.
Consumer applications do not have transparent fail-over since automatic reconnection to another server could potentially result in message loss or message duplication. However, consumes have connect time fault-tolerance similar to producers. Consumers that are less sensitive to message loss or message duplication can use the exception listener to detect a server crash and manually reconnect to another server in the cluster.
Several databases are supported for storing persistent state, including persistent messages. A message store is required for guaranteed delivery of messages in case of hardware or software failures. The following databases are supported:
Cloudscape 3.6/4.0
Oracle 8.1.x/9i
Sybase Adaptive Server Anywhere 6.0/8.0
Microsoft SQL Server 2000
IBM DB2 Universal Database Version 7
IBM Informix Dynamic Server 9
MySQL database server 3.23 or higher
The JMS server futher supports a file store as well as a memory store. This is useful for systems where no database is available, or where other mechanisms are used to handle failures.
The Novell exteNd Messaging Platform's JMS has an extensive set of features:
JMS support
Point-to-Point and Publish/Subscribe
Application Server Facilities
Distributed Transations
Tools
Server and database administration
Client application runner
Destination administration
Server monitor process
Management Console
Clustering
Replication of topics across cluster
Connect time fault-tolerance
Send or receive message from any available server
Producer application fault-tolerance
Database support
Cloudscape
Oracle
Sybase
SQL Server
IBM DB2
IBM Informix
MySQL
File
Memory
Administered objects
JNDI support via CosNaming provider
Administration API's
Runtime monitoring API's
Destination properties
Maximum message size
Maximum outstanding messages
Allow durable subscribers
Maximum number of consumers
Enable and disable destination
Set message expiry
Security Support
Client Authentication
Access Control Lists (per destination)
SSL communication
Advanced Features
Ability to start the JMS server in-process
Support for message start time (delay)
Individual message acknowledge mode
Support for XML and SOAP message
Extensive support for exception listeners
HTTP client connectivity using HTTP tunnel
Message bean for easy creation of consumers
Support for message compression
Support for file messages (attachments)
Operating Systems:
Windows XP, 2000 and NT 4.0
Solaris 2.6, 2.7 and 2.8
Linux Red Hat 7
Netware 6.5
System Requirements:
Java 2 Standard Edition
128 MB memory (256 MB recommended)
30 MB disk space
Oracle 8.1.x/9i, Sybase ASA 6.0/8.0, Cloudscape 3.6/4.0, DB2 v7, Informix v9, SQL Server 2000, or MySQL 3.23 or higher
Copyright © 2003, 2004 Novell, Inc. All rights reserved. Copyright © 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.