Starting from the bottom of the stack, the ARCcore package is a collection of generic libraries
for storing and processing in-memory directed graph datasets (ARCcore.graph), validating
and normalizing intra-subsystem and inter-process data messages (ARCcore.filter),
routing run-time data messages (ARCcore.discriminator), and generating
random and digest hash identifiers from run-time data (ARCcore.identifier).
ARCcore additionally contains less-often used utility libraries ARCcore.util and
The Hrequest package is an ARCcore.filter-derived HTTP client
for use in Node.js and browser applications that provides strong validation, and normalization of HTTP request
and response messages. Hrequest is useful for building client-side AJAX messaging systems,
implementing back-end communication channels with other HTTP servers (e.g. 3rd-party API's),
and building client access packages for clients of your custom API's. This application leverages
Hrequest in the client to communicate with the back-end Holism app server using
shared filter specifications.
The Holism package is a JSON-configurable HTTP application server for
Node.js built with ARCcore.filter that exposes
an application-specific functional extension model based on ARCcore.filter-derived
service plug-ins. Concerns common to most web applications such as
user/session management, and dynamic server-side rendering of HTML that directly impact the
functionality of application-specific plug-in services are modeled as required services called
The Holistic package is a collection of re-usable features and plug-in extensions
for Holism that provides server-side HTML document rendering via Facebook's React,
user and session management via RedisLab'sRedis,
and an evolving content management system based on linked JSON documents managed by the ARCcore/graph library.