如何为云计算加快开发物联网应用程序?

简介:

在JavaOne大会上,Pivotal的首席技术专家Mark Heckler介绍了一些快速在云计算中开发新的物联网(IoT)应用程序的最佳实践。他的做法让我们更容易地尝试不同的用例,一旦其商业价值得到证实,我们就可以具体实施。

作为一个例子,Heckler解释了如何为一个可再生能源监控和控制应用开发基本框架。他为他位于圣路易斯的房子开发了一个基本框架,但是同样的原理也可被应用于可在云计算中快捷部署的多种物联网应用中。

其关键在于创建一个软件开发工具链,这个工具链可以尽可能地为物联网设施和云计算后端实现代码生成自动化。Spring Boot 将有助于引入各种各样的服务以供通信、监控、数据库以及应用程序逻辑等应用使用。这个初始模板可被传输至Cloud Foundry以便于为在云计算运行的不同服务器平台自动生成代码。

保物联网物理端的简单化

虽然物联网的物理端在开发物联网应用程序中只占据了二成,但它却是非常重要的。工程师和架构师需要密切关注后端物联网软件,Heckler说。这恰恰正是其大部分价值的来源之处。

在物理端,Heckler建议其物理基础设施应当是易于快速配置的。一个最小的物理和逻辑组件都应支持良好的可靠性、沟通方案和标准。例如,Heckler的能源监控应用使用了一个包括Arduino板、Raspberry Pi网关以及供通信使用的无线网络连接和WebSockets协议在内的物理基础设施。

Heckler表示,为设备思考如何提供足够的性能而不是最佳的性能将是非常重要的,这是因为更高的性能表现往往需要更强的处理能力和提高端点的复杂性。这一策略意味着大部分的繁重处理任务都需要在云计算中完成。Heckler说,Arduino平台是用于验证概念设计的一个不错选择,但是它缺乏低成本的通信能力。他推荐使用Raspberry Pi作为节点,因为它支持Linux和Java,而且它还具有较好的低成本通信方案。

关注标准

Heckler说,你应当尽可能地基于现有支持标准的基础设施和工具来开发云计算物联网应用程序。Heckler展示了他是如何能够通过使用Cloud Foundry来快速地开发出一个云计算应用程序环境,从而在基于云计算的门户网站、节点和独立物联网设备之间确保交互通信都可通过REST和 WebSockets实现。

Heckler使用这种方法在很短时间内就完成了他的可再生能源监控和控制系统的开发工作。这一应用的输入包括多种不同的传感器,而其控制输出涉及冷却、加热和通风等。

尽可能多的配置

由使用一组强大的软件工具入手,多尝试一些不同的方法,将更易于开发和重新部署一个应用程序架构,这样你就可以找出一个最佳方案,Heckler说。他曾在Cloud Foundry平台上尝试过GlassFish、WebLogic和WildFly 服务器。Heckler说,与手工自定义改写代码来实现现有应用程序的跨平台移植相比,以这些服务器为目标使用现有工具来编程生成代码是一个更好的方法。

将CloudFoundry作为后端将更易于使用相同的方法来实现在本地、内部部署或者云计算环境中的处理和部署。这将有助于减少在开发概念设计验证阶段以及之后迁移至以生产为目的的最佳环境阶段的工作量。

另一个很好的做法就是使用Spring Boot来提供自动配置和外部绑定功能,从而更易于生成Cloud Foundry初始代码。这也更有助于选择组件来快速集成应用程序,可部署应用程序以便于在不同目标环境中运行。从本质上来说,Spring Boot 可有助于设置被传送至Cloud Foundry的核心框架,它可为GlassFish、WebLogic 或 WildFly服务器生成代码。这使得开发人员能够把更多的时间和精力关注于针对物联网用例应用程序背后的逻辑开发中。

选择合适的组件

Heckler还推荐使用Spring Boot Actuator,它可在Spring Boot配置过程中从价格成本角度提供监控和管理应用程序的功能。这将有助于检查环境、查看类路径和内存使用情况,这些功能在开发和测试阶段都是非常有用的。

超文本应用程序语言可以帮助我们探索和解决与应用程序相关的API。同样重要的是,囊括一个数据库,或者将数据存储在应用程序中,以便于在发生网络中断事件时应用程序仍能够掌控数据。

一旦这些Spring Boot 单元被选中,那么开发人员就能够使用Spring Boot代码生成工具快速地生成一个全功能(虽然可能用处也不大)的应用程序。这个应用程序可被快速导入一个Java集成开发环境中,以便于进一步实现针对某一用例的定制化。那么,最后的结果就可以很容易地推送至一个开放工具以生成一个Gradle 或 Maven 项目。

弃用REST,使用WebSockets

REST 和 JSON非常适用于开发网络应用程序,但是它们为物联网应用程序带来了相当可观的开销。REST消息有时候会增加数百字节的头信息,而物联网应用程序本身通常只会发送与测量或控制消息相关的几个字节的信息。Heckler 建议使用WebSockets来代替前者。其开销要小得多,此外在必要时可实现双工通信。

你还需要开发一个WebSocket类来处理数据,这些数据可以通过扩展WebSocket处理程序来完成。Heckler说,他仍然有一个可通过REST来访问云计算系统的参数,但是他说,“使用它的代价如此高昂,所以我不会使用它。”

基于Spring Boot的基本框架、Cloud Foundry和一个开发工具将有助于在较短时间内针对物联网设备完成一个云计算应用程序的开发工作。Heckler表示,他已经把同样的一个框架重新用于各种与企业应用相关的应用中。他建议企业重点关注使用现有工具来为物联网应用程序开发基本的逻辑功能。而最终识别出能够推动物联网应用发展的用例将是一项极具挑战性的任务。从组件入手将更易于最初的业务识别,之后就可以使用合适的架构对其进行优化。

本文作者:滕晓龙

来源:51CTO


相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
2月前
|
人工智能 运维 数据库
未来的后端开发:人工智能与云计算的融合
【2月更文挑战第10天】 传统的后端开发一直依赖于对数据库、服务器和网络等底层技术的熟练运用,然而随着人工智能和云计算技术的飞速发展,未来的后端开发方向也将发生深刻的变革。本文将探讨人工智能与云计算在后端开发中的应用前景,以及它们将如何重塑后端开发的方式和手段。
|
3天前
|
存储 传感器 算法
LabVIEW开发实时自动化多物镜云计算全玻片成像装置
LabVIEW开发实时自动化多物镜云计算全玻片成像装置
|
3天前
|
监控 物联网
LabVIEW开发基于物联网的多功能功率分析仪
LabVIEW开发基于物联网的多功能功率分析仪
|
3天前
|
传感器 机器学习/深度学习 算法
LabVIEW开发工业物联网状态监测
LabVIEW开发工业物联网状态监测
10 2
|
3天前
|
Cloud Native 安全 云计算
什么是云原生架构,我们该如何做好云原生安全,引领云计算时代的应用程序革新
云原生架构,基于云计算设计理念,强调应用在云环境中设计、构建和运行,利用容器化、微服务、自动化管理和持续交付实现灵活、可扩展和高效。其优势包括高可扩展性、可伸缩性、高效性、灵活性、可靠性和成本效益。应用场景广泛,如电商、金融和物联网。构建关键要素包括容器化、微服务、自动化管理和持续交付。保障安全,需重视容器安全,采用如德迅蜂巢·云原生安全平台等解决方案。云原生正引领应用程序革新,成为现代应用构建首选。
|
7天前
|
传感器 存储 物联网
【C 言专栏】基于 C 语言的物联网开发
【5月更文挑战第6天】C 语言在物联网发展中扮演关键角色,适用于开发嵌入式系统、通信协议及云平台后端服务。其高效、灵活、可移植的特性适应资源有限的环境,确保设备兼容性。尽管开发挑战较大,如代码可读性,但借助辅助工具可改善。随着物联网技术进步,C 语言将持续发挥重要作用,塑造智能未来。
【C 言专栏】基于 C 语言的物联网开发
|
4月前
|
存储 监控 物联网
云计算:云计算与物联网
云计算与物联网简介
66 0
|
15天前
|
Kubernetes 云计算 虚拟化
云计算开发与部署:技术与实践的深度融合
云计算开发与部署:技术与实践的深度融合
31 2
|
3月前
|
监控 物联网 大数据
智慧工地管理平台系统源码基于物联网、云计算、大数据等技术
智慧工地平台APP通过对施工过程人机料法环的全面感知、互联互通、智能协同,提高施工现场的生产效率、管理水平和决策能力,实现施工管理的数字化、智能化、精益化。
59 0
|
4月前
|
存储 安全 数据管理
构建智慧家庭的未来:物联网平台与智能家居系统的开发
在数字化时代,物联网平台和智能家居系统的开发日益受到关注。本文将探讨物联网平台和智能家居系统的定义、优势以及开发过程中的挑战与解决方案。通过对智能家居系统的构建和物联网平台的应用,我们可以实现更加智能、高效和安全的生活环境。

相关产品

  • 物联网平台