國外物聯網平臺(5):Exosite Murano

ibrahim發表於2017-01-26

國外物聯網平臺(5)
——Exosite Murano

馬智

 

定位

Murano是一個基於雲的IoT軟體平臺,提供安全、可擴充套件的基礎設施,支援端到端的生態系統,幫助客戶安全、可擴充套件地開發、部署和管理應用、服務以及聯網產品。

 

功能

  • Murano平臺簡化了整個IoT技術棧,可視為整合在一起的多個雲軟體層。
  • Murano提供IoT基礎設施、開發環境和功能整合,包括裝置連線、產品管理、資料路由、服務整合(如data store/告警/第三方分析平臺)、應用開放API、使用者認證/角色/許可權和應用託管。
  • Murano允許與第三方軟體整合,開發者只需要關注使用者應用和裝置應用。
  • Murano能夠使開發者快速建立整個IoT系統,同時保持靈活性,允許新增新功能和自定義功能。

 

架構

 

產品層

Murano中的產品層表示聯網裝置的型別,它提供工具和介面,以便管理產品定義,允許開發者使用通用API進行裝置部署、業務開通、資料路由定義、現場升級和配置。開發者可使用已整合的儀表盤原型快速建立裝置並驗證裝置行為。

 

產品層功能

  • 裝置管理:管理裝置狀態、部署韌體及升級、版本控制。
  • 裝置連線&安全:使用TLS標準協議建立加密連線通道,開發者可快速連線裝置並進行資料通訊。
  • 裝置開通:安全、可擴充套件的開通介面滿足OEM廠商在裝置生產狀態和執行狀態下的靈活開通需求。
  • 開放訪問:相容大多數嵌入式硬體配置。
  • 儀表盤工具:快速建立、配置和部署儀表盤,以便視覺化裝置資料。
  • 嵌入式SDK:ExositeReady™ 嵌入式SDK能夠向大多數Wi-Fi和乙太網嵌入式平臺進行移植。
  • 閘道器引擎:Exosite的閘道器引擎框架功能包括自動開通、裝置管理、現場韌體升級,以加速閘道器設計。
  • 開發資源:具備C、 C++ 、 Python 、 Java 、 .NET 、 Node 、 Go等語言的開源庫。
  • 資料模型:基於裝置後設資料、資料來源、裝置分組、訪問策略、流程環節、事件和告警,能夠靈活地開發、維護和升級複雜的資料模型。

 

解決方案層

  • Murano中的解決方案層表示應用邏輯、使用者介面、應用API。利用裝置資料,在資料路由、服務整合、自定義API、使用者認證/角色/許可權和應用託管的基礎上,提供開發和部署應用及服務的工具,使開發者建立解決方案模板,包括整個部署到終端使用者的應用功能,以及產品的自定義API。

 

解決方案層功能

  • 角色&許可權管理:已整合的使用者服務提供許可權模型,包括認證、管理和角色定義等。
  • 自定義API:可自定義web-service API,根據裝置資料,定義每個解決方案的上下文環境、應用邏輯和裝置/使用者訪問。
  • 應用託管:靜態應用檔案託管使整個應用託管在Exosite上,Exosite提供技術支援和7*24監控。
  • 服務資料路由和事件邏輯:使用事件邏輯系統設定門限,排程服務通過簡訊、電子郵件或者HTTP發生告警。
  • 應用程式庫:豐富的應用程式庫便於設計、配置和部署原生應用。
  • 資料儲存:帶有時間戳的Key-Value儲存,所有資料在不同伺服器上存有副本。
  • 分析引擎:提供實時資料流處理和自動處理,易於解析原始資料包及格式轉換。
  • 融合方案:利用Exosite的合作伙伴方案,或者自定義cloud-cloud連線,整合其它雲服務。
  • IoT超市:訪問大量的已整合的合作伙伴方案,加速IoT部署,所有的服務外掛由Exosite託管。

 

業務層

  • Murano將聯網產品和方案完全轉型為資料驅動業務。使用企業級的功能特性,Murano無縫整合業務系統,釋放IoT的真正價值,加速企業轉型。

 

業務層功能

  • 管理控制檯:易於使用的管理工具,設定資料層面的方案配置。
  • 系統使用報表:分析、優化和理解資源使用模型,提供實施方案監控。
  • 方案模板:垂直應用模板用於產品定義、資料路由、使用者角色定義和應用內容,加速上市。
  • 業務軟體整合:使用第三方軟體,如:Salesforce、Twilio和其它CRM軟體,業務報表、分析工具和基於雲的排程和資料服務。
  • 方案監控:提供端到端的跨方案業務洞察,整體效能的深度可視。
  • 資料發現:使用資料瀏覽、視覺化和匯出工具,獲得業務知識和運營洞察。
  • 訪問控制:決定誰能夠檢視和訪問不同賬戶層次的資訊,快速和安全地建立層級結構和展示選項。
  • 安全管理:管理SSL證照和DNS,整合監控服務到Murano中,平滑和安全地進行IT運維。
  • 標準化工具:整合原始碼控制工具,重用公共元件。

 

安全-多重防護

  • 整合領先的安全框架,在所有敏感介面上採用銀行級的SSL加密方式
  • API端點使用socket層安全協議(SSL/TLS),防止資料竊取、篡改、偽造。
  • 使用者介面和Web應用使用HTTPS加密通訊,保護資料交換的隱私和完整性。

 

安全-資料儲存

  • 多層次安全模型保證資料存取安全策略的執行
  • 限制資料伺服器的物理訪問,現場監控物理設施,提供多重身份認證和安全日誌
  • 使用者資料訪問受到嚴格控制,每次請求必須通過認證,訪問與使用者資料進行隔離。

 

安全-使用者認證

  • 使用者認證嚴格控制平臺訪問,許可權分層易於多維度資訊訪問授權,基於使用者許可權級別生成API臨時祕鑰。
  • 安全儲存敏感使用者資訊、密碼和令牌。

 

安全-裝置認證

  • 禁止沒有授權情況下平臺和終端的任何資料交換。
  • 所有裝置使用私鑰與平臺進行資料交換。
  • 配置時為防止欺騙,現場裝置在受控的時間視窗內,使用加密的API通訊(DTLS和TLS),與平臺建立認證。
  • 一旦裝置通過認證,建立其擁有權和許可權層級。

 

裝置SDK

為減少開發時間,ExositeReady™ 嵌入式SDK提供商業級終端軟體快速安全地連線硬體裝置。

 

裝置SDK功能

  • 裝置移植:ExositeReady SDK提供將現有配置向新硬體平臺的移植。
  • 示例程式:瀏覽Demo檢視移植方法。
  • 支援的硬體平臺: ExositeReady認證的硬體包括開發指南、示例程式和二進位制編碼檔案。
  • 整合API:提供易於整合的應用級API。
  • 庫級API: ExositeReady認證的硬體預置連線Exosite雲平臺的功能。
  • 安全連線: ExositeReady認證的硬體採用了最新的安全標準。
  • 開源:ExositeReady SDK是開源軟體,基於Apache 2.0許可完全免費。
  • 程式碼可移植性:使用C99編寫,ExositeReady SDK可使用在任何嵌入式平臺上。

 

裝置閘道器引擎

ExositeReady™ 閘道器引擎是一個軟體包,便於快速安全地在終端節點、閘道器和Murano平臺之間通訊。

 

裝置閘道器引擎功能

  • 應用託管:開發和監控自定義閘道器應用、版本控制、重啟和失敗定義、除錯日誌存取。
  • OTA升級:使用安全可靠的OTA引擎,遠端安裝和升級閘道器韌體和應用。
  • 閘道器資料採集:監控重要的閘道器資訊,如硬碟使用率、檔案系統後設資料、行動網路資料流量使用,易於除錯和預測潛在問題。
  • 訊息佇列:使用靈活的儲存-轉發式的HTTP服務,避免斷電或不可靠連線引起的資料丟失。
  • 過程和日誌管理:通過開源的流程管理工具和監控系統,記錄重啟過程和日誌檔案。
  • API庫:使用安全和已驗證的API庫,加速開發Python應用。
  • 模組化感測器介面:利用內建的感測器驅動,或新增和擴充套件I/O介面,滿足實際需求。
  • 可插拔式服務介面:使用內建的雲模組,將裝置資料路由至Murano平臺,易於整合其它現場業務管理系統。

 

裝置HTTP API

  • 裝置韌體和應用必須使用此API開通業務,以及與平臺進行互動。

時間序列資料類API:

  • Write:向一組資源寫入資料
  • Read:從一組資源讀取最新資料
  • Hybrid Write/Read:先寫入一組資源,然後讀取一組資源
  • Long-Polling:當有資源更新時,及時發出通知

裝置開通類API:

  • Activate:啟用裝置並獲取裝置CIK
  • List Available Content:獲取裝置內容檔案列表
  • Get Content Info:獲取裝置內容檔案的後設資料
  • Download Content:下載裝置內容檔案

工具類API:

  • Timestamp:獲取當前unix格式時間戳

 

Murano指令碼

  • Murano平臺是一個事件驅動型系統,使用指令碼路由資料,並執行應用邏輯和規則。
  • Murano指令碼:
    • 具有豐富的功能,用於存取裝置資料至時間序列資料庫、執行裝置任務、處理方案應用API請求等操作。
    • 可訪問所有Murano服務。
    • 使用Lua語言編寫,執行在LuaJIT虛擬機器。
    • 可使用管理控制檯或者命令列介面新增至解決方案。

 

Murano指令碼相關概念

  • 服務呼叫:Service Call
  • 指令碼執行和事件處理:Script Execution & Event Handlers
  • API端點指令碼:API Endpoint Scripts
  • Websocket指令碼:Websocket Scripts
  • 指令碼模組:Modules
  • 指令碼環境:Script Environment

 

Murano服務

Murano服務可被指令碼訪問,由2種不同的元件構成:操作和事件。

  • 操作Operations:可在指令碼中呼叫的方法 
  • 事件Events:可觸發指令碼執行

 

Murano服務列表

通訊類:

  • Device:裝置閘道器服務
  • Email:Email服務
  • Twilio:Twilio服務(簡訊和電話)
  • Webservice :閘道器服務自定義API
  • Websocket : WebSocket閘道器服務

 

核心類:

  • Tsdb:時間序列儲存服務
  • Keystore :鍵值儲存服務

其它類:

  • Config :方案配置服務
  • Timer :計時服務API
  • User :使用者管理服務

相關文章