Makeen Core
As the name states this plugin is the core of all other Makeen plugins by providing shared functionality such as:
createServer
logic for creating a Hapi.js server and loading its plugins (exported as a node module member function)createServiceBus
logic for creating a Octobus.js service bus required by service containers (exposed as a server method)createStore
logic for creating octobus mongodb storage required by service containers(exposed as a server method)
Under the hood Makeen Core uses hapi-octobus, a Hapi.js adapter plugin for Octobus.js.
The following Octobus.js constructs are being extensively used:
- MessageBus
- ServiceBus
Octobus.js promotes a modular message driven architecture where
you develop services called SeviceContainers
which encapsulate cohesive logic and allow inter-service communication by way of messages.
A ServiceBus
is concerned with creating, managing and invoking published services. Each service will require a MessageBus
which is a lower layer concerned with message transportation, by default this uses the node EventEmitter class but can be configured to rely on HTTP transport such that you can enable cross-process communication between services running on different processes/locations.
Requirements
- Node v6 or higher
Installation
npm install makeen-core