Skip to content
This repository has been archived by the owner on Oct 6, 2020. It is now read-only.
whantana edited this page Jan 9, 2012 · 28 revisions

Überdust

Ü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.

How Überdust works

Ü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.

uberdust

Ü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.

Installing and Deploying Ü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.

  1. Retrieve the latest code base of Überdust by cloning the github repository.
    git clone [email protected]:itm/uberdust.git.

  2. Create a database in your RDBMS system.

  3. 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> 
    
  4. Change directory in the uberdust folder or in the uberdust/webapp folder.

  5. 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.

  6. 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/

How we use Überdust so far

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

Applications using Überdust

  1. Room Lights Application
  2. RU1 Sensor Testbed Data Site (under development)
  3. Smart phone app & TV

Links & Contact

Überdust @ RU1 CTI & Press 'Diophantos'
WiseML and WiseDB Github Page
ichatz amaxilat akribopo whantana

Clone this wiki locally