SOA Patterns > Inventory Implementation Patterns > 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.
Principles
Architecture
Inventory, Service
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
Related Service-Oriented Computing Goals
Increased ROI, Increased Vendor Diversification Options, Reduced IT Burden