Samiksha Jaiswal (Editor)

Space based architecture

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Space-based architecture

Space-based architecture (SBA) is a software architecture pattern for achieving linear scalability of stateful, high-performance applications using the tuple space paradigm. It follows many of the principles of representational state transfer (REST), service-oriented architecture (SOA) and event-driven architecture (EDA), 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 (PU). 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 (SN), 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.

Contents

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 (Plain Old Java Object) 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:

  • Xu, Dezheng; Xiaoying Bai; Guilan Dai (2006). "A Tuple-Space-Based Coordination Architecture for Test Agents in the MAST Framework" (PDF). Tsinghua University, China. 
  • Shalom, Nati (2006). "Space-Based Architecture and the End of Tier-Based Computing" (PDF). GigaSpaces Technologies. 
  • Engelhardtsen, Fritjof Boger; Tommy Gagnes (2002). "Using JavaSpaces to create adaptive distributed systems" (PDF). Agder University College, Norway. 
  • References

    Space-based architecture Wikipedia