Skip to end of banner
Go to start of banner

Folio modules

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

FOLIO is a micro-service system. FOLIO services are called "modules"

Each module is a separate application serving a specific role. There are several roles in project:

Frontend modules

-- TBD

Backend modules

OKAPI

OKAPI is a central gateway in FOLIO project. It also encapsulates following services

  • service registry - all modules, excluding UI, publish their descriptors using OKAPI API to be available within the system)
  • security / access control - all requests passing through OKAPI has a security token assigned and checked to have corresponding permissions
  • database upgrade facilitation - OKAPI controls when a database of a particular module (including a per-tenant databases) have to be upgraded for next version
  • dependency management - each module descriptor published has a set of dependencies included. OKAPI checks all those dependencies and also checks for existing circular dependencies in tree.
  • API gateway - all modules communicate through OKAPI API, there's no direct interaction
Business logic

Business logic modules are usually a Java applications, encapsulating data transformation, enriching, calculation - everything required to implement a business process.

Business logic modules are not commonly using their own database connection, but using "Storage modules" to persist information.

Storage

These modules are dedicated to provide an API for persistence layer of FOLIO. They usually expose CQL-type API to access database objects. Modules are mostly implemented using RAML descriptors.

Storage modules are not meant to have any type of business logic and must serve exclusively for storage purposes.

Edge

Edge modules are services to provide API for integration of third-party systems with FOLIO platform. Those modules are set up to be accessed from 'external' networks and not using OKAPI as a gateway in front of them.

For access control purposes they use their own mechanisms.


  • No labels