-
Notifications
You must be signed in to change notification settings - Fork 189
Containers, Tools & Libs
Since OpenIoT will be offered as open source project it is important that its various components use common libraries, platforms and development tools where applicable. This way it will be easier for the advanced users and developers to get involved and to move from one OpenIoT module to another without having to develop new skills to get involved. The main open source libraries, platform and development tools are listed below:
-
Software project management tool:
- Apache Maven . It can manage a project's build, reporting and documentation from a central piece of information (pom XML file). It will be used in the OpenIoT code as a library and build management tool.
-
Development environment:
- Eclipse IDE . It is one of the most popular open source Integrated Development Environments and will be used as the main development environment in the OpenIoT project.
-
Web-Service implementation:
- RESTEasy : is a JBoss project that provides various frameworks to help you build RESTful Web Services and RESTful Java applications. It is a fully certified and portable implementation of the JAX-RS specification. JAX-RS is a new JCP specification that provides a Java API for RESTful Web Services over the HTTP protocol.
-
User interfaces: Some options for implementing the OpenIoT user interfaces are listed below:
- Web Clients:
-
JavaServer Faces (JSF) : JavaServer Faces technology establishes the standard for building server-side user interfaces. With the contributions of the expert group, the JavaServer Faces APIs are being designed so that they can be leveraged by tools that will make web application development even easier.
-
PrimeFaces : Prime Technology is not a software vendor but a software development house along with the consulting and training activities. A framework that is not even used by its own creators can easily miss vital points regarding usability and simplicity. A major difference compared to vendor products is that we use PrimeFaces in all of our clients' projects as the front end framework. This helps us to view the project from an application developer's point of view so that we can easily realize the missing features and quickly fix the bugs. This significantly distinguishes PrimeFaces from other libraries.
-
jsPlumb : provides means for a developer to visually connect elements on their web pages. It uses SVG or Canvas in modern browsers and VML on IE 8 and below.
-
- Web Clients:
-
Platform Management & Monitoring:
- Java Management Extensions (JMX). The JMX technology provides tools for building distributed, Web-based, modular and dynamic solutions for managing and monitoring devices, applications and service-driven networks. The JMX technology could be used to monitor and manage different OpenIoT modules from the OpenIoT Configuration/Monitor console.
- JavaMelody : The goal of JavaMelody is to monitor Java or Java EE application servers in quality assurance and production environments.
-
Enterprise Application Platform. OpenIoT, at this point, will use the JBoss Application platform to serve as an Enterprise Server container to host the various OpenIoT modules.
- JBoss Application Platform . The JBoss Application Platform was created with the cloud in mind. It is based on a services-driven set of components and is running OSGi and the Java EE application server side by side.
-
RDF Database. OpenIoT will use LSM as the RDF store which uses the commercial version of Virtuoso and will also support the following Open Source database:
- Sesame . Framework for querying and analysing RDF data. This includes parsing, storing, inferring and querying of/over such data. It offers an easy-to-use API that can be connected to all leading RDF storage solutions.
- Virtuoso Open Source.
-
Testing Framework.
- JUnit : is a unit testing framework for the Java programming language.
-
SPARQL Client.
- Sesame : For accessing SPARQL interfaces Sesame client is used.
-
Logging.
- Logback : Logback is intended as a successor to the popular log4j project, picking up where log4j leaves off. Logback's architecture is sufficiently generic so as to apply under different circumstances. At present time, logback is divided into three modules, logback-core, logback-classic and logback-access.
Find below and indicative list of libraries used by the different OpenIoT modules. For an updated version of this list please check the dependencies section at each of the modules pom file
The Scheduler libraries and containers are listed in the Table below.
Container/Library Name | Version |
---|---|
JBoss | 7.1.x |
RESTEasy | 2.3.6 |
Apache Maven | 3.x.x |
Logback | 1.0.11 |
JUnit | |
Jboss maven plugin | 7.3 |
Sesame | 2.7.0 |
Java | 1.6+ |
(OpenIoT) utils.commons | 0.0.1 |
org.eclipse.persistence.eclipselink | 2.5.0 |
JavaMelody | 1.45.0 |
com.hp.hpl.jena | 2.6.4 |
lsm.api | 0.0.1 |
org.openrdf.sesame | 2.7.0 |
The SD&UM’s libraries and containers are listed in the Table below.
Container/Library Name | Version |
---|---|
JBoss | 7.1.x |
RESTEasy | 2.3.6 |
Apache Maven | 3.x.x |
Logback | 1.0.11 |
JUnit | |
Jboss maven plugin | 7.3 |
Sesame | 2.7.0 |
Java | 1.6+ |
(OpenIoT) utils.commons | 0.0.1 |
org.eclipse.persistence.eclipselink | 2.5.0 |
JavaMelody | 1.45.0 |
com.hp.hpl.jena | 2.6.4 |
lsm.api | 0.0.1 |
org.openrdf.sesame | 2.7.0 |
The X-GSN’s libraries and containers are listed in the Table below.
Container/Library Name | Version |
---|---|
Java | 1.6 |
antlr | 2.7.7 |
webcam-capture-driver-jmf | 0.3.9 |
json-simple | 1.1 |
h2 | 1.1.116 |
xstream | 1.3.1 |
jts | 1.8 |
commons-codec | 1.3 |
commons-dbcp | 1.4 |
commons-fileupload | 1.2 |
commons-io | 2.1 |
commons-lang | 2.2 |
commons-math | 1.2 |
httpunit | 1.6.2 |
joda-time | 1.6 |
junit | 4.10 |
log4j | 1.2.15 |
mysql-connector-java | 5.1.26 |
REngine | 0.6-1 |
Rserve | 0.6-1 |
opencsv | 1.8 |
stringtemplate | 3.0 |
ant | 1.7.0 |
axis2 | 1.4.1 |
commons-email | 1.2 |
org.apache.commons.collections | 3.2.1 |
httpclient | 4.0.1 |
httpcore | 4.0.1 |
httpcore-nio | 4.0.1 |
httpmime | 4.0.1 |
mina-core | 1.1.7 |
asterisk-java | 0.3 |
groovy-all | 1.7.1 |
easymock | 2.5.1 |
easymockclassextension | 2.2 |
jetty-all-server | 7.0.2.v20100331 |
jansi | 1.10 |
jfreechart | 1.0.14 |
jibx-run | 1.1.6 |
postgis-jdbc | 1.3.0 |
rxtx | 2.1.7 |
rome | 0.9 |
cos | 05Nov2002 |
xercesImpl | 2.8.1 |
lsm | j6_2013-06-28 |
net.tinyos | 1.x |
tinyos-java | 2.1 |
jasperreports | 3.0.0 |
layout | x |
2.x |
The LSM-Light’s libraries and containers are listed in the Table below.
Container/Library Name | Version |
---|---|
Java | 1.7 |
Ant | |
Apache Commons | 1.8.2 |
Virtuoso Jena Provider | 2.6.2 |
com.hp.hpl.jena | 2.6.4 |
JBoss | |
Log4j | 1.2.14 |
Dom4j | 1.6.1 |
Jaxen | 1.1 beta |
Saxon9he | |
Apache Tomcat | 7.0.32 |
jUnit | 3.8.1 |
JFreeChart | 1.0.6 |
Httpclient | 4.0 |
Bonecp | 0.7.1 |
Virtjdbc | 4 |
Json | 20090211 |
The Request Presentation’s libraries and containers are listed in the Table below.
Container/Library Name | Version |
---|---|
Java | 1.6+ |
Json | 20090211 |
Primefaces | 3.5 |
Primefaces-extensions | 0.6.3 |
Primefaces-extensions (codemirror addon) | 0.6.3 |
Apache commons-lang3 | 3.0 |
Jsf-api | 2.1.20 |
El-api | 2.2 |
Jaxb-api | 2.1 |
Jaxb-impl | 2.1 |
Resteasy-jaxrs | 2.3.1.GA |
Javamelody-core | 1.45.0 |
(OpenIoT) utils.commons | 0.0.1 |
(OpenIoT) utils.requestCommons | 0.0.1 |
The Request Definition’s libraries and containers are listed in the Table below.
Container/Library Name | Version |
---|---|
Java | 1.6+ |
Json | 20090211 |
Primefaces | 3.5 |
Primefaces-extensions | 0.6.3 |
Apache commons-lang3 | 3.0 |
Apache commons-io | 1.3.2 |
Jsf-api | 2.1.20 |
El-api | 2.2 |
Jaxb-api | 2.1 |
Jaxb-impl | 2.1 |
Resteasy-jaxrs | 2.3.1.GA |
Javamelody-core | 1.45.0 |
JsPlumb | 1.4.0 |
(OpenIoT) utils.commons | 0.0.1 |
(OpenIoT) utils.requestCommons | 0.0.1 |