@ignitial/iio-app-server

5.4.7 • Public • Published

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

Dependents (0)

Package Sidebar

Install

npm i @ignitial/iio-app-server

Weekly Downloads

7

Version

5.4.7

License

MIT

Unpacked Size

52.6 kB

Total Files

17

Last publish

Collaborators

  • ignitial