Martin is getting the
projector
to work
with his
laptop.
Replicated
Service Objects
A Strategy for
Distributed
Applications
Martin McClure
Background:
GemStone/S
30 Years!
Replicated Service Objects -- A Strategy for Distributed Applications
GemStone/S
•Server-side Smalltalk
•Object Database
Server-side
Smalltalk
•Headless
•Multi-User
•Scalable
Object
Database
•One persistent “image”
•Shared transactionally
• Merged at commit
• Conflicts are detected
GemBuilder for
Smalltalk (GBS)
•Interfaces VW or VA
Smalltalk to GemStone
Replicated Service Objects -- A Strategy for Distributed Applications
Replicated Service Objects -- A Strategy for Distributed Applications
GemBuilder for
Smalltalk (GBS)
•Interfaces VW or VA
Smalltalk to GemStone
GBS Main Features
•Forwarders
• Remote messaging
•Replicates
• Synchronized copy
• (new) Remote
messaging
Forwarder
Server
Client
Forwarder
Server
Client
Forwarder
Server
Client
Forwarder
Server
Client
Replicate
Server
Client
Replicate
Server
Client
Replicate
Server
Client
Replicate
Server
Client
Replicate
Server
Client
Replicate
Server
Client
Replicate
Server
Client
Replicate
Server
Client
Replicate
Server
Client
Replicate
Server
Client
Transparent
Distribution
Transparent
Distribution
Good Idea
Transparent
Distribution
Good Idea
BAD
Distribution
Concerns
•Correctness
•Reliability
•Performance
Distribution
Concerns
•Correctness
•Reliability
•Performance

Distribution
Concerns
•Correctness
•Reliability
•Performance


Distribution
Concerns
•Correctness
•Reliability
•Performance



An
Embarrassing
Story
n2
One
Month
Tools used
Forwarders
Lessons
•Test scaling
•Test with latency
•Need better design
pattern
Replicated
Service
Objects
Example:
Inspector
Service
Server
Client
Server
Client
Inspector
Service
theObject
properties
Server
Client
Inspector
Service
theObject
properties
'self' -> '0@0'
'class' -> 'Point'
'x' -> '0'
'y' -> '0'
Dictionary
Server
Client
Inspector
Service
theObject
properties
'self' -> '0@0'
'class' -> 'Point'
'x' -> '0'
'y' -> '0'
Dictionary
Inspector
Service
properties
'self' -> '0@0'
'class' -> 'Point'
'x' -> '0'
'y' -> '0'
Dictionary
Server
Client
Inspector
Service
theObject
properties
'self' -> '0@0'
'class' -> 'Point'
'x' -> '0'
'y' -> '0'
Dictionary
Inspector
Service
properties
'self' -> '0@0'
'class' -> 'Point'
'x' -> '0'
'y' -> '0'
Dictionary
Server
Client
Inspector
Service
theObject
properties
'self' -> '0@0'
'class' -> 'Point'
'x' -> '0'
'y' -> '0'
Dictionary
Inspector
Service
properties
'self' -> '0@0'
'class' -> 'Point'
'x' -> '0'
'y' -> '0'
Dictionary
Server
Client
Inspector
Service
theObject
properties
'self' -> '0@0'
'class' -> 'Point'
'x' -> '0'
'y' -> '0'
Dictionary
Inspector
Service
properties
'self' -> '0@0'
'class' -> 'Point'
'x' -> '0'
'y' -> '0'
Dictionary
Server
Client
Inspector
Service
theObject
properties
'self' -> '0@0'
'class' -> 'Point'
'x' -> '0'
'y' -> '0'
Dictionary
Inspector
Service
properties
'self' -> '0@0'
'class' -> 'Point'
'x' -> ' 42 '
'y' -> '0'
Dictionary
Server
Client
Inspector
Service
theObject
properties
'self' -> '0@0'
'class' -> 'Point'
'x' -> '0'
'y' -> '0'
Dictionary
Inspector
Service
properties
'self' -> '0@0'
'class' -> 'Point'
'x' -> ' 42 '
'y' -> '0'
Dictionary
Server
Client
Inspector
Service
theObject
properties
Dictionary
Inspector
Service
properties
'self' -> '0@0'
'class' -> 'Point'
'x' -> ' 42 '
'y' -> '0'
Dictionary
'self' -> '0@0'
'class' -> 'Point'
'x' -> ' 42 '
'y' -> '0'
Server
Client
Inspector
Service
theObject
properties
Dictionary
Inspector
Service
properties
'self' -> '0@0'
'class' -> 'Point'
'x' -> ' 42 '
'y' -> '0'
Dictionary
'self' -> '0@0'
'class' -> 'Point'
'x' -> ' 42 '
'y' -> '0'
Server
Client
Inspector
Service
theObject
properties
Dictionary
Inspector
Service
properties
'self' -> '0@0'
'class' -> 'Point'
'x' -> ' 42 '
'y' -> '0'
Dictionary
'self' -> '0@0'
'class' -> 'Point'
'x' -> ' 42 '
'y' -> '0'
Principles
•Replicate everything
you'll need frequently
Principles
•Represent information
as basic objects when
necessary.
Principles
•Do everything you can
predict in a single round
trip.
Replicated
Service Objects
A Strategy for
Distributed
Applications
Martin McClure

More Related Content

PPTX
MDM_123
PPT
Rackonomics and Network Virtualization with BLADE RackSwitch
PPTX
Building a Scalable Federated Hybrid Cloud
PDF
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
PDF
GemStone/64 product update and road map
PDF
Stories About Renraku — the new Quality Model of Pharo
PDF
The road to remote debugger
PDF
Perfection & Feedback Loops or: why worse is better
MDM_123
Rackonomics and Network Virtualization with BLADE RackSwitch
Building a Scalable Federated Hybrid Cloud
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
GemStone/64 product update and road map
Stories About Renraku — the new Quality Model of Pharo
The road to remote debugger
Perfection & Feedback Loops or: why worse is better

Similar to Replicated Service Objects -- A Strategy for Distributed Applications (17)

PDF
Gemstone 64 Product Overview
PDF
Gemstone RoadMap
PDF
Things I wish I knew about GemStone
PDF
Intro to GemStone/S
PDF
Gemstone systems: GemStone Update ESUG 2024
PDF
Een andere kijk op Microservices
PDF
GemStone/S @ Vienna University
PDF
Duplicating data or replicating data in Micro Services
PDF
SQL Queries on Smalltalk Objects
PDF
Glass
PDF
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
PDF
GemStone/S 64 Update
PDF
Running Pharo on the GemStone VM
PPT
Framework for Evaluating Distributed Smalltalk Interface
PDF
Running Pharo on the Gemstone VM by James Foster
PDF
GemStone Update 2023
PDF
GemStone Update
Gemstone 64 Product Overview
Gemstone RoadMap
Things I wish I knew about GemStone
Intro to GemStone/S
Gemstone systems: GemStone Update ESUG 2024
Een andere kijk op Microservices
GemStone/S @ Vienna University
Duplicating data or replicating data in Micro Services
SQL Queries on Smalltalk Objects
Glass
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
GemStone/S 64 Update
Running Pharo on the GemStone VM
Framework for Evaluating Distributed Smalltalk Interface
Running Pharo on the Gemstone VM by James Foster
GemStone Update 2023
GemStone Update
Ad

More from ESUG (20)

PDF
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
PDF
Micromaid: A simple Mermaid-like chart generator for Pharo
PDF
Directing Generative AI for Pharo Documentation
PDF
Even Lighter Than Lightweiht: Augmenting Type Inference with Primitive Heuris...
PDF
Composing and Performing Electronic Music on-the-Fly with Pharo and Coypu
PDF
Gamifying Agent-Based Models in Cormas: Towards the Playable Architecture for...
PDF
Analysing Python Machine Learning Notebooks with Moose
PDF
FASTTypeScript metamodel generation using FAST traits and TreeSitter project
PDF
Migrating Katalon Studio Tests to Playwright with Model Driven Engineering
PDF
Package-Aware Approach for Repository-Level Code Completion in Pharo
PDF
Evaluating Benchmark Quality: a Mutation-Testing- Based Methodology
PDF
An Analysis of Inline Method Refactoring
PDF
Identification of unnecessary object allocations using static escape analysis
PDF
Control flow-sensitive optimizations In the Druid Meta-Compiler
PDF
Clean Blocks (IWST 2025, Gdansk, Poland)
PDF
Encoding for Objects Matters (IWST 2025)
PDF
Challenges of Transpiling Smalltalk to JavaScript
PDF
Immersive experiences: what Pharo users do!
PDF
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
PDF
Cavrois - an Organic Window Management (ESUG 2025)
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
Micromaid: A simple Mermaid-like chart generator for Pharo
Directing Generative AI for Pharo Documentation
Even Lighter Than Lightweiht: Augmenting Type Inference with Primitive Heuris...
Composing and Performing Electronic Music on-the-Fly with Pharo and Coypu
Gamifying Agent-Based Models in Cormas: Towards the Playable Architecture for...
Analysing Python Machine Learning Notebooks with Moose
FASTTypeScript metamodel generation using FAST traits and TreeSitter project
Migrating Katalon Studio Tests to Playwright with Model Driven Engineering
Package-Aware Approach for Repository-Level Code Completion in Pharo
Evaluating Benchmark Quality: a Mutation-Testing- Based Methodology
An Analysis of Inline Method Refactoring
Identification of unnecessary object allocations using static escape analysis
Control flow-sensitive optimizations In the Druid Meta-Compiler
Clean Blocks (IWST 2025, Gdansk, Poland)
Encoding for Objects Matters (IWST 2025)
Challenges of Transpiling Smalltalk to JavaScript
Immersive experiences: what Pharo users do!
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
Cavrois - an Organic Window Management (ESUG 2025)
Ad

Recently uploaded (20)

PPTX
Plex Media Server 1.28.2.6151 With Crac5 2022 Free .
PPTX
Airline CRS | Airline CRS Systems | CRS System
PDF
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
PDF
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
PDF
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
PDF
Practical Indispensable Project Management Tips for Delivering Successful Exp...
PPTX
Tech Workshop Escape Room Tech Workshop
PPTX
Download Adobe Photoshop Crack 2025 Free
PDF
Multiverse AI Review 2025: Access All TOP AI Model-Versions!
PPTX
Cybersecurity: Protecting the Digital World
PPTX
Computer Software - Technology and Livelihood Education
DOCX
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
PDF
Type Class Derivation in Scala 3 - Jose Luis Pintado Barbero
PPTX
Matchmaking for JVMs: How to Pick the Perfect GC Partner
PDF
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
PPTX
CNN LeNet5 Architecture: Neural Networks
PPTX
MLforCyber_MLDataSetsandFeatures_Presentation.pptx
PPTX
GSA Content Generator Crack (2025 Latest)
PDF
Wondershare Recoverit Full Crack New Version (Latest 2025)
PPTX
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
Plex Media Server 1.28.2.6151 With Crac5 2022 Free .
Airline CRS | Airline CRS Systems | CRS System
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
Practical Indispensable Project Management Tips for Delivering Successful Exp...
Tech Workshop Escape Room Tech Workshop
Download Adobe Photoshop Crack 2025 Free
Multiverse AI Review 2025: Access All TOP AI Model-Versions!
Cybersecurity: Protecting the Digital World
Computer Software - Technology and Livelihood Education
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
Type Class Derivation in Scala 3 - Jose Luis Pintado Barbero
Matchmaking for JVMs: How to Pick the Perfect GC Partner
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
CNN LeNet5 Architecture: Neural Networks
MLforCyber_MLDataSetsandFeatures_Presentation.pptx
GSA Content Generator Crack (2025 Latest)
Wondershare Recoverit Full Crack New Version (Latest 2025)
WiFi Honeypot Detecscfddssdffsedfseztor.pptx

Replicated Service Objects -- A Strategy for Distributed Applications