ObInject: a NoODMG Persistence and Indexing Framework for Object Injection - Carvalho, Luiz O.; Seraphim, Thatyana F. P.; Traina Júnior, Caetano; Seraphim, Enzo (Journal of Information and Data Management, 2013)
The object-oriented model has become standard for developing information systems. Consequently, more and more classes have been created to embed business rules and are been instantiated several times, generating a huge amount of objects. In several scenarios, objects must change their state from transient to persistent. Thus, several solutions have been created to meet this need for persistence. Many solutions use frameworks to perform the mapping from objects to relations in database schemas. However, few object persistence frameworks pursue efficiency as a target, for example dealing with index structures like B-Tree, M-Tree and R-Tree simultaneously. This article presents ObInject, a NoODMG framework to support object persistence and indexing (www.obinject.org). Its main feature is to allow objects to be persisted and indexed into any data structure. The framework is divided into four modules based on Design Patterns and provides abstractions for persistence and indexing controllers that are specialized from the user class. We performed extensive experiments evaluating several of its properties and target abstractions, and show that it allows the implementation to achieve significant performance improvements in relation to the existing alternatives.