Welcome!

@BigDataExpo Authors: Yeshim Deniz, Carmen Gonzalez, Liz McMillan, Elizabeth White, Martin Verwijmeren

Related Topics: Government Cloud, @CloudExpo, @BigDataExpo, @ThingsExpo

Government Cloud: Blog Feed Post

Developer of Things: IoT API Development and Testing | @ThingsExpo #IoT #M2M #API

We have had a front row seat to witness the evolution of devices that generate and consume information on the internet

Developer of Things: IoT API Development and Testing
By Harsh Upreti

In the last few decades we have had a front row seat to witness the evolution of devices that generate and consume information on the internet. The format, frequency and methodology information flow between devices has also changed. You do not have to be developer to notice that the dream of ‘intelligent agents' in the original vision of Tim Berners Lee for Web 3.0 has been slowly shaping into reality. I noticed this initially during the evolution of Facebook from static pages to a more ‘real-time' application that serves the latest and greatest content as soon as it's added or uploaded. This trend further evolved into even more real-time information on our smart-phones and is now reaching the stage when each and every device is capable of providing real-time updates to each other within milliseconds. Furthermore, distinguishing a device as a client or a server is increasingly becoming hard and paradigms like peer to peer, multicast communication have taking root and are thriving.

As this transformation takes place the lines are increasingly blurred between the capabilities of devices. This also means that the way developers write and testers test APIs has also changed. Earlier for client and server tête-à-tête, HTTP was the go-to protocol along with standards as REST defining strategies to make life easier API users. Recently, with the advent of peer to peer paradigms the model of communication is not just limited to synchronous request-response, it has extended to asynchronous and multicast. Peer to peer protocols primarily are asynchronous in nature and hence do not necessarily work in pairs of request and response. This enables lighter, faster and independent processing by devices. IoT protocols and standards have evolved in this transformative age, hence today we have a range of technologies and protocols for IoT confirming to both client-server and peer to peer paradigms. It's important for API developers and testers aspiring to work with IoT to be aware of these.

Server based IoT protocols
IoT protocols, that work on client-server paradigm, have devices (clients) connected to a single broker (Server). The presence of the server is essential for the optimal functioning of the system. This paradigm is well known to traditional developers and testers of web applications, but unfortunately the resemblance with web patterns ends there. Example of such IoT protocols are: MQTT and XMPP-IoT. These protocols work on the publish-subscribe (Pub-Sub) mechanism instead of the request-response method which is so well known to the developers of web applications. Pub-Sub requires connected devices to subscribe to central topics, push updates to them and receive broadcasts from the topic. This is very similar to the web-hooks concept in which web developers provide a provider with a hook (endpoint) that gets invoked once the provider has something to push or an event to broadcast.

It's interesting to note that protocols like XMPP, that have enabled real-time chat for years, has extensions for Pub-Sub. This extension was underutilized till recently, when the usability of pub-sub for IoT became very apparent.

For developers and testers working with pub-sub IoT protocols, it's important to first understand basics of pub-sub. A good article explaining pub-sub is here.

Peer to Peer IoT protocols
It was not until recently that network technology reached a state where peer to peer communication could be done reliably and at scale. This resulted in the evolution and growth of more peer to peer standards and protocols. Thus peer to peer IoT protocols like CoAP are very recent. Unlike MQTT which was started in 1999, CoAP only had the first draft in 2010. CoAP enables interesting use cases for IoT as it allows devices to communicate with each other independent of a central broker (Server). Also CoAP follows REST like methods, i.e. GET to request data and POST to send new data to another device. These method calls are made on a device URL, which is the identifier for the device. Despite its resemblance to REST over HTTP, it's important to note that this protocol utilizes UDP as the transport mechanism, this is in contrast to HTTP and MQTT that use TCP.

Is it important for an IoT developer to know the difference? Yes, it is. And we will discuss these protocols in a section below.

As CoAP has REST methods, developers and testers can leverage their experience with web development and RESTful APIs to work on CoAP integrations. Also the symmetry of CoAP with REST enables connection of devices on CoAP to connect to REST endpoints. Despite the similarities however, understanding the underlying transport protocol differences are critical to configure, code and test these devices right.

Screen Shot 2017-03-09 at 12.11.54 PM
A typical IoT setup with devices, broker and the cloud integrations. Integration between devices could be through a server or be just peer to peer.

HTTP Vs IoT protocols
We've defined the categories and variety of IoT protocols but there are many other fundamental differences between IoT protocols and traditional protocols like HTTP. Developers and testers should briefly read the protocol specification of choice for IoT and then think about the fundamental way in which it differs from the traditional web-service API paradigms. I have captured some differences below to define the general direction. IoT is still an evolving field and these are in no way exhaustive.

  • Efficiency: IoT protocols are designed to be frugal on message size, so with IoT implementations it's important to validate that message streams adhere to size limits.
  • Reliability: UDP is not necessarily reliable, so use cases and tests need to be accordingly adjusted for IoT implementations on UDP based protocols.
  • Scalability: Devices tend to send a fixed message with single sensor readings. But they do this multiple times in a second. Also, the devices number can be in thousands and IoT protocols are heavily optimized for this.
  • Security: Security is the biggest risk in IoT, hence each protocol specification has security as a component.
  • Discovery: There can be millions of devices in an IoT network, hence these protocols define clear ways of identifying each device. The list of devices is often managed through a registry at the broker.
  • Novelty: IoT protocols are a new way of designing communication between lightweight devices, hence they often do not follow the traditional HTTP protocol's request-response paradigm.

Note: UDP Vs TCP

It's important to note for developers and testers who are used to working on HTTP that if they wish to work with IoT, they should understand difference between TCP and UDP. HTTP works on TCP. TCP ensures that each packet is delivered to its destination, if a packet does not reach the destination then TCP, albeit at a cost, has the mechanism to send the missing packet again. Hence the chance of loss of information with TCP is minimal. Thus TCP is extensively used for text transmission, as a missing character from a word may change the intended meaning or even make the text unreadable. This reliability is fantastic, but it comes at the cost of additional resources and time overheads in the protocol, which makes it slightly more resource intensive and not exactly ideal for lightweight and resource-constrained IoT devices.

UDP on the other hand enables faster transmission. This is because UDP does not promise the delivery guarantees made by TCP, hence the transmission management overhead is minimal. This is a very popular protocol for voice and video transmission. Your video and audio calls have been transmitting over UDP, its fast and a few packets lost on video does not make much of a difference, except maybe a barely noticeable flicker on the screen. IoT protocols on UDP save time and network resources, thus ensuring quicker and more frequent delivery of sensor readings. A good example is an infrared IoT device that transmits the visual stream to a broker, it needs a high speed channel to transmit data and it's okay if not 100% of the packets are transmitted. In such cases an UDP based protocol will work very well.

IoT Development and Testing
IoT architectures are multi layered, a few sample integrations using IoT API are:

  1. Device to Device, using IoT protocols like CoAP
  2. Device to Broker, using protocols like MQTT
  3. Broker to Cloud, good old HTTP and REST

As a ‘traditional' API developer or tester you may choose to work at one or all layers and integrations. But it's important for you to understand the key concepts of how each protocol works and the exact job it enables. Even if you work at the HTTP layer, it helps to have a context of how the IoT data has been generated. Also, recognize the importance of data like timestamps and format issues like scientific and mathematical notations, as the sensor data being transmitted could require high precision to the ninth or the tenth decimal place. The IoT pipes will be continuously flowing with information, critical decisions like frequency of data uploads to cloud will also have to made in code and tested appropriately.

IoT devices will send data continuously and brokers process data from multitude of devices, thus scalability of your APIs is critical and should be taken care of. Performance of brokers, cloud infrastructure and security will be the prime focus of testing IoT APIs, which is much beyond just functional testing.

Read the original blog entry...

More Stories By SmartBear Blog

As the leader in software quality tools for the connected world, SmartBear supports more than two million software professionals and over 25,000 organizations in 90 countries that use its products to build and deliver the world’s greatest applications. With today’s applications deploying on mobile, Web, desktop, Internet of Things (IoT) or even embedded computing platforms, the connected nature of these applications through public and private APIs presents a unique set of challenges for developers, testers and operations teams. SmartBear's software quality tools assist with code review, functional and load testing, API readiness as well as performance monitoring of these modern applications.

@BigDataExpo Stories
SYS-CON Events announced today that MobiDev, a client-oriented software development company, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place June 6-8, 2017, at the Javits Center in New York City, NY, and the 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. MobiDev is a software company that develops and delivers turn-key mobile apps, websites, web services, and complex softw...
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, provided an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settle...
"Peak 10 is a national cloud data center solutions managed services provider, and part of that is disaster recovery. We see a growing trend in the industry where companies are coming to us looking for assistance in their DR strategy," stated Andrew Cole, Director of Solutions Engineering at Peak 10, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
The cloud competition for database hosts is fierce. How do you evaluate a cloud provider for your database platform? In his session at 18th Cloud Expo, Chris Presley, a Solutions Architect at Pythian, gave users a checklist of considerations when choosing a provider. Chris Presley is a Solutions Architect at Pythian. He loves order – making him a premier Microsoft SQL Server expert. Not only has he programmed and administered SQL Server, but he has also shared his expertise and passion with budd...
SYS-CON Events announced today that IoT Now has been named “Media Sponsor” of SYS-CON's 20th International Cloud Expo, which will take place on June 6–8, 2017, at the Javits Center in New York City, NY. IoT Now explores the evolving opportunities and challenges facing CSPs, and it passes on some lessons learned from those who have taken the first steps in next-gen IoT services.
There are 66 million network cameras capturing terabytes of data. How did factories in Japan improve physical security at the facilities and improve employee productivity? Edge Computing reduces possible kilobytes of data collected per second to only a few kilobytes of data transmitted to the public cloud every day. Data is aggregated and analyzed close to sensors so only intelligent results need to be transmitted to the cloud. Non-essential data is recycled to optimize storage.
Apache Hadoop is emerging as a distributed platform for handling large and fast incoming streams of data. Predictive maintenance, supply chain optimization, and Internet-of-Things analysis are examples where Hadoop provides the scalable storage, processing, and analytics platform to gain meaningful insights from granular data that is typically only valuable from a large-scale, aggregate view. One architecture useful for capturing and analyzing streaming data is the Lambda Architecture, represent...
SYS-CON Events announced today that WineSOFT will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Based in Seoul and Irvine, WineSOFT is an innovative software house focusing on internet infrastructure solutions. The venture started as a bootstrap start-up in 2010 by focusing on making the internet faster and more powerful. WineSOFT’s knowledge is based on the expertise of TCP/IP, VPN, SSL, peer-to-peer, mob...
TechTarget storage websites are the best online information resource for news, tips and expert advice for the storage, backup and disaster recovery markets. By creating abundant, high-quality editorial content across more than 140 highly targeted technology-specific websites, TechTarget attracts and nurtures communities of technology buyers researching their companies' information technology needs. By understanding these buyers' content consumption behaviors, TechTarget creates the purchase inte...
With billions of sensors deployed worldwide, the amount of machine-generated data will soon exceed what our networks can handle. But consumers and businesses will expect seamless experiences and real-time responsiveness. What does this mean for IoT devices and the infrastructure that supports them? More of the data will need to be handled at - or closer to - the devices themselves.
Wooed by the promise of faster innovation, lower TCO, and greater agility, businesses of every shape and size have embraced the cloud at every layer of the IT stack – from apps to file sharing to infrastructure. The typical organization currently uses more than a dozen sanctioned cloud apps and will shift more than half of all workloads to the cloud by 2018. Such cloud investments have delivered measurable benefits. But they’ve also resulted in some unintended side-effects: complexity and risk. ...
The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering Cloud Expo and @ThingsExpo will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at Cloud Expo. Product announcements during our show provide your company with the most reach through our targeted audiences.
With major technology companies and startups seriously embracing Cloud strategies, now is the perfect time to attend @CloudExpo | @ThingsExpo, June 6-8, 2017, at the Javits Center in New York City, NY and October 31 - November 2, 2017, Santa Clara Convention Center, CA. Learn what is going on, contribute to the discussions, and ensure that your enterprise is on the right path to Digital Transformation.
Almost two-thirds of companies either have or soon will have IoT as the backbone of their business. Though, IoT is far more complex than most firms expected with a majority of IoT projects having failed. How can you not get trapped in the pitfalls? In his session at @ThingsExpo, Tony Shan, Chief IoTologist at Wipro, will introduce a holistic method of IoTification, which is the process of IoTifying the existing technology portfolios and business models to adopt and leverage IoT. He will delve in...
Adding public cloud resources to an existing application can be a daunting process. The tools that you currently use to manage the software and hardware outside the cloud aren’t always the best tools to efficiently grow into the cloud. All of the major configuration management tools have cloud orchestration plugins that can be leveraged, but there are also cloud-native tools that can dramatically improve the efficiency of managing your application lifecycle.
SYS-CON Events announced today that Addteq will exhibit at SYS-CON's DevOps Summit at Cloud Expo, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Addteq specializes in creating innovative solutions to solve business processes through the use of DevOps automation. Addteq was founded on the firm belief that automation is essential for successful software releases. Addteq's products and services are centered around the fundamental approach of understanding the pr...
In today's enterprise, digital transformation represents organizational change even more so than technology change, as customer preferences and behavior drive end-to-end transformation across lines of business as well as IT. To capitalize on the ubiquitous disruption driving this transformation, companies must be able to innovate at an increasingly rapid pace. Traditional approaches for driving innovation are now woefully inadequate for keeping up with the breadth of disruption and change facing...
"When you think about the data center today, there's constant evolution, The evolution of the data center and the needs of the consumer of technology change, and they change constantly," stated Matt Kalmenson, VP of Sales, Service and Cloud Providers at Veeam Software, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
SYS-CON Events announced today that Linux Academy, the foremost online Linux and cloud training platform and community, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Linux Academy was founded on the belief that providing high-quality, in-depth training should be available at an affordable price. Industry leaders in quality training, provided services, and student certification passes, its goal is to c...
One of the hottest areas in cloud right now is DRaaS and related offerings. In his session at 16th Cloud Expo, Dale Levesque, Disaster Recovery Product Manager with Windstream's Cloud and Data Center Marketing team, will discuss the benefits of the cloud model, which far outweigh the traditional approach, and how enterprises need to ensure that their needs are properly being met.