is-blackrock
v0.4.1
Published
Blackrock Application Server
Downloads
1,079
Maintainers
Readme
Blackrock Application Server
Introduction
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.
Installing Blackrock
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
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.
Getting Started
See the Getting Started Tutorial for a quick and easy guide to help you get started building with Blackrock.
Modules Specifications
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 | | Services Module | Loads, manages and provides access to and between all services 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 |
Interface Specifications
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 |
Gratitude
Thanks for downloading the Blackrock Framework. We look forward to seeing what you build with it.