[Java] [Folio LSP] What is Okapi-Stripes Platform?

1 minute read

I will write the knowledge that is the prerequisite for the tutorial. You may want to read it briefly before proceeding to the tutorial.

Okapi-What is Stripes Platform

  • Developed as the infrastructure for the Folio LSP project, it consists of Okapi, Stripes and other components.
  • It’s like an OS, the basic part of folios.

Okapi-Good points of Stripes Platform

  • Multi-tenant
  • Extensible (each tenant can choose an app according to their needs)

Okapi-Stripes Platform convention

  • Divide functionality into apps. Example: Invoice application, vendor application, payment application, etc.
  • Each app has its own business logic and data storage.
  • Apps communicate with each other through API. *API must be the same version

To put it the other way around, you shouldn’t use an app that takes the data of another app directly with SQL.

Okapi-Stripes Platform components

① Runtime component and framework

  • The back end is a microservices architecture, called Okapi.
  • Adopts microservice API Gateway pattern. -For more information https://github.com/folio-org/okapi/blob/master/doc/guide.md
  • Create and maintain Okapi using the RAML Module Builder (RMB) framework.

② Basic application building blocks

Functions provided by Okapi-Stripes Platform

  • mod-users: manage details of users in the system
  • mod-permissions: Ability to determine if the requested operation is allowed
  • mod-authtoken: session management
  • mod-configuration: Configuration management

③ Software development life cycle practices and utilities

  • Do modern development.
  • The following practices are documented in the infrastructure management code (folio-infrastructure, folio-ansible, folio-install) and documentation. -Continuous Integration/Continuous Delivery Pipeline (CI/CD) -Automated test -Tool standardization -Expected code coverage -Deployment pattern -An established environment (possibly Docker) that allows the development team to integrate new code and features
  • The following CLI (Command Line Tool) is available for convenient development on the platform. -Okapi-CLI -Stripes-CLI

Supplement

  • RAML: RESTful API Modeling Language is a modeling language for designing YAML-based RESTful API. -For more information https://en.wikipedia.org/wiki/RAML_(software)
  • What is RMB: RMB will generate code when you define APIs and objects in RAML files and schema files. -For more information https://github.com/folio-org/raml-module-builder
  • About Ansible: Red Hat’s open source configuration management tool -For more information https://en.wikipedia.org/wiki/Ansible_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3% 82%A2)

reference

  • Folio Project ``Definition of the Okapi-Stripes Platform, FOLIO LSP Base and FOLIO LSP Extended Apps’’ (https://wiki.folio.org/display/TC/Definition+of+the+Okapi-Stripes+Platform%2C+ (FOLIO+LSP+Base+and+FOLIO+LSP+Extended+Apps)

change history

July 5, 2020 Newly created