Blackrock Application Server
Welcome to the Blackrock Application Server. Blackrock has a Reactive / Event-Driven Architecture, and contains all the functionality you need to build your next Node.JS application, whether it be a web app, web service or something else.
As a Stand-Alone Application Server
Blackrock can be installed as a stand-alone application server on your system. All you need to do is to Install Node.JS and NPM and then open up a command-line prompt and type:
> npm install -g is-blackrock
As a Dependency For Your Own Application
Blackrock can be installed as a dependency within your own Node.JS application. All you need to do is to Install Node.JS and NPM, make sure you have a new or existing Node.JS application and then open up a command-line prompt and type:
> cd /path/to/your/node.js/application > npm install --save is-blackrock
const blackrock = require('is-blackrock').init();
Note: If the application isn't new (more than just a scaffold) then you have to realise the Blackrock takes over the process and instantiates its own HTTP interface (and so on). As such you may very well have to re-engineer much of your application to work with Blackrock. Also - you may need to alter the server's configuration. See Server Configuration for more information.
Also: the is-blackrock node module has ZERO dependencies. So your risk of losing access to any of your packages is minimised.
See Getting Started for a quick and easy guide to help you get started building with Blackrock.
Below you can find the specifications for each Blackrock module:
|AppEngine Module||Loads, manages and provides access to and between all services running on your application server|
|CLI Module||Manages execution of server actions based on command-line arguments provided at startup|
|Configure Module||Provides methods and command line tools to manage server and service configuration|
|Core Module||Primary dependency (application server instance) that is exported to service routes and linked applications. Loads and provides access to all other modules and interfaces|
|Daemon Module||Provides tools to instantiate the application server as a daemon and to manage the daemon|
|Data Module||Provides a standard abstraction to third-party databases, and has a built-in filesystem JSON-based database that you can use to quickly build and prototype applications and services|
|ErrorHandler Module||Provides the tools to intercept and handle application server exceptions and prevent the server from crashing|
|Farm Module||Provides the tools to share state within a distributed compute cluster or farm. And to manage job processing without duplication of effort|
|Generator Module||Provides methods and command line tools to generate your own services for use within Blackrock|
|i18n Module||Provides support for internationalisation and localisation within your Blackrock services|
|Installer Module||Allows you to install additional services in to your application server from the Blackrock marketplace|
|Jobs Module||Allows you to create, manage and execute asynchronous jobs (from your services) - recurring and scheduled|
|Logger Module||Provides a method (log) to log your service (or intra app server) events and distribute these to any one of a number of log sinks|
|Router Module||Routes requests and responses between interfaces and service routes|
|Universe Module||Provides the Universe object to your services, giving you access to a world of real-time data. Make your service environmentally reactive!|
|Utilities Module||Provides a collection of popular Utility methods that you can access within the application server (modules) or from your services|
Below you can find the specifications for each Blackrock interface:
|Axon Interface||Provides an interface for the Axon protocol|
|HTTP Interface||Provides an interface for the HTTP and HTTPS protocol|
|NanoMSG Interface||Provides an interface for the NanoMSG protocol|
|SSH Interface||Provides an interface for the SSH protocol|
|WebSockets Interface||Provides an interface for the WebSockets protocol|
|ZeroMQ Interface||Provides an interface for the ZeroMQ protocol|
Thanks for downloading the Blackrock Application Server. We look forward to seeing what you build with it.