JOMS ( Java Opportunistic Message Service ) is a JMS Provider that I have developed during the first year of my Ph.D. JOMS acts as a middleware between the already existing JMS applications and D-MANETs. The main characteristic of JOMS is that it provides mobile wireless applications, act as JMS clients, with JMS services over this very challenge type of MANET. According to JMS specification, the use of the JNDI service is essential. For this reason, JOMS supports a server-less version of JNDI. JOMS along with its server-less version of JNDI have passed several extremely challenging tests with great success. So I can say that JOMS will open the door to other dimensions of dealing with existing standard middlewares.
Java Message Service, JMS implementation, Message-oriented Middleware, D-MANETs, JNDI.
Before you start using JOMS, the DoDWAN platform is required to be installed and configured on hosts. For installing DoDWAN, please refer here.
You think that you read a lot about amazing theoretical algorithms?
You want to develop something real in D-MANETs?
You want a real application that works well in these very challenging environments?
OK? Great! you are in the right place. The source code of JOMS with many examples are now distributed under the terms of the GNU General Public
License. The source code consists of about 10000 lines of code. So good luck, and here is:
JOMS v2: binary files.
JOMS v1: source files, binary files.
Once you have downloaded and installed JOMS, you can start testing it using one of the multiples examples provided in the source code. Please notice that these examples are located under jms/basic directory. If you are not familiar with JMS, then the JMS tutorial from oracle is a useful guide.
If you feel like you do not have time to read every thing in that tutorial and JMS sounded so much familiar to you, then I suggest you something else. Sit back, relax and give the following example some thought.
You want to test JOMS in real conditions but you do not want to burn yourself out writing too many applications. Okay, here is the solution. JOMS offers you with an interactive tools, called Console. This console provides you with the most commonly JMS commands, i.e., destination-object management, Pub/Sub commands and Send/Receiver commands. Furthermore, this console allows you to discover all of the destination objects exist in JNDI namespace. The console’s source code is available at jms/admin directory.
Scenario
You can check the scenario in the following figure: there are four devices, named here A, B, C and D. All of these hosts are configured with JOMS. And now, the following steps describe how to run the Console in the this scenario:
Congratulation! you can now use it. The following examples demonstrate how to use some of the console commands:
Building an effective JOMS application requires you to read JOMS APIs. The documentations and API specification for JOMS are included in the source code, and can also be accessed online here.