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框架是模块化的,模块根据功能划分成不同类型,每个类型模块由若干部分构成