SlideShare a Scribd company logo
Messaging for IoT
October 2015
Martyn	
  Taylor,	
  Dejan	
  Bosanac
Presenters
Martyn	
  Taylor
•  Senior	
  So4ware	
  Engineer	
  at	
  Red	
  Hat
•  Apache	
  Ac>veMQ	
  CommiCer
•  Mainly	
  working	
  on	
  Apache	
  Artemis
•  Keen	
  interest	
  in	
  IoT
Bosanac	
  Dejan
•  Senior	
  So4ware	
  Engineer	
  at	
  Red	
  Hat
•  Apache	
  Ac>veMQ	
  commiCer	
  and	
  PMC	
  member
•  Co-­‐author	
  of	
  Ac>veMQ	
  in	
  Ac>on
Agenda
•  IoT	
  messaging	
  basics
•  Tasks	
  and	
  challenges
•  PaCerns	
  and	
  protocols
•  IoT	
  messaging	
  brokers
•  Apache	
  Ac>veMQ
•  Ac>veMQ	
  Artemis
•  IoT	
  messaging	
  scaling
•  Ver>cal	
  and	
  horizontal
•  Qpid	
  Dispatch	
  Router
•  Scalable	
  deployments
IoT Messaging Basics
•  IoT	
  Topology
•  Messaging	
  tasks
•  Messaging	
  challenges

Recommended for you

RabbitMQ
RabbitMQRabbitMQ
RabbitMQ

The document introduces RabbitMQ, an open source message broker that implements the Advanced Message Queuing Protocol (AMQP). It discusses why AMQP is an open industry standard that is not language dependent and supported by many major companies. It then provides an overview of messaging concepts like queues, exchanges, routing and pub/sub using RabbitMQ examples. It also mentions some advanced features of AMQP like authentication, load balancing and persistent/non-persistent messages. Finally, it provides information on how to get started with RabbitMQ.

erloungewellingtonerlang
LoRaWAN in Depth
LoRaWAN in DepthLoRaWAN in Depth
LoRaWAN in Depth

LoRaWAN is an open standard for wireless communication targeted at low-power wide-area networks. It uses a proprietary radio protocol called LoRa to allow long-range communication at low bit rates. LoRaWAN defines the communication protocols and system architecture for end devices, gateways, and network servers. Key entities include end devices that communicate with gateways, network servers that coordinate communication, and application servers that interface with end user applications. [END SUMMARY]

apnic47apricot2019internet of things
Service discovery with Eureka and Spring Cloud
Service discovery with Eureka and Spring CloudService discovery with Eureka and Spring Cloud
Service discovery with Eureka and Spring Cloud

The document discusses service discovery with Eureka and Spring Cloud. It introduces traditional applications where services have fixed locations versus modern applications where services are dynamic. It explains that service discovery with a service registry like Eureka allows services to find each other and load balance requests. The rest of the document demonstrates configuring Eureka as a service registry and client applications that can discover and consume services registered with Eureka.

spring bootmicroserviceseureka
IoT Topology
	
  Big	
  Data
Messaging	
  
Infrastructure
Analy>cs
Enterprise	
  
Middleware
Devices
IoT Messaging Infrastructure
Task
•  Provides	
  connec>vity	
  between	
  devices	
  and	
  backend	
  systems
Challenges
•  Interoperability
•  Deployment	
  environment
•  High	
  Availability
•  Scalability
IoT connectivity patterns
•  IoT	
  Communica>on	
  PaCerns
•  Telemetry,	
  Command	
  &	
  Control,	
  Enquiry,	
  No>fica>ons
•  Protocols	
  and	
  Technologies
•  JMS
•  MQTT
•  AMQP
Telemetry
•  Device	
  →	
  Service
•  One	
  way	
  (push)
•  Failures	
  tolerable
•  Lots	
  of	
  small	
  data

Recommended for you

IoT Platforms and Architecture
IoT Platforms and ArchitectureIoT Platforms and Architecture
IoT Platforms and Architecture

A look at the end-to-end stack for Industrial IoT platforms, including some of the key issues and opportunities to manage at each layer of the solution. See https://Juxtology.com for more.

Testing Kafka components with Kafka for JUnit
Testing Kafka components with Kafka for JUnitTesting Kafka components with Kafka for JUnit
Testing Kafka components with Kafka for JUnit

Kafka for JUnit enables developers to start and stop a complete Kafka cluster comprised of Kafka brokers and distributed Kafka Connect workers from within a JUnit test. It also provides a rich set of convenient accessors to interact with such an embedded or external Kafka cluster in a lean and non-obtrusive way. Kafka for JUnit can be used to both whitebox-test individual Kafka-based components of your application or to blackbox-test applications that offer an incoming and/or outgoing Kafka-based interface. This presentation gives a brief introduction into Kafka for JUnit, discussing its design principles and code examples to get developers quickly up to speed using the library.

kafkajunitkafka connect
RabbitMQ.ppt
RabbitMQ.pptRabbitMQ.ppt
RabbitMQ.ppt

RabbitMQ is an open-source message broker software written in Erlang that implements the AMQP protocol. It supports multiple messaging protocols and follows FIFO methods. RabbitMQ is commonly used to build distributed systems that communicate via asynchronous messaging. It provides high availability, scalability, reliability, and security for enterprise systems and has good performance. RabbitMQ acts as a message broker that accepts messages from producers and forwards them to queues. It gives applications a common platform to send and receive messages.

Command	
  and	
  Control
•  Service	
  →	
  Device
•  Two	
  way	
  (Req/Resp)
•  Less,	
  more	
  important	
  data
•  1	
  →	
  1	
  and	
  1	
  →	
  many	
  
•  grouping	
  
Enquiry
•  Device	
  →	
  Service
•  1	
  →	
  1
•  Two	
  way	
  (Req/Resp)
No>fica>on
•  Service	
  →	
  Device
•  One	
  Way	
  (push)
•  1	
  →	
  Many
•  Grouping
Requirements	
  on	
  the	
  transport
•  Communica>on	
  from/to	
  devices
•  1	
  →	
  1
•  Device	
  Addressing
•  1	
  →	
  Many
•  Group	
  Addressing
•  Push
•  Request	
  →	
  Response

Recommended for you

Building your First gRPC Service
Building your First gRPC ServiceBuilding your First gRPC Service
Building your First gRPC Service

gRPC can help minimize the barrier of cross-system communication by providing language-agnostic API definitions, backward and forward compatible versioning with protocol buffers, and pluggable load balancing and tracing. You will see how to quickly get up and running with the gRPC framework using Node.js from creating a protocol definition, creating meaningful health checks, and securing the endpoint. Additionally, this session will go over best practices and how to take full advantage of what gRPC has to offer.

javascriptnode.jsgrpc
Application development for the internet of things
Application development for the internet of thingsApplication development for the internet of things
Application development for the internet of things

1. The document discusses application development challenges for the Internet of Things (IoT), including heterogeneity of devices, large scale, lack of separation of concerns, and life-cycle issues. 2. It proposes a conceptual model that classifies IoT concepts and relates development concerns to promote reusability. 3. A multi-stage model-driven approach is presented using a set of modeling languages to abstract heterogeneity, scale, and support automation across development stages.

Event-driven microservices
Event-driven microservicesEvent-driven microservices
Event-driven microservices

1) Event-driven microservices involve microservices communicating primarily through events published to an event backbone. This loosely couples microservices and allows for eventual data consistency. 2) Apache Kafka is an open-source streaming platform that can be used to build an event backbone, allowing microservices to reliably publish and subscribe to events. It supports streaming, storage, and processing of event data. 3) Common patterns for event-driven microservices include database per service for independent data ownership, sagas for coordinated multi-step processes, event sourcing to capture all state changes, and CQRS to separate reads from writes.

apache kafkamicroservicesevent-driven
IoT	
  Networks
•  Unreliable
•  Handle	
  network	
  failures
•  Expensive	
  and	
  Constrained
•  Low	
  network	
  overhead
IoT	
  Devices
•  Limited	
  Resources
•  Low	
  processing	
  overhead
•  Large	
  scale	
  and	
  varied
•  Inter-­‐operable
•  BaCery	
  powered
•  Work	
  offline
IoT	
  Environment	
  Challenges
•  Interoperable
•  Connec>on	
  Failure	
  Handling
•  Offline
•  Low	
  network	
  overhead
•  Low	
  Processing	
  overhead
JMS
•  Addresses	
  majority	
  of	
  requirements
•  1-­‐1,	
  1-­‐Many,Grouping,Device	
  address
•  Queues,	
  Topics,	
  Message	
  Selectors
•  Push
•  Req/Resp
•  Reply	
  to	
  queues
•  Inter-­‐operable
•  JVM
•  Connec>on	
  failures
•  Durable	
  Messages	
  and	
  Various	
  ACK	
  Modes

Recommended for you

HTML5 WebSocket Introduction
HTML5 WebSocket IntroductionHTML5 WebSocket Introduction
HTML5 WebSocket Introduction

This document provides an overview of HTML5 WebSocket technology. It discusses limitations of traditional HTTP and how WebSocket enables full-duplex communication by reducing overhead and latency compared to alternative techniques like polling. The WebSocket API and protocol are introduced, along with browser support and server library options. Key benefits of WebSocket include unlimited connections per server, very small overhead, and true real-time bidirectional communication across the web.

html5websocketkaazing
CoAP - Web Protocol for IoT
CoAP - Web Protocol for IoTCoAP - Web Protocol for IoT
CoAP - Web Protocol for IoT

High level overview of CoAP or Constrained Application Protocol. CoAP is a HTTP like protocol suitable for constrained environment like IoT. CoAP uses HTTP like request response model, status code etc.

protocolsweb protocolsiot
Implementing Domain Events with Kafka
Implementing Domain Events with KafkaImplementing Domain Events with Kafka
Implementing Domain Events with Kafka

Domain Driven Design provides not only the strategic guidelines for decomposing a large system into microservices, but also offers the main tactical pattern that helps in decoupling microservices. The presentation will focus on the way domain events could be implemented using Kafka and the trade-offs between consistency and availability that are supported by Kafka. https://youtu.be/P6IaxNcn-Ag?t=1466

kafkadddmicroservices
JMS
•  Inter-­‐operability
•  Java	
  Run>me	
  only
•  Protocol	
  vs	
  API
•  Vendor	
  specific
•  Rich	
  feature	
  set
•  Complexity	
  on	
  the	
  client
•  Large	
  footprint
•  Vendor	
  protocols
•  High	
  network	
  overhead
MQTT
•  OASIS	
  standard	
  (v3.1.1)
•  Created	
  by	
  IBM
•  Light	
  weight
•  Low	
  network	
  message
•  Simple	
  protocol
•  Pub	
  /	
  Sub
•  Quality	
  of	
  Service
•  Connec>on	
  failures
•  Very	
  popular	
  in	
  IoT	
  scenarios
QoS	
  Levels
Overheads
•  Sending	
  /	
  Receiving	
  messages
•  QoS	
  0	
  =	
  8	
  bytes
•  QoS	
  1	
  =	
  min	
  12	
  bytes
•  QoS	
  2	
  =	
  min	
  20	
  bytes
•  Clients	
  have	
  small	
  code	
  foot	
  print
•  Simple	
  protocol
•  Burden	
  on	
  the	
  broker

Recommended for you

SOA vs Microservices vs SBA
SOA vs Microservices vs SBASOA vs Microservices vs SBA
SOA vs Microservices vs SBA

Comparing Service-Oriented Architecture (SOA), Microservices and Service-Based Architecture (SBA - SOA and Microservices Hybrid) patterns. Also discussing coupling and cohesion concepts in relation to the systems design.

enterprise architecture patternssbaservice-oriented architecture
Rabbit MQ introduction
Rabbit MQ introductionRabbit MQ introduction
Rabbit MQ introduction

This document provides an introduction to RabbitMQ, an open source message broker. It discusses RabbitMQ's history and components. The core concepts of messaging flow, exchanges, bindings, routing keys and queues are explained. Different exchange types (direct, fanout, topic) and their routing strategies are described. Code examples of sending and receiving messages from RabbitMQ using its Java client API are also included.

rabbitmqmessage oriented middleware
Integration Patterns for Microservices Architectures
Integration Patterns for Microservices ArchitecturesIntegration Patterns for Microservices Architectures
Integration Patterns for Microservices Architectures

NATS was created by Derek Collison, founder and CEO of Apcera, who has spent 20+ years designing, building, and using publish-subscribe messaging systems. Unlike traditional enterprise messaging systems, NATS has an always-on dial tone that does whatever it takes to remain available. Learn how end users are building modern, reliable and scalable cloud and distributed systems with NATS. Talk given by David Williams, Principal, Williams & Garcia You can learn more about NATS at http://www.nats.io

 
by NATS
open sourcesoftware developmentdevelopment
Failures
Reconnects
Subscrip>ons
•  Topics
•  Hierarchical	
  addresses
•  e.g.	
  building/core/floor/2/office/1
•  Supports	
  wild	
  cards
•  building/core/floor/#
•  building/core/floor/+/toilet/+
•  QoS	
  per	
  topic
•  Outlives	
  a	
  connec>on
AMQP	
  1.0
•  Interna>onal	
  Standard	
  (ISO/IEC	
  ISO	
  19464)
•  Binary	
  Protocol
•  Rich	
  feature	
  set:
•  conversa>on	
  mul>plexing
•  advanced	
  flow	
  control
•  Type	
  system
•  QoS	
  Guarantees
•  Symmetrical	
  message	
  exchange
•  No	
  Broker	
  required

Recommended for you

Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache Camel

Red Hat Microservices Architecture Day - New York, November 2015. Presented by Claus Ibsen. Apache Camel is a very popular integration library that works very well with microservice architecture. This talk introduces you to Apache Camel and how you can easily get started with Camel on your computer. Then we cover how to create new Camel projects from scratch as microservices, which you can boot using Camel or Spring Boot, or other micro containers such as Jetty or fat JARs. We then take a look at what options you have for monitoring and managing your Camel microservices using tooling such as Jolokia, and hawtio web console.

apache camelfabric8kubernetes
Jakarta EE: Today and Tomorrow
Jakarta EE: Today and TomorrowJakarta EE: Today and Tomorrow
Jakarta EE: Today and Tomorrow

Jakarta EE has transitioned from Java EE to an open governance structure at the Eclipse Foundation. Key points: - Java EE specifications and reference implementations were contributed to Eclipse Foundation projects in 2018. - Jakarta EE 8 was released in September 2019, compatible with Java EE 8. - Governance includes the Jakarta EE Steering Committee and Specification Committee. - Future directions include embracing modules, preferring soft dependencies, and focusing on testing. - The community is invited to get involved to help define the future of Jakarta EE 9.

jakartaeejjug
Creating the Internet of Your Things
Creating the Internet of Your ThingsCreating the Internet of Your Things
Creating the Internet of Your Things

The document discusses Microsoft's Azure IoT platform for connecting, managing, and analyzing Internet of Things devices and data. It provides an overview of the key components of Azure IoT including Azure IoT Hub for device connectivity and management, analytics services like Azure Machine Learning and Stream Analytics, and connectivity to other Azure services. It also highlights aspects of Azure IoT like its open ecosystem, support for open standards, and global infrastructure running on Microsoft's Azure cloud.

hs16melbhadoop summit
QoS	
  Guarantees
	
  
	
  
Quality	
  of	
  Service	
  guarantees
•  At	
  most	
  once
•  Fire	
  and	
  Forget
•  At	
  least	
  once
•  Retry
•  Exactly	
  once
•  3	
  Way	
  Ack
Type	
  System
•  Highly	
  Interoperable
•  Rich	
  Type	
  Set
•  Primi>ves
•  integer,	
  long
•  lists,	
  maps
•  Descrip>ve	
  types
•  Allow	
  applica>on	
  defined	
  types
•  Mappings	
  in	
  most	
  languages
Symmetrical	
  Protocol
•  Client	
  -­‐>	
  Broker
•  Broker	
  less	
  message
•  Client	
  -­‐>	
  Client
•  Client	
  -­‐>	
  Router
•  Interes>ng	
  features
•  Smart	
  rou>ng
Flow	
  control	
  and	
  Mul>	
  Channels
•  Limit	
  producer	
  and	
  consumer	
  flow
•  Each	
  channel	
  (link)	
  can	
  be	
  controlled	
  individually
•  Limit	
  telemetry	
  flow	
  for	
  command	
  messages

Recommended for you

Better Living Through Messaging - Leveraging the HornetQ Message Broker at Sh...
Better Living Through Messaging - Leveraging the HornetQ Message Broker at Sh...Better Living Through Messaging - Leveraging the HornetQ Message Broker at Sh...
Better Living Through Messaging - Leveraging the HornetQ Message Broker at Sh...

Internally, some projects at Shopzilla have recently started to leverage the HornetQ messaging system to meet performance and scalability requirements. In this talk, Mark Lui and Josh Long review the basic principles of messaging and distributed communication. They demonstrate how loosely coupled, asynchronous communication can improve performance, scalability and reliability and finally touch on Shopzilla-specific use cases for messaging.

hornetq shopzilla jms messaging spring eai eda
Messaging for IoT
Messaging for IoTMessaging for IoT
Messaging for IoT

Scale changes everything. What once was quite adequate for enterprise messaging can't scale to support "Internet of Things". We need new protocols, patterns and architectures to support this new world. This session will start with basic introduction to the concept of Internet of Things. Next it will discuss general technical challenges involved with the concept and explain why it is becoming mainstream now. Now we’re ready to start talking about solutions. We will introduce some messaging patterns (like telemetry and command/control) and protocols (such as MQTT and AMQP) used in these scenarios. Finally we will see how Apache ActiveMQ is gearing up for this race. We will show tips for horizontal and vertical scaling of the broker, related projects that can help with deployments and what the future development road map looks like. Martyn Taylor is a senior software engineer at Red Hat, with over 7 years’ experience working on cloud, middleware and messaging software. Martyn currently works on the Apache ActiveMQ suite of projects.

jboss amqiotred hat
MongoDB IoT City Tour EINDHOVEN: Sharding in MongoDB
MongoDB IoT City Tour EINDHOVEN: Sharding in MongoDBMongoDB IoT City Tour EINDHOVEN: Sharding in MongoDB
MongoDB IoT City Tour EINDHOVEN: Sharding in MongoDB

MongoDB scales data horizontally using a technique called sharding where the data is partitioned across independent database nodes called shards in a way that distributes the data and load. The document discusses how MongoDB automatically partitions and distributes data and queries across shards as the data size and throughput increase, and how it considers factors like cardinality, write distribution and reliability when selecting a shard key to optimize this distribution. It provides an example of how assetId could be used as a shard key for IoT sensor data to partition the data by asset across shards.

nosqlmongodbdatabase
Protocols	
  Overview
•  Lots	
  of	
  IoT	
  protocol	
  choices	
  including	
  several	
  not	
  discussed	
  here
•  The	
  right	
  choice	
  depends	
  of	
  the	
  scenario
•  Scenarios	
  may	
  combine	
  protocols
CoAP
Target	
  usecase Long-­‐haul	
  (&	
  
local)
Long-­‐haul Local	
  (&	
  long-­‐
haul)
Long-­‐haul
Compactness High Medium Highest Verbose
Security SSL SSL DTLS SSL
Flow	
  control No Yes No No
Structured	
  
message
No Yes No Yes
Complexity Medium High Low Lowest
IoT Messaging Brokers
•  Apache	
  Ac>veMQ
•  Ac>veMQ	
  Artemis
Apache ActiveMQ
•  Apache	
  Ac>veMQ	
  is	
  a	
  high-­‐performance,	
  scalable	
  messaging	
  broker
•  Started	
  as	
  an	
  open	
  source	
  JMS	
  broker
•  Moved	
  to	
  Apache	
  So4ware	
  Founda>on	
  in	
  2006
•  Now	
  widely	
  used	
  open	
  source	
  messaging	
  system
Apache ActiveMQ
•  Mul>-­‐Protocol/Mul>-­‐Language	
  Support
•  Invented	
  Stomp	
  protocol	
  in	
  2006
•  Now	
  supports	
  AMQP	
  1.0,	
  MQTT	
  3.1.1,	
  HTTP,	
  STOMP	
  protocols
•  Broad	
  range	
  of	
  supported	
  client	
  libraries	
  for	
  all	
  kinds	
  of	
  device	
  
hardware

Recommended for you

World of IoT by Microsoft Co #iotconfua
World of IoT by Microsoft Co #iotconfuaWorld of IoT by Microsoft Co #iotconfua
World of IoT by Microsoft Co #iotconfua

Connected world solutions combine sensors and technologies to enable objects and infrastructure to interact over networks through monitoring, analytics and control. This allows for remote management and optimization of systems and processes. The Internet of Things market is projected to grow significantly with transportation, utilities and manufacturing seeing the largest increases in spending and connections. Consumer IoT applications are also growing for smart home control and monitoring through devices like the Amazon Dash button and Philips Hue lighting.

iotconfuaiotinternet of things
Internet of Things: Get the whole picture
Internet of Things: Get the whole pictureInternet of Things: Get the whole picture
Internet of Things: Get the whole picture

Presented at the Latin American Telecom Congress – Cancún, Mexico July 15-16, 2015 Ericsson provided a Networked Society Seminar during this Congress, included presentations from Jose Luis Serrato, Adrian Gioia, Jo Lindstad, and Jose Ayala.

ericssontelecommunicationsinternet of things
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]

This document summarizes a presentation about assessing the security of Web 2.0 technologies like Ajax and web services. It discusses the Web 2.0 industry trends, technologies like Ajax, potential security impacts, and methodologies for fingerprinting, enumerating, crawling, and scanning Ajax applications and web services to identify vulnerabilities. It also provides an overview of attacking Ajax and defending applications.

Apache ActiveMQ
•  Benefits
•  Feature	
  rich
•  BaCle-­‐tested	
  in	
  many	
  produc>on	
  environments
•  Good	
  security	
  support
•  Flexible
•  Configurable
•  Embeddable
Apache ActiveMQ
•  Limita>ons
•  Broker	
  core	
  gepng	
  old
•  WriCen	
  using	
  synchronous	
  thread-­‐locking	
  model
•  It	
  limits	
  ver>cal	
  scalability	
  of	
  the	
  broker
•  Number	
  of	
  threads	
  raise	
  with	
  number	
  of	
  connec>ons	
  and	
  des>na>ons
Ac>veMQ	
  Artemis
•  Mul>	
  Protocol	
  Broker
•  AMQP,	
  MQTT,	
  STOMP,	
  OpenWire,	
  Artemis	
  Core
•  JMS	
  (API)
•  Started	
  as	
  HornetQ	
  JBoss	
  project	
  in	
  2009
•  Embedded	
  WildFly	
  (JBoss	
  AS)	
  JMS	
  messaging	
  service
•  In	
  2014	
  donated	
  to	
  Apache	
  Ac>veMQ
•  Sub	
  project	
  Ac>veMQ	
  Artemis.
•  Latest	
  Release	
  1.1.0
Ac>veMQ	
  Artemis:	
  Core
•  Contains	
  Broker	
  Business	
  logic
•  Core	
  maintains	
  a	
  >ght	
  scope
•  Message	
  Rou>ng
•  Persistence
•  Protocol	
  u>lity	
  API
•  HA	
  and	
  Scaling
•  Highly	
  Performance
•  Protocols	
  are	
  plugged	
  in

Recommended for you

RESTful services and OAUTH protocol in IoT
RESTful services and OAUTH protocol in IoTRESTful services and OAUTH protocol in IoT
RESTful services and OAUTH protocol in IoT

This presentation was about using standard Web protocols and techniques for communicating with commercial IoT-enabled devices.

iot oauth restful
Protocols for IoT
Protocols for IoTProtocols for IoT
Protocols for IoT

This is a technical presentation describing two protocols namely MQTT and CoAP for IoT communications. This explains the protocols in conjunction with OSI layers.

communicationinternet of thingscoap
Responsive Web Design - Introduction & Workflow Overview
Responsive Web Design - Introduction & Workflow OverviewResponsive Web Design - Introduction & Workflow Overview
Responsive Web Design - Introduction & Workflow Overview

Responsive Design's is a way of making a single website that works well on mobile, tablet, and desktop browsers. Back in 2010 Ethan Marcotte, first coined the term "responsive design" and described it as having 3 components: Flexible Images Fluid Grids CSS Media Queries Well it seems Ethan let quite a few cats of out bag with this one, and we've been trying to herd those cats ever since. What started as exclusively a front-end web design technique has expanded to include a whole new range of both front-end and server-side programming techniques. The real challenge came when we also suddenly discovered that tried and true practices for project management, and creative concept development all started to fall apart. It’s not practical to create photoshop mockups of ever page in a site at every device size - There’s simply too many variables to account for in graphic design software. Responsive Design requires a new process for creating websites, and new ways of interacting with teams and clients. This presentation will outline a birds-eye-view of Responsive Techniques, Strategies, Tools, and Gotchas of RWD. It will focus on some of the new workflow techniques needed and cover some suggestions for where to go to learn more. Slide Summary 1-25: History of Responsive Design 26-50: Coding Basics (Developer Focused) 51-57: Progressive Enhancement 58-70: Mobile First 71-93: Responsive Workflows 96-99: Selling Responsive Design

mobile firstworkflowresponsive design
Ac>veMQ	
  Artemis:	
  Architecture
Artemis
Core
Apache	
  Artemis	
  Summary
•  Great	
  performance	
  due	
  to
•  Reac>ve	
  Architecture
•  Efficient	
  Append	
  only	
  Journal
•  Mul>	
  -­‐	
  Protocol	
  Broker
•  AMQP,	
  MQTT,	
  STOMP,	
  CORE,	
  OpenWire
•  JMS
•  HA	
  and	
  Scalability	
  built	
  in
Apache	
  Artemis	
  Next	
  Steps
•  Take	
  features	
  from	
  Ac>veMQ
•  Enhance	
  OpenWire	
  support	
  for	
  Ac>veMQ	
  compa>bility
•  JDBC	
  Journal	
  implementa>on
•  More	
  protocols
•  CoAP
•  Your	
  protocol	
  here….
IoT Messaging Scaling
•  Ver>cal	
  and	
  Horizontal	
  scaling	
  of	
  Brokers
•  Qpid	
  Dispatch	
  Router
•  Scalable	
  Deployment

Recommended for you

M2M Protocol Interoperability using IoT Toolkit
M2M Protocol Interoperability using IoT ToolkitM2M Protocol Interoperability using IoT Toolkit
M2M Protocol Interoperability using IoT Toolkit

The document discusses M2M protocol interoperability using an IoT Toolkit and Smart Object API. The IoT Toolkit aims to provide interoperability across any application, connected object, and M2M protocol through a simple API and data/information models. The Smart Object API defines a virtual representation of a physical smart object using an object model, REST API, data models, and event model to link data with actions and enable pub-sub event handling.

interoperabilitym2mrest
Iot Toolkit and the Smart Object API - Architecture for Interoperability
Iot Toolkit and the Smart Object API - Architecture for InteroperabilityIot Toolkit and the Smart Object API - Architecture for Interoperability
Iot Toolkit and the Smart Object API - Architecture for Interoperability

The document describes an IoT Toolkit and Smart Object API that aims to enable interoperability between IoT applications, connected objects, and machine-to-machine protocols. The API defines a virtual representation of physical smart objects using an object model, REST API, data models, and event model. It allows applications to connect to any thing via any M2M protocol by abstracting the underlying protocols and providing a common interface through the Smart Object API.

Scaling Internet of Things
Scaling Internet of ThingsScaling Internet of Things
Scaling Internet of Things

How to implement Internet of Things successfully creating the best experience and insuring successful distribution. (Ericsson IoT Conference December 2014)

ericssoniotm2m
Broker – Vertical Scaling
•  Give	
  broker	
  enough	
  resources
•  Reduce	
  thread	
  usage
•  NIO	
  transport
•  Reac>ve	
  architecture
•  Improve	
  monitoring	
  under	
  stress
•  Advisory	
  messages
•  Selec>ve	
  Mbean	
  registra>on
Broker – Horizontal Scaling
•  One	
  broker	
  can	
  only	
  do	
  so	
  much
•  Horizontal	
  scaling	
  by	
  using	
  networks	
  of	
  brokers
•  Load	
  balance	
  connec>ons
•  Limita>ons
•  All	
  des>na>ons	
  on	
  all	
  brokers
•  Broker	
  network	
  is	
  the	
  boCleneck
Qpid Dispatch Router
•  Lightweight	
  AMQP	
  1.0	
  message	
  router	
  wriCen	
  in	
  C
•  hCp://qpid.apache.org/components/dispatch-­‐router/	
  
•  Provides	
  flexible	
  and	
  scalable	
  interconnect	
  between	
  AMQP	
  
endpoints
Qpid Dispatch Router
•  It	
  is	
  not	
  a	
  broker
•  It	
  never	
  owns	
  a	
  message	
  
•  It	
  propagates	
  AMQP	
  transfer,	
  seClement	
  and	
  disposi>on	
  frames	
  
between	
  endpoints
•  Message	
  based	
  or	
  link	
  based	
  rou>ng
Router/device1
/device2

Recommended for you

Responsive webdesign
Responsive webdesignResponsive webdesign
Responsive webdesign

This document discusses responsive web design. It begins by outlining the failures of separate mobile websites and native apps. Responsive design is identified as the key approach because it allows for one website with a layout that adapts to any screen size. The document then covers various aspects of responsive design such as thinking mobile first, information architecture considerations, designing in the browser versus Photoshop, using a fluid or fixed grid, and making design decisions beyond just visual design.

netlash-bseenmobilewebdesign
Ajax ppt - 32 slides
Ajax ppt - 32 slidesAjax ppt - 32 slides
Ajax ppt - 32 slides

A presentation on Ajax suitable for college level presentations and seminars.Contains 32 slides - ideal for a 20 - 30 minutes seminar.

ajaxcollegepresentation
Introduction to Responsive Web Design
Introduction to Responsive Web DesignIntroduction to Responsive Web Design
Introduction to Responsive Web Design

A hands-on workshop for DC Web Women on August 14, 2012. Read more about the workshop and a summary of what we talked about on my blog: http://www.clarissapeterson.com/2012/08/responsive-web-design/

web designresponsive web designrwd
Qpid Dispatch Router
•  It	
  can	
  be	
  deployed	
  in	
  mul>ple	
  router-­‐broker-­‐endpoint	
  topology
•  Redundant	
  paths
Router
Broker
Router
Qpid Dispatch Router
•  Cost-­‐based	
  route	
  computa>on
Router
Broker
Router
Qpid Dispatch Router
•  Automa>c	
  re-­‐rou>ng	
  on	
  failure
Router
Broker
Router
Qpid dispatch router
•  Benefits
•  BeCer	
  scaling	
  due	
  to	
  more	
  focused	
  tasks
•  Smart	
  rou>ng	
  can	
  be	
  used	
  to	
  par>>on	
  the	
  traffic
•  Ideal	
  candidate	
  for	
  gateway	
  into	
  the	
  system

Recommended for you

Internet of Things (IoT) protocols COAP MQTT OSCON2014
Internet of Things (IoT) protocols  COAP MQTT OSCON2014Internet of Things (IoT) protocols  COAP MQTT OSCON2014
Internet of Things (IoT) protocols COAP MQTT OSCON2014

Introduction to protocols for the Internet of Things. Constrained Environment. Constrained Application Protocol (CoAP) and MQTT Protocol.

coap mqtt constrained internet iot oma lwdm
How to make Ajax work for you
How to make Ajax work for youHow to make Ajax work for you
How to make Ajax work for you

The document discusses Asynchronous JavaScript and XML (Ajax) and how it can be used to retrieve data from a server without reloading the entire web page. It provides an overview of Ajax fundamentals including the XMLHttpRequest object, DOM manipulation, and different data transport options. It also recommends using a JavaScript library to simplify making Ajax requests instead of writing raw XMLHttpRequest code.

What's the Right Messaging Standard for the IoT?
What's the Right Messaging  Standard for the IoT?What's the Right Messaging  Standard for the IoT?
What's the Right Messaging Standard for the IoT?

Different messaging and data sharing standards, such as AMQP, CoAP, DDS, MQTT, and REST have been proposed as candidate for addressing the data sharing challenges of the Internet of Things (IoT) and the Industrial Internet (I2). In technical forums and social media there is no lack of passionate discussions that praise the merits of one standard over the other. Yet, to date, there are little or perhaps no analysis that look at the details of the different standards and perform an in depth, qualitative, analytic and empirical evaluation. This presentation, will (1) introduce the key standards that are being proposed for the Internet of Things and the Industrial Internet, such as AMQP, CoAP, DDS, MQTT and REST, (2) present a qualitative comparison that highlights the different features provided by the various standards, (3) present an analytic comparison looking at the efficiency and scalability of the various protocols and (3) report the results of an empirical evaluation comparing the actual performances of the various standards.

iotindustrial internetiiot
Scalable deployments
•  Combina>on	
  of	
  brokers	
  and	
  routers	
  provides	
  powerful	
  tool	
  box
•  Brokers	
  should	
  focus	
  on	
  storing	
  messages
•  Routers	
  should	
  do	
  the	
  rest
•  Allows	
  for	
  horizontal	
  scaling	
  topologies	
  that	
  can	
  solve	
  IoT	
  
challenges
Scalable deployments
•  Smarter	
  scaling	
  techniques	
  using	
  routers
•  Connec>ons	
  concentra>on
•  Des>na>ons	
  concentra>on
•  Des>na>on	
  sharding
•  Smart	
  rou>ng
Connection Concentration
Router
Broker
•  Challenge:	
  	
  Reduce	
  the	
  number	
  of	
  connec>ons	
  on	
  the	
  broker
Destination Concentration
Router
Broker
/building1/room1
/building1
/building1/room2
/building1/room2
•  Challenge:	
  	
  Reduce	
  the	
  number	
  of	
  des>na>ons	
  on	
  the	
  broker

Recommended for you

THE INTERNET OF THINGS
THE INTERNET OF THINGSTHE INTERNET OF THINGS
THE INTERNET OF THINGS

IOT is connecting every physical object in the world using wireless technologies to track and control them from every where in the world...Every object is uniquely identified using ip addresses(IPv6)

future technologiesseminars
Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with Docker

The document discusses converting a monolithic Node.js application into microservices and deploying them using Docker. It begins by defining microservices and their benefits. It then describes converting a sample pizza ordering application into independent microservices for handling messages, serving the frontend, and providing an API. Next, it covers patterns for networking microservices, including using an API gateway. It concludes by demonstrating how to deploy the microservices to Docker containers and use an orchestration tool like Kubernetes to manage them.

developmentprogrammationwaq17
Hacking apache cloud stack
Hacking apache cloud stackHacking apache cloud stack
Hacking apache cloud stack

The document provides an agenda and overview of a session on hacking Apache CloudStack. The agenda includes introductions, a session on introducing CloudStack, and a hands-on session with DevCloud. The overview discusses what CloudStack is, how it works as an orchestration platform for IAAS clouds, its architecture and core components, and how users can consume and manage resources through it.

apache cloudstack
Destination Sharding
Router
Broker
Queue.A
Broker
Queue.B
•  Challenge:	
  	
  Distribute	
  des>na>ons	
  across	
  brokers
Deployments – Smart Routing
Router
Broker
QoS	
  0
•  Challenge:	
  	
  Decrease	
  the	
  load	
  of	
  messages	
  on	
  the	
  broker
Deployments – Smart Routing
Router
Broker
QoS	
  1
Summary
•  IoT	
  offers	
  a	
  new	
  set	
  of	
  problems	
  for	
  communica>on
•  Messaging	
  is	
  a	
  good	
  fit
•  We	
  need	
  new	
  tools	
  and	
  technologies	
  to	
  help
•  Protocols	
  such	
  as	
  AMQP	
  and	
  MQTT	
  help	
  address	
  some	
  of	
  these	
  
problems
•  Ac>veMQ	
  and	
  Artemis	
  are	
  evolving	
  to	
  meet	
  IoT	
  demands
•  New	
  tools	
  such	
  as	
  Apache	
  Dispatch	
  Router	
  allow	
  us	
  to	
  do	
  some	
  
novel	
  things	
  to	
  help	
  scale	
  to	
  really	
  high	
  numbers

Recommended for you

CloudStack Overview
CloudStack OverviewCloudStack Overview
CloudStack Overview

Session on CloudStack, intended for new users to CloudStack, provides an overview to varied audience levels information on usages, use cases, deployment and its architecture.

pythonapijava
Messaging For the Cloud and Microservices
Messaging For the Cloud and MicroservicesMessaging For the Cloud and Microservices
Messaging For the Cloud and Microservices

Utilising messaging in cloud deployments isn't straightforward, particularly if you want to take advantage of auto scaling. This talk covers the general problems of scaling for cloud deployments, and messaging for faster inter-service communication for Microservices

messagingcloud computing
Microservices deck
Microservices deckMicroservices deck
Microservices deck

This document discusses building event-driven, fault-tolerant microservices. It begins by discussing lessons learned from SOA architecture and defining microservices. It emphasizes that microservices need to be reactive and message-driven to achieve loose coupling and fault tolerance. The document then outlines challenges in implementing microservices at scale before proposing a design using Spring Boot, Kafka, Docker, and Elastic Stack. It provides an in-depth look at these components and how they address scalability, isolation, fault tolerance and monitoring of microservices.

microservices
Resources
•  Slides
•  hCp://hCp://www.slideshare.net/dejanb/messaging-­‐for-­‐iot	
  	
  
•  MQTT
•  Spec:	
  hCp://www.mqC.org	
  
•  Libraries	
  and	
  tutorials:	
  hCp://www.eclipse.org/paho/	
  
•  AMQP
•  Spec:	
  hCp://www.amqp.org/	
  
•  Libraries	
  and	
  tutorials:	
  hCp://qpid.apache.org/	
  
•  Ac>veMQ	
  and	
  Artemis
•  hCp://ac>vemq.apache.org/	
  
•  Dispatch	
  Router
•  hCp://qpid.apache.org/components/dispatch-­‐router/	
  

More Related Content

What's hot

Introduction To RabbitMQ
Introduction To RabbitMQIntroduction To RabbitMQ
Introduction To RabbitMQ
Knoldus Inc.
 
Spring integration
Spring integrationSpring integration
Spring integration
Dominik Strzyżewski
 
Designing APIs with OpenAPI Spec
Designing APIs with OpenAPI SpecDesigning APIs with OpenAPI Spec
Designing APIs with OpenAPI Spec
Adam Paxton
 
RabbitMQ
RabbitMQRabbitMQ
LoRaWAN in Depth
LoRaWAN in DepthLoRaWAN in Depth
LoRaWAN in Depth
APNIC
 
Service discovery with Eureka and Spring Cloud
Service discovery with Eureka and Spring CloudService discovery with Eureka and Spring Cloud
Service discovery with Eureka and Spring Cloud
Marcelo Serpa
 
IoT Platforms and Architecture
IoT Platforms and ArchitectureIoT Platforms and Architecture
IoT Platforms and Architecture
Lee House
 
Testing Kafka components with Kafka for JUnit
Testing Kafka components with Kafka for JUnitTesting Kafka components with Kafka for JUnit
Testing Kafka components with Kafka for JUnit
Markus Günther
 
RabbitMQ.ppt
RabbitMQ.pptRabbitMQ.ppt
RabbitMQ.ppt
ssuserde97861
 
Building your First gRPC Service
Building your First gRPC ServiceBuilding your First gRPC Service
Building your First gRPC Service
Jessie Barnett
 
Application development for the internet of things
Application development for the internet of thingsApplication development for the internet of things
Application development for the internet of things
Pankesh Patel
 
Event-driven microservices
Event-driven microservicesEvent-driven microservices
Event-driven microservices
Andrew Schofield
 
HTML5 WebSocket Introduction
HTML5 WebSocket IntroductionHTML5 WebSocket Introduction
HTML5 WebSocket Introduction
Marcelo Jabali
 
CoAP - Web Protocol for IoT
CoAP - Web Protocol for IoTCoAP - Web Protocol for IoT
CoAP - Web Protocol for IoT
Aniruddha Chakrabarti
 
Implementing Domain Events with Kafka
Implementing Domain Events with KafkaImplementing Domain Events with Kafka
Implementing Domain Events with Kafka
Andrei Rugina
 
SOA vs Microservices vs SBA
SOA vs Microservices vs SBASOA vs Microservices vs SBA
SOA vs Microservices vs SBA
Michael Sukachev
 
Rabbit MQ introduction
Rabbit MQ introductionRabbit MQ introduction
Rabbit MQ introduction
Shirish Bari
 
Integration Patterns for Microservices Architectures
Integration Patterns for Microservices ArchitecturesIntegration Patterns for Microservices Architectures
Integration Patterns for Microservices Architectures
NATS
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache Camel
Claus Ibsen
 
Jakarta EE: Today and Tomorrow
Jakarta EE: Today and TomorrowJakarta EE: Today and Tomorrow
Jakarta EE: Today and Tomorrow
Dmitry Kornilov
 

What's hot (20)

Introduction To RabbitMQ
Introduction To RabbitMQIntroduction To RabbitMQ
Introduction To RabbitMQ
 
Spring integration
Spring integrationSpring integration
Spring integration
 
Designing APIs with OpenAPI Spec
Designing APIs with OpenAPI SpecDesigning APIs with OpenAPI Spec
Designing APIs with OpenAPI Spec
 
RabbitMQ
RabbitMQRabbitMQ
RabbitMQ
 
LoRaWAN in Depth
LoRaWAN in DepthLoRaWAN in Depth
LoRaWAN in Depth
 
Service discovery with Eureka and Spring Cloud
Service discovery with Eureka and Spring CloudService discovery with Eureka and Spring Cloud
Service discovery with Eureka and Spring Cloud
 
IoT Platforms and Architecture
IoT Platforms and ArchitectureIoT Platforms and Architecture
IoT Platforms and Architecture
 
Testing Kafka components with Kafka for JUnit
Testing Kafka components with Kafka for JUnitTesting Kafka components with Kafka for JUnit
Testing Kafka components with Kafka for JUnit
 
RabbitMQ.ppt
RabbitMQ.pptRabbitMQ.ppt
RabbitMQ.ppt
 
Building your First gRPC Service
Building your First gRPC ServiceBuilding your First gRPC Service
Building your First gRPC Service
 
Application development for the internet of things
Application development for the internet of thingsApplication development for the internet of things
Application development for the internet of things
 
Event-driven microservices
Event-driven microservicesEvent-driven microservices
Event-driven microservices
 
HTML5 WebSocket Introduction
HTML5 WebSocket IntroductionHTML5 WebSocket Introduction
HTML5 WebSocket Introduction
 
CoAP - Web Protocol for IoT
CoAP - Web Protocol for IoTCoAP - Web Protocol for IoT
CoAP - Web Protocol for IoT
 
Implementing Domain Events with Kafka
Implementing Domain Events with KafkaImplementing Domain Events with Kafka
Implementing Domain Events with Kafka
 
SOA vs Microservices vs SBA
SOA vs Microservices vs SBASOA vs Microservices vs SBA
SOA vs Microservices vs SBA
 
Rabbit MQ introduction
Rabbit MQ introductionRabbit MQ introduction
Rabbit MQ introduction
 
Integration Patterns for Microservices Architectures
Integration Patterns for Microservices ArchitecturesIntegration Patterns for Microservices Architectures
Integration Patterns for Microservices Architectures
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache Camel
 
Jakarta EE: Today and Tomorrow
Jakarta EE: Today and TomorrowJakarta EE: Today and Tomorrow
Jakarta EE: Today and Tomorrow
 

Viewers also liked

Creating the Internet of Your Things
Creating the Internet of Your ThingsCreating the Internet of Your Things
Creating the Internet of Your Things
DataWorks Summit/Hadoop Summit
 
Better Living Through Messaging - Leveraging the HornetQ Message Broker at Sh...
Better Living Through Messaging - Leveraging the HornetQ Message Broker at Sh...Better Living Through Messaging - Leveraging the HornetQ Message Broker at Sh...
Better Living Through Messaging - Leveraging the HornetQ Message Broker at Sh...
Joshua Long
 
Messaging for IoT
Messaging for IoTMessaging for IoT
Messaging for IoT
Virtual JBoss User Group
 
MongoDB IoT City Tour EINDHOVEN: Sharding in MongoDB
MongoDB IoT City Tour EINDHOVEN: Sharding in MongoDBMongoDB IoT City Tour EINDHOVEN: Sharding in MongoDB
MongoDB IoT City Tour EINDHOVEN: Sharding in MongoDB
MongoDB
 
World of IoT by Microsoft Co #iotconfua
World of IoT by Microsoft Co #iotconfuaWorld of IoT by Microsoft Co #iotconfua
World of IoT by Microsoft Co #iotconfua
Andy Shutka
 
Internet of Things: Get the whole picture
Internet of Things: Get the whole pictureInternet of Things: Get the whole picture
Internet of Things: Get the whole picture
Ericsson Latin America
 
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
Shreeraj Shah
 
RESTful services and OAUTH protocol in IoT
RESTful services and OAUTH protocol in IoTRESTful services and OAUTH protocol in IoT
RESTful services and OAUTH protocol in IoT
Yakov Fain
 
Protocols for IoT
Protocols for IoTProtocols for IoT
Protocols for IoT
Aravindhan G K
 
Responsive Web Design - Introduction & Workflow Overview
Responsive Web Design - Introduction & Workflow OverviewResponsive Web Design - Introduction & Workflow Overview
Responsive Web Design - Introduction & Workflow Overview
Aidan Foster
 
M2M Protocol Interoperability using IoT Toolkit
M2M Protocol Interoperability using IoT ToolkitM2M Protocol Interoperability using IoT Toolkit
M2M Protocol Interoperability using IoT Toolkit
Michael Koster
 
Iot Toolkit and the Smart Object API - Architecture for Interoperability
Iot Toolkit and the Smart Object API - Architecture for InteroperabilityIot Toolkit and the Smart Object API - Architecture for Interoperability
Iot Toolkit and the Smart Object API - Architecture for Interoperability
Michael Koster
 
Scaling Internet of Things
Scaling Internet of ThingsScaling Internet of Things
Scaling Internet of Things
Ericsson
 
Responsive webdesign
Responsive webdesignResponsive webdesign
Responsive webdesign
Bart De Waele
 
Ajax ppt - 32 slides
Ajax ppt - 32 slidesAjax ppt - 32 slides
Ajax ppt - 32 slides
Smithss25
 
Introduction to Responsive Web Design
Introduction to Responsive Web DesignIntroduction to Responsive Web Design
Introduction to Responsive Web Design
Clarissa Peterson
 
Internet of Things (IoT) protocols COAP MQTT OSCON2014
Internet of Things (IoT) protocols  COAP MQTT OSCON2014Internet of Things (IoT) protocols  COAP MQTT OSCON2014
Internet of Things (IoT) protocols COAP MQTT OSCON2014
Vidhya Gholkar
 
How to make Ajax work for you
How to make Ajax work for youHow to make Ajax work for you
How to make Ajax work for you
Simon Willison
 
What's the Right Messaging Standard for the IoT?
What's the Right Messaging  Standard for the IoT?What's the Right Messaging  Standard for the IoT?
What's the Right Messaging Standard for the IoT?
Angelo Corsaro
 
THE INTERNET OF THINGS
THE INTERNET OF THINGSTHE INTERNET OF THINGS
THE INTERNET OF THINGS
Ramana Reddy
 

Viewers also liked (20)

Creating the Internet of Your Things
Creating the Internet of Your ThingsCreating the Internet of Your Things
Creating the Internet of Your Things
 
Better Living Through Messaging - Leveraging the HornetQ Message Broker at Sh...
Better Living Through Messaging - Leveraging the HornetQ Message Broker at Sh...Better Living Through Messaging - Leveraging the HornetQ Message Broker at Sh...
Better Living Through Messaging - Leveraging the HornetQ Message Broker at Sh...
 
Messaging for IoT
Messaging for IoTMessaging for IoT
Messaging for IoT
 
MongoDB IoT City Tour EINDHOVEN: Sharding in MongoDB
MongoDB IoT City Tour EINDHOVEN: Sharding in MongoDBMongoDB IoT City Tour EINDHOVEN: Sharding in MongoDB
MongoDB IoT City Tour EINDHOVEN: Sharding in MongoDB
 
World of IoT by Microsoft Co #iotconfua
World of IoT by Microsoft Co #iotconfuaWorld of IoT by Microsoft Co #iotconfua
World of IoT by Microsoft Co #iotconfua
 
Internet of Things: Get the whole picture
Internet of Things: Get the whole pictureInternet of Things: Get the whole picture
Internet of Things: Get the whole picture
 
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
 
RESTful services and OAUTH protocol in IoT
RESTful services and OAUTH protocol in IoTRESTful services and OAUTH protocol in IoT
RESTful services and OAUTH protocol in IoT
 
Protocols for IoT
Protocols for IoTProtocols for IoT
Protocols for IoT
 
Responsive Web Design - Introduction & Workflow Overview
Responsive Web Design - Introduction & Workflow OverviewResponsive Web Design - Introduction & Workflow Overview
Responsive Web Design - Introduction & Workflow Overview
 
M2M Protocol Interoperability using IoT Toolkit
M2M Protocol Interoperability using IoT ToolkitM2M Protocol Interoperability using IoT Toolkit
M2M Protocol Interoperability using IoT Toolkit
 
Iot Toolkit and the Smart Object API - Architecture for Interoperability
Iot Toolkit and the Smart Object API - Architecture for InteroperabilityIot Toolkit and the Smart Object API - Architecture for Interoperability
Iot Toolkit and the Smart Object API - Architecture for Interoperability
 
Scaling Internet of Things
Scaling Internet of ThingsScaling Internet of Things
Scaling Internet of Things
 
Responsive webdesign
Responsive webdesignResponsive webdesign
Responsive webdesign
 
Ajax ppt - 32 slides
Ajax ppt - 32 slidesAjax ppt - 32 slides
Ajax ppt - 32 slides
 
Introduction to Responsive Web Design
Introduction to Responsive Web DesignIntroduction to Responsive Web Design
Introduction to Responsive Web Design
 
Internet of Things (IoT) protocols COAP MQTT OSCON2014
Internet of Things (IoT) protocols  COAP MQTT OSCON2014Internet of Things (IoT) protocols  COAP MQTT OSCON2014
Internet of Things (IoT) protocols COAP MQTT OSCON2014
 
How to make Ajax work for you
How to make Ajax work for youHow to make Ajax work for you
How to make Ajax work for you
 
What's the Right Messaging Standard for the IoT?
What's the Right Messaging  Standard for the IoT?What's the Right Messaging  Standard for the IoT?
What's the Right Messaging Standard for the IoT?
 
THE INTERNET OF THINGS
THE INTERNET OF THINGSTHE INTERNET OF THINGS
THE INTERNET OF THINGS
 

Similar to Messaging for IoT

Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with Docker
Web à Québec
 
Hacking apache cloud stack
Hacking apache cloud stackHacking apache cloud stack
Hacking apache cloud stack
Nitin Mehta
 
CloudStack Overview
CloudStack OverviewCloudStack Overview
CloudStack Overview
sedukull
 
Messaging For the Cloud and Microservices
Messaging For the Cloud and MicroservicesMessaging For the Cloud and Microservices
Messaging For the Cloud and Microservices
Rob Davies
 
Microservices deck
Microservices deckMicroservices deck
Microservices deck
Raja Chattopadhyay
 
AWS re:Invent 2016: Advanced Tips for Amazon EC2 Networking and High Availabi...
AWS re:Invent 2016: Advanced Tips for Amazon EC2 Networking and High Availabi...AWS re:Invent 2016: Advanced Tips for Amazon EC2 Networking and High Availabi...
AWS re:Invent 2016: Advanced Tips for Amazon EC2 Networking and High Availabi...
Amazon Web Services
 
IBM MQ vs Apache ActiveMQ
IBM MQ vs Apache ActiveMQIBM MQ vs Apache ActiveMQ
IBM MQ vs Apache ActiveMQ
Roman Kharkovski
 
UNIT2_PPT.ppt
UNIT2_PPT.pptUNIT2_PPT.ppt
UNIT2_PPT.ppt
AshishAntopazhunkara
 
pps Matters
pps Matterspps Matters
Picking a message queue
Picking a  message queuePicking a  message queue
Picking a message queue
Vladislav Kirshtein
 
CoAP Talk
CoAP TalkCoAP Talk
CoAP Talk
Basuke Suzuki
 
The Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep VittalThe Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep Vittal
buildacloud
 
Application layer Security in IoT: A Survey
Application layer Security in IoT: A SurveyApplication layer Security in IoT: A Survey
Application layer Security in IoT: A Survey
Adeel Ahmed
 
Fabric8 mq
Fabric8 mqFabric8 mq
Fabric8 mq
Rob Davies
 
ITB2019 Multi-language / multi-OS communication using RabbitMQ - Wil de Bruin
ITB2019 Multi-language / multi-OS communication using RabbitMQ - Wil de BruinITB2019 Multi-language / multi-OS communication using RabbitMQ - Wil de Bruin
ITB2019 Multi-language / multi-OS communication using RabbitMQ - Wil de Bruin
Ortus Solutions, Corp
 
Multi-language/multi-OS communication using RabbitMQ
Multi-language/multi-OS communication using RabbitMQMulti-language/multi-OS communication using RabbitMQ
Multi-language/multi-OS communication using RabbitMQ
Wil de Bruin
 
Beyond REST and RPC: Asynchronous Eventing and Messaging Patterns
Beyond REST and RPC: Asynchronous Eventing and Messaging PatternsBeyond REST and RPC: Asynchronous Eventing and Messaging Patterns
Beyond REST and RPC: Asynchronous Eventing and Messaging Patterns
Clemens Vasters
 
.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7
Karel Zikmund
 
IBM Messaging in the Cloud
IBM Messaging in the CloudIBM Messaging in the Cloud
IBM Messaging in the Cloud
matthew1001
 
OpenStack and Windows
OpenStack and WindowsOpenStack and Windows
OpenStack and Windows
Alessandro Pilotti
 

Similar to Messaging for IoT (20)

Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with Docker
 
Hacking apache cloud stack
Hacking apache cloud stackHacking apache cloud stack
Hacking apache cloud stack
 
CloudStack Overview
CloudStack OverviewCloudStack Overview
CloudStack Overview
 
Messaging For the Cloud and Microservices
Messaging For the Cloud and MicroservicesMessaging For the Cloud and Microservices
Messaging For the Cloud and Microservices
 
Microservices deck
Microservices deckMicroservices deck
Microservices deck
 
AWS re:Invent 2016: Advanced Tips for Amazon EC2 Networking and High Availabi...
AWS re:Invent 2016: Advanced Tips for Amazon EC2 Networking and High Availabi...AWS re:Invent 2016: Advanced Tips for Amazon EC2 Networking and High Availabi...
AWS re:Invent 2016: Advanced Tips for Amazon EC2 Networking and High Availabi...
 
IBM MQ vs Apache ActiveMQ
IBM MQ vs Apache ActiveMQIBM MQ vs Apache ActiveMQ
IBM MQ vs Apache ActiveMQ
 
UNIT2_PPT.ppt
UNIT2_PPT.pptUNIT2_PPT.ppt
UNIT2_PPT.ppt
 
pps Matters
pps Matterspps Matters
pps Matters
 
Picking a message queue
Picking a  message queuePicking a  message queue
Picking a message queue
 
CoAP Talk
CoAP TalkCoAP Talk
CoAP Talk
 
The Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep VittalThe Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep Vittal
 
Application layer Security in IoT: A Survey
Application layer Security in IoT: A SurveyApplication layer Security in IoT: A Survey
Application layer Security in IoT: A Survey
 
Fabric8 mq
Fabric8 mqFabric8 mq
Fabric8 mq
 
ITB2019 Multi-language / multi-OS communication using RabbitMQ - Wil de Bruin
ITB2019 Multi-language / multi-OS communication using RabbitMQ - Wil de BruinITB2019 Multi-language / multi-OS communication using RabbitMQ - Wil de Bruin
ITB2019 Multi-language / multi-OS communication using RabbitMQ - Wil de Bruin
 
Multi-language/multi-OS communication using RabbitMQ
Multi-language/multi-OS communication using RabbitMQMulti-language/multi-OS communication using RabbitMQ
Multi-language/multi-OS communication using RabbitMQ
 
Beyond REST and RPC: Asynchronous Eventing and Messaging Patterns
Beyond REST and RPC: Asynchronous Eventing and Messaging PatternsBeyond REST and RPC: Asynchronous Eventing and Messaging Patterns
Beyond REST and RPC: Asynchronous Eventing and Messaging Patterns
 
.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7
 
IBM Messaging in the Cloud
IBM Messaging in the CloudIBM Messaging in the Cloud
IBM Messaging in the Cloud
 
OpenStack and Windows
OpenStack and WindowsOpenStack and Windows
OpenStack and Windows
 

More from dejanb

How is this sausage made
How is this sausage madeHow is this sausage made
How is this sausage made
dejanb
 
Messaging for the cloud
Messaging for the cloudMessaging for the cloud
Messaging for the cloud
dejanb
 
Scaling out eclipse hono
Scaling out eclipse honoScaling out eclipse hono
Scaling out eclipse hono
dejanb
 
Building Open Source IoT Cloud
Building Open Source IoT CloudBuilding Open Source IoT Cloud
Building Open Source IoT Cloud
dejanb
 
Messaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQMessaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQ
dejanb
 
Introduction to ActiveMQ Apollo
Introduction to ActiveMQ ApolloIntroduction to ActiveMQ Apollo
Introduction to ActiveMQ Apollo
dejanb
 
Deploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse FabricDeploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse Fabric
dejanb
 
Advanced messaging with Apache ActiveMQ
Advanced messaging with Apache ActiveMQAdvanced messaging with Apache ActiveMQ
Advanced messaging with Apache ActiveMQ
dejanb
 
Apache ActiveMQ - Enterprise messaging in action
Apache ActiveMQ - Enterprise messaging in actionApache ActiveMQ - Enterprise messaging in action
Apache ActiveMQ - Enterprise messaging in action
dejanb
 

More from dejanb (9)

How is this sausage made
How is this sausage madeHow is this sausage made
How is this sausage made
 
Messaging for the cloud
Messaging for the cloudMessaging for the cloud
Messaging for the cloud
 
Scaling out eclipse hono
Scaling out eclipse honoScaling out eclipse hono
Scaling out eclipse hono
 
Building Open Source IoT Cloud
Building Open Source IoT CloudBuilding Open Source IoT Cloud
Building Open Source IoT Cloud
 
Messaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQMessaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQ
 
Introduction to ActiveMQ Apollo
Introduction to ActiveMQ ApolloIntroduction to ActiveMQ Apollo
Introduction to ActiveMQ Apollo
 
Deploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse FabricDeploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse Fabric
 
Advanced messaging with Apache ActiveMQ
Advanced messaging with Apache ActiveMQAdvanced messaging with Apache ActiveMQ
Advanced messaging with Apache ActiveMQ
 
Apache ActiveMQ - Enterprise messaging in action
Apache ActiveMQ - Enterprise messaging in actionApache ActiveMQ - Enterprise messaging in action
Apache ActiveMQ - Enterprise messaging in action
 

Recently uploaded

Google ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learningGoogle ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learning
VishrutGoyani1
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
karim wahed
 
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Livetecs LLC
 
Attendance Tracking From Paper To Digital
Attendance Tracking From Paper To DigitalAttendance Tracking From Paper To Digital
Attendance Tracking From Paper To Digital
Task Tracker
 
Top 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your WebsiteTop 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your Website
e-Definers Technology
 
NYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdfNYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdf
AUGNYC
 
React Native vs Flutter - SSTech System
React Native vs Flutter  - SSTech SystemReact Native vs Flutter  - SSTech System
React Native vs Flutter - SSTech System
SSTech System
 
Development of Chatbot Using AI\ML Technologies
Development of Chatbot Using AI\ML TechnologiesDevelopment of Chatbot Using AI\ML Technologies
Development of Chatbot Using AI\ML Technologies
MaisnamLuwangPibarel
 
MVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptxMVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptx
Mitchell Marsh
 
Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
Ortus Solutions, Corp
 
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
bhatinidhi2001
 
Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …
908dutch
 
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
Roshan Dwivedi
 
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdfWhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
onemonitarsoftware
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
Semiosis Software Private Limited
 
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
avufu
 
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdfdachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
DNUG e.V.
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
kalichargn70th171
 
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptxWired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
SimonedeGijt
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
shivamt017
 

Recently uploaded (20)

Google ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learningGoogle ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learning
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
 
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
 
Attendance Tracking From Paper To Digital
Attendance Tracking From Paper To DigitalAttendance Tracking From Paper To Digital
Attendance Tracking From Paper To Digital
 
Top 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your WebsiteTop 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your Website
 
NYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdfNYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdf
 
React Native vs Flutter - SSTech System
React Native vs Flutter  - SSTech SystemReact Native vs Flutter  - SSTech System
React Native vs Flutter - SSTech System
 
Development of Chatbot Using AI\ML Technologies
Development of Chatbot Using AI\ML TechnologiesDevelopment of Chatbot Using AI\ML Technologies
Development of Chatbot Using AI\ML Technologies
 
MVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptxMVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptx
 
Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
 
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
 
Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …
 
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
 
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdfWhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
 
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
 
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdfdachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
 
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptxWired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
 

Messaging for IoT

  • 1. Messaging for IoT October 2015 Martyn  Taylor,  Dejan  Bosanac
  • 2. Presenters Martyn  Taylor •  Senior  So4ware  Engineer  at  Red  Hat •  Apache  Ac>veMQ  CommiCer •  Mainly  working  on  Apache  Artemis •  Keen  interest  in  IoT Bosanac  Dejan •  Senior  So4ware  Engineer  at  Red  Hat •  Apache  Ac>veMQ  commiCer  and  PMC  member •  Co-­‐author  of  Ac>veMQ  in  Ac>on
  • 3. Agenda •  IoT  messaging  basics •  Tasks  and  challenges •  PaCerns  and  protocols •  IoT  messaging  brokers •  Apache  Ac>veMQ •  Ac>veMQ  Artemis •  IoT  messaging  scaling •  Ver>cal  and  horizontal •  Qpid  Dispatch  Router •  Scalable  deployments
  • 4. IoT Messaging Basics •  IoT  Topology •  Messaging  tasks •  Messaging  challenges
  • 5. IoT Topology  Big  Data Messaging   Infrastructure Analy>cs Enterprise   Middleware Devices
  • 6. IoT Messaging Infrastructure Task •  Provides  connec>vity  between  devices  and  backend  systems Challenges •  Interoperability •  Deployment  environment •  High  Availability •  Scalability
  • 7. IoT connectivity patterns •  IoT  Communica>on  PaCerns •  Telemetry,  Command  &  Control,  Enquiry,  No>fica>ons •  Protocols  and  Technologies •  JMS •  MQTT •  AMQP
  • 8. Telemetry •  Device  →  Service •  One  way  (push) •  Failures  tolerable •  Lots  of  small  data
  • 9. Command  and  Control •  Service  →  Device •  Two  way  (Req/Resp) •  Less,  more  important  data •  1  →  1  and  1  →  many   •  grouping  
  • 10. Enquiry •  Device  →  Service •  1  →  1 •  Two  way  (Req/Resp)
  • 11. No>fica>on •  Service  →  Device •  One  Way  (push) •  1  →  Many •  Grouping
  • 12. Requirements  on  the  transport •  Communica>on  from/to  devices •  1  →  1 •  Device  Addressing •  1  →  Many •  Group  Addressing •  Push •  Request  →  Response
  • 13. IoT  Networks •  Unreliable •  Handle  network  failures •  Expensive  and  Constrained •  Low  network  overhead
  • 14. IoT  Devices •  Limited  Resources •  Low  processing  overhead •  Large  scale  and  varied •  Inter-­‐operable •  BaCery  powered •  Work  offline
  • 15. IoT  Environment  Challenges •  Interoperable •  Connec>on  Failure  Handling •  Offline •  Low  network  overhead •  Low  Processing  overhead
  • 16. JMS •  Addresses  majority  of  requirements •  1-­‐1,  1-­‐Many,Grouping,Device  address •  Queues,  Topics,  Message  Selectors •  Push •  Req/Resp •  Reply  to  queues •  Inter-­‐operable •  JVM •  Connec>on  failures •  Durable  Messages  and  Various  ACK  Modes
  • 17. JMS •  Inter-­‐operability •  Java  Run>me  only •  Protocol  vs  API •  Vendor  specific •  Rich  feature  set •  Complexity  on  the  client •  Large  footprint •  Vendor  protocols •  High  network  overhead
  • 18. MQTT •  OASIS  standard  (v3.1.1) •  Created  by  IBM •  Light  weight •  Low  network  message •  Simple  protocol •  Pub  /  Sub •  Quality  of  Service •  Connec>on  failures •  Very  popular  in  IoT  scenarios
  • 20. Overheads •  Sending  /  Receiving  messages •  QoS  0  =  8  bytes •  QoS  1  =  min  12  bytes •  QoS  2  =  min  20  bytes •  Clients  have  small  code  foot  print •  Simple  protocol •  Burden  on  the  broker
  • 23. Subscrip>ons •  Topics •  Hierarchical  addresses •  e.g.  building/core/floor/2/office/1 •  Supports  wild  cards •  building/core/floor/# •  building/core/floor/+/toilet/+ •  QoS  per  topic •  Outlives  a  connec>on
  • 24. AMQP  1.0 •  Interna>onal  Standard  (ISO/IEC  ISO  19464) •  Binary  Protocol •  Rich  feature  set: •  conversa>on  mul>plexing •  advanced  flow  control •  Type  system •  QoS  Guarantees •  Symmetrical  message  exchange •  No  Broker  required
  • 25. QoS  Guarantees     Quality  of  Service  guarantees •  At  most  once •  Fire  and  Forget •  At  least  once •  Retry •  Exactly  once •  3  Way  Ack
  • 26. Type  System •  Highly  Interoperable •  Rich  Type  Set •  Primi>ves •  integer,  long •  lists,  maps •  Descrip>ve  types •  Allow  applica>on  defined  types •  Mappings  in  most  languages
  • 27. Symmetrical  Protocol •  Client  -­‐>  Broker •  Broker  less  message •  Client  -­‐>  Client •  Client  -­‐>  Router •  Interes>ng  features •  Smart  rou>ng
  • 28. Flow  control  and  Mul>  Channels •  Limit  producer  and  consumer  flow •  Each  channel  (link)  can  be  controlled  individually •  Limit  telemetry  flow  for  command  messages
  • 29. Protocols  Overview •  Lots  of  IoT  protocol  choices  including  several  not  discussed  here •  The  right  choice  depends  of  the  scenario •  Scenarios  may  combine  protocols CoAP Target  usecase Long-­‐haul  (&   local) Long-­‐haul Local  (&  long-­‐ haul) Long-­‐haul Compactness High Medium Highest Verbose Security SSL SSL DTLS SSL Flow  control No Yes No No Structured   message No Yes No Yes Complexity Medium High Low Lowest
  • 30. IoT Messaging Brokers •  Apache  Ac>veMQ •  Ac>veMQ  Artemis
  • 31. Apache ActiveMQ •  Apache  Ac>veMQ  is  a  high-­‐performance,  scalable  messaging  broker •  Started  as  an  open  source  JMS  broker •  Moved  to  Apache  So4ware  Founda>on  in  2006 •  Now  widely  used  open  source  messaging  system
  • 32. Apache ActiveMQ •  Mul>-­‐Protocol/Mul>-­‐Language  Support •  Invented  Stomp  protocol  in  2006 •  Now  supports  AMQP  1.0,  MQTT  3.1.1,  HTTP,  STOMP  protocols •  Broad  range  of  supported  client  libraries  for  all  kinds  of  device   hardware
  • 33. Apache ActiveMQ •  Benefits •  Feature  rich •  BaCle-­‐tested  in  many  produc>on  environments •  Good  security  support •  Flexible •  Configurable •  Embeddable
  • 34. Apache ActiveMQ •  Limita>ons •  Broker  core  gepng  old •  WriCen  using  synchronous  thread-­‐locking  model •  It  limits  ver>cal  scalability  of  the  broker •  Number  of  threads  raise  with  number  of  connec>ons  and  des>na>ons
  • 35. Ac>veMQ  Artemis •  Mul>  Protocol  Broker •  AMQP,  MQTT,  STOMP,  OpenWire,  Artemis  Core •  JMS  (API) •  Started  as  HornetQ  JBoss  project  in  2009 •  Embedded  WildFly  (JBoss  AS)  JMS  messaging  service •  In  2014  donated  to  Apache  Ac>veMQ •  Sub  project  Ac>veMQ  Artemis. •  Latest  Release  1.1.0
  • 36. Ac>veMQ  Artemis:  Core •  Contains  Broker  Business  logic •  Core  maintains  a  >ght  scope •  Message  Rou>ng •  Persistence •  Protocol  u>lity  API •  HA  and  Scaling •  Highly  Performance •  Protocols  are  plugged  in
  • 38. Apache  Artemis  Summary •  Great  performance  due  to •  Reac>ve  Architecture •  Efficient  Append  only  Journal •  Mul>  -­‐  Protocol  Broker •  AMQP,  MQTT,  STOMP,  CORE,  OpenWire •  JMS •  HA  and  Scalability  built  in
  • 39. Apache  Artemis  Next  Steps •  Take  features  from  Ac>veMQ •  Enhance  OpenWire  support  for  Ac>veMQ  compa>bility •  JDBC  Journal  implementa>on •  More  protocols •  CoAP •  Your  protocol  here….
  • 40. IoT Messaging Scaling •  Ver>cal  and  Horizontal  scaling  of  Brokers •  Qpid  Dispatch  Router •  Scalable  Deployment
  • 41. Broker – Vertical Scaling •  Give  broker  enough  resources •  Reduce  thread  usage •  NIO  transport •  Reac>ve  architecture •  Improve  monitoring  under  stress •  Advisory  messages •  Selec>ve  Mbean  registra>on
  • 42. Broker – Horizontal Scaling •  One  broker  can  only  do  so  much •  Horizontal  scaling  by  using  networks  of  brokers •  Load  balance  connec>ons •  Limita>ons •  All  des>na>ons  on  all  brokers •  Broker  network  is  the  boCleneck
  • 43. Qpid Dispatch Router •  Lightweight  AMQP  1.0  message  router  wriCen  in  C •  hCp://qpid.apache.org/components/dispatch-­‐router/   •  Provides  flexible  and  scalable  interconnect  between  AMQP   endpoints
  • 44. Qpid Dispatch Router •  It  is  not  a  broker •  It  never  owns  a  message   •  It  propagates  AMQP  transfer,  seClement  and  disposi>on  frames   between  endpoints •  Message  based  or  link  based  rou>ng Router/device1 /device2
  • 45. Qpid Dispatch Router •  It  can  be  deployed  in  mul>ple  router-­‐broker-­‐endpoint  topology •  Redundant  paths Router Broker Router
  • 46. Qpid Dispatch Router •  Cost-­‐based  route  computa>on Router Broker Router
  • 47. Qpid Dispatch Router •  Automa>c  re-­‐rou>ng  on  failure Router Broker Router
  • 48. Qpid dispatch router •  Benefits •  BeCer  scaling  due  to  more  focused  tasks •  Smart  rou>ng  can  be  used  to  par>>on  the  traffic •  Ideal  candidate  for  gateway  into  the  system
  • 49. Scalable deployments •  Combina>on  of  brokers  and  routers  provides  powerful  tool  box •  Brokers  should  focus  on  storing  messages •  Routers  should  do  the  rest •  Allows  for  horizontal  scaling  topologies  that  can  solve  IoT   challenges
  • 50. Scalable deployments •  Smarter  scaling  techniques  using  routers •  Connec>ons  concentra>on •  Des>na>ons  concentra>on •  Des>na>on  sharding •  Smart  rou>ng
  • 51. Connection Concentration Router Broker •  Challenge:    Reduce  the  number  of  connec>ons  on  the  broker
  • 53. Destination Sharding Router Broker Queue.A Broker Queue.B •  Challenge:    Distribute  des>na>ons  across  brokers
  • 54. Deployments – Smart Routing Router Broker QoS  0 •  Challenge:    Decrease  the  load  of  messages  on  the  broker
  • 55. Deployments – Smart Routing Router Broker QoS  1
  • 56. Summary •  IoT  offers  a  new  set  of  problems  for  communica>on •  Messaging  is  a  good  fit •  We  need  new  tools  and  technologies  to  help •  Protocols  such  as  AMQP  and  MQTT  help  address  some  of  these   problems •  Ac>veMQ  and  Artemis  are  evolving  to  meet  IoT  demands •  New  tools  such  as  Apache  Dispatch  Router  allow  us  to  do  some   novel  things  to  help  scale  to  really  high  numbers
  • 57. Resources •  Slides •  hCp://hCp://www.slideshare.net/dejanb/messaging-­‐for-­‐iot     •  MQTT •  Spec:  hCp://www.mqC.org   •  Libraries  and  tutorials:  hCp://www.eclipse.org/paho/   •  AMQP •  Spec:  hCp://www.amqp.org/   •  Libraries  and  tutorials:  hCp://qpid.apache.org/   •  Ac>veMQ  and  Artemis •  hCp://ac>vemq.apache.org/   •  Dispatch  Router •  hCp://qpid.apache.org/components/dispatch-­‐router/