Difference between revisions of "WISE-PaaS/SRP Services"
| Line 113: | Line 113: | ||
</blockquote> | </blockquote> | ||
*Group APIs | *Group APIs | ||
| + | <blockquote> | ||
| + | */wise-paas/'''common'''/group | ||
| + | **<POST> – Add Group | ||
| + | */wise-paas/'''common'''/group/<id> | ||
| + | **<PUT> – Edit Group | ||
| + | **<DELETE> – Delete Group | ||
| + | **<GET> – Get group, account information | ||
| + | */wise-paas/'''common'''/group/advSearch | ||
| + | **<POST> – Advanced search by each field. | ||
| + | </blockquote> | ||
*Account APIs | *Account APIs | ||
| + | <blockquote> | ||
| + | */wise-paas/'''common'''/account | ||
| + | **<POST> – Add Account | ||
| + | */wise-paas/'''common'''/account/<id> | ||
| + | **<PUT> – Edit Account | ||
| + | **<DELETE> – Delete Account | ||
| + | **<GET> – Get account and group information | ||
| + | */wise-paas/'''common'''/account/advSearch | ||
| + | **<POST> – Advanced search by each field. | ||
| + | */wise-paas/'''common'''/account/login | ||
| + | **<POST> – Account login, verify the password, and return access token. | ||
| + | </blockquote> | ||
*Role APIs | *Role APIs | ||
| + | <blockquote> | ||
| + | */wise-paas/'''common'''/role | ||
| + | **<POST> – Add Role | ||
| + | */wise-paas/'''common'''/role/<id> | ||
| + | **<PUT> – Edit Role | ||
| + | **<DELETE> – Delete Role | ||
| + | **<GET> – Get role information | ||
| + | */wise-paas/'''common'''/role/advSearch | ||
| + | |||
| + | <POST> – Advanced search by each field. | ||
| + | </blockquote> | ||
*Data Management APIs | *Data Management APIs | ||
| + | <blockquote> | ||
| + | */wise-paas/'''common'''/data/history/<id>/<beginTS>/<endTS>/<handler>/<sensorId> | ||
| + | **<GET> – Get row data, based on device Id, time range, handler and sensor Id. | ||
| + | */wise-paas/'''common'''/data/realtime/<id>/<beginTS>/<endTS>/<handler>/<sensorId> | ||
| + | **<GET> – Get real-time device data, based on device Id, time range, handler and sensor Id. | ||
| + | */wise-paas/'''common'''/data/set/<id> | ||
| + | **<POST> – Set device data to target device. | ||
| + | */wise-paas/'''common'''/data/sensorId/<id>/<handler> | ||
| + | **<GET> – Get sensor Id, based on device Id and handler. | ||
| + | */wise-paas/'''common'''/data/startReport | ||
| + | **<POST> – Set device start to report data. | ||
| + | */wise-paas/'''common'''/data/stopReport | ||
| + | |||
| + | <POST> – Set device stop to report data. | ||
| + | </blockquote> | ||
*NoSQL APIs | *NoSQL APIs | ||
| − | + | <blockquote> | |
| + | */wise-paas/'''common'''/noSQL/collection | ||
| + | **<POST> – Add new collection into noSQL DB, index options…etc. | ||
| + | **<Delete> – Delete collection on noSQL DB. | ||
| + | */wise-paas/'''common'''/noSQL/collection/data | ||
| + | **<POST> – Add data into collection | ||
| + | **<PUT> – Replace data on collection, via conditions. | ||
| + | */wise-paas/'''common'''/noSQL/advSearch | ||
| + | **<POST> – Advance search on collection and conditions. | ||
| + | </blockquote> | ||
=== Custom REST API Categories === | === Custom REST API Categories === | ||
*RMM | *RMM | ||
| + | <blockquote> | ||
| + | */wise-paas/'''rmm'''/apiInfo | ||
| + | */wise-paas/'''rmm'''/dashboard | ||
| + | */wise-paas/'''rmm'''/kvm | ||
| + | */wise-paas/'''rmm'''/msgNotify | ||
| + | *… | ||
| + | </blockquote> | ||
*IMM | *IMM | ||
| + | <blockquote> | ||
| + | */wise-paas/'''imm'''/apiInfo | ||
| + | *… | ||
| + | </blockquote> | ||
*SCADA | *SCADA | ||
| + | <blockquote> | ||
| + | */wise-paas/'''scada'''/apiInfo | ||
| + | *… | ||
| + | </blockquote> | ||
*OTA | *OTA | ||
| − | + | <blockquote> | |
| − | + | */wise-paas/'''ota'''/apiInfo | |
| + | *… | ||
| + | </blockquote> | ||
== DEVICE CONNECTIVITY == | == DEVICE CONNECTIVITY == | ||
Revision as of 07:22, 16 January 2017
Contents
OVERVIEW
- API Management
Adopt Azure API Management/Open-source (WSO2) to integrate various SRP services API.
- Common Service APIs/Lib
Basic Account/Device/Group/Role operation APIs, including Add/Edit/Delete/Search/Advance Search WISE-PaaS administration information (Product Support, version, capability…etc.)
- Custom/SRP Service
RMM/IMM/OTA/SCADA self-service APIs
- Common Data Workers
Including device basic information and sensor data from broker. (Common MQTT Topic) For structure info (device Info) store into PostgreSQL For non-structure (sensor Info) store into MongoDB/DocumentDB/...etc.
- Custom/SRP Data Workers
Process RMM/IMM/OTA/SCADA self-MQTT topic message and store into self-database (RMM/IMM/OTASCADA DB)
- Message Broker (RabbitMQ)
Adopt RabbitMQ as default cluster broker, and plugin MQTT as communication protocol.
- Device Agent
Define common MQTT topic handshake message and custom/SRP topic format.
- Database (SQL/NoSQL)
PostgreSQL as default relation database and including Common/RMM /SCADA/IMM/etc. MongoDB/DoucmentDB for sensor information collect.
COMMON DATABASE SCHEME
Concept & Design Rules
- Device belong to multi-groups or not to any group.
- Each account have non or multi-groups.
- Each group must belong to someone account.
- Group of group (1-3 Levels)
- Each account must belong to someone role.
Common Database Scheme
Common Database Table Details
Table Account
Table Role
Table Group
Table Device
Non-Structure Data (MongoDB/DocumentDB)
- Default Collections
{ "product": "RMM",
- Event
- WISE-PaaS platform event message
- Format
"type": "DEVICE",
"subtype": "DEVICE_DISCONNECTED",
"severity": "ERROR",
"message": "DEVICE_DISCONNECTED",
"extMsg": <JSONObject>,
"device_id": 2,
"device_name": "AC09",
"account_id": 2,
"account_name": "admin",
"ts": ISODate('2016-11-29T05:13:46.759Z') }
- Handler (Plugin)
- Handler (Plugin) report data (source data)
- Capability
- Handler capability structure
- Heartbeat
- WISE-PaaS device’s keepalive mechanism, ensure device connection state.
- Sensor Collections (Dynamic generate and transfer to key/value)
- SUSIControl
- HDDMonitor
- Modbus
- SenHub
- IoTGW
- …
API MANAGEMENT (RESTFUL APIS)
Common REST APIs
- Device APIs
- /wise-paas/common/device
- <POST> – Add Device
- /wise-paas/common/device/<id>
- <PUT> – Edit Device
- <DELETE> – Delete Device
- <GET> – Get device, account, group information.
- /wise-paas/common/device/advSearch
- <POST> – Advanced search by each field.
- Group APIs
- /wise-paas/common/group
- <POST> – Add Group
- /wise-paas/common/group/<id>
- <PUT> – Edit Group
- <DELETE> – Delete Group
- <GET> – Get group, account information
- /wise-paas/common/group/advSearch
- <POST> – Advanced search by each field.
- Account APIs
- /wise-paas/common/account
- <POST> – Add Account
- /wise-paas/common/account/<id>
- <PUT> – Edit Account
- <DELETE> – Delete Account
- <GET> – Get account and group information
- /wise-paas/common/account/advSearch
- <POST> – Advanced search by each field.
- /wise-paas/common/account/login
- <POST> – Account login, verify the password, and return access token.
- Role APIs
- /wise-paas/common/role
- <POST> – Add Role
- /wise-paas/common/role/<id>
- <PUT> – Edit Role
- <DELETE> – Delete Role
- <GET> – Get role information
- /wise-paas/common/role/advSearch
<POST> – Advanced search by each field.
- Data Management APIs
- /wise-paas/common/data/history/<id>/<beginTS>/<endTS>/<handler>/<sensorId>
- <GET> – Get row data, based on device Id, time range, handler and sensor Id.
- /wise-paas/common/data/realtime/<id>/<beginTS>/<endTS>/<handler>/<sensorId>
- <GET> – Get real-time device data, based on device Id, time range, handler and sensor Id.
- /wise-paas/common/data/set/<id>
- <POST> – Set device data to target device.
- /wise-paas/common/data/sensorId/<id>/<handler>
- <GET> – Get sensor Id, based on device Id and handler.
- /wise-paas/common/data/startReport
- <POST> – Set device start to report data.
- /wise-paas/common/data/stopReport
<POST> – Set device stop to report data.
- NoSQL APIs
- /wise-paas/common/noSQL/collection
- <POST> – Add new collection into noSQL DB, index options…etc.
- <Delete> – Delete collection on noSQL DB.
- /wise-paas/common/noSQL/collection/data
- <POST> – Add data into collection
- <PUT> – Replace data on collection, via conditions.
- /wise-paas/common/noSQL/advSearch
- <POST> – Advance search on collection and conditions.
Custom REST API Categories
- RMM
- /wise-paas/rmm/apiInfo
- /wise-paas/rmm/dashboard
- /wise-paas/rmm/kvm
- /wise-paas/rmm/msgNotify
- …
- IMM
- /wise-paas/imm/apiInfo
- …
- SCADA
- /wise-paas/scada/apiInfo
- …
- OTA
- /wise-paas/ota/apiInfo
- …
DEVICE CONNECTIVITY
Message Topics
Handshake Sequence
Data Format
- Basic JSON Format
- IPSO Format (Application Framework)
DEVOPS MANAGEMENT
Continuous Integration & Continuous Delivery
Version Control
Build and Test
Release & Deploy
CUSTOM SERVICE INTEGRATION
Access Methods
Internal Messaging(ZMQ)
Java Library
Common Restful APIs
RMM/OTA/SCADA/IMM Integration
- Scenario 1) RMM show more information about account
- Scenario 2) OTA deploy a package for region devices







