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

简介:

在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
相关文章
|
3月前
|
物联网 区块链 vr&ar
未来已来:探索区块链、物联网与虚拟现实技术的融合与应用安卓与iOS开发中的跨平台框架选择
【8月更文挑战第30天】在科技的巨轮下,新技术不断涌现,引领着社会进步。本文将聚焦于当前最前沿的技术——区块链、物联网和虚拟现实,探讨它们各自的发展趋势及其在未来可能的应用场景。我们将从这些技术的基本定义出发,逐步深入到它们的相互作用和集成应用,最后展望它们如何共同塑造一个全新的数字生态系统。
|
18天前
|
存储 人工智能 大数据
物联网、大数据、云计算、人工智能之间的关系
物联网、大数据、云计算、人工智能之间的关系是紧密相连、相互促进的。这四者既有各自独立的技术特征,又能在不同层面上相互融合,共同推动信息技术的发展和应用。
130 0
|
2月前
|
物联网 C# C语言
物联网开发中C、C++和C#哪个更好用
在物联网(IoT)开发中,C、C++和C#各有优缺点,适用场景不同。C语言性能高、资源占用低,适合内存和计算能力有限的嵌入式系统,但开发复杂度高,易出错。C++支持面向对象编程,性能优秀,适用于复杂应用,但学习曲线陡峭,编译时间长。C#易于学习,与.NET框架结合紧密,适合快速开发Windows应用,但性能略低,平台支持有限。选择语言需根据具体项目需求、复杂性和团队技术栈综合考虑。
|
2月前
|
存储 传感器 物联网
结合物联网开发探讨C语言的变量
在物联网(IoT)开发中,C语言的变量起着至关重要的作用。由于物联网设备资源有限,C语言的高效性和对硬件的直接控制使其成为开发嵌入式系统的首选。
|
4月前
|
安全 物联网 区块链
云端防御:云计算时代的网络安全策略与实战《未来已来:探索区块链、物联网与虚拟现实的融合革新》
【7月更文挑战第31天】在数字化转型的浪潮中,云计算已成为推动企业增长的核心动力。然而,随着数据和应用逐渐迁移到云端,网络安全问题也愈发严峻。本文将探讨云计算环境中的安全挑战,并提出相应的防御策略。通过分析云服务模型、安全威胁及信息安全技术的应用,结合代码示例,本文旨在为读者提供一套实用的云端安全防护方案。
49 1
|
5月前
|
物联网 云计算 传感器
物联网与云计算:天作之合的技术搭档
【6月更文挑战第2天】物联网与云计算协同创造智能世界:物联网如网,连接万物,收集海量数据;云计算似云,提供强大计算力,分析数据,挖掘价值。两者结合,应用于智能家居、工业制造、医疗健康、智能交通等领域,推动数字化转型。代码示例展示物联网数据上传云端过程。未来,随着技术进步,二者的融合将深化,引领更多创新应用,促进社会福祉和进步。
96 5
|
11天前
|
存储 安全 网络安全
云计算时代的网络安全挑战与策略
【10月更文挑战第34天】在数字化转型的浪潮中,云计算作为一项关键技术,正深刻改变着企业的运营方式。然而,随着云服务的普及,网络安全问题也日益凸显。本文将探讨云计算环境下的安全挑战,并提出相应的防护策略。
|
7天前
|
存储 安全 网络安全
云计算与网络安全:探索云服务中的信息安全策略
【10月更文挑战第39天】随着云计算的飞速发展,越来越多的企业和个人将数据和服务迁移到云端。然而,随之而来的网络安全问题也日益突出。本文将从云计算的基本概念出发,深入探讨在云服务中如何实施有效的网络安全和信息安全措施。我们将分析云服务模型(IaaS, PaaS, SaaS)的安全特性,并讨论如何在这些平台上部署安全策略。文章还将涉及最新的网络安全技术和实践,旨在为读者提供一套全面的云计算安全解决方案。

相关产品

  • 物联网平台