Vendor libraries

Due to the great amount of vendor libraries, many features and functionalities are easy to use without reinventing the wheel. The advantage of this is a less time-consuming development process of applications. Learning to write enterprise applications means learning how to use these vendor libraries.



Async is a utility module which provides straight-forward, powerful functions for working with asynchronous JavaScript. Async provides around 20 functions that include the usual 'functional' suspects (map, reduce, filter, each) as well as some common patterns for asynchronous control flow (parallel, series, waterfall). All these functions assume you follow the node.js convention of providing a single callback as the last argument of your async function.

Source: https://github.com/caolan/async


A javascript date library for parsing, validating, manipulating, and formatting dates. Moment was designed to work both in the browser and in Node.JS. All code will work in both environments.

Source: http://momentjs.com/docs/


A simple in-memory cache for node.js. Which gives you the ability to cache your objects or data-structures easily in RAM.

Source: https://github.com/ptarjan/node-cache



Mocha is a feature-rich JavaScript test framework running on node and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases.

Source: http://visionmedia.github.io/mocha/



Worker crashs indicate various problems of the system. It could show a problem with the used hardware or external resources like the network or timeouted packets. On the other hand, the cause of worker crashs could be bugs in your application. An uncaught exception or faulty syntax on specific execution paths can lead to worker crashs.

Nerver ignore these crashs, however they are not system breaking. The autonomous regulation of the system can bypass those errors for a while, so the normal development cycle can fix those problems. You should always perform this error handling strategy if errors occur.


Master crashs got the highest priority and need an immediate operation by a human. They cause a breakdown of whole cluster slaves and/or application contexts. So your application or parts of it won't work anymore. A master crash should never occur in normal production cases, because the master implementation is rock-solid and well tested. If such an error occurs though, you need to restart the master. This step could be automated by a watchdog solution with a cronjob daemon.


Middleware is computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue". Middleware makes it easier for software developers to perform communication and input/output, so they can focus on the specific purpose of their application.

Source: http://en.wikipedia.org/wiki/Middleware