In this talk we will present an object mapping architecture developed at Mercap, which allows us to start a system using either in-memory or database persistence. We define how our model is converted to rows in tables, using a configurable descriptor protocol built over GLORP, while at the same time allowing a polymorphic implementation to store the managed objects in memory.

A set of abstractions to represent query filters also ensures that in memory, the Smalltalk collection protocol is applied to the stored collection, while the RDB receives the expected WHERE statements by working with GLORP.

This development has allowed us to cut our development time when using test driven development, since we can do fast testing in memory, and then run a complete database check of our tests.

Our configurable descriptor protocol also allows reifying reusable components that define the most common components of the application, without affecting the underlying GLORP framework.

Download presentation
  • Maximiliano-Tabacman

    Maximiliano Tabacman

    Graduated in Computer Sciences from the Facultad de Ciencias Exactas y Naturales (UBA), Maximiliano Tabacman has been a part of Mercap since he started his studies in IT, and is now almost finished with his PhD. His main interest is the design of systems that apply nature inspired concepts, such as evolutionary algorithms and neural networks. Smalltalk, with its object-message design, is his natural choice for a development platform. He is also the creator of ERA, a standalone web server application for running table-top roleplaying games, which runs on Windows, Mac and Linux. Julián Maestri is a Linux enthusiast, Smalltalk fan and "almost" Informatics Engineer from Universidad Católica Argentina (UCA). There he taught C, PHP and currently Smalltalk. Still learning about object oriented design, he now works at Mercap developing financial software in Smalltalk. As a hobby he maintained (and played on) gaming servers, one of them reaching a thousand users per day.

  • Maestri

    Julian Maestri