Report on Deliverable 1.3
Total Page:16
File Type:pdf, Size:1020Kb
REPORT ON DELIVERABLE 1.3 Beta DAIAD integrated prototype PROJECT NUMBER: 619186 DAIAD is a research project funded by European Commission's 7th START DATE OF PROJECT: 01/03/2014 Framework Programme. DURATION: 42 months The information in this document reflects the author’s views and the European Community is not liable for any use that may be made of the information contained therein. The information in this document is provided ”as is” without guarantee or warranty of any kind, express or implied, including but not limited to the fitness of the information for a particular purpose. The user thereof uses the information at his/ her sole risk and liability. Dissemination Level Public Due Date of Deliverable Month 24, 29/02/2016 Actual Submission Date 08/07/2016 Work Package WP1 DAIAD Requirements, Architecture and Integration Tasks 1.4 Integration Type Prototype Approval Status Submitted for approval Version 1.2 Number of Pages 88 Filename D1.3_DAIAD_beta_integrated_prototype.pdf Abstract This report presents an overview of the Prototype Deliverable D1.3 “Beta DAIAD integrated prototype”, which includes all DAIAD software components currently under evaluation in the context of our user trials. First, we present our methodologies, practices, and infrastructures for integration and testing. Then, we provide an overview of the current architecture of the Beta DAIAD integrated prototype, its subsystems, as well as libraries and external frameworks used. Finally, we present the characteristics of the production deployment environment. REPORT ON DELIVERABLE 1.3 2 History version date reason revised by 0.1 11/01/2016 First draft Spiros Athanasiou 0.4 08/02/2016 Added content to various Sections Yannis Kouvaras 0.8 17/02/2016 Various edits Yannis Kouvaras, Nikos Georgomanolis 1.0 29/02/2016 Final version Spiros Athanasiou Corrected Figure references – 1.1 01/06/2016 updated report template for MS Spiros Athanasiou Office 365/PDF style incompatibility Yannis Kouvaras, Michalis Alexakis, Updated all sections and introduced Nikos Georgomanolis, Stelios additional sub-sections following Manousopoulos, Nikos Karagiannakis, 1.2 08/07/2016 reviewers’ feedback received during Giorgos Giannopoulos, Pantelis the Y2 review meeting; document re- Chronis, Sofia Karagiorgoy, Giorgos authored as a Report deliverable Chatzigeorgakidis, Spiros Athanasiou Author list organization name contact information ATHENA RC Spiros Athanasiou [email protected] [email protected] ATHENA RC Nikos Georgomanolis innovation.gr ATHENA RC Yannis Kouvaras [email protected] ATHENA RC Michalis Alexakis [email protected] [email protected] ATHENA RC Stelios Manousopoulos innovation.gr ATHENA RC Nikos Karagiannakis [email protected] ATHENA RC Giorgos Giannopoulos [email protected] ATHENA RC Pantelis Chronis [email protected] ATHENA RC Sofia Karagiorgoy [email protected] ATHENA RC Giorgos Chatzigeorgakidis [email protected] REPORT ON DELIVERABLE 1.3 3 Executive Summary This report presents an overview of the Prototype Deliverable D1.3 “Beta DAIAD integrated prototype”, which includes all DAIAD software components currently under evaluation in the context of our user trials . In Section 1, we present the software development, integration and testing methodologies applied in the project, emphasizing the organizational and technical details that strongly influence integration tasks. In the following we analyze how our methodologies are applied in practice to integrate and test the DAIAD system in its entirety. The reader is invited to visit the corresponding Annexes which provide more detailed information about our practices. In Section 2, we present the actual Beta DAIAD Integrated System, as it is currently deployed in a production setting. First, we provide an overview for its architecture and detail its major components. Next, we enumerate the major libraries and frameworks applied in the system. Last, we present how documentation is produced and provide links to the actual documentation of the system. In Section 3, we present the production system applied to deploy DAIAD. First, we briefly present its capabilities and characteristics, as well as its initialization for the needs of the project. Then, we present the actual production architecture in terms of cloud VMs/nodes/groups. Finally, we present how deployment is orchestrated and automated. REPORT ON DELIVERABLE 1.3 4 Abbreviations and Acronyms API Application Programming Interface AJAX Asynchronous JavaScript and XML AOP Aspect Oriented Programming APK Android application package AWS Amazon Web Services BT Bluetooth CI Continuous Integration CORS Cross-Origin Resource Sharing CRON Command Run On CSRF Cross-Site Request Forgery CSS Cascading Style Sheets CSV Comma Separated Values DI Dependency Injection DOM Document Object Model DOM Document Object Model DTO Data Transfer Object DTO Data Transfer Object ETL Extract, Transform and Load HDFS Hadoop Distributed File System HTTP Hypertext Transfer Protocol ICU International Components for Unicode IPv4 Internet Protocol version 4 IPv6 Internet Protocol version 6 Java EE Java Enterprise Edition JPA Java Persistence API JSON JavaScript Object Notation JTS Java Topology Suite REPORT ON DELIVERABLE 1.3 5 MR MapReduce MVC Model View Controller MVP Minimum Viable Product OGC Open Geospatial Consortium OOXML Open Office Extensible Markup Language OpenGIS Open Geographical Information System ORM Object Relational Mapper RERO Release Early, Release Often REST Representational State Transfer RF Radio Frequency RPC Remote Procedure Call SFS Simple Feature Specification SFTP SSH File Transfer Protocol SPA Single Page Application SQL Structured Query Language SSH Secure SHell SSH2 Secure SHell 2 SWM Smart Water Meter TCP/IP Transmission Control Protocol/Internet Protocol UI User Interface URL Uniform Resource Locator UTC Coordinated Universal Time VM Virtual Machine WGS84 World Geodetic System 1984 YAML Yet Another Markup Language REPORT ON DELIVERABLE 1.3 6 Table of Contents 1. Integration ................................................................................................................. 12 1.1. Software Development principles .................................................................................................................................................... 12 1.1.1. Agile ......................................................................................................................................................................................... 12 1.1.2. Release Early, Release Often (RERO) ............................................................................................................................... 13 1.1.3. Benevolent dictatorship and tight commit control ..................................................................................................... 13 1.2. Integration and Testing ....................................................................................................................................................................... 15 1.2.1. Software integration principles ....................................................................................................................................... 15 1.2.2. Integration and Testing Methodologies ......................................................................................................................... 15 1.3. Integration and Testing Practices .................................................................................................................................................... 16 1.3.1. Usage workloads ................................................................................................................................................................. 16 1.3.2. Infrastructures .................................................................................................................................................................... 17 1.3.3. End-user devices and equipment .................................................................................................................................. 17 1.3.4. Staging environment ......................................................................................................................................................... 19 1.3.5. Production environment ................................................................................................................................................... 19 1.3.6. Tester groups ...................................................................................................................................................................... 19 1.3.7. Testing Data ......................................................................................................................................................................... 20 2. Beta DAIAD Integrated System ........................................................................... 21 2.1. Architecture .......................................................................................................................................................................................... 21 REPORT ON DELIVERABLE 1.3 7 2.1.1. DAIAD Services ...................................................................................................................................................................