Home > Design Patterns > State Repository
State Repository

State Repository (Erl)

How can service state data be persisted for extended periods without consuming service runtime resources?

Problem

Large amounts of state data cached to support the activity within a running service composition can consume too much memory, especially for long-running activities, thereby decreasing scalability.

Solution

State data can be temporarily written to and then later retrieved from a dedicated state repository.

Application

A shared or dedicated repository is made available as part of the inventory or service architecture.

Impacts

The addition of required write and read functionality increases the service design complexity and can negatively affect performance.

Architecture

Inventory, Service
State Repository: By deferring state data to a state repository, the service is able to transition to a stateless condition during pauses in the activity, thereby temporarily freeing system resources.

By deferring state data to a state repository, the service is able to transition to a stateless condition during pauses in the activity, thereby temporarily freeing system resources.

Related Patterns in This Catalog

Canonical Resources, Partial State Deferral, Process Centralization, Service Grid, Stateful Services

Related Patterns in Other Catalogs

Database Session State

Related Service-Oriented Computing Goals

Increased ROI, Increased Vendor Diversification Options, Reduced IT Burden