精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

如何為云計算加快開發物聯網應用程序?

責任編輯:editor005

作者:George Lawton

2015-12-14 14:29:05

摘自:TechTarget中國

應用程序的最佳實踐。其關鍵在于創建一個軟件開發工具鏈,這個工具鏈可以盡可能地為物聯網設施和云計算后端實現代碼生成自動化。

在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表示,他已經把同樣的一個框架重新用于各種與企業應用相關的應用中。他建議企業重點關注使用現有工具來為物聯網應用程序開發基本的邏輯功能。而最終識別出能夠推動物聯網應用發展的用例將是一項極具挑戰性的任務。從組件入手將更易于最初的業務識別,之后就可以使用合適的架構對其進行優化。

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 泽州县| 浙江省| 肥乡县| 汤原县| 来凤县| 分宜县| 新绛县| 新化县| 高安市| 沈丘县| 登封市| 兰西县| 岳普湖县| 富民县| 定襄县| 凤翔县| 常山县| 拉萨市| 吕梁市| 泰安市| 沙坪坝区| 兴业县| 瓮安县| 镇安县| 丰台区| 齐齐哈尔市| 吉林省| 呼伦贝尔市| 巫溪县| 申扎县| 蓬安县| 衡山县| 佳木斯市| 乐平市| 获嘉县| 鄂尔多斯市| 定结县| 阜宁县| 江北区| 左贡县| 都江堰市|