如何加快构建物联网的应用云

在JavaOne大会上,Pivotal公司首席技术专家马克·克勒解释了物联网(IOT)应用在云计算中快速发展起来的一些最佳实践。他的方法使它更容易地尝试不同的用例,可一旦这些情况的商业价值已被证实,就可以提炼并实践。

作为一个例子,克勒解释了如何建立一个可再生能源的监测和控制应用程序的基本框架。他在圣路易斯建造了这一原则,但同样的原则可以采用多种多样的物联网应用中,可以快速部署到云中。

关键是要创建一个软件开发工具链,为物联网设备和后端的云计算生成尽可能多的代码。Spring的启动使得它容易带来各种各样的服务,用于通信,监控,数据库和应用程序逻辑。这个起始模板可以传递到Cloud Foundry自动生成在云中运行不同的服务器平台的代码。

保持简单的物联网物理侧

物联网的物理硬件方面是很重要的,虽然它只构成创造物联网应用约20%的工作。工程师和建筑师需要密切关注物联网的后台软件,克勒表示,物联网是大部分的价值来自后台软件。

在物理方面,克勒建议物理基础设施应该是快速且易于配置。一个最小的物理和逻辑的足迹应该支持可靠性,良好的沟通方案和标准。例如,克勒的能源监控应用程序的物理基础设施使用了一个Arduino板,可以支持无线网络连接和通信的Web Sockets协议的Raspberry Pi公司网关。

克勒表示考虑要使用设备充分的性能,而不是最佳的性能,因为端点需要更好的性能,而往往更多的处理能力和复杂性是很重要的。这一战略意味着大部分繁重处理的需求都在云中实施。克勒说,Arduino平台用于测试概念证明,这一个不错的选择,但它缺乏低成本的沟通能力。他建议采用Raspberry Pi为节点集中器,因为它支持Linux和java,其通信选项具有较好的低成本。

专注于标准

克勒说,人们应该采用尽可能地支持标准的、现有的基础设施和工具建立云计算物联网应用。克勒展示了他是如何能够快速使用Cloud Foundry云应用程序环境建立发展基于云计算的能源监控门户网站的,节点集中器和独立的物联网设备之间的所有交互可通过REST和Web Sockets进行沟通。

克勒用这种方法在短时间内来开发他的可再生能源监控系统。其应用程序通过各种传感器来监测和控制冷却、加热和通风孔等指标。

尽可能地配置

克勒表示,通过一套丰富的软件工具,所以用户可以更容易使用不同的方法,找出最好的一个软件工具开发和部署应用程序架构。他有针对性列举了GlassFish,WebLogic和WildFly服务器与Cloud Foundry平台。克勒说,这是一个更好的做法,针对利用现有的工具来手动自定义代码编程,而不是针对这些服务器跨平台移植现有生成代码的应用程序。

使用Cloud Foundry作为扩展的后端,使它更容易使用相同的方法,在本地或云环境进行局部处理和部署。这可以帮助减少开发概念验证的努力,然后迁移到最佳生产环境。

另一种很好的做法是使用SpringBoot,提供自动配置和外部的结合能力,使其更容易产生Cloud Foundry的起始代码。这使得在应用程序中更快更容易选择组件,这可以被部署到不同的目标环境中运行。从本质上说,Spring Boot可以很容易地设置传递到CloudFoundry,通过对云计算的核心框架的设置,从而产生Glass Fish,WebLogic服务器或Wildfly的代码。这使得开发人员可以把重点放在调整具体的物联网使用情况下的应用程序背后的逻辑上。

选择合适的组件

克勒还建议使用Spring Boot驱动器,它提供了监控和管理能力,包括SpringBoot的配置过程中使用应用程序的能力。这使得它很容易检查环境和路径,以及使用内存,这在开发和测试过程中非常有用。

超文本应用程序的语言,使它更容易探索和应用程序相关的应用程序。在网络中断的情况中,在应用程序中包含一个数据库或数据存储区是很重要的。

一旦这些Spring Boot元件被选中,开发人员可以快速生成一个使用SpringBoot代码生成工具的功能齐全的应用程序。这可以快速导入到一个Java IDE进行定制,对于给定的用例,其最终的结果是很容易通过生成工具生成一个Gradle或Maven项目。

使用REST和WebSockets应用程序

REST和JSON是构建Web应用程序,但他们将在物联网应用中带来相当大的开销。REST消息可以添加几百字节的头信息,而物联网应用程序通常只发送几个相关的测量或控制消息。克勒推荐使用Web Sockets来代替。当需要时,所需的开销更小,其通信也可以是双向的。

用户仍然需要创建一个Web Socket的类来处理数据,这些数据可以通过扩展的Web Socket处理器来完成。克勒说,他仍然可以通过REST访问云系统的一个参数,但他说,“它是如此沉重,我不使用它。”

利用Spring Boot,Cloud Foundry和构建工具这一基本框架,可以很容易地在短期内开发物联网设备的云应用程序。克勒说,他已经重新采用相同的框架开发各种企业相关应用。

他建议企业专注于利用现有的工具来制定出物联网应用的基本逻辑。它可以是具有挑战性的,以确定最终用途的情况下,推动物联网应用。从组件开始可以更容易确定业务的情况下,然后可以在适当的架构进行了优化。