Persistent Distributed Objects
Last updated at 8:03 pm UTC on 31 October 2006
by Anthony Hannan
(and defaced by Michael van der Gulik)
- Automatic migration and replication of computation and data while observing security and resource allocation/accounting constraints.
- Simultaneous multiple versions for different user perspectives including long lived transactions.
- Concurrency and persistence.
Web Operating Systems
These systems are the closest to what I am striving for.
WOS an Internet Computing Environment (00)
Globe- A Wide-Area Distributed System (99)
See Philip Homburg's fantastic thesis - it has a lot of material about proper distributed objects.
Design of the Kan Distributed Object System (99)
WebOS Operating System Services for Wide Area Applications (97)
2K A Distributed Operating System for Dynamic Heterogeneous Environments (00)
A System Architecture for Pervasive Computing (00)
Distributed Object Database Systems
Most of these don't support general queries or server execution. Objects are only fetched by pointer traversal and all methods are executed on the client.
Gemstone has the opposite problem. Methods of persistent objects are only executed on the server, which wastes client resources and scales badly to large number of clients.
Software Component Models
These use manual static distribution of components and ad hoc support for "operating system" services such as persistence, security, etc.
rST - Remote Smalltalk (middleware; on Squeak)
GARF Project (in Smalltalk)
ACTalk - Active Objects (In SqueakMap!! :-) )
Nebraska (distributed Morphs)
REST / Web Services / SOAP / XML
.NET / DCOM
Enterprise Java Beans / J2EE / RMI