Space-based architecture


Space-based architecture is a distributed-computing architecture for achieving linear scalability of stateful, high-performance applications using the tuple space paradigm. It follows many of the principles of representational state transfer, service-oriented architecture and event-driven architecture, as well as elements of grid computing. With a space-based architecture, applications are built out of a set of self-sufficient units, known as processing-units. These units are independent of each other, so that the application can scale by adding more units.
The SBA model is closely related to other patterns that have been proved successful in addressing the application scalability challenge, such as shared nothing architecture, used by Google, Amazon.com and other well-known companies. The model has also been applied by many firms in the securities industry for implementing scalable electronic securities trading applications.

Components of space-based architecture

An application built on the principles of space-based architecture typically has the following components:
;Processing unit: The unit of scalability and fail-over. Normally, a processing unit is built out of a POJO container, such as that provided by the Spring Framework.
;Virtual middleware: A common runtime and clustering model, used across the entire middleware stack. The core middleware components in a typical SBA architecture are:
;POJO-driven services model: A lightweight services model that can take any standard Java implementation and turn it into a loosely coupled distributed service. The model is ideal for interaction with services that run within the same processing-unit.
;SLA-driven container: The SLA-driven container enables the deployment of the application on a dynamic pool of machines based on Service Level Agreements. SLA definitions include the number of instances that need to run in order to comply with the application scaling and fail-over policies, as well as other policies.

Literature

Articles/papers, technical: