FreimapWebApp

Aus wiki.freifunk.net
Zur Navigation springenZur Suche springen

Abstract

In the era of web 2.0 a lot of people have permanent access to the internet so most applications has been transferred on the web with the main purpose to use these apps everywhere you are and when you want. The only requirement is an internet connection.

In this scenario you can get all informations that you need (e-mail, chat, etc) anywhere at anytime…

Freimap

Freimap is a visualization and analysis environment for community mesh networks, such as for example Freifunk.net. This software is able to display all informations about the topology of the network and interact with the OLSR nodes. During the GSoC 2009 working on this project all developers have felt the need to port freimap to an IDE (Netbeans or Eclipse). All needs were:

  • Porting freimap software to an IDE
  • To develop new Datasources and integrate them in the freimap environment (ServiceDiscovery DataSource, Service Control Module, SNMP Datasource, etc..)
  • To develop new enviroment with OpenStreetMap
  • To develop new GUI
  • Possibility to edit the software settings at runtime
  • Possibility to manage Datasources at runtime (this means deleting the config.yaml file)
  • Possibility to save datasources files (XML or Js file)
  • Possibility to add virtual nodes to the map
  • Possibility to emulate a node thanks the interaction with Netkit
  • To develop an UML Schema
  • Documentation
  • To develop some micro-tools like "search node", selection of multiple node, etc..
  • To develop mysql data output features

This "new" Freimap can be seen from two point of view:

  • As a visualization tool
  • As a virtualization tool

The first is that currently the software is. You can draw graphs about links (LQ, NLQ, ETX etc) and see the data of a single node, find service with service discovery, etc...

The second is what the software can do with the interaction with Netkit that is an emulation tool. The idea is to make a module for the emulation of a node to see how it works in a particular position. This means to have the possibility to test and configure it before implement all in the reality and also the possibility to create an emulated mesh network in a few minutes!!

Although after the implementation of these features, a limit remains: Freimap must be downloaded installed and configured!

So the best solution is to make a Freimap Web Application.

Freimap WebApp

Make freimap like a Web Application means:

  • Create a tool completely indipendent from the operating system
  • Create a tool accessible to all at anytime and everywhere
  • Have a more flexible tool

During the GSoC2010 has been presented a project titled: "Define a common node database schema". This is the first steps for the development of this kind of application. Define a common node database schema can simplify the development of a software that could be used by all wireless communities.

The second step is to make a porting from Java to Javascript but the automatic porting java/swing to javascript is to difficult to apply (there are some software that do that but aren’t bug-free). The main idea is to obtain javascript source code that can be simply editable on which build the new FreiMap WebApp. So for the current structure (see wiki.freifunk.net/Freimap) i think that we have to rewrite the entire code only for the second Layer. This is the most important layer, that receive informations from datasource and draws it thanks to the MainLayer. It appears to simply to put the servlet interface and run it as a servlet container (i.e. Apache Tomcat)

Javascript and DOM manipulation is the best way to do something like this and it will be an investement for the future: HTML5 is coming soon so the potential of javasciprt grow without limit!

There is also another thing that can play a a benefit for javacirpt. In fact many maps API are written in javascript: this is the best way to develop an application in which there are external control of the map that have to interact with it (i.e. open a second page in which you can find all node data).

Like a framework could be used GWT. This is the best way to port a java project and especially to use JavaScript without worrying about the optimizations and cross-browser problems.

With GWT you can continue to write in Java syntax (syntax very similar to swing) but you have a compiler that converts all in js/html.

Can also be very interesting "mapastraction" that can permits to write code compatible with the main map provider.

Another solution could be Java WebStart or JavaFX. This project require a lot of time and the first goal is to make a Web Application that all wireless communitis can use customizing the strucutre in relation the needs! For this reason all can modify this page and add new feaures that can would be impelmentend in this project!

FreimapWebAPP Tips and Ideas

Write here what do you think and what you suggest for freimap WebApp:


Links

OLSR
http://www.olrs.org
GWT
http://code.google.com/p/smartgwt/
MapAstraction
http://www.mapstraction.com/
JavaScript
hhttp://en.wikipedia.org/wiki/JavaScript
JavaWebStart
http://java.sun.com/javase/technologies/desktop/javawebstart/index.jsp
JavaFX
http://javafx.com/
NetBeans
http://netbeans.org/
freimap
Freimap is an Open Source visualization and analysis framework for (mostly) mesh networks, such as for example Freifunk.net. It can read many a different data source and display them as different layers. The network can be browsed and queried in real time, and a time bar allows to trace back to past events. Some statistics of the topology and network traffic may also be generated. - http://relet.net/trac/freimap - http://wiki.freifunk.net/Freimap