SPRMI: Pure Java Based Shallow Persistent and Distributed Objects - Getúlio Moreira e Maria Alice Silveira Brito, Paulo Motta Jr. (Cadernos do IME - Série Informática, 2013)
support shallow persistent and distributed objects in a lightweight fashion. Its main characteristic is the shallow object instantiation capability. In other words, at the moment an object is instantiated, objects referenced by its attributes are not instantiated. This is achieved by the use of dynamic proxies as reference to objects of non primitive data types. These proxies use an identification strategy based on primitive data types that prevents direct references to target objects. Therefore, the serialization mechanism, when accessing remote or persistent objects,does not occur in a transitive way, because it is not possible to propagate through the object’s composition graph. Three benefits can be derived from this ability: 1)parameters may be passed in a call-by-reference manner,during the invocation to a remote object, becoming closer to local parameter passing semantics; 2) the use ofdynamic proxies drives the application towards transparency of persistence and distribution; and 3) it is possible to execute applications with large number of objects. Keywords Java RMI, Shallow Persistence and Distribution, Proxy.