If you are reading this section it means (we hope) that you have tested
successfully the first example proposed in the
Deprecated: Non-static method Router::url() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/helper.php on line 178
Deprecated: Non-static method Router::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/router.php on line 752
Deprecated: Non-static method Inflector::underscore() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/router.php on line 920
Home Page. Now is the time of design and develop your own collaborative applications!.
With this toolkit you can desing applications using two different approaches:
Our aim is that the developer use this toolkit as a client and spend the lowest effort possible. For this reason we encourage to use the MChannel only as a transport layer focusing the developer's effort in their application.
In this way, it is quite easy start using our middleware. We are going to show a good illustrative example: the adaptation of the original JGroups Draw application into our toolkit.
- The first step was to change the original Channel transport layer by the MChannel.
- The second step was to change the construction of the channel. We also deleted the other constructors of the class Draw because with that one is enough for running the example.
- The third step was to delete or comment few methods that are part of the Channel API but are not of the MChannel API. Keep in mind that JGroups is a toolkit for multicast communication mainly in clusters. We have adapted the API of JGroups Channel to meet the particular requirements of a MANET. The functionality of some of these methods is provided by the protocols of the layers below the MChannel. Don't worry, there are only 3 or 4 code lines commented :-).
As you can see in the screenshot below, the sending message methods have the same signature as the Channel. Great!
Congratulations, you have finished!. In our opinion the migration of JGroups applications to MChannel is not difficult to do. Further, developing collaborative applications from the scratch, concived specifically for a MANET, is even easier.
The other approach is extending of our abstract class Application. The unique advantage of developing a collaborative application following this class hierarchy is that you could emulate your applications with our emulation framework. For example, the AppTest that we have run in the Home Page could be executed in a real and emulated environment. The "disadvantage" is that you will need some more knowledge about the toolkit. With this guide we hope to offer enough details to ease the development of applications for emulation.