FORMI: Integrating Adaptive Fragmented Objects into Java RMI
Rüdiger Kapitza, Jörg Domaschka, Franz J. Hauck, Hans P. Reiser, Holger Schmidt · IEEE Distributed Systems Online · 2006
Distributed object-oriented applications are commonly implemented atop middleware platforms such as CORBA, .NET Remoting, and Java remote method invocation (RMI). These platforms provide a simple mechanism to invoke methods of remote objects. Increasingly more applications are demanding nonfunctional properties such as fault tolerance, high availability, and adaptivity, which require extensions to distributed objects' basic interaction model. A fragmented-object model, such as the one Marc Shapiro proposed, can provide the required flexibility. It's far more generic and flexible than the traditional client-server approach. A fragmented object is a truly distributed object; it consists of multiple fragments located on multiple nodes. Such a model allows arbitrary partitioning of state and functionality on these fragments, and arbitrary internal interaction between fragments of a single object. We have investigated integrating a fragmented-object model into CORBA (AspectIX), which requires internal modifications to the CORBA object request broker. Our approach for transparently integrating fault-tolerant objects into .NET Remoting is also useful for seamlessly integrating fragmented objects. Our FORMI architecture integrates fragmented objects into Java RMI without requiring internal modifications to the RMI runtime