Re: [Esug-list] Re: GSoC Idea: GLORP & Magritte integration/refactoring

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: [Esug-list] Re: GSoC Idea: GLORP & Magritte integration/refactoring

NiallRoss
Dear Mariano,
    minor points.  I appreciate I may be too late for the deadline.

 > Refactor the stuff, splitting it to three groups: "common
metamodeling", "Generic ORM" and "GLORP-related"
 > Cleanup GLORP from "common metamodeling" and "Generic ORM" stuff.

I'd suggest rather

Refactor to extract commonalities.  Possible divisions might be "common
metamodeling" and "ORM specifics", or "common metamodeling",
"common-model-enabled ORM" and "specific ORM-meta-model-enabled
features".  There may also be non-ORM specifics (web-related?) and/or
areas the sudent thinks belong in the core meta-model but which ORM
seems to make no use

I don't see how the 'Cleanup GLORP from "common metamodeling" and
"Generic ORM" stuff' adds to the refactoring line above, and the student
should not be too focussed on regarding Glorp as an add-on to Magritte;  
rather, on grasping how the two frameworks solve common problems, thence
devising the most effective refactoring.

 > 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.

Again this is making assumptions about what will be discovered;  I would
rephrase as

Proposed divisions in the refactored frameworks should be tested by the
example projects chosen to try them on, or review them against.  For
example, if the student finds themself splitting into a core meta-model
and ORM it can support, and an additional
specific-GLORP-required-features layer, then they should try to find
both an example app that does not require the latter and another that
does, and reason about their division in both contexts.

HTH
            Yours faithfully
                Niall Ross.

Mariano Martinez Peck wrote:

> 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 ?
>
> Thanks
>
> Mariano
>
> 2010/3/12 Юрий Мироненко <[hidden email] <mailto:[hidden email]>>
>
>     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.
>
>
>
> ______________________________________________________________________
> This email has been scanned by the MessageLabs Email Security System.
> For more information please visit http://www.messagelabs.com/email
> ______________________________________________________________________
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Esug-list mailing list
>[hidden email]
>http://lists.esug.org/listinfo/esug-list
>  
>

_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/listinfo/esug-list