[squeak-dev] Re: GSoC Idea: GLORP & Magritte integration/refactoring

Mariano Martinez Peck marianopeck at gmail.com
Fri Mar 12 08:42:48 UTC 2010

Ok...Done. I put you as Юрий Мироненко as mentor (BTW, which is your name
with this alphabet ?) and Diógenes Moreira as co-mentor.

Which difficult we should put ?  beginner, intermediate or advanced ?



2010/3/12 Юрий Мироненко <tallman at inbox.ru>

> Glorp and Magritte both map between model-layer objects and other domains;
> in Glorp's case, the relational database, in Magritte's case, the web. The
> truth is that Magritte is a meta-description framework for all kind of
> descriptions. However, it is mostly used for web applications.
> There are many similarities in how each framework manage model-layer class
> - accessing model's fields, mapping those fields to it's representation,
> caching/commiting/rollbacking, condition checking/validation and so on. Lot
> of business applications are RDS-based, CRUD-like systems, with GUI
> structure close to model structure, and model structure close to database
> structure. So, developers sometimes feel they are repeating themselves when
> they code first the Glorp descriptors and then the Magritte descriptors, or
> vice versa.
> The goals of this project are:
>  Detect common aspects of both frameworks
>  Compare implementation of those common aspects in both frameworks, and
> choose/compile "best" one
>  Detect any limitations of one framework revealed by comparison with the
> other
>  Refactor the stuff, splitting it to three groups: "common metamodeling",
> "Generic ORM" and "GLORP-related"
>  Cleanup GLORP from "common metamodeling" and "Generic ORM" stuff.
> The output is both a refactored codeset with three level of abstractness,
> and an analysis of why functionality was splitted in this exactly way.
> Technical Details
> ===========
> Glorp and Magritte have good test suites. XP development to ensure existing
> facilities remain functional will protect the student from breaking some
> facilities as they experiment with refactorings. Maintaining, where
> possible, deprecated methods that call new API in terms of old API may be
> appropriate in the project, and may also assist introduction of the results
> to the community.
> There are at least two projects to observe, one is for magritte-based SQL
> mapping without GLORP, another one - generator of simple GLORP mappings with
> Magritte descriptors.
> Maybe it will be necessary to make some tools for describing
> domain-specific Magritte things. For example, something like "with this
> domain-specific descriptor you should use this domain-specific memento for
> caching".
> Benefits to the Student
> ===============
> Glorp and Magritte are two meta-modelling/mapping frameworks with
> impressive capabilities solving real problems: the student who does this
> project will acquire significant practical knowledge of this kind of
> meta-modelling. Glorp and Magritte are also important parts of one way of
> writing web applications: the student who does this project will have skills
> that can be turned to practical account in web development.
> Benefits to the Community
> ===============
> Decreasing complexity and entry level for projects with both Magritte and
> GLORP inside (a lot of enduser applications really).
> Increasing quality of both Magritte and GLORP. Decreasing complexity of
> GLORP, which is very complex now becouse of all the stuff for
> meta-describing inside.
> And avoiding double-efforts in future, so when  we'll upgrade Magritte,
> we'll upgrade GLORP simultaneously.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20100312/6c50ded4/attachment.htm

More information about the Squeak-dev mailing list