A significant difference is that OKAPI is involved in each transaction between two different modules. As requests pass from module to module, OKAPI takes part as the gatekeeper. From that position, it can determine if the current request is permitted by the tenant. It can also perform other functions, such as monitoring and logging. In a traditional microservices set up, there is not such a gatekeeper.
The use of a shared storage service is also another way OKAPI differs from traditional microservices. In traditional microservices, each service owns its storage. With FOLIO we need a way to secure data and ensure the data is shareable (using common models, for instance).
Question from the July 27th Developer’s Forum.