FioranoMQ is an event-driven communication platform that provides a pure Java implementation of JMS, from Fiorano Software. A 30-day trial version of the software is available for download from http://www.fiorano.com.
Fiorano supports both PTP and Pub/Sub messaging models. It also supports security, remote administration, guaranteed message delivery, and scalability:
Fiorano provides a C++ run-time library for interoperating with non-JMS clients
Fiorano is available either as a message broker based on hub-and-spoke technology, which is applicable in scenarios where guaranteed message delivery, remote administration, and message transfer over the Internet are important, or as a message bus based on reliable multicast backbone, which is more effective in an intranet-based zero-administration messaging system
Fiorano guarantees high performance, scalability, and fail-over protection by networking multiple Fiorano servers together
Fiorano supports inbuilt SSL support with 128-bit data encryption. It also supports ACL based security and certificate based authentication.
Fiorano provides a robust and lightweight runtime environment
Fiorano supports naming and directory services based on JNDI and LDAP
Fiorano supports remote administration of the messaging system.
Fiorano uses server push technology relieving the clients from the overhead of message polling
Fiorano 5.0 users can skip this section completely. Here are a few tips about installing and working with FioranoMQ 4.6 for first-time users. I would advice you to install the FioranoMQ server into a non-space directory like "C:\FioranoMQ". However if you prefer to install it onto a directory with spaces like "C:\Program Files\Fiorano\FioranoMQ", this section is for you. Users who have installed the Server into a non-space directory can skip this section completely.
On the Windows platform, Fiorano's scripts need modification if you install into a directory with embedded spaces (like "C:\Program Files"). You don't run into any of this if you installed to a nonspace directory like "C:\FioranoMQ".
If you installed into a directory with embedded spaces, you need to modify the runkrnl.bat (the Fionaro messaging server startup script) and the runAdmin.bat (the Fionaro administrative console startup script) to make sure that the messaging server and the administrator console run fine. The details of what needs to be done are discussed below.
Users have to start the FioranoMQ messaging server by running %FMP_DIR%\shell\runkrnl.bat (usually C:\Program Files\Fiorano\FioranoMQ\shell\runkrnl.bat). The server startup script assumes that the current directory is the Fiorano installation directory, and not many clues are provided to assist people in editing the script to run. The last line in the script needs quotes around most of the program names, as follows (this is supposed to be all on one line):
"%FMP_DIR%\bin\java" -cp "%FMP_DIR%\lib\rt.jar;%FMP_DIR%\bin\fmpkrnl.zip;" COM.Fiorano.fmp.executive.FMP -p "%FMP_DIR%\bin"
In addition, the following has to be uncommented:
set FMP_DIR=C:\Progra~1\Fiorano\Fioran~1
To run the Fiorano admin console, Fiorano's script (C:\Program Files\Fiorano\FioranoMQ\ AdminTool\runAdmin.bat) has to be modified as follows.
Uncomment the following line in the script:
set FMP_DIR=F: \Progra~1\ Fiorano\Fioran~1
Add quotes around path names as before (the following is supposed to be all one line):
"%JAVA2_VM%\bin\java" -cp "%JAVA2_VM%\lib\rt.jar;%FMP_DIR%\lib\fmprtl.zip;%FMP_DIR%\lib\swing.jar;%FMP_DIR%\ lib\sfc.jar;%FMP_DIR%\lib\symbeans.jar;%FMP_DIR%\AdminTool\AdminTool.zip;" fiorano.jms.AdminGUI.AdminTool
You are now all set to use the FioranoMQ 4.6 Server and start exploring JMS with it.
Fiorano comes with a set of binaries for running the router, administering the users, configuring Administered objects, monitoring, etc.
This program is used for starting the Fiorano server, and is available as a batch file for Windows platforms and a shell script for UNIX platforms in the shell directory in the Fiorano installation. This program can take the location of the configuration file that contains the various configuration values set by the server during boot-up as a command-line argument. The list shown below explains some of the parameters that can be configured using this file:
The location of the message database directory
The default port on which the server listens
Restricting anonymous connections
Enabling non-SSL connections
Setting the server name
Setting message pre-fetch size for queues
The listing below shows a sample configuration file:
############################## # Server configuration file # ############################## SERVER_NAME=enterprise.department.serverName PORT=2001 SERVER_ADDRESS=localhost USE_SSL=false RESTRICT_ANONYMOUS_LOGIN=TRUE USE_NAGLES_ALGO=TRUE CLIENT_MESSAGE_FILTERING=TRUE ENABLE_LOG=true USE_OPTIMIZED_CACHE=TRUE USE_OPTIMIZED_QGMS=TRUE PPREFETCH_SIZE_PER_QUEUE=128*1024 ENABLE_CRASH_PROTECTION=TRUE IDLE_TIME=30 LOSE_PERSISTENT_MESSAGES_FOR_SLOW_SUBSCRIBER=false
This administration tool can be used to create Administered objects like topics, queues, destinations, etc. It can also be used for creating users. It is also possible to control access to Administered objects by setting access control lists for each topic. This way an administrator can control access to Administered objects by different users.
The administration tool can be invoked on Windows platforms by running runAdmin.bat and on UNIX platforms by running runAdmin.sh scripts. These files can be found in the AdminTool directory in the Fiorano installation. This application is password protected and the default password is normally passwd, though you may find that your network/host login password also works.
Fiorano comes with a few starter destinations. The tool can be also used for monitoring the server, snooping messages, etc. The screenshot shows the administration tool displaying the tab for configuring queues:
The dispatcher can be used for maintaining server clusters and servers. The binary for running the dispatcher is available in the dispatcher directory under Fiorano installation. The dispatcher can be run on Windows platforms by running the file runDispatcher.bat and on UNIX platforms by running runDispatcher.sh.
The FioranoMQ Dispatcher can be administered using a GUI tool provided in the same directory as the runDispatcher binary. The Dispatcher Administration tool can be used to administer the server cluster. The tool provides the administrator with the following options:
Add FioranoMQ servers to cluster
Remove FioranoMQ servers from cluster
Check the state and the number of clients on all the FioranoMQ servers in the cluster
Limit the total number of client connections across all servers managed by this dispatcher and the total connections on each server
The figure below shows the tool for administering the dispatcher:
Used to run the Fiorano Message Router, this application needs to be run before two servers can be connected to each other as "neighbors" using the administration tool. The router can be invoked by running the runRouter script available in the shell directory under the Fiorano installation.
We will be storing the Administered objects in the internal JNDI namespace provided by the FioranoMQ server and later looking them up using JNDI.
For storing the Administered objects, first start the FioranoMQJMS server by running the runkrnl script available in the shell directory under the Fiorano insallation. Once the server is running, start the administration tool by running the runAdmin under the AdminTool directory under the Fiorano installation. This will show a graphical tool with multiple tabs for maintaining users, groups, connection factories, destinations, etc. Click on the Topics tab and then click on the Create button. This will open a response window prompting for the topic name and description. Enter the text myTopic for the topic name and click on the button OK:
Click on the Topic CFs tab and then click on the Create button. This will open a response window prompting for the topic connection factory name and description. Enter the text TCFactory for the topic connection factory name and click on the button OK:
For running the client first start the FioranoMQ message broker by running the runkrnl script as explained earlier. Now invoke the Java interpreter on the class PortableJMSClient with all the required libraries in the classpath, and passing the JNDI provider URL and the JNDI initial context factory as command-line arguments.
The required JAR files are:
fmprtl.zip - This ZIP file contains FioramoMQ's JMS implementation classes. It can be found in the lib directory under the Fiorano installation.
The following command-line arguments should be passed to the program for running the client:
fiorano.jms.rtl.FioranoInitialContextFactory — This is the initial context factory for the JNDI lookup
localhost:2001 — This is the JNDI service provider URL
The figure below shows the JMS client running against FioranoMQ: