[Folio LSP] What is Okapi-Stripes Platform?

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

What is Okapi-Stripes Platform?

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

The good thing about Okapi-Stripes Platform

--Multi-tenant --Expandable (each tenant can choose an app to suit their needs)

Okapi-Stripes Platform Rules

—— Dividing the function into apps. Example: Invoice app, vendor app, payment app, 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 directly takes data from other apps, such as SQL.

Okapi-Stripes Platform components

① Runtime components and framework

--The backend is a microservices architecture called Okapi. --Adopts the API Gateway pattern for microservices. --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 block

Features provided by Okapi-Stripes Platform

--mod-users: Manage user details 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

--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) --Automatic testing --Tool standardization --Expected code coverage --Deployment pattern --An established environment that allows development teams to integrate new code and features (maybe Docker) --The following CLI (Command Line Tool) is available for convenient development on the platform. - Okapi-CLI - Stripes-CLI

Supplement

--RAML: An abbreviation for RESTful API Modeling Language, a modeling language for designing YAML-based RESTful APIs. --For details, see https://en.wikipedia.org/wiki/RAML_(software) --What is RMB: When you define an API or object in a RAML file or schema file, RMB will generate the code for you. --For more information https://github.com/folio-org/raml-module-builder --What is Ansible: Red Hat's open source configuration management tool --For more information https://ja.wikipedia.org/wiki/Ansible_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3% 82% A2)

reference

change history

July 5, 2020 Newly created

Recommended Posts

[Folio LSP] What is Okapi-Stripes Platform?
What is Cubby
What is Docker?
What is null? ]
What is java
What is Keycloak
What is maven?
What is Docker
What is self
What is Jenkins
What is ArgumentMatcher?
What is IM-Juggling?
What is SLF4J?
What is Facade? ??
What is Java <>?
What is Gradle?
What is POJO
What is Java
What is RubyGem?
What is programming?
What is before_action?
What is Docker
What is Byte?
What is Tomcat
What is Maven Assembly?
What is `docker-compose up`?
What is a constructor?
What is vue cli
What is an interface?
What is Ruby's self?
What is hard coding?
What is a stream
What is Ruby's attr_accessor?
What is Java Encapsulation?
What is permission denied?
What is instance control?
What is an initializer?
What is an operator?
What is object orientation?
What is Guava's @VisibleForTesting?
What is MVC model?
What is an annotation?
What is Java API-java
What is @ (instance variable)?
What is Gradle's Artifact?
What is JPA Auditing?
[Swift] What is dismiss?
[Java] What is flatMap?
What is a Servlet?
What is web development?
[Java] What is JavaBeans?
[Android] What is Context? ??
[Java] What is ArrayList?
[Ruby] What is true?
What is object-oriented after all?
What is HttpSession session = request.getSession ();
What is docker run -it?
What is Java Assertion? Summary.
[Memorandum] What is an error?
What is DI (Dependency Injection)
What is a wrapper class?