XMLBeans is a technology for building and accessing XML by binding it to Java classes.
Sensor Observation Service (SOS) communications are encoded in XML using the SensorML XML schema. XMLBeans can generate Java classes from any valid XML schema. These Java classes make it easy to retrieve information from an XML document or to build a new XML document following a specific schema.
We use XMLBeans to make it easier to build requests for sending to SOS and for parsing the responses returned. It is then relatively simple to retrieve the data we require from the SOS response. The classes created by XMLBeans are used to find out what sensors and phenomena are available from a SOS and to request sensor observations.
JFreeChart is a free open source graphing library for Java.
JFreeChart was used to in the application because it makes it easy to build graphs and has support for many different graph types. It also has numerous useful inbuilt features such as the ability to zoom in/out, alter axis intervals and export to an image.
JFreeChart is used to graph the data which is retrieved from sensors via a Sensor Observation Service (SOS).
Eclipse is a free open source Integrated Development Environment (IDE) for Java though it also supports other languages including C++ and PHP.
This IDE was chosen for its diverse features and free licence. Some of the features we were interested in included the ability to export an ANT build file for the project and to export the project to a runnable JAR file, auto-complete code assist and inbuilt automatic testing support using JUnit.
We used eclipse for all of our programming tasks and to import the third party libraries we used in our software, such as JFreeChart, World Wind, Net Beans Outline, XMLBeans compiled SensorML classes and JOGL.
World Wind is a free open source virtual globe application developed by NASA and the open source community. It is the main competitor to Google Earth.
World Wind is open source and free allowing us to redistribute our software as open source, without licensing issues. This means that interested parties will be able to further develop our software in the future.
World Wind is available in both a Java and a .NET version. The Java version was used for this software due to Java's cross-platform capabilities.
The World Wind libraries were used to display a globe in our program. Icons representing sensors available from Sensor Observation Services are placed on the globe according to their location.
Java is an Object Orientated Programming Language developed by Sun Microsystems.
Java is used for its cross-platform capabilities and because there is a build of NASA World Wind available for it.
We used Java as the chief programming language for developing our software.