1. Niagara是什麼?
Niagara [naɪ'æɡərə] 是使用Java開發的完整物聯網架構,豐富的接口及組件庫,使得開發快速。良好的分層、封裝設計,開發都是模塊化、面向組件的。模塊化是指開發的項目可以打包成單獨模塊,在其他項目中通過內置接口調用。面向組件是指可以選擇適合項目的、各個層級的組件,”搭積木“的方式組合成目標應用。
2. Niagara基本架構
Niagara的開放API類封裝在javax.baja包中,baja的意思是構建自動化的java架構。整體軟件框架包含5大部分:
- baja:底層API,提供基礎的模塊管理、代理註冊、日誌、線程、安全、組件基類、數據基類等模塊通用的接口;
- 水平應用層:封裝了一些常用功能,比如歷史記錄、報警、驅動等,可以直接使用也可以在其基礎上擴展開發;
- 設備接口:提供設備的接入功能,支持各種網絡:Modbus、BacNet、Fox等
- 企業接口:提供外部應用接入功能,比如郵箱、數據庫、Web服務器等
- 用戶接口:提供可視化、人機交互的功能,支撐HTML5及JS,實現桌面、瀏覽器訪問;
- 圖形化:提供圖形文檔的支持,可以Java2D繪圖,支持PDF、PNG、SVG;
Niagara系統架構是分佈式的,可以部署在設備終端及服務器。
- Station: 運行時環境,類似於JVM,可以稱作nJVM,專門用做運行Niagara的組件應用;
- Workbench: 管理工具,可以通過可視化的界面管理Station中的組件;
- Daemon: 操作系統層面的常駐進程,用於管理啓動staion、平臺配置等;
- Web Browser: 標準web瀏覽器;
Niagara架構的類圖,後面的開發中再詳細介紹:
Niagara框架是模塊化的,模塊根據功能劃分成不同類型,每個類型模塊由若干部分構成