MIDDLEWARE IMPLEMENTATIONS Sakthi Ramanathan Sivaraman
Topics to be discussed o ApplicaBon Level Middleware
-‐ ImplementaBon in IFTTT, ROS frameworks
o Middleware for data & network management
-‐ ImplementaBon in Oracle Fusion Middleware
o Device Level Middleware -‐ ImplementaBon in openHAB (eclipse smarthome) & FPGAs
IoT Challenges solved by Middleware Interopera)on: basic connecBvity between physical devices to higher layers Context detec)on: Context data retrieval from sensor device data for decision making
Device discovery and management: Neighbor devices detecBon in the network
Security and privacy: Basic necessity in industries like health, finance and criBcal infrastructure
Managing Large Data volume: Middleware is required to efficiently find, fetch and transfer this data
API Management – ApplicaBon Level middleware o Fundamental enabler of performance & scalability for the Internet of Things
o APIs allow for faster integraBon, which allows to take advantage of the mass proliferaBon of “intelligent” devices
o Leverage the relaBonships between connected device to automate tasks
o APIs help companies to realize true value for the IoT by focusing on the value-‐added services on data derived from IoT, by combining this data with their legacy systems and business assets
1
IFTTT (If This Then That) o Acts as an intelligence layer for the internet of things. o Automates tasks via control and connecBon between devices or web applicaBons, leveraging the context dependence between them.
o Makes the things “Smarter”, by connecBng them seamlessly at the applicaBon level.
o Can build custom recipes made from “triggers” (this in IFTTT) and “acBons” (that).
o UI & Programming for the future.
h]ps://i_].com/recipes
ROS (Robot OperaBng System) o A collecBon of so_ware libraries and tools for complex robot so_ware development (developed by Willow Garage)
o Provides hardware abstracBon, device drivers, libraries, visualizers, message-‐passing, packet management, and more
o Completely open source and reusable so_ware
o ROS-‐Industrial is an open-‐source project that extends the advanced capabiliBes of ROS to manufacturing
h]p://wiki.ros.org/
ROS (Robot OperaBng System) o CommunicaBon between mulBple machines to a single master & each other using a stateless HTTP based protocol
o “Node” – an executable that uses ROS to communicate with other nodes
o “Topics” – named buses over which nodes exchange messages (TCPROS)
o “Messages” – A simple datastructure comprising typed fields (along with header info)
o CommunicaBon of messages over topics happens between publisher (talker) & subscriber (listener) nodes.
iRobot Create example
Middleware for Data & Network Management
2 h]p://www.oracle.com/us/soluBons/machine-‐to-‐machine/iot-‐wp-‐2190408.pdf
Middleware for Data & Network Management
2
o Real-‐Bme Analysis -‐ Large amounts of data, alerts -‐ InformaBon in different formats -‐ Various array of devices, sensors and other machines
o IntegraBon -‐ Smooth orchestraBon and manageability of disparate systems -‐ Embedding intelligence by way of real-‐Bme data gathering from gateways and devices through business processes o Security -‐ Access control and data authenBcaBon with privacy of users (or devices) -‐ Resilient to a]acks & with high degree of reliability o Monitoring -‐ User interacBon -‐ CriBcal in fast decision making
Oracle Fusion Middleware 1. Real-‐Bme Analysis
o Complex Event Stream Processing: (with Oracle event processing) -‐ Processes data stream across many disparate event sources or event sinks -‐ Ability to process 1M events per second
o Scalability with Oracle Coherence & Oracle Exalogic: -‐ handle storage of data in memory -‐ very high throughput & low latency on a single Oracle Exalogic compute node
o ConBnuous Query Language (CQL): (for conBnuous query execuBon) -‐ SQL + constructs that support streaming data -‐ Local decision and filtering done by Oracle Event Processing for Java Embedded
Oracle Fusion Middleware 2. IntegraBon
o Oracle BPM: (Business Process Management) -‐ integrates devices, applicaBons and human intervenBon -‐ coordinates responses to events received from IoT
o Oracle SOA: (uses Shared Services infrastructure) -‐ for scalability of IoT/enterprise applicaBons. -‐ to correlate and make sense of various event pa]erns
o Oracle Service Bus: -‐ intermediary layer between devices and backend apps. -‐ integrates new devices & services (true plug & play) -‐ provides a layer of abstracBon to virtualize services -‐ supports HTTP/REST, HTTP/SOAP, WS-‐I & JMS
Oracle Fusion Middleware 3. Security (using Oracle Iden)ty & Access Management Suite)
o Oracle API Gateway: -‐ a lightweight interface between OAM & client services -‐ secures & manages APIs mediaBng traffic to enterprise systems
o Oracle Access Manager (OAM): -‐ authenBcates and authorizes a user, mobile device or service. -‐ a_er authenBcaBon, it returns an access token back to the app
4. Monitoring
o Oracle DF Mobile: -‐ Helps build mobile apps to visualize sensor informaBon and control gateways/actuators remotely -‐ Integrates with Oracle IAM soluBon to ensure authorized and authenBcated access to data & insights from devices
Oracle Fusion Middleware SFPark Architecture
Intranet of Things – Device Level Middleware To get the full control of our devices and our data. (and not give the control to cloud services)
Especially beneficial for smart home applicaBons.
Internet of Things representaBon in Smart Homes
Intranet of Things representaBon in Smart Homes
3
openHAB (eclipse smarthome) Events: Commands & Status updates “item” abstrac)on: allows for seamless scalability
Modeling level
Item Registry: Keeps track of latest status
Persistence services: Takes events and stores in database.
Physical Bindings: Translators to the real world. -‐ openHAB supports a long list of devices, like KNX, HomemaBc, Philips Hue and many more.
h]p://www.openhab.org/
openHAB (eclipse smarthome) o openHAB RunBme -‐ a set of OSGi framework (a pure Java soluBon) and so needs a JVM to run -‐ highly modular architecture, allowing plug-‐play funcBonality during runBme without stopping the service
o openHAB Designer -‐ an Eclipse RCP applicaBon (IDE) for configuring the openHAB RunBme
FPGAs for IoT o Key enabler: Programmable aspect of an FPGA
o real-‐Bme visibility into operaBons and control
o hardware based security and isolaBon mechanisms that offer robust protecBon against various forms of a]ack
o can act as a local IoT concentrator, serving as a hub for RF links , managing link interfaces and exchanging data with these.
Why FPGAs? o Enable hardware acceleraBon of complex control algorithms with opBmized DSP technology
o Hardware update & plaoorm re-‐configurability possible even a_er shipping
o Very fast setup using exisBng FPGA IP cores like Xillybus (DMA over PCIe)
o Shorter Bme to market compared to ASIC soluBon through re-‐programmability and reduced risk
o Do not go through the same Bme consuming physical design, design-‐rule closure, tape-‐out, and fabricaBon processes that ASICs do
THANK YOU
Top Related