FI-WARE Generic Enablers technical overview University of Athens 1
FI-WARE: Major Technical Chapters Advanced middleware and interfaces to Network and Devices Advanced Web-based User Interface Applications/Services Ecosystems and Delivery Framework Cloud Hosting Data/Context Management Internet of Things Services Enablement Security 2
Applications/Services Ecosystems and Delivery Framework Store-WStore Description: provides the functionality for creating /purchasing /managing services offerings Type: It is a python-django web application Database: Can use mongo or mysql as a database Functionality: Functionality exposed through a web interface, REST API Comments : Can be connected with Marketplace GE, Repository GE Application Mashup-Wirecloud Description: provides widgets' hosting and mashup of widgets Type: It is a python-django web application Database: Can use mongo or mysql as a database Functionality: Functionality exposed through a web interface, REST API Comments : Can be connected with Marketplace GE for accessing widgets offerings Marketplace Description: Saves services offerings information and stores information Type: It is a java web application Database: Uses mysql as a database Functionality: Functionality exposed through REST API 3
Repository Applications/Services Ecosystems and Delivery Framework(2) Description: It's a repository for services description in an RDF format Type: It is a java web application Database: Uses mongo as a database Functionality: Functionality exposed through REST API Revenue Settlement and Sharing System Description: manages distribution of the revenues originated by the usage of a given service among the involved stakeholders Type: It is a java web application Database: Uses mysql as a database Functionality: Functionality exposed through REST API Comments: Connection with Pentaho Data Integration external tool 4
Security Keyrock IDM Description: It provides authentication / authorization SSO solutions Type: It is a ruby on rails web application Database: Uses mysql as a database Functionality: Functionality exposed through a web interface, REST API Comments: Supports Oauth2.0, scim2.0, Can be connected with Access Control GE Access Control THA implementation : Description: Offers management of authorization policies for authorization access to REST APIs or other services. Type: It is a java web application, needs jvm security setup Database: Uses LDAP Functionality: Functionality exposed through REST API and use of XACML 2.0 Policy schema Comments: Supports Oauth, XACML, can be connected with Keyrock IDM 5
Security(2) Security Monitoring Description: It offers network vulnerabilities analysis and probable attacks paths estimation. Offers three services: MulVAL Attack Paths Engine Description: offers network vulnerabilities analysis Type: It is a java web application Database: Uses CVE database Functionality: Functionality exposed through REST API or web interface Scored Attack Paths Description: estimates possible attacks paths based on MulVAL results Type: It is a java web application Database: Requires no database Functionality: Functionality exposed through web interface Remediation : Description: provides tools to security operators for proposing cost-sensitive remediations to attack paths Type: It is a java web application Database: Uses sqlite as a database Functionality: Functionality exposed through web interface or REST API 6
Advanced middleware and interfaces to Network and Devices Network Information and Control - OFNIC Uniroma Description: It offers a RESTful interface in order to get information about the network topology components and elements either real or virtual Type: It is partly python c application (based on nox controller). Needs SNMP properly installed. Database: It uses mysql as a database Functionality: Functionality exposed through REST API or web interface Comments: Retrieves information and control of Openflow Networks. 7
Advanced Web-based User Interface 2D / 3D Capture Description: is capturing contextual information related to a 2D 3D scene of the surrounding so that the data can be used for searching images etc. Type: It is a python java web application. Database: It uses mysql as a database Functionality: Functionality exposed through REST API or web interface 3D-UI-XML3D Description: Integrates interactive 3D graphics into your Web-based application using HTML5 Type: It is a javascript library. Needs OpenGL enabled browser with OpenCL as well Database: Requires no database Functionality: Functionality exposed using the javascript API 8
Advanced Web-based User Interface (2) 3DUI WebTundra Description: It is a WebGL & WebSockets based web client library for 3D web applications of multiple users Type: It is javascript API using realxtend Tundra SDK as the server Database: Requires no databases Functionality: Functionality through the use of the API Cloud Rendering Description: Provides a generic way to request, receive and control a video stream of a remote 3D application. Also offloads heavy 3D requirements from low end devices. Type: Web Service is a nodejs application, the Renderer is based on realxtend Tundra and the Web Client is a javascript API Database: Requires no databases Functionality: Functionality through the use of the API 9
Advanced Web-based User Interface (3) GIS Data Provider - Geoserver/3D Description: is able to host geographical data and serve it in 3D form (where applicaple) to both mobile and web clients Type: It is a java web application Database: Database is optional. PostGIS can be installed Functionality: Functionality exposed through the use of javascript api Interface Designer Description: The goal is to provide an easy-to-use full manipulator / editor of 3D objects within a scene through an in-browser world editor Type: A WebGL-enabled browser Database: Database not required. Functionality: Functionality exposed through the use of javascript api and web interface 10
Advanced Web-based User Interface (4) POI Data Provider Description: stores information related to locations,serves queries by location and other criteria Type: It is a web php application Database: Database PostgreSQL/PostGIS for storing and accessing data components with spatial data (fw_core data component) and MongoDB for storing and accessing all other data components that do not require spatial searches Functionality: Functionality exposed through the use of javascript api Real Virtual Interaction Description: provides means for connecting real world devices consisting of sensors and actuators in to augmented or virtual reality applications Type: It is a java application Database: Data are saved into files Functionality: Functionality exposed through javascript API,android application and REST API 11
Advanced Web-based User Interface (5) Synchronization Description: uses a WebSocket-based bidirectional protocol for connected Web clients to receive continuous real-time scene updates, and to post their real-time changes to the scene. Type: It is a realxtend Tundra SDK based application Database: Requires no database Functionality: Functionality exposed through javascript API Virtual Characters Description: enables creation, display and animation of virtual characters. Type: A web browser that supports WebGL rendering is required Database: Requires no database Functionality: Functionality exposed through javascript API 12
IoT Services Enablement Backend Device Management IDAS Description: Collection and translation of device observations into NGSI events Type: Linux RPM packages Database: MongoDB Functionality: Administrative REST API, NGSI9/10, Device Communication API (SensorML, Lightweight SensorML) Configuration Manager IoT Discovery Description: Linked-Data format registration of IoT Objects Type: War Database: MySQL Functionality: NGSI9, RESTful API for device discovery, semantic IoT descriptions (RDF/OWL), Semantic querying via SPARQL 13
IoT Services Enablement (2) Gateway Data Handling GE EspR4FastData Description: Complex Event Processor based on Esper library Type: War Database: Not required, a simple XML storage is used internally Functionality: Administrative RESTful API, NGSI 9/10 (only partial), EPL queries Configuration Manager Orion Context Broker Description: Provides NGSI 9 (Context Availability) and NGI10 (Context Management) Operations Type: Linux RPM package Database: MongoDB Functionality: RESTful API NGSI 9/10 14
IoT Services Enablement (3) NEC IoT Broker Description: Publish/Subscribe broker abstracting devices from IoT applications Type: Jar (OSGi bundle) Database: Requires no database Functionality : RESTful API NGSI 10 Protocol Adapter MR CoAP Description: Provides support for devices running CoAP over 6LowPan (Only for IBM s MoteRunner platform) Type: jar Database: Requires no database Functionality : RESTful API NGSI 9/10 (partial) 15
Data/Context Management Publish/Subscribe Context Broker Orion Context Broker Description: Mediates between context producers and context consumers Type: Linux RPM package Database: MongoDB Functionality: RESTful API NGSI 9/10 Complex Event Processing (CEP) - IBM Proactive Technology Online Description: Complex Event Processor of real time events Type: War Database: Requires no database Functionality: Administrative RESTful API, NGSI 9/10 (partial) Comments: Includes authoring tool which allows you to setup event definitions, rules, and actions when complex events are detected. 16
Data/Context Management (2) BigData Analysis - Cosmos Description: storage and processing of large amounts of data, in batch mode, distributing tasks in a medium-size cluster of computers, following the MapReduce paradigm Type: Multiple RPM packages Database: Uses Hadoop Distributed File System (HDFS) as storage. Functionality: WebHDFS REST API, Hadoop API, Oozie Java API, Oozie REST API Comments : NGSI 10 (Through Cygnus, a component in charge of receiving context data from Orion and storing it in HDFS) Stream-oriented - Kurento Description: Development of complex interactive multimedia communications in a fast, simple and easy way Type: Linux DEB package Database: Requires no database Functionality: REST-like StreamOriented Open API (From FI-WARE), with Java and Javascript clients available 17
Cloud Hosting The GEis hosted in this technical chapter are targeting cloud infrastructure providers, not application developers IaaS Data Center Resource Management GE - IBM Implementation Monitoring GE - TID Implementation Object Storage GE - FI-WARE Implementation PaaS Manager Pegasus Policy Manager Bosun Self-Service Interfaces - Cloud Portal (UPM) Software Deployment & Configuration - Sagitta 18