JION ( JavaSpaces Implemetation for Opportunistic Networks )
is a JavaSpaces implementation that I have developed during the second year of my Ph.D. In fact, JavaSpaces technology was primarily designed to provide persistent object exchange areas (spaces) act as servers through which processes coordinate actions and exchange data; and this has remained its typical usage scenario. A server-based model is hardly compatible with the characteristics of D-MANETs as no host can act as a reliable server for all other hosts. A server-less JavaSpaces implementation must then be developed in order to provide JavaSpaces services in D-MANETs.
JION is a middleware that acts a critical level between D-MANETs and application levels.
So all of services offered by D-MANETs will be moved from multiple instances into a centralized offering.
This central provision of services makes the developers independent from D-MANETs challenges. Consequently, they could be able to develop their applications in less time and in a somehow standard way.
JavaSpaces, coordination middleware, peer-to-peer computing, D-MANETs, opportunistic networking
Before you start using JOMS, you will need to download and install DoDWAN platform.
What most application developers realize is that nearly all of middlewares developed for D-MANETs have only been described in purely academic papers as ABSTRACT algorithms, and tested using pseudo-code in SIMULATORS. Actually, These middleware has no real bearing or impact on the REAL WORLD.
One of my PhD's goals is to provide App developers with REAL middlewares which will help them to develop REAL applications that work
perfectly over D-MANETs.
Go for broke and see how easy it is to develop a real application in D-MANET using JION, hers is:
JION v2.1.1: binary files with depedencies, binary files without depedencies.
JION v2.0.1: binary files.
JION v1.0.2: Source files,
binary files.
Once you have downloaded and installed JION, you can start testing it using the console provided in the source code. Please notice that the console is located under JION/console directory.
If you are not familiar with JavaSpaces,
then the
JavaSpaces Service Specification from Apache River News is a useful guide. But,
if you feel like you do not have time to read every thing in that specification and JavaSpaces sounded so much familiar to you, then I suggest you something else.
Sit back, relax and give the following example some thought.
Have you found yourself daydreaming during reading theoretically nonsensical researches in D-MANETs?
Have you read a lot of such topics and still had problems to really grok that it is possible to see something real in D-MANETs?
So you need to have some image or reality back in your mind... Okay here we go. I have tested the previous tutorial in real conditions using a console provided with JION.
The console’s source code is available at JION/console directory.
Attention: The console is only availabe for JION v1.
Scenario
You can check the scenario in the following interactive figure: there are four devices which are pre-configured with JIONv1. Firstly, click on JION (The earth) to see how to use the Console. Then, you can click on each device to see the commands executed on that host using the console.
Congratulation! you can now use it. The following examples demonstrate how to use some of the console commands:
If you do not have any background information on the environment variables in Java, I can suggest this link as a good place to start learning about them. Here you can found the list of the environment variables supported by JION:
Building an effective JION application requires you to read JION APIs. The documentations and API specification for JION are included in the source code, and can also be accessed online here.