FIESTA-Iot Prototype Developer Documentation to Set Up, Run, Understand the FIESTA-Iot Prototype Project
Total Page:16
File Type:pdf, Size:1020Kb
FIESTA-IoT Prototype Developer Documentation To set up, run, understand the FIESTA-IoT Prototype project This is the documentation to set up the prototype aiming to share ideas and vision of the project within the consortium. The real FIESTA-IoT platform is available (https://platform.fiesta-iot.eu/). Do not be afraid by the size of this documentation, we added a lot of screenshot like in tutorials to ease the task to set up this project. By experience, it takes less than one day to set up the project with this documentation. 14 Partners Powered by Status Work in progress We are working on the implementation and the integration work. FIESTA-IoT project: 2015-2018 Creator This prototype has been built to share idea within the FIESTA-IoT consortium Dr. Amélie Gyrard is a post-doc researcher at Insight Center for Data Analytics, National University of Galway, Ireland within the IoT unit lead by Dr. Martin Serrano. Do not hesitate to ask for help or give us feedback, advices to improve our tools or documentations, fix bugs and make them more user-friendly and convenient: Contributors Joao Bosco Jares (Insight Center for Data Analytics, National University of Galway, Ireland ) Rachit Agarwal (INRIA Paris) FIESTA-IoT consortium Code Ask access to Gitlab: https://gitlab.fiesta-iot.eu/users/sign_in https://gitlab.fiesta-iot.eu/ Documentation http://fiesta-iot- URL tools.appspot.com/documentation/FIESTA_Prototype_Developer_Documentation.pdf There is also the documentation to use the web services if required: http://fiesta-iot-tools.appspot.com/documentation/DemoUserGuideTutorial.pdf Last updated November 2016 After 1 year and half of research and development, this project really needs a refactoring (even if I have done it frequently), and even maybe to be re-think from scratch. Anyway, this is the documentation to reuse, set up and understand the FIESTA-IoT prototype project. Goal This documentation guides developers to set up and run this prototype project. Understanding the project code (description of packages) Understanding the technologies used in the project Requirements Java 1.7, Eclipse Kepler, App Engine SDK 1.9, Jena framework 2.11. Technologies Java 1.7 is required to use Google App Engine used We used Eclipse Kepler to develop the FIESTA-IoT prototype Jena: a framework to build semantic web applications Google App engine (App Engine SDK 1.9) to host the web site online (we do not need to have our own server and domain name) Java Data Objects (JDO) to store data (e.g., semantic sensor data) on the google app engine datastore RESTful Java, Jersey (JAX-RS) to develop Java web services User interface: HTML, CSS, Bootstrap, JavaScript, AJAX System Windows 7, 64 bits Status Work in progress Time estimated 1 day to set up the project Part I : Technologies used in FIESTA-IoT prototype.................................................................................. 6 I. Jena ................................................................................................................................................... 7 II. Google App Engine ............................................................................................................................ 7 III. RESTful implementation for JAVA: JAX-RS .................................................................................... 7 Part II : Set up the FIESAT-IoT prototype project ...................................................................................... 8 IV. Get the code and everything available on Google Drive to follow this tutorial ........................... 8 V. The FIESTA_IoT_Tutorial_Set_up_Prototype directory .................................................................... 9 VI. Install Java and JRE 1.7 ................................................................................................................ 11 VII. Install Eclipse Kepler ................................................................................................................... 11 1. Import and open the project within Eclipse ............................................................................... 13 2. Result expected: Check that you can see the project ................................................................. 13 VIII. (Optional) Install the Google Plugin for Eclipse .......................................................................... 14 Part III : Running the project on localhost ............................................................................................ 17 I. Discover the project and run it ....................................................................................................... 17 II. Integrating all Jars requires (Solve Java Build Path Problems) ....................................................... 20 III. (Optional) Install Jena inside Eclipse ........................................................................................... 25 IV. Check that you have the Java Compiler 1.7 within Eclipse ......................................................... 25 V. Run the project on localhost ........................................................................................................... 26 Part IV : Deploying the project on the Web (Optional) ........................................................................ 29 VI. Error App engine when deploying .............................................................................................. 35 Part V : Understanding the project .......................................................................................................... 36 I. FIESTA-IoT Prototype overview....................................................................................................... 36 II. Libraries (Jars) required .................................................................................................................. 38 III. Descriptions of packages ............................................................................................................ 38 1. insight.web.service ..................................................................................................................... 39 IV. The WAR directory ...................................................................................................................... 40 1. WAR/CSS ..................................................................................................................................... 40 2. WAR/dataset ............................................................................................................................... 40 3. WAR/documentation .................................................................................................................. 40 4. WAR/html ................................................................................................................................... 40 5. WAR/images ............................................................................................................................... 40 6. WAR/javascript ........................................................................................................................... 41 7. WAR/ONTOLOGIES...................................................................................................................... 41 8. WAR/RULES ................................................................................................................................. 41 9. WAR/SPARQL .............................................................................................................................. 41 Part VI : Understanding web services ................................................................................................... 42 Part VII : Gitlab for the FIESTA-IoT consortium code ............................................................................. 43 FIGURE 1. TECHNOLOGIES USED IS THIS PROJECT ............................................................................................. 7 FIGURE 2. REPOSITORY ON GOOGLE DRIVE TO SET UP THE CODE WITH EXACTLY THE SAME ENVIRONMENT .......... 8 FIGURE 3 THE CODE OF THE PROTOTYPE .......................................................................................................... 8 FIGURE 4. THE CODE CORRESPONDS TO THIS PROTOTYPE................................................................................. 9 FIGURE 2. FIESTA_IOT_TUTORIAL_SET_UP_PROTOTYPE DIRECTORY ........................................................... 10 FIGURE 8. APP ENGINE SDK 1.9 ALREADY IN THE ECLIPSE THAT WE PROVIDED ................................................ 10 FIGURE 9. JARS REQUIRED IN THE PROJECT ARE PROVIDED IN THE JAR DIRECTORY ........................................ 11 FIGURE 10. INSTALL ECLIPSE KEPLER THAT WE PROVIDED .............................................................................. 12 FIGURE 11. JAVA 1.7 IS REQUIRED WITH THE GOOGLE PLUGIN FOR ECLIPSE .................................................... 12 FIGURE 12. THE ECLIPSE WORKSPACE IS EMPTY ............................................................................................. 13 FIGURE 13. THE PROJECT IN THE ECLIPSE WORKSPACE .................................................................................. 14 FIGURE 14. GOOGLE APP ENGINE SETTINGS .................................................................................................. 15 FIGURE 15. CHECK THAT THE DATANUCLEUS JPP/JPA IS V1 .........................................................................