SlideShare uma empresa Scribd logo
1 de 45
Evolving REST for an
IoT World
Todd L. Montgomery
@toddlmontgomery
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
http://www.infoq.com/presentations
/rest-websocket-iot
Presented at QCon New York
www.qconnewyork.com
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
@toddlmontgomery
Representational State Transfer
http://en.wikipedia.org/wiki/Representational_state_transfer
@toddlmontgomery
pro·to·col noun ˈprō-tə-ˌkȯl, -ˌkōl, -ˌkäl, -kəl
!
...
!
3 b : a set of conventions governing the treatment and especially the
formatting of data in an electronic communications
system <network protocols>
...
3 a : a code prescribing strict adherence to correct etiquette
and precedence (as in diplomatic exchange and in the military
services) <a breach of protocol>
!
@toddlmontgomery
Client - Server
Cacheable
Stateless
@toddlmontgomery
Uniform Interface
Hypermedia, Resources,
URIs
Layered
Hmmm…
@toddlmontgomery
REST Ecosystem
@toddlmontgomery
Tools - CLI
Browser
JSON
Fast, Easy
Integration
HTTP/1.1,TCP,
[TLS/SSL], IP
@toddlmontgomery
IoT/IoE Ecosystem
@toddlmontgomery
Boards & Kits
Environments
JSON
??
Evolving
Rapidly
HTTP/1.1
TLS/SSL?
TCP
IP
Bluetooth
MQTT
SCADA
Application
App? App
Multiple
Stacks
@toddlmontgomery
Communication Patterns
Request/Response
Streaming “Ingest”
Publish/Subscribe
Request/Response
@toddlmontgomery
History & Evolution
@toddlmontgomery
Request
Response
HTTP
RFC 2068, 2616, …, 7230-7240
Synchronous
Request/Response
Bi-Directional… kinda,
but…
Event
Event
… only
one direction
at-a-time
June 2014
@toddlmontgomery
Request
Response
Delay
Delay
Processing
What happens
here while
waiting?
…Nothing…
Stop-and-Wait
HTTP
@toddlmontgomery
image courtesy www.tensator.com
Head-Of-Line
Blocking
@toddlmontgomery
Latency Sensitivity
@toddlmontgomery
Mobile
“OK” Bandwidth + Long RTT + High Loss Rate + No Effective HTTP Pipelining
http://en.wikipedia.org/wiki/HTTP_pipelining
Truly Awful User Experiences
@toddlmontgomery
Asynchronous Request / Response
Unlock More Reactive Patterns!
@toddlmontgomery
Request
ACK
Response
ACK
Sync
Request
Sync
Response
Web Services
…
But… Async Request/Response… kinda
Event
Event
http://en.wikipedia.org/wiki/List_of_web_service_specifications
No, seriously,
lots of these!!
@toddlmontgomery
Thankfully, Locked within the
Enterprise…
Mostly…
@toddlmontgomery
“Yeah, yeah, but your scientists
were so preoccupied with whether
or not they could that they didn't
stop to think if they should.”
— Jurassic Park
Philosophy of some REST APIs
Just because you could use
HTTP, doesn’t mean you should…
@toddlmontgomery
HTCPCP
RFC 2324, Extended by RFC 7168
http://en.wikipedia.org/wiki/Hyper_Text_Coffee_Pot_Control_Protocol
"there is a strong, dark, rich requirement for a protocol designed
espressoly [sic] for the brewing of coffee"
@toddlmontgomery
@toddlmontgomery
418 I’m a teapot
BREW
WHEN
"This has a serious purpose – it identifies
many of the ways in which HTTP has
been extended inappropriately.”
— Larry Masinter, author
http://larry.masinter.net/
@toddlmontgomery
Why is HTTP used?
Easy firewall traversal
Simple, Flexible, Familiar
Works with Anything
Addressing
Tooling
@toddlmontgomery
Communication Patterns
Request/Response
Streaming “Ingest”
Publish/Subscribe
Request/Response
@toddlmontgomery
Request
Response
Support
(UI/Device)
Security
(Challenge)
Keep-Alive
or Watchdog
User State
Query
@toddlmontgomery
Battery Life
Persistent connections help a LOT!
Well designed protocols help a LOT MORE!
Many simultaneous connections hurt!
Using the wrong protocol with the wrong pattern hurts A LOT!
The Wrong Patterns Hurt a LOT!
Stay out of High
Energy State!
@toddlmontgomery
New
Protocols & Standards
@toddlmontgomery
Async
Request/
Response
Streaming
WebSocket
RFC 6455
Full Duplex, Asynchronous
“TCP over the Web”
EventsEvents
101 Switch
HTTP Upgrade
Ingest
https://tools.ietf.org/html/rfc6455
Really a
Transport
Protocol
@toddlmontgomery
Async
Request
Async
Response
SPDY & HTTP/2
IETF Drafts
Async Request/Response
Multiple Streams
Efficient Headers (HPACK)
Binary Encoding
Events
Events
http://www.ietf.org/id/draft-ietf-httpbis-http2-12.txt
@toddlmontgomery
Async
Request
Async
Response
WebSocket over HTTP/2
IETF Draft
Streaming Ingest
Full Duplex, Asynchronous
with Multiple Channels/Streams
Events
Events
http://www.ietf.org/id/draft-hirano-httpbis-websocket-over-http2-00.txt
@toddlmontgomery
MQ Telemetry Transport (MQTT)
http://mqtt.org/
Lightweight
Publish/Subscribe
Messaging Transport
Runs over TCP
or WebSocket (v3.1.1)
MQTT-SN for non-TCP/IP
Broker-Based
OASIS Standard
@toddlmontgomery
Constrained Application Protocol
(CoAP)
http://www.ietf.org/id/draft-ietf-core-coap-18.txt
Runs over UDP, DTLS,
or WebSocket
Request/Response
(either direction),
Publish/Subscribe
Standardized HTTP
Mapping
Resource Discovery,
Linking, etc.
IETF CoRE WG (Constrained RESTful Environments)
@toddlmontgomery
Sustain REST Principles
Standards-BasedEasily Parsed
Efficient Handling of Data/Metadata
Flexible - Easily ExtendedEasy to Implement
Requirements
@toddlmontgomery
Possible Game Plan(s)
WebSocket + MQTTHTTP/2
WebSocket + CoAP WebSocket + HPACK
Combining IoT & REST
@toddlmontgomery
HTTP/2
Nothing Optional,
TLS, HPACK, etc.
Familiar Primitives
More complex
than HTTP/1.1
Ecosystems:
REST Yes,
IoT No
@toddlmontgomery
WebSocket + MQTT
HTTP Mapping?
WebSocket can adapt
Some Guaranteed
Messaging Semantics
Ecosystems:
IoT Yes,
REST No (w/o WS)
Enables Many
Patterns
@toddlmontgomery
WebSocket + HPACK
http://www.ietf.org/id/draft-ietf-httpbis-header-compression-07.txt
HPACK handles
method + headers
Use header for
Stream ID
Not a Standard,
but made of
Standards
HPACK is
(subjectively)
complex
@toddlmontgomery
WebSocket + CoAP
http://www.ietf.org/id/draft-savolainen-core-coap-websockets-02.txt
HTTP Mapping
Ecosystems:
REST Yes,
IoT Yes
No
Guaranteed
Messaging
Not Broker-based,
Peer-to-Peer
@toddlmontgomery
One More Thing…
!
JSON
@toddlmontgomery
Binary Encoding
Thing 1 Thing 2
Not a human Also, …not a human
Does not need to be
human readable
http://tools.ietf.org/html/rfc7049
Concise Binary Object Representation (COBR)
FIX / Simple Binary Encoding (SBE)
https://github.com/real-logic/simple-binary-encoding
HPACK (Part of HTTP/2)
@toddlmontgomery
Questions?
• Kaazing http://www.kaazing.com
• Slideshare http://www.slideshare.com/toddleemontgomery
• Twitter @toddlmontgomery
Thank You!
Watch the video with slide synchronization on
InfoQ.com!
http://www.infoq.com/presentations/rest-
websocket-iot

Mais conteúdo relacionado

Destaque

IoT Cloud architecture
IoT Cloud architectureIoT Cloud architecture
IoT Cloud architecture
MachinePulse
 

Destaque (9)

Enterprise, Architecture and IoT
Enterprise, Architecture and IoTEnterprise, Architecture and IoT
Enterprise, Architecture and IoT
 
AWS IoT introduction
AWS IoT introductionAWS IoT introduction
AWS IoT introduction
 
A reference architecture for the internet of things
A reference architecture for the internet of thingsA reference architecture for the internet of things
A reference architecture for the internet of things
 
Deep Dive on AWS IoT
Deep Dive on AWS IoTDeep Dive on AWS IoT
Deep Dive on AWS IoT
 
AWS物聯網基礎架構及連線概覽
AWS物聯網基礎架構及連線概覽AWS物聯網基礎架構及連線概覽
AWS物聯網基礎架構及連線概覽
 
IoT Cloud architecture
IoT Cloud architectureIoT Cloud architecture
IoT Cloud architecture
 
Introduction to AWS IoT
Introduction to AWS IoTIntroduction to AWS IoT
Introduction to AWS IoT
 
Internet of Things and its applications
Internet of Things and its applicationsInternet of Things and its applications
Internet of Things and its applications
 
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-gInternet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
 

Semelhante a Evolving REST for an IoT World

QCon NY 2014 - Evolving REST for an IoT World
QCon NY 2014 - Evolving REST for an IoT WorldQCon NY 2014 - Evolving REST for an IoT World
QCon NY 2014 - Evolving REST for an IoT World
Todd Montgomery
 

Semelhante a Evolving REST for an IoT World (20)

ION Hangzhou - Opening Remarks
ION Hangzhou - Opening RemarksION Hangzhou - Opening Remarks
ION Hangzhou - Opening Remarks
 
A DECENTRALIZED FUTURE WITH BLOCKCHAIN AND INTERNET OF THINGS
A DECENTRALIZED FUTURE WITH  BLOCKCHAIN AND  INTERNET OF THINGSA DECENTRALIZED FUTURE WITH  BLOCKCHAIN AND  INTERNET OF THINGS
A DECENTRALIZED FUTURE WITH BLOCKCHAIN AND INTERNET OF THINGS
 
Leaving the Ivory Tower: Research in the Real World
Leaving the Ivory Tower: Research in the Real WorldLeaving the Ivory Tower: Research in the Real World
Leaving the Ivory Tower: Research in the Real World
 
How Did We End up Here?
 How Did We End up Here? How Did We End up Here?
How Did We End up Here?
 
QCon NY 2014 - Evolving REST for an IoT World
QCon NY 2014 - Evolving REST for an IoT WorldQCon NY 2014 - Evolving REST for an IoT World
QCon NY 2014 - Evolving REST for an IoT World
 
Be green, be accessible
Be green, be accessibleBe green, be accessible
Be green, be accessible
 
Solving HTTP Problems with Code and Protocols
Solving HTTP Problems with Code and ProtocolsSolving HTTP Problems with Code and Protocols
Solving HTTP Problems with Code and Protocols
 
Status of WebRTC across Asia by Alan Quayle +++
Status of WebRTC across Asia by Alan Quayle +++Status of WebRTC across Asia by Alan Quayle +++
Status of WebRTC across Asia by Alan Quayle +++
 
Online technology for Occupational Therapy: Presentation for students
Online technology for Occupational Therapy: Presentation for studentsOnline technology for Occupational Therapy: Presentation for students
Online technology for Occupational Therapy: Presentation for students
 
Effective Ethics for Busy People
Effective Ethics for Busy PeopleEffective Ethics for Busy People
Effective Ethics for Busy People
 
ION Santiago: Opening Slides
ION Santiago: Opening SlidesION Santiago: Opening Slides
ION Santiago: Opening Slides
 
EMPTECH-LESSONnkkkkkhkhkkhbnnknmn-1.pptx
EMPTECH-LESSONnkkkkkhkhkkhbnnknmn-1.pptxEMPTECH-LESSONnkkkkkhkhkkhbnnknmn-1.pptx
EMPTECH-LESSONnkkkkkhkhkkhbnnknmn-1.pptx
 
Virtual Engagement Through Videoconferencing by Ted Ritzer June 25, 2015
Virtual Engagement Through Videoconferencing by Ted Ritzer June 25, 2015Virtual Engagement Through Videoconferencing by Ted Ritzer June 25, 2015
Virtual Engagement Through Videoconferencing by Ted Ritzer June 25, 2015
 
OpenMinteD Project - building a TDM infrastructure
OpenMinteD Project - building a TDM infrastructureOpenMinteD Project - building a TDM infrastructure
OpenMinteD Project - building a TDM infrastructure
 
ION Sri Lanka - Opening Slides
ION Sri Lanka - Opening SlidesION Sri Lanka - Opening Slides
ION Sri Lanka - Opening Slides
 
Foss4Africa Paul Scott keynote
Foss4Africa Paul Scott keynoteFoss4Africa Paul Scott keynote
Foss4Africa Paul Scott keynote
 
OS Accelerate London - 09/16/15
OS Accelerate London - 09/16/15OS Accelerate London - 09/16/15
OS Accelerate London - 09/16/15
 
Basic Introduction to Web Development
Basic Introduction to Web DevelopmentBasic Introduction to Web Development
Basic Introduction to Web Development
 
No Free Lunch, Indeed: Three Years of Microservices at SoundCloud
No Free Lunch, Indeed: Three Years of Microservices at SoundCloudNo Free Lunch, Indeed: Three Years of Microservices at SoundCloud
No Free Lunch, Indeed: Three Years of Microservices at SoundCloud
 
Web 2.0 & Social Media
Web 2.0 & Social Media Web 2.0 & Social Media
Web 2.0 & Social Media
 

Mais de C4Media

Mais de C4Media (20)

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Evolving REST for an IoT World