@ignitial/iio-app-server
v5.4.7
Published
Ignitial.io Application server library
Downloads
20
Readme
IgnitialIO web application server library
This library allows an web app to take advantage of the
IIOS services framework.
It implements several concepts:
- web socket communication using socket.io
- unified services: these are services defined server-side that can be called browser side as if they were seamlesly local to browser. They use web sockets to do so.
- modules: these are services (you can see this as app plugins) implemented server-side and eventually available browser side. If so, unlikely unified services, they are defined with one instance per all web socket clients (e.g. connection), while unified services provide one instance per client
- API gateway: is providing an unified service for each available IIO micro-service. In this way, any micro-service can be used locally to the browser.
- static configuration management for the web app
- static file serve
- REST API capabilities thanks to connect-rest
- AWS S3 or compliant (e.g. Minio S3) file storage
Architecture
core/IIOSAppServer
It provides:
- static configuration management
- REST API implementation
- server-side web socket communication (using core/ws.js)
- modules life cycle management
- S3 file storage
core/module.js
Base class for modules implementation.
core/service.js
Base class for unified services implementation.
core/ws.js
Web socket communication and unified services management.
Default modules
- modules/emailer.module.js: mail services
- modules/gateway.module.js: IIOS gateway for utility access to current deployed services
- modules/utils.module.js: utility module
Default unified services
- services/apigateway.service.js: IIOS gateway providing one unified service per available micro-service per client
- config.service.js: client side access to public configuration (flagged with _ unified in the congifuraiton file)
Tests
Tests are mainly done trough the full application. For example: IgnitialIO application template