High Availability
Financial systems that require near-zero downtime require high availability solutions. FioranoMQ HA deployment allows JMS clients to switch to a secondary MQ Server upon failure of a Primary Server.
Client applications have the capability to store and forward messages with automatic re-connection to the backup server. In the event of fault or failure, entire information in the primary server is made available on the backup server so that applications can continue to access this information. This provides applications with automatic fault-tolerance capabilities.
Clustering
Clustering consists of multiple server instances, running concurrently, to provide increased scalability and reliability. The clustering function enables clients connected on different FioranoMQ Servers to exchange information without limiting one client to connect to server at any given point of time. FioranoMQ provides clustering support with the help of three components: the Dispatcher, the Repeater, and the Bridge.
Fiorano's load balancing architecture involves the use of a Dispatcher-enabled server, to route the incoming client connections to the least loaded server within a cluster. The dispatcher component is connected to multiple FioranoMQ Servers. All these servers become part of the cluster that is served by the dispatcher. The repeater and the bridge components are used for Server-to-Server Communication.
XA Support
Real-world applications require transactions involving multiple resource managers. Such transactions are known as distributed or global transactions. Implementation of distributed transactions involves following the JTA standards. FioranoMQ supports both local and global transactions. If a global transaction is active, all activities performed become part of this transaction, or else they operate locally.
Scalability
The load balancing and failover protection architecture allows high scalability in terms of the number of concurrent client connections allowed by a FioranoMQ Server.
Application Server Integration
FioranoMQ integrates seamlessly with several popular J2EE application servers including, WebsphereMQ, JBoss, and WebLogic among others.
Native Runtime Support
FioranoMQ includes client libraries written in C, C++ and C#. These native runtime libraries allow non-java clients to talk directly to the java server as well as exchange information with other JMS clients.
Security
The security implementation includes integrated JSSE support. The Java Secure Socket Extension (JSSE) enables secure internet communications. It implements a Java version of SSL (Secure Sockets Layer) and TLS (Transport Layer Security) protocols and includes functionality for data encryption, server authentication, message integrity, and optional client authentication. Developers can, therefore, provide secure channels for data transfer between clients and servers.
Durable Connections
Durable Connection support provides client applications with a fault-tolerant connection mechanism. If an application creates a durable connection, it needs not to worry about re-connecting back to the server in case of fault or failure. This is automatically handled by FioranoMQ's runtime library. If a message is sent during the disconnected phase, it is stored in a local repository of the client machine.
Large Message Support
FioranoMQ enables applications to transfer large messages employing the point-to-point model or the publish-subscribe model. The implementation takes care of resuming data transfer from the point of failure, if any, during the transmission process.
Hierarchical Topics
Destinations with hierarchical dotted naming convention are supported. For instance, a Topic or Queue can be named as enterprise.finance.admin or enterprise.finance.analysts. Users can then address multiple destinations using wildcards after a '.' in the hierarchy. Topics can thus be broken down into parent and child hierarchies.
HTTP Support
To provide users secure access, FioranoMQ provides Hypertext Transfer Protocol (HTTP) over Secure Sockets Layer (SSL).
Logging Facilities
FioranoMQ has tracing and logging facilities for easy detection of location of errors in the messaging system. The FioranoMQ Administrator has the option of setting different tracing levels for each individual FioranoMQ component.
Message Snooping
Administrators can view messages published on topics as well as on queues. The ability to snoop about/around messages allows the administration, management, testing, and debugging of JMS applications.
Dead Message Queue
A message can be associated with a timeout period within which it is to be received. A dead message queue stores messages that have timed out.
Encryption, Compression Support
Encryption and compression support can be applied for a single message or for all messages to be sent to a particular destination. The default encryption of a message is based on DES. The default implementation of compression is based on Zlib implementation.