Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The IoT Open Source World: Where WSO2 stands

1,753 views

Published on

Invited talk at the EU WSO2 2015 Conference in London. Gives an overview of open source IoT projects and compares them to existing WSO2 modules

Published in: Technology
  • Be the first to comment

  • Be the first to like this

The IoT Open Source World: Where WSO2 stands

  1. 1. The IoT Open Source World: Where WS02 stands Charalampos Doukas Senior Researcher CREATE-NET
  2. 2. The Internet of Things
  3. 3. IoT + Open Source = • What made IoT popular?
  4. 4. IoT + Open Source = • What made IoT popular? SmartThings 2012 early prototype Pebble proof of concept using Arduino (2012)
  5. 5. IoT Components from the developer’s perspective Devices External Services Users - Use Cases Mobile – Web apps
  6. 6. IoT Features from the developer’s perspective • Device Communication Data collection Actuation • Data Management Storing and Handling-Processing Data Sharing • Device Management • User Management & Access Control – User Interfaces • IoT Marketplace
  7. 7. IoT Open Source: An Overview • Back-end Platforms – IoT Frameworks: Data collection through APIs (M2M, REST, ..) Data Management • Device communication – Management • User Interfaces • IoT Marketplace More than 40 IoT platforms available: https://blog.profitbricks.com/top-49-tools-internet-of-things/
  8. 8. IoT Open Source: An Overview • Back-end Platforms • Nimbits • Java-based Data Management Nimbits Server records and processes geo and time stamped data and executes rules you define based on that information. Rules can be calculations, statistics, email alerts, xmpp messages, push notifications and more. nimbits.io is an Open Source Java Library that provides an easy way to develop JAVA, Web and Android solutions that use a Nimbits Server as a backend platform. If you're developing software for the Internet Of Things then good news, we're giving you a head start.
  9. 9. IoT Open Source: An Overview • Back-end Platforms
  10. 10. IoT Open Source: An Overview • Back-end Platforms MeshBlue/OctoBlue APIs for Device/Data Communication SDK for BLE https://developer.octob lu.com/ WebSockets, MQTT, CoAP Support
  11. 11. IoT Open Source: An Overview • Back-end Platforms MeshBlue/OctoBlue Visual workflow editor for Developers/End- users
  12. 12. IoT Open Source: An Overview • Back-end Platforms Data collection (sensor to media streams) Queries Composite Streams Actuations Data Access API Protocol bridging Puppet install Apache Storm ElasticSearch CouchbaseDB Apache Apollo
  13. 13. IoT Open Source: An Overview • Back-end Platforms Device Management: Connect devices with MQTT, AMQP, Stomp, and other protocols HBase data management solution Embeds Siddhi for Complex Event Processing (CEP) Communicates with Apache Solr for search and analytics Deploy to any provider that supports Docker Connection to WSO2 Identity Server
  14. 14. IoT Standards • There is something special about IoT • It involves devices • Devices need protocols/standards to communicate
  15. 15. IoT Standards
  16. 16. IoT Open Source: An Overview • Communication Frameworks • M2M protocol support MQTT CoAP OMA LWM2M … • Device discovery {uPnP, …}
  17. 17. IoT Open Source: An Overview • Communication Frameworks • M2M protocol support CoAP OMA LWM2M MQTT Client Libraries + Server + SandBox
  18. 18. IoT Open Source: An Overview • Communication Frameworks More than 100 commercial IoT devices & protocols supported Node.JS framework for discovery and control iOS + Android Libraries
  19. 19. IoT Open Source: An Overview • Communication Frameworks
  20. 20. IoT Open Source: An Overview • Communication Frameworks
  21. 21. IoT Open Source: An Overview • Interfaces/Device Management Java OSGI Device Discovery Manage Home Automation Devices
  22. 22. IoT Open Source: An Overview • Interfaces/Device Management Remote Management of Gateway Devices Deployment of (Java) apps
  23. 23. IoT Open Source: An Overview • Interfaces/Device Management • Eclipse Leshan Leshan is a OMA Lightweight M2M server and client implementation Remote firmware deployment Collect device information
  24. 24. IoT Open Source: An Overview • Interfaces/Device Management Node.JS Visual Workflow Editor IoT app logic Connection with Services
  25. 25. IoT Open Source: An Overview • IoT Marketplace
  26. 26. Internet of Things & WSO2
  27. 27. IoT & WSO2 • HTTP, MQTT, AMQP and other protocol support • Protocol mediation and bridging • Data transformation • OAuth2 Resource Server support • XACML Policy Enforcement Point (PEP)
  28. 28. IoT & WSO2 • The ability to act as an MQTT broker • AMQP capabilities • Both persistent and non- persistent messaging • High scalability supporting elastic scalability • Additional M2M Protocols ?
  29. 29. IoT & WSO2 • Mobile Device Management for iOS, Android and IoT devices • A full App Store for managing applications and provisioning applications onto managed devices • Integration with the identity layer as well as the BAM • Deploy Policies
  30. 30. IoT & WSO2 • OAuth2 Identity Provider, issuing, revoking and managing tokens • Single Sign-On support including SAML2 SSO and OpenID Connect support • Support for other identity protocols including WS- Federation (Passive), OpenID 2.0, Kerberos, Integrated Windows Authentication (IWA) • Full support for XACML
  31. 31. IoT & WSO2 • Manages the lifecycle of APIs and supports API publishers • Offers a developer- focused portal for developers to find, explore and subscribe to APIs • Publishes usage, version and other data into the WSO2 BAM server • Integrates with the WSO2 ESB
  32. 32. IoT & WSO2 • A data collection model supporting direct collection of data from the bus/aggregation layer • Elastically scalable storage based on Apache Cassandra • A map-reduce platform based on Apache Hadoop • A batch analytics capability provided by Apache Hive that allows analytics to be written in an SQL-like language • A full modular dashboard for creating and displaying visualizations of the data
  33. 33. Where WSO2 stands from the developer’s perspective • Device Communication Data collection Actuation • Data Management Storing and Handling Data Sharing • Device Management • User Management & Access Control – User Interfaces • IoT Marketplace IoT Protocol Integration (CoAP, XMPP, WebSockets, Weave, etc.) Device Authentication? Standard Integration User Application Logic UMA Integration
  34. 34. IoT Challenges • What is needed for The Future -Open space for WSO2 Innovation • IoT Protocol Support Device Communication Device Discovery Continuous Integration Integration Flexibility Service Discovery
  35. 35. IoT Challenges • What is needed for The Future -Open space for WSO2 Innovation • IoT Billing Device2Device Billing Device2Service Billing
  36. 36. IoT Challenges • What is needed for The Future -Open space for WSO2 Innovation • WSO2 on the Edge
  37. 37. Thank You cdoukas@create-net.org @buildingiot

×