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.
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
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
And then open up your project in your favourite IDE and (most likely in the Javascript file you launch with) include a reference to this dependency:
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 {@tutorial 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 the Getting Started Tutorial for a quick and easy guide to help you get started building with Blackrock.
Below you can find the specifications for each Blackrock module:
Module | Description |
---|---|
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 |
Sandbox Module | Provides a sandbox environment to execute un-trusted Javascript code within your application server |
AppEngine Module | Loads, manages and provides access to and between all apps running on your application server |
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:
Module | Description |
---|---|
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 Framework. We look forward to seeing what you build with it.