APPLICATION DEVELOPMENT FOR THE IOT ERA. Embedded Application Development Moves to the Cloud



Similar documents
NEW LIFE FOR EMBEDDED SYSTEMS IN THE INTERNET OF THINGS

WIND RIVER INTELLIGENT DEVICE PLATFORM XT

CHARTING YOUR IOT COURSE. Critical Design Decisions on the Road to the Internet of Things

A UNIVERSAL MACHINE FOR THE INDUSTRIAL INTERNET OF THINGS. MultiConnect Conduit

THE RTOS AS THE ENGINE POWERING THE INTERNET OF THINGS

Vortex White Paper. Simplifying Real-time Information Integration in Industrial Internet of Things (IIoT) Control Systems

IoT Solutions from Things to the Cloud

Cisco Enterprise Mobility Services Platform

Reimagining Business with SAP HANA Cloud Platform for the Internet of Things

Develop enterprise mobile applications with IBM Rational software

IoT Solutions for Upstream Oil and Gas

Programming IoT Gateways With macchina.io

Middleware- Driven Mobile Applications

WIND RIVER SECURE ANDROID CAPABILITY

Kaseya IT Automation Framework

Optimally Manage the Data Center Using Systems Management Tools from Cisco and Microsoft

How To Understand The Architecture Of An Ulteo Virtual Desktop Server Farm

THE INTERNET OF THINGS IN COMMERCIAL AVIATION

Adobe Digital Publishing Security FAQ

AppStack Technology Overview Model-Driven Application Management for the Cloud

M 2 M IWG. Eclipse, M2M and the Internet of Things. Overview. M 2 M Industry WorkGroup! M2M?

VMware Hybrid Cloud. Accelerate Your Time to Value

How To Develop A Mobile Application On An Android Device

Avaya Engagement Development Platform: Taking Applications Development to the Next Level

The Internet of Things starts with intelligence inside

owncloud Architecture Overview

Copyright 2013 Splunk Inc. Introducing Splunk 6

Big Data & the Cloud: The Sum Is Greater Than the Parts

Accenture and Oracle: Leading the IoT Revolution

Securing the Internet of Things OEM capabilities assure trust, integrity, accountability, and privacy.

Load and Performance Load Testing. RadView Software October

NetBeans IDE Field Guide

Statement of Direction

Adobe Marketing Cloud Bloodhound for Mac 3.0

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

activecho Frequently Asked Questions

Hybrid Cloud Delivery Managing Cloud Services from Request to Retirement SOLUTION WHITE PAPER

Tablets in Data Acquisition

How to Turn the Promise of the Cloud into an Operational Reality

SAP HANA SPS 09 - What s New? Development Tools

AUTOMATED MOBILE TESTING REQUIRES BOTH REAL DEVICES AND EMULATORS

ORACLE APPLICATION EXPRESS 5.0

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

Create and run apps on HANA Cloud in SAP Web IDE

TRANSITIONING ENTERPRISE CUSTOMERS TO THE CLOUD WITH PULSE SECURE

IBM Enterprise Content Management Product Strategy

WHITEPAPER OpenIDM. Identity lifecycle management for users, devices, & things

Linux. Reverse Debugging. Target Communication Framework. Nexus. Intel Trace Hub GDB. PIL Simulation CONTENTS

BUILDING THE CARRIER GRADE NFV INFRASTRUCTURE Wind River Titanium Server

TrustDefender Mobile Technical Brief

Lab Management, Device Provisioning and Test Automation Software

Introduction to IBM Worklight Mobile Platform

Cloud Services. More agility. More freedom. More choice.

Virtual Desktop Infrastructure Optimization with SysTrack Monitoring Tools and Login VSI Testing Tools

Spectrum Technology Platform

Building and Deploying Enterprise M2M Applications with Axeda Platform


Mobile App Infrastructure for Cross-Platform Deployment (N11-38)

WIND RIVER DIAB COMPILER

Foundations for your. portable cloud

Self-Service Provisioning and the Private Cloud

Mobile Device Management

APPLICATION OF CLOUD COMPUTING IN ACADEMIC INSTITUTION

Reducing Configuration Complexity with Next Gen IoT Networks

Boosting Business Agility through Software-defined Networking

Oracle Cloud Platform. For Application Development

Securely. Mobilize Any Business Application. Rapidly. The Challenge KEY BENEFITS

Collaborative Open Market to Place Objects at your Service

Beyond THE Blinky LED: Voice recognition, Face recognition and cloud connectivity for IOT Edge devices

Your Location Instant NOC using Kaseya. Administrator at Remote Location Secure access to Management Console from anywhere using only a browser

ABSTRACT INTRODUCTION SOFTWARE DEPLOYMENT MODEL. Paper

Realizing the True Potential of Software-Defined Storage

Symantec Mobile Management 7.2

Mobile Development with Qt

CARRIOTS TECHNICAL PRESENTATION

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

New Features in XE8. Marco Cantù RAD Studio Product Manager

Skynax. Mobility Management System. System Manual

Oracle Mobile Cloud Service. A Complete Strategy for Developing, Deploying, and Monitoring Mobile Apps

AppConnect FAQ for MobileIron Technology Partners! AppConnect Overview

MITEL BUSINESS COMMUNICATIONS SOLUTIONS

GO!es MOBILE. YOUR Enterprise. The Challenge. The Solution. Mobilise Your Services Reach Anybody, Anywhere, Anytime

KURA M2M/IoT Gateway. reducing the distance between embedded and enterprise technologies. Tiziano Modotti, October 28 th, 2014

HIGH-SPEED BRIDGE TO CLOUD STORAGE

ForeScout MDM Enterprise

Introduction to Android

WHITE PAPER. IT in the Cloud: Using VMware vcloud for Reliable, Flexible, Shared IT Resources

SOLUTION WHITE PAPER. Building a flexible, intelligent cloud

How the emergence of OpenFlow and SDN will change the networking landscape

<Insert Picture Here> Infrastructure as a Service (IaaS) Cloud Computing for Enterprises

Transcription:

APPLICATION DEVELOPMENT FOR THE IOT ERA Embedded Application Development Moves to the Cloud

EXECUTIVE SUMMARY The emergence of the Internet of Things (IoT) is opening up the complex world of embedded systems to a new and diverse group of application developers and information technologists in a wide variety of companies, with a far greater diversity of devices and applications. The majority of these new devices will not come with the kind of comprehensive software development kits and toolsets that have made developing mobile apps for Android and ios so accessible and yet most application developers for IoT are only interested in the application layer, with little or no interest in the operating system or other system internals. A different approach is needed. This paper describes a new, simplified, cloud-based paradigm for developing IoT applications: Wind River Helix App Cloud. With App Cloud, embedded developers no longer need to be physically located next to a device or machine. And they no longer need unique qualifications to build, deploy, and modify IoT applications. Application development in the cloud is opening up new doors for developers at all levels, in all industries, no matter the distance from a connected device. TABLE OF CONTENTS Executive Summary... 2 New Development Challenges In The Internet Of Things.... 3 A New Approach... 3 Meeting Requirements Based on Multiple Development Models... 3 A Vision for Casual Developers and the Maker Community... 4 A Vision for Industry... 4 The App Cloud Topology and Approach.... 5 Interoperation with other Wind River Helix Clouds... 5 Full Lifecycle Support.... 6 App Cloud Technical Architecture... 6 Conclusion.... 6 2 White Paper

NEW DEVELOPMENT CHALLENGES IN THE INTERNET OF THINGS The ongoing emergence of IoT will put billions more devices online in the next several years. In addition to the sheer number of these devices, they will also present unprecedented diversity of new execution targets on the Internet, from consumer electronics to automotive systems to sensor arrays. The proliferation of these connected devices will offer clear and dramatic opportunities to application developers. But these opportunities come with challenges. The conventional model, where a development host machine is directly connected to a target device with an Ethernet cable, is no longer efficient, nor can it scale to address the lifecycle needs of deployed products. Attempting to modify or update deployed applications using traditional physical connections is proving too costly, and requires an investment in critical infrastructure that simply does not exist for servicing already-deployed devices, or arrays of thousands of sensors. Another challenge springs from the need to support the growing diversity of application developers and organizations building applications, many of which don t fit the model of the typical embedded-platform developer. The complexity associated with low-level management of operating system components, drivers, and toolchains would be untenable for many non-traditional developers and companies designing and building IoT applications. A NEW APPROACH Wind River Helix App Cloud is a new approach to building, deploying, and managing IoT applications. App Cloud addresses the new challenges of IoT with a cloud-based development environment that allows access both to actual physical devices and to system simulations based on Wind River Helix Lab Cloud. This approach meets the needs of IoT development, supporting openended diversity both of development hardware and of application developers. App Cloud is: Dramatically simplified: Access through a browser-based interface abstracts away low-level platform details, allowing developers to be concerned only with the application level. Highly customizable: Vendors and others can make hardware platforms accessible to developers through App Cloud, including both virtual platform representations and remote connection to actual hardware. With App Cloud, application developers can access potentially thousands of varieties of hardware and supporting binaries, operating systems, and other resources for building IoT products. MEETING REQUIREMENTS BASED ON MULTIPLE DEVELOPMENT MODELS The future of application development for IoT is likely to have factors in common with both embedded development and mobile development, as illustrated in Figure 1. Embedded software has made its way into nearly every facet of our lives, and as a result, development platforms are extremely varied. Creation of application software for this diverse set of targets remains a complex undertaking by professional developers who maintain the entire software stack, including system software beneath the applications they build. In the world of mobile development, more than 3 million mobile apps are available for download through the major app stores 1, ranging from the trivial to the transformative. But unlike the embedded developer community described above, the vast majority of mobile developers are interested only in the application layer, with little or no interest in the operating system and other system internals. Notably, this explosion of mobile development has taken place on just a handful of platforms, with the vast majority limited just to Android and ios devices. Platform makers such as Google and Apple have invested millions of dollars to abstract away complexities, allowing relatively casual development by less technical users, at far lower cost than would otherwise be possible. Embedded High diversity of devices Emphasis on platform-level development Mobile Low diversity of devices Emphasis on application-level development IoT Extremely high diversity of devices Emphasis on application-level development Figure 1: Embedded, mobile, and IoT development 3 White Paper

<!DOCTYPE html> <html> <head> <style> body { background-color: #b0c4de; } </style> </head> <body> APPLICATION DEVELOPMENT FOR THE IOT ERA IoT is expected to present far greater diversity of target devices than the current state of embedded platforms. The majority of the companies that build these devices will not invest the resources necessary to create comprehensive software development kits or toolsets similar to those currently available for Android and ios. A different approach is needed to allow developers to create applications without handling low-level platform details. App Cloud meets this challenge, accommodating the needs of both casual developers and the software industry as a whole. A Vision for Casual Developers and the Maker Community An early example of simplified development for IoT is work being done by the maker community, using materials such as the Intel Galileo and Edison project boards. These platforms have made it possible today for a small group at a hackathon to create a complex IoT project in a single long coding session. As these simplified development environments evolve, it will likely be possible for a novice with little or no experience to build a simple application in 10 or 15 minutes. App Cloud has the potential for extending that vision to other IoT devices. A typical workflow could resemble the following: 1. Device ID: An off-the-shelf IoT device automatically provides the user/developer with a device ID that has been hard-coded at the point of manufacture, similar to a MAC address. 2. Project environment: The App Cloud web portal uses that device ID to create a project environment based on the device, its operating system, and its processor, complete with simple visual development tools. 3. Development and deployment: The user/developer creates an application, with all the complexity handled transparently in the background, and deploys it to the device through App Cloud at the touch of a button. Note that the user/developer requires no knowledge of the operating system or other technical details of the device. He or she does not need to install or maintain any software, and can simply focus on the creative process of making an application. A Vision for Industry The development model described above has obvious value for the manufacturers of IoT devices, as well as potential to help nontechnical business-to-business users build or customize applications in a commercial setting. But the implications of this approach extend far beyond such scenarios. In an industrial-automation context, for example, manufacturers of large-scale embedded systems could allow onsite engineers to write, test, and install custom applications using a common software stack of the current operating system, board support package, toolchain, and so on. That development work could be carried out without interruptions or compromising safety, even on projects that involve critical infrastructure. In another example, a mobile-telecommunications network provider could customize the Network Functions Virtualization (NFV) infrastructure that underlies its evolved packet core, without dependencies on outside providers. This approach could also take advantage of Wind River Titanium to support rigorous performance, reliability, and security requirements for NFV, directly from within the App Cloud environment. Language Support Debugger & Tools node. js Java Script C++ App Development Apps Wind River Helix App Cloud SDK SDK Device SDK SDK Device SDK SDK Device SDK Whitelist Whitelist & Blacklist & Blacklist SDK Device Whitelist SDK Board & Blacklist Board Simulation Device Whitelist SDK Simulation Board & Blacklist Simulation Whitelist & Blacklist Board Simulation Board Simulation Paris San Francisco Taipei London Figure 2: Wind River Helix App Cloud topology 4 White Paper

Similarly, companies in networking and other industries could make use of App Cloud to focus on building high-value applications rather than investing resources in maintenance of hardware and software development environments. System integrators and value-added resellers could also add new service lines and revenue streams using this paradigm. THE APP CLOUD TOPOLOGY AND APPROACH App Cloud provides large-scale infrastructure in the cloud that contains a full complement of development tools such as libraries, compilers, and debuggers, with broad language support. An extensive ecosystem of board and device manufacturers participating in App Cloud will continue to develop as new devices are introduced to the IoT-sphere. As the unifying technology that complements these common elements, App Cloud provides a software development kit and other components for each device, as illustrated in Figure 2. Target devices and developers can be located anywhere in the world, enabling developers to make use of both physical and simulated device systems that are either local or remote. Access to the repository of devices supported by App Cloud is protected by cloud-based measures that include whitelisting and blacklisting. Additionally, App Cloud can host development environments that are built and maintained by device makers to support special needs. That support could include elements such as specialized, proprietary compilers or operating systems, custom binaries, device-specific libraries, and more. Interoperation with other Wind River Helix Clouds As part of the Wind River Helix portfolio, App Cloud draws additional value from other Helix cloud technologies, including the following: Wind River Helix Lab Cloud: Board simulation using Lab Cloud will enable, for example, large networks of target devices to be simulated during development. Similarly, Lab Cloud enables the development model to scale easily as needed, even to thousands of instances of a single device. Wind River Helix Device Cloud: Secure connection of sensors, devices, and machines using Device Cloud makes the App Cloud environment more robust, with remote management of connected infrastructure, data protection, and remote data capture for telemetry and analytics. Clients Device/Project Management Interface Cloud9 IDE HTTPS & Web Sockets (Secure) Access Management and Load Balancing (nginx) HTTP & Web Sockets HTTP & Web Sockets Process/ Target Database (MySQL) Device and Project Management Process Monitoring Wind River TCF Wind River Debugger TCF Debugger Cloud9 Cloud 9 User Project Project Project ID Function ID Function Target Communication Framework (TCF) TCF over Web Sockets (Secure) Targets Physical or Simulated Targets TCF Agent Figure 3: Wind River Helix App Cloud solution architecture 5 White Paper

Full Lifecycle Support Seamless connectivity to devices from the user/developer s desk will enable applications to be coded, built, tested, deployed, and maintained directly through App Cloud. Access can also be supported through App Cloud to external resources, such as GitHub or other repositories for code sharing, Splunk or other platforms for data analysis, and social media for collaboration and community with other developers. App Cloud Technical Architecture The systems architecture of App Cloud is based on a three-tier model, as illustrated in Figure 3. From the client perspective, no software installation is required on the local host. The solution is entirely web-based, and everything including the debugger runs in a web browser. The device project management interface enables development, test, and deployment to devices and projects associated with the development process, while the Cloud9 integrated development environment provides a syntax-aware editor, shell, and debugger, and a project files management facility. A single entry point into the server tier is provided by the access manager and load balancer. Target and project management are handled by the device and management server, which is written entirely in server-side Javascript, shown on the left side of the server tier, in conjunction with the project/target database. The project ID function, shown at right, provides file editing, building, and debugging capabilities for projects. rules for connectivity between either physical or simulated targets and the tools in the server layer. It provides a simple, lightweight, vendor-agnostic means of communication between tools and targets for development needs such as debugging, monitoring, profiling, and code patching. TCF configuration on a per-target basis is generally applicable across tools, helping simplify setup and operation. After being developed by Wind River, TCF was released to open source and continues to be used as a broadly accepted standard technology across the industry. CONCLUSION Wind River Helix App Cloud helps developers meet the challenges and opportunities of IoT. By abstracting away complexity, the App Cloud development environment helps IoT product teams focus on just the application level, removing the need for platform-level considerations such as maintaining operating systems, drivers, and toolchains for a potentially enormous set of IoT devices. Dramatically simplifying the development experience and allowing customization across simulated or physical devices, App Cloud promises to help device makers scale their resources more efficiently and more quickly build IoT applications. As part of the larger Wind River Helix portfolio of software, technologies, tools, and services, App Cloud helps the industry address application development challenges so that device manufacturers and software makers can thrive in the new era of IoT. A Target Communication Framework (TCF) agent is running inside the browser, facilitating low-latency, two-way communication between the server and targets. This approach enables debugging while applications are running on remote targets. TCF defines Learn more about how Wind River enables IoT at helix.windriver.com, or call +1-800-545-WIND today to talk directly to an IoT application development expert. 1 Source: www.statista.com/statistics/276623/number-of-apps-available-in-leading-app-stores Wind River is a world leader in embedded software for intelligent connected systems. The company has been pioneering computing inside embedded devices since 1981, and its technology is found in nearly 2 billion products. To learn more, visit Wind River at www.windriver.com. 2015 Wind River Systems, Inc. The Wind River logo is a trademark of Wind River Systems,Inc., and Wind River and VxWorks are registered trademarks of Wind River Systems, Inc. Rev. 08/2015