FIWARE Based Application Development



Similar documents
FI-WARE Based Application Development

SmartSantander Open Data access using FI-WARE G.E. [ORION]

Andrés An open platform for the IoT in Chile Congreso TIC 2015

< IMPACT > START ACCELERATE IMPACT

Be part of the Smart Future of #Energy

ANTILOPE Handover workshop. Franck Le Gall, Easy Global Market Constantinos Pattichis, University of Cyprus

FIWARE Lab Solution for Managing Resources & Services in a Cloud Federation

The FI-PPP Value Added Future Internet Public-Private Partnership (FI-PPP) And Startup Europe

Setting up your virtual infrastructure using FIWARE Lab Cloud

A New Open Service Platform

FI-WARE Generic Enablers technical overview. University of Athens

Future Internet Service- Based Architecture According to FI-WARE

Motion Sensor Driven Gestrure Recognition for Future Internet Application Development

elearning platform Support to FIdevelopers

How To Build A Cloud Based Network System

FI-PPP / FI-WARE Open Calls. Pascal Bisson (Thales), Henk Heijnen (Technicolor)

How can the Future Internet enable Smart Energy?

Collaborative Open Market to Place Objects at your Service

Pasquale Vitale Engineering Ingegneria Informatica. FIWARE LAB Cloud Portal

Stelios Sotiriadis, Euripides G.M. Petrakis, Stefan Covaci, Paolo Zampognaro, Eleni Georga, Christoph Thuemmler

VMware Cloud Computing in de praktijk VMware Inc. All rights reserved

FIWARE: Future Internet Opportunities using Open Data Latvia, February

BETEILIGUNGSMÖGLICHKEITEN IN FINESCE

Future Internet Public-Private Partnership Call 3 (Objectives ) European Commission Communications Networks, Content and Technology DG

FIWARE. Architecture Overview

Collaborative Open Market to Place Objects at your Service

Apigee Edge API Services Manage, scale, secure, and build APIs and apps

How Can Agile Customers Benefit from Oracle Fusion Middleware Today?

KURA M2M/IoT Gateway. reducing the distance between embedded and enterprise technologies. Tiziano Modotti, October 28 th, 2014

Corporate Bill Analyzer

AdRadionet to IBM Bluemix Connectivity Quickstart User Guide

SAP HANA Cloud Platform. Technical Overview Uwe Heinz

Large-scale Integrated Project (IP)

Middleware- Driven Mobile Applications

HP OO 10.X - SiteScope Monitoring Templates

Collaborative Open Market to Place Objects at your Service

Delivering secure, real-time business insights for the Industrial world

300+ APIs Everywhere

Huawei Technologies ERC Position Statement: Towards a Future Internet Public Private Partnership

FITMAN Future Internet Enablers for the Sensing Enterprise: A FIWARE Approach & Industrial Trialing

Amplify Service Integration Developer Productivity with Oracle SOA Suite 12c

M 2 M IWG. Eclipse, M2M and the Internet of Things. Overview. M 2 M Industry WorkGroup! M2M?

The Internet of Things

Data Sheet Netrounds Control Center

Internet Business Acceleration Program for 3D Printing Services in Europe

Deploy. Friction-free self-service BI solutions for everyone Scalable analytics on a modern architecture

ni.com Remote Connectivity with LabVIEW

Assignment # 1 (Cloud Computing Security)

Building the Internet of Things Jim Green - CTO, Data & Analytics Business Group, Cisco Systems

INTRODUCTION TO CLOUD MANAGEMENT

Nýjungar í webmethods 9.x. Ingólfur Þorsteinsson

Collaborative Open Market to Place Objects at your Service

CARRIOTS TECHNICAL PRESENTATION

Horizontal IoT Application Development using Semantic Web Technologies

Smart Business Architecture for Midsize Networks Network Management Deployment Guide

AppStack Technology Overview Model-Driven Application Management for the Cloud

WebFOCUS Cloud Express. The WebFOCUS Cloud Express service is delivered as a managed G-Cloud service by Amtex Solutions Ltd.

SmartTV User Interface Development for SmartTV using Web technology and CEA2014. George Sarosi

IBM API Management Overview IBM Corporation

Automatizace Private Cloud. Petr Košec, Microsoft MVP, MCT, MCSE

Configuring and Managing a Private Cloud with Enterprise Manager 12c

Intro to Web App Builder. Mark Scott, Solutions Engineer, Esri County Government Team

FI-WARE Cloud Overview

API Management: Powered by SOA Software Dedicated Cloud

Simplifying and Empowering the Implementation of Enterprise Mobile Strategy

Oracle Database Cloud Services OGh DBA & Middleware Day

Understanding Evolution's Architecture A Technical Overview

Espial IPTV Middleware. Evo Solution Whitepaper. <Title> Delivering Interactive, Personalized 3-Screen Services

How To Build A Cloud Portal For Sap Hana Cloud Platform

SAP HANA Cloud Platform

ITP 342 Mobile App Development. APIs

Software AG TechEd 2015 User Conference Mobile Enabler for Natural

Open Source Multi-Cloud, Multi- Tenant Automation in the cloud with SlipStream PaaS

Ernesto Ongaro BI Consultant February 19, The 5 Levels of Embedded BI

Integrating Mobile into Your Cross- Platform Strategy with Qt

Rapid Development of Smart and Self-Adaptive Cloud, Mobile & IoT Applications - Accelerating the Last Mile of Cloud Computing

MASHUPS FOR THE INTERNET OF THINGS

Consumer Bill Presentment Platform Product Description v3.1

SAP HANA Cloud Portal Overview and Scenarios

White Paper: OSGi-based E-Health / Assisted Living

Actian Vortex Express 3.0

WebSphere Business Monitor V7.0 Business space dashboards

Hands on Lab: Building a Virtual Machine and Uploading VM Images to the Cloud using Windows Azure Infrastructure Services

CloudCIX Bootcamp. The essential IaaS getting started guide.

Integrating Mobile apps with your Enterprise

Classic Grid Architecture

Linux A first-class citizen in Windows Azure. Bruno Terkaly bterkaly@microsoft.com Principal Software Engineer Mobile/Cloud/Startup/Enterprise

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

Internet of things (IOT) applications covering industrial domain. Dev Bhattacharya

Transcription:

FIWARE Based Application Development flavio@ufu.br 1

The Future Internet Public- Private Partnership (FI-PPP) Goal: capture new opportunities derived from Future Internet technology trends Broadband connectivity, IoT, Cloud, Big Data, etc Approach: boost innovation by fostering industrydriven ecosystem Generic Platform (FIWARE) Industry-specific platforms and trials ( Use-Cases ) Broader community of developers and entrepreneurs EC provides half of the funding: Transport, Mobility and Logistics Smart Energy Grid Smart Cities ehealth e-government Industry driven, major industry players involved FIWARE Based Application 2 Development Pan-european dimension

FIWARE: Targeting developers needs What Connect apps to the physical world IoT-M2M Enablers How Manage open data at large scale and transform it into knowledge Benefit from open innovation (crowd-sourcing, apps composition) Data/Context Enablers Integration and Composition Enablers Built-in APIs & tools Reach target users, monetize Business & Delivery Framework (revenue-share, cross-selling, ) Ensuring Privacy, Security and Trust Security Enablers Take the most of infrastructures while keeping costs lower and under control access from everywhere, adapt to devices Advanced Cloud Enablers Enablers easing interface to Network and Devices

FIWARE: Major Technical Chapters How Technical Chapters IoT-M2M Enablers IoT Services Enablement Built-in APIs & tools Data/Context Enablers Data/Context Management Integration and Composition Enablers Business & Delivery Framework (revenue-share, cross-selling, ) Apps/Services Ecosystem & Delivery Security Enablers Security Advanced Cloud Enablers Cloud Enablers easing interface to Network and Devices I2ND FIWARE Based Application 4 Development

FIWARE Generic Enablers (GEs) A FIWARE Generic Enabler (GE): set of general-purpose platform functions available through APIs Building with other GEs a FIWARE Reference Architecture FIWARE GE Specifications are open (public and royalty-free) FIWARE GE implementation (FIWARE GEi): Platform product that implements a given GE Open Spec There might be multiple compliant GEis of each GE Open Spec Available FIWARE GEis published on the FIWARE Catalogue The FIWARE project will deliver at least one reference implementation of FIWARE GEs: Based upon results of previous R&D projects Publicly available Technical Roadmap updated in every release Licensed with no costs within the FI-PPP program Commercialized under FRAND conditions or license as open source 5

FIWARE Instances Future Internet Applications run on top of FIWARE Instances that are built by FIWARE Instance Providers upon: selection of FIWARE GEis (products) from the FIWARE Catalogue assembly of selected FIWARE GEis with proprietary added-value products FIWARE Catalogue Future Internet App FIWARE Instance assemble FIWARE GE implementations 6 propietary product

FIWARE major differential features Cloud Data IoT Apps MiWi Security I2ND Federation of infrastructures (private/public regions) Automated GE deployment Complete Context Management Platform Integration of Data and Media Content Easy plug&play of devices using multiple protocols Automated Measurements/Action Context updates Visualization of data (operation dashboards) Publication of data sets/services 3D and AR visualization of context Advanced middleware Security Monitoring Built-in Identity/Access/Privacy Management QoS across datacenters (OpenFlow) FIWARE Based Application 7 Development

FIWARE Partners Some project partners 8

FIWARE Objectives (to UFU and USP) Create the conditions, at each region where the FIILAB is deployed, to support the development of innovative services and applications by local entrepreneurs Explore FIWARE Generic Enablers (GE), and Specific Enablers (SE) in order to reduce the time to market of these new services and applications Deploy FI-Lab Nodes in Brazil, creating the conditions for entrepreneurs to reach the market Collaborate with Future Internet initiatives fostering the use of technology that may help to provide a better living 9

Dissemination Model Focus on the region s potential business models, according the local context and ecosystem Each FIILAB will have the participation of four stakeholders of the innovation process: Higher Education Institutes (HEI) Start-ups and Small and Medium Enterprises (SMEs); Incubators and Accelerators Funding agencies and financing entities. Explore opportunities regarding Smart Cities, Internet of things, Mobile devices and Applications

FIWARE Architecture http://forge.fiware.org/plugins/mediawiki/wiki/fiware/index.php/fiware_architecture 11

Envisioned target Smart City platform RULES DEFINITION TOOL OPERATIONAL DASHBOARD KPI GOVERNANCE OPEN DATA PORTALS Real-time processing Data Quering/Action, Publish/Subscr BI ETL BigData Processing Open Data publishing City Services Inventory GIS CEP Service orchestrator Context Adapters Smart city platform as a Data/Knowledge Hub Non-intrusive, open to third parties Real Time Media Stream Processing Media streams Short-term historic data Context Broker Big Data IoT Broker & Config Management (from sensors to things) IoT Backend Device Management actuators measures / command s IoT / Sensor CKAN Open Data IDM & Auth Accounting & Payment & Billing Specific Enablers Generic Enablers

FIWARE IoT-M2M & Context/Management altogether Applications FIWARE NGSI-9/10 (entities: things, other) Other sources Context Broker CEP BigData Analysis IoT-enabled Context Management (entities: things) Backend FIWARE NGSI-9/10 IoT Broker IoT ConfigMan FIWARE NGSI-9/10 NGSI IoT Adapter IoT Backend Device Management Device-level Management API Backend Native NGSI IoT Agent Gateway/Devic e Platform GEs Native NGSI IoT Agent Gateway/Devic e Platform GEs Gateway/Devic e Platform GEs Gateway/Devic e Platform GEs 13

FIWARE Applications Reasoning http://www.programmableweb.com/news/fiware-opens-iot-future-to-everyone/2014/03/20 14

FIWARE Based Applications Based on challenges to developers, FIWARE fosters the creation of new services and applications that uses FIWARE architecture Some example of applications that are based on FIWARE enablers http://www.fiware.org/challenges/ http://www.fiware.org/category/events/challenges-events/ http://www.fiware.org/tag/challenges/ 15

Sample Application FI-GUARDIAN Monitor for adverse events Created by VM9, an SME from Nova Friburgo, Brazil Short Presentation https://www.youtube.com/watch?v=ukfhfzrbzza Winner at the FIWARE contest held at Campus Party 2014 in the Smart Cities category. Prize 75K http://ec.europa.eu/digital-agenda/en/news/finals-fiware-challenges-campusparty-2014-brazil 16

FI-GUARDIAN Building Blocks Based on several generic enablers 17

FI-GUARDIAN Architecture Overview 18

FIWARE Resources Base Site http://www.fiware.org FIWARE Enablers Catalog http://catalogue.fiware.org/enablers FIWARE E-Learning Platform http://edu.fiware.org/ FIWARE LAB http://lab.fiware.org 19

Publish/Subscribe Context Broker - Orion Context Broker Catalog http://catalogue.fiware.org/enablers/publishsubscribe-context-broker-orion-contextbroker Documentation http://catalogue.fiware.org/enablers/documentation-25 E-Learning Platform http://edu.fiware.org/course/view.php?id=44 Long video tutorial https://www.youtube.com/watch?v=tzjca1uhhe8 Programmers Guide https://forge.fiware.org/plugins/mediawiki/wiki/fiware/index.php/publish/subscribe_brok er_-_orion_context_broker_-_user_and_programmers_guide Quick Start https://forge.fiware.org/plugins/mediawiki/wiki/fiware/index.php/publish/subscribe_brok er_-_orion_context_broker_-_quick_start_for_programmers 20

Context management Context Management in FIWARE is about management of Context data (aka Context Information) Context Information is always relevant to entities, although entities can be anything (applications, users, things, ) Orion Context Broker intermediates between context producers and context consumers Orion Context Broker Applications 21 Slides prepared by Fermín Galán Márquez (fermin@tid.es) Telefónica I+D

Orion Context Broker in a nutshell Context Producers Orion Context Broker subscriptions 1026 query Context Consumers update notify update update 1026 notify DB

NGSI API Based on Next Generation Services Interface (NGSI), published by Open Mobile Alliance (OMA) http://technical.openmobilealliance.org/technical/technical-information/releaseprogram/current-releases/ngsi-archive REST API (XML & JSON rendering) Additional convenience operations to ease some operations Context Availability Management (NGSI9) Register context sources (registercontext) Search for context sources (discovercontextavailability) Subscribe to context sources availability notifications (subscribecontextavailability, updatecontextavailabilitysubcription & unsubscribecontextavailability) Context Management (NGSI10) Update context information (updatecontext) Query context information (querycontext) Subscribe to context information notifications (subscribecontext, updatecontextsubcription & unsubscribecontext) 23

The NGSI information model Orion metadata: ID, location Custom metadata Context Element EntityId EntityType Context Element attributes Name has has Type 1 n Value 1 n Meta-data Name Type Value Electrical Regulator severity batterycharg e electricpotential Issues presence location TimeInstant illuminance Node Lamps Vans Technicians

Entity Creation (Request) Using an updatecontext 25

Entity Creation (Response) Using an updatecontext 26

Query Context (request) 27

Query Context (response) 28

FIWARE Context/Data Management Platform Applications OMA NGSI-9/10 Processing/Analysis Algorithms Gathered data is injected for processing/analysis Data generated either by CEP or BigData is published Distributed Context Sources Programming of rules Gathered data injected for CEP-like processing Complex Event Processing (PROTON) Context/Data Management Platform BigData (COSMOS) Processed data is injected for processing/analy sis Direct bigdata injection

How Orion fits in the FIWARE overall platform RULES DEFINITION TOOL Real-time processing OPERATIONAL DASHBOARD Data Quering/Action, Publish/Subscr KPI GOVERNANCE BI ETL BigData Processing OPEN DATA Open Data publishing PORTAL S City Services GIS CEP Service orchestrator Context Adapters Media Streams Processing media content Short-term historic data Context Broker measures / commands Big Data IoT Broker & Config Management (from sensors to things) IoT Backend Device Management CKAN IDM & Auth Accounting & Payment & Billing Media actuators IoT/Sensor Open Data 30

Orion in LiveDemo application Browser widgets Object Storage Wirecloud (javascript runtime) Wirecloud (server) Ticket Management Context Broker History Location Cosmos CEP NGSI IoT Adapter IoT Backend Device Management 31

Application Mashup - Wirecloud End-user UI development by using Widget and Mashups Widget A small application or piece of dynamic content that can be easily placed into a web page Often encapsulate a Web API (directly or through an operator) Can be easily embedded into webpages (HTML snippets) "Mashable" widgets generate/consume events, so that they can be wired together to create a lightweight application mashup This requires a widget platform Mashup Lightweight application combining data, services and UIs from multiple sources Developed by either IT or business staff, as well as by end users Created in hours or days, not months Uses a Web Oriented Architecture (WOA) Often relies on internal + external web services (Web APIs) Done at data, logic and/or presentation layers 32

Widgets and Mashups Widgets Mashups 33

Mashups and Operators Operators represents functionality managed at the presentation layer Empower the user to create data mashups (Access + Transform data sources) by piping + Web API wrapping Enhance widget functionality by wiring them each other 34

Application Mashup Wirecloud Resources Catalog http://catalogue.fiware.org/enablers/application-mashup-wirecloud Documentation http://catalogue.fiware.org/enablers/application-mashup-wirecloud/documentation E-Learning Platform http://edu.fiware.org/course/view.php?id=53 Short video tutorial https://www.youtube.com/watch?v=yzqqstbaueo 35

Setting up your virtual infrastructure using FI-LAB Cloud Introduction to FI-LAB Cloud Hosting Deploying your first VM Deploying components for your application Object Storage API Reference Information FIWARE Based Application 36 Development

FI-LAB Cloud Hosting FIWARE Based Application 37 Development

FI-LAB Cloud Hosting Create your account in lab.fiware.eu Enter in the Cloud Portal Create your keypair (private/private key) Deploy your instance Add a public IP Open ports to the VM FIWARE Based Application 38 Development

Enter your email and password to access to the FI-LAB. If you do not have it or forgot it, sign up or request for a new one. FIWARE Based Application 39 Development

You must create a keypair to access to the servers. FIWARE Based Application 40 Development

FIWARE Based Application 41 Development Choose the VM and click Lanch.

FIWARE Based Application 42 Development Allocate new IP

FIWARE Based Application 43 Development Open ports in your VM.

FIWARE Based Application 44 Development

Deploying components for your application Deploying applications and not only Servers. Ad hoc installation (not template usage). Managing applications in Servers (install, uninstall, configure, snapshot Deploying different environments for that applications. FIWARE Based Application 45 Development

Deploy example Blueprint template: fiware1 Servers: 2-5 Tier 1: Tomcat Blueprint Template: platform specification to be deployed. Tier: Each kind of software and server to be deployed. Each Tier can be deployed in one or several servers (e.g. tomcat, 2-5 servers). Server: 1 Context Broker Server: 1 Blueprint Instance: Deployed in the testbed. Tier 2: Context Broker Tier 3: MongoDB Context Broker 46

Demo You can open the Catalog of Blueprint Template or create one from the scratch. Press the option Blueprint Templates from menu FIWARE Based Application 47 Development

Demo You should introduce the Name and the Description. FIWARE Based Application 48 Development

Demo To add new Tier, press DemoSantander name. FIWARE Based Application 49 Development

Demo After press Add Tier you see this windows to define the servers of this tier. You must define a Keypair to access to those servers. Install software pressing the mouse right click. FIWARE Based Application 50 Development

Demo You should specify the maximum, minimum and current number of servers FIWARE Based Application 51 Development

Demo Press Action and select Press Action and select Lauch Template to launch the Instance. FIWARE Based Application 52 Development

Demo You should specify the Name You should specify the Name and Description for your blueprint. FIWARE Based Application 53 Development

Demo Firstly, we need to instantiate Firstly, we need to instantiate The servers. FIWARE Based Application 54 Development

Demo Secondly, the installation Secondly, the installation of the software. FIWARE Based Application 55 Development

Demo Pressing the name you can see the tiers of this blueprint. Finally, if all was ok. FIWARE Based Application 56 Development

Demo Press it to get information Press it to get information of your server. FIWARE Based Application 57 Development

Demo FIWARE Based Application 58 Development

Demo FIWARE Based Application 59 Development

Demo FIWARE Based Application 60 Development

Big Data Analysis - Cosmos Catalog http://catalogue.fiware.org/enablers/bigdata-analysis-cosmos Documentation http://catalogue.fiware.org/enablers/bigdata-analysis-cosmos/documentation E-Learning Platform http://edu.fiware.org/course/view.php?id=69 Long video tutorial https://www.youtube.com/watch?v=jj6qcojnch4 Programmers Guide http://forge.fiware.org/plugins/mediawiki/wiki/fiware/index.php/bigdata_analysis_- _User_and_Programmer_Guide Quick Start http://forge.fiware.org/plugins/mediawiki/wiki/fiware/index.php/bigdata_analysis_- _Quick_Start_for_Programmers 61

Complex Event Processing (CEP) http://catalogue.fiware.org/enablers/complex-event-processing-cep-ibmproactive-technology-online 62

Stream and Multimedia - Kurento http://catalogue.fiware.org/enablers/stream-oriented-kurento https://www.youtube.com/watch?v=tc5baivye-m https://www.youtube.com/watch?v=tbkrl3fmhwi https://www.youtube.com/watch?v=5ejrnwkxgby https://www.youtube.com/watch?v=pycw9-4owwa 63

CKAN CKAN is an open data management platform helps publishers make their data accessible and findable by potential users. Publisher: Data + Metadata Consumer: Browse, Search, Access http://ckan.org/ CKAN Tour http://ckan.org/tour/ CKAN Features Overview http://ckan.org/features/ FIWARE https://forge.fiware.org/plugins/mediawiki/wiki/fiware/index.php/fiware.archit ecturedescription.data.ckan Cygnus conector https://github.com/telefonicaid/fiware-connectors/tree/master/flume 64

CKAN WireCloud Integration https://github.com/wirecloud-fiware/ckan-source-operator Cygnus Connector https://github.com/telefonicaid/fiware-connectors/tree/develop/flume 65

CKAN Architecture Application Layer Data Layer 66

Security OAuth 2.0 http://oauth.net/2/ Course (OAuth in FI-LAB) http://edu.fiware.org/course/view.php?id=63 OAuth Sample https://github.com/ging/oauth2-example-client 67

Prova de Conceito MyBUS Aplicação baseada em Open Data (SETTRAN) Utiliza os Generic Enablers da Arquitetura FIWARE Baseada no conceito de Smart City com foco mobilidade urbana PUBLIC DATA BUSES INFORMATION Integration Controller UpdateContext CKAN Cygnus OrionCKANSink MyBus Front Controller NotifyContext Orion Context Broker NotifyContext Fi LAB Regional Center Infrastructure FI WARE FUTURE INTERNET INNOVATION LABORATORY (FIILAB) FIWARE Based Application 68 Development

Prova de Conceito MyBUS FIWARE Based Application 69 Development

PUBLIC DATA BUSES INFORMATION - Generator Open data from the municipality of Uberlandia For the workshop we will use sample data Data Generation com.br.control.linha131 Rest Web service com.br.view.get131 @Path("/get/131") @GET @Produces(MediaType.APPLICATION_JSON) 70

Integration Controller Standard Java console base application Main Calls the generator WebService Post data to Orion Get data from the Generator Serivce and Post Data to Orion GetInfoWebGen. GetBus GET - public void getbus() http://localhost:8080/webgen/get/131 POST - public void sendtoorion() http://localhost:1026/v1/updatecontext 71

Configure Orion to Notify MyBusFrontController { } "entities": [ { "type": "BusCar", "ispattern": "false", "id": "1" } ], "attributes": ["Latitude","Longitude"], "reference": "http://localhost:8080/busweb/bus/receive", "duration": "P1M", "notifyconditions": [ { "type": "ONCHANGE", "condvalues": [ "Latitude","Longitude" ] } ], "throttling": "PT1S" 72

Configure Orion to Notify Cygnus { } "entities": [ { "type": "BusCar", "ispattern": "false", "id": "1" } ], "attributes": ["Latitude","Longitude"], "reference": "http://localhost:5050/notify", "duration": "P1M", "notifyconditions": [ { "type": "ONCHANGE", "condvalues": [ "Latitude","Longitude" ] } ], "throttling": "PT1S" 73

MyBusFrontController Receive Orion Notification Offers an interface for the Mobile App to get new information from a bus br.com.webbus.controller.orioncontroller Receives a notification from Orion @RequestMapping(value="/receive", method=requestmethod.post) public @ResponseBody String getbusorion Deserialize to a Java Data object Stores new Data object in memory br.com.webbus.controller.busroutecontroller Offers buses position to the Application @RequestMapping(value="/listbus/{valor}", method=requestmethod.get) public @ResponseBody List<Bus> getlistbus 74

Bus Mobile App Activity responsible to get buses positions br.com.busapp.findbusactivity 75