-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Überdust is a data storage and brokerage web service for connecting data providers with data consumers and application developers. It's main focus is to provide storage, sharing & discovery of real-time data from objects, devices & building installations around the world via the Web.
Überdust is a web service designed to facilitate data sharing via the Web. Publishing and subscribing to the service is platform agnostic since users can provide and consume data via REST and WebSocket calls. Users interested in retrieving data from the web service can obtain them in various formats such as Tab delimited text, HTML, JSON, RDF and more.
Überdust is currently under development and is coded in Java™ using bleeding edge technologies such as Spring Framework MVC, Hibernate, JSP & JSTL, Resin and more.
Überdust stores data to an RDBMS using the WiseDB component of the WiseML library based on the state of the art O/RM framework, Hibernate. Although Überdust was originally developed for storing sensor data from wireless sensor networks, any source can provide data as long as it is in a simple timestamp-based format and a small set of metadata is already provided in the persistence store. For more details on the persistence structure see the WiseML wiki page.
In order to achieve an efficient conversational communication between the user and Überdust we decided to use the Caucho Resin's WebSocket servlet implementation. So users (both providers and consumers) can use their preferred web socket library and start feeding the service with data. On the other hand, the Überdust installation must be contained within Resin Application server since our code so far supports only the Resin's Web Socket implementation. This restriction exists due to the fact that the Web Socket Standard is still in Draft state so there is no standard implementation for application servers.
See some examples using the Überdust.
Requirements
- Java™ Runtime Environment & Java™ Development Kit (>1.40).
- RDBMS system such as MySQL, sqlite, PostgreSQL,etc.
- Apache Maven (>2.0).
- J2EE Application Server (for WebSockets use Resin by Caucho).
- git
Configuration ,Building & Deployment.
-
Retrieve the latest code base of Überdust by cloning the github repository.
git clone [email protected]:itm/uberdust.git
. -
Create a database in your RDBMS system.
-
Add the following lines to your maven settings file at
~/.m2/settings.xml
.<settings> <profiles> <profile> <id>uberdust-wisedb</id> <properties> <wisedb.hibernate.dialect>{prefered_rdbms_dialect_class}</wisedb.hibernate.dialect> <wisedb.hibernate.hbm2ddl.auto>validate</wisedb.hibernate.hbm2ddl.auto> <wisedb.jdbc.connection.driver_class>{preferred_rdbms_driver_class}</wisedb.jdbc.connection.driver_class> <wisedb.jdbc.connection.url>{jdb_connection_url}</wisedb.jdbc.connection.url> <wisedb.jdbc.connection.username>username</wisedb.jdbc.connection.username> <wisedb.jdbc.connection.password>password</wisedb.jdbc.connection.password> </properties> </profile> </profiles> <activeProfiles> <activeProfile>uberdust-wisedb</activeProfile> </activeProfiles> </settings>
-
Change directory in the uberdust folder or in the uberdust/webapp folder.
-
Run the following command in order to have the project built by maven.
mvn package
. This produces the web application in .war format./webapp/target/uberdust.war
. This procedure might download any extra dependencies the building phase requires. -
Place/Deploy the .war file in the web apps folder. Assuming you use Resin Application server the default application folder is the
/var/www/webapps/
Bellow we list several use cases of the Überdust platform.
Gathering Sensor Data from a Sensor Testbed
Gathering Data from a Computer Network
Gathering Sensor Data from the SmartSatander Sensor Network
Gathering Sensor Data from CTI & Press 'Diophantos' building installation
- Room Lights Application
- RU1 Sensor Testbed Data Site (under development)
- Smart phone app & TV
Überdust @ RU1 CTI & Press 'Diophantos'
WiseML and WiseDB Github Page
ichatz
amaxilat
akribopo
whantana