FiWare

Recommendations for Submitters to FIWARE Acceleration Programme regarding planned usage of FIWARE

 

Following is a series of questions that will be taken into account when measuring usage of FIWARE by a given application to any of the Open Calls published by FIWARE Accelerator Projects.   They will be considered by evaluators of the top-level evaluation criterion related to Use of the FIWARE technology.   Consequently, submitters of applications to the Open Calls published by FIWARE Accelerator projects are invited to bear them in mind when answering questions about how they plan to use FIWARE in application forms.   Their answers can be structured the way they prefer, following recommendations of each of the specific Open Calls, but submitters of applications should take into account that answers to the questions below should be easy to derive from their answers in submitted application forms. 

 

1. Questions to measure usage of FIWARE by a given application

1.1 Data/Media Context Management

1.1.1 What are the kind of entities that are relevant to the application (i.e., made up the application's information model)?  Is the application intending to exhibit a context-aware behaviour (i.e., a behaviour that depends on values of attributes characterizing entities that describe the context)?  How does the application implement context-awareness?  What would be the sources of context information in the application? Are there plans to use the FIWARE Context Broker GE (reference implementation: Orion) to handle/publish Context Information and implement context awareness?  How?

 

1.1.2 Does the application detect scenarios or events to which the application reacts?  What kind of reaction does the application trigger?  Does the application need to perform some sort of real-time processing on events (e.g. change on context information)?  Are there plans to use the FIWARE Complex Event Processing GE (reference implementation: ProTon) to handle scenarios or perform real-time event processing?  How?

 

1.1.4 Does the application need to perform BigData analysis? Does it need to analyze big files or datasets in batch mode? Is it planned to exploit map&reduce techniques in the data analysis using Hadoop? Are there plans to use the FIWARE BigData GE (reference implementation: Cosmos) for this purpose? How?

 

1.1.5 Does the application orchestrate services from third-party systems or implement some sort of workflow?  How does it plan to implement it?

 

1.1.6 Does the application require to process media streams in real-time?  What kind of media streams?  What kind of processing does it need to perform in media contents?  Does it process/generate metadata linked to media streams?  Does it need to implement real-time media communication?  Does it need to broadcast media streams?  Does it need to archive large media streams?  Are there plans to use the FIWARE Real-time Media Streaming Processing GE (reference implementation: Kurento) for this purpose? How?

 

1.1.5 Does the application consume datasets provided by a third party (as Open Data or not)?  Does the application produce, publish or modify datasets?  Does access control to these datasets need to be handled?  Are there plans to use the CKAN platform for the purpose of managing and publishing datasets? How? (note: CKAN is the reference implementation of the FIWARE Datasets Management GE)

 

1.2 Connection to the Internet of Things

1.2.1 Does the application require to handle data from sensors or actuate on devices deployed in the field (actuators)? How many of them is the application expected to handle?  What kind of sensors/actuators does it connect to?

 

1.2.2 How is data from sensors processed?  Does it get integrated as part of context information in order to support some context-awareness behaviour?

 

1.2.3 What kind of protocols does the application handle to connect to sensors and/or actuators? How does it handle scalability in the number of sensors/actuators connected to the application? Are there plans to use the FIWARE IoT Backend Device Management GE (reference implementation: IDAS) for this purpose? How?

 

1.2.4 Values of some attributes characterizing entities that are relevant to the application may be calculated based on the combination of measures captured from multiple sensors (e.g. the temperature of a building may be calculated as the average of temperatures measured in each floor).  How does the application plan to implement this kind of calculations?  Are there plans to use the FIWARE IoT Broker GE for this purpose?  How?

 

1.2.5 Does the application require to perform certain filtering/processing on measured data that executes closer to sensors (i.e., executed in gateways/hubs distributed closer to sensor devices) in order to optimize traffic and handle scalability?  What are the plans to implement it?  Are there plans to use FIWARE IoT Gateway GEs for this purpose?  How?

 

1.3 Application/Data Delivery

1.3.1 Does the application plan to provide some sort of widget-based management dashboard to monitor application data?   Does it plan to be customizable by the user?  Are there plans to implement these dashboards using the FIWARE Application Mashup GE (reference implementation: Wirecloud) for this purpose?  How?

 

1.3.2 Does the application plan to implement some module that will enable users to generate reports, visualize data statistics and KPIs and perform customizable data/KPI  analysis? Are there plans to use the FIWARE Data Visualization and Analysis GE (reference implementation: SpagoBI) for this purpose?  How?

Note that SpagoBI will be progressively published as part of the FIWARE GEris but it is not available for the first calls of the accelerator projects.

 

1.4 Advanced Web-based User Interface

1.4.1 Does the application require an User Interface that supports 3D Web features?  Are there plans to use any of the FIWARE GEs in the Advanced Web-based User Interface chapter for that purpose?  How?

 

1.4.2 Does the application require to model and display 3D virtual worlds or represent GIS information through a Web 3D User Interface? Are there plans to use any of the FIWARE GEs in the Advanced Web-based User Interface chapter for that purpose?  How?

 

1.4.3 Does the application require to support some Augmented Reality features? Are there plans to use any of the FIWARE GEs in the Advanced Web-based User Interface chapter for that purpose?  How?

 

1.4.4 Does the application require to use virtual characters/avatars? Are there plans to use any of the FIWARE GEs in the Advanced Web-based User Interface chapter for that purpose?  How?

 

1.5 Advanced middleware

1.5.1 Does the application require very-fast real-time data exchange that goes beyond what regular REST/http-based middleware may support?  In what scenarios?  What sort of middleware is it planned to be used in case there is the need for an alternative to http? Are there plans to use the Advanced middleware GE (reference implementation: KIARA) to implement your requirements?  How?

 

1.6 Robotics

1.6.1 Does the application require to interact with some autonomous device like a robot?  How?  What is the robot operating system or robotics framework used by the robots the application has to interact with (ROS, Player, YARP, Orocos, Microsoft Robotics Studi, …) ?  

 

1.7 Security

1.7.1 What type of authorization framework will the application implement?  Are there plans to adopt OAuth 2.0 for implementing authorization?  Are there plans to use the FIWARE Identity Management GE (reference implementation: KeyRock) for this purpose?

 

1.7.2 What kind of framework will the application implement for controlling access to exported data and/or APIs (Application Programming Interfaces)?  Are there plans to use the access control framework supported in FIWARE for this purpose?

 

1.7.3 Does the application require to face any specific security thread? Are there plans to use the FIWARE Security Monitoring GE for this purpose?  How?

 

1.8 Cloud infrastructure

1.8.1 Will the application involve significant amounts of data? Of what kind? Does the application require Object Storage?  What kind of object files does the application need to store?  How large?  Are there plans to use the FIWARE Object Storage GE for this purpose?  How?

 

1.8.2 What runtime base stack software and/or frameworks does the application plan to use? E.g., wep/application servers? SQL/NoSQL Databases? Messaging? Other?

 

1.8.3 Is it envisioned that the application be elastic (in terms of amount of VMs and/or other resources consumed over time)? Which technologies (provided by FIWARE platform or otherwise) are planned to be used?

 

1.8.4 Is it planned to deploy the application on the FIWARE Lab Cloud in order to perform testing?