Hi Simone,

On Sun, Sep 7, 2008 at 7:34 PM, Simone Gianni <[EMAIL PROTECTED]> wrote:

> Hi Alex,
> thanks for your positive vote.
>
> Yes, I looked at Qi4J and I find it an extremely interesting project.
>

It's something very interesting in the AOP landscape but I guess you're all
over it.


>
> However, while taking the same philosophy of overcoming OO limitations
> using AOP, providing highly reusable fragments and giving many
> out-of-the-box functionalities, I find the "plain AOP" (like AspectJ)
> approach by far simpler.
>
> Qi4J is cleaner cause it uses Java interfaces and dynamic proxies only,
> requires no bytecode manipulators, and strongly separates all aspects of
> a bean in different interfaces.
>
> Magma focuses on a less verbose, faster approach, using Intertype
> Declarations to create mixins, and pure AOP to specialize behaviors.
> Also, using in place AOP technologies for java (again, mainly AspectJ),
> it's possible to bring existing code (even foreign code, even if you
> don't have the source) inside a Magma application without effort or need
> to refactor, and still benefit from all features.
>
> IMO bytecode modification is not such a black magic art anymore : JDO,
> JPA (and Hibernate), Cocoon/Commons Javaflow and many other projects
> have been using it in production for years now. Also, folks at Eclipse
> managed to bring AspectJ inside an OSGi container, making the bytecode
> manipulation process as dynamic as required by such a dynamic environment.
>
> Writing many interfaces, while it's a perfect programming technique, has
> been proven to be a tedious task for many programmers (EJB docet).
>
> So, while both Magma and Qi4J starts from the same POV on current
> problems, and goes in the same direction, they will follow quite
> different paths to get there.
>
> However, since both focus on DDD and provide reusable fragments, nothing
> prevents Magma to have an integration module for Qi4J fragments and the
> opposite way around.
>

That's cool.  Thanks for the breakdown and comparison.  Looking forward to
the lab.

Alex


>
> Simone
>
> Alex Karasulu wrote:
> > +1
> >
> > Simone have you had a look at http://www.qi4j.org/ yet?
> >
> > Alex
> >
> > On Sun, Sep 7, 2008 at 6:14 PM, Geir Magnusson Jr. <[EMAIL PROTECTED]>
> wrote:
> >
> >
> >> +1
> >>
> >>
> >> On Sep 7, 2008, at 4:40 PM, Brett Porter wrote:
> >>
> >>  +1
> >>
> >>> On 08/09/2008, at 3:19 AM, Simone Gianni wrote:
> >>>
> >>>  Dear researchers,
> >>>
> >>>> lately I've been playing around with AOP and related technologies to
> >>>> overcome the common code reuse and extension limitations in Java.
> While
> >>>> AOP is a good answer to many common system integration problems, and
> is
> >>>> therefore an already well established practice coming in various Java
> >>>> forms (AspectJ, Spring AOP etc..), it is commonly used in the
> background
> >>>> and rarely at its full potential.
> >>>>
> >>>> So, I'm asking for a lab named Magma. There I'd like to research the
> >>>> possibility to use a strongly "AOPized" approach to application
> >>>> development and integration of various Apache technologies, in the
> field
> >>>> of (but not limited to) web application development.
> >>>>
> >>>> Apache Labs is the perfect place for such an effort for a number of
> >>>> reasons :
> >>>> - The research nature of the lab
> >>>> - Connection with many Apache technologies
> >>>> - The cross-project integration objective
> >>>>
> >>>> I have a basic but working codebase, maven built, fully Junit'ed and
> >>>> quite documented. It is a good starting point to build a simple web
> >>>> site, web application or REST style web service endpoint. It already
> >>>> provides a very easy way to integrate Velocity, Struts, Cocoon 3.0,
> >>>> OpenJPA and Jackrabbit in a single product using annotation based
> >>>> syntax, plain java, convention over configuration coding, and
> providing
> >>>> endless extensibility and "pluggability" using AOP. The aim is to
> >>>> further explore the possibilities of this approach while delineating
> an
> >>>> integration framework.
> >>>>
> >>>> The DOAP definition follows :
> >>>>
> >>>> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
> >>>> xmlns="http://usefulinc.com/ns/doap#";
> >>>> xmlns:foaf="http://xmlns.com/foaf/0.1/";
> >>>> xmlns:labs="http://labs.apache.org/doap-ext/1.0#";
> >>>> xmlns:projects="http://projects.apache.org/ns/asfext#";> <Project
> >>>> rdf:about="http://labs.apache.org/labs#magma";> <name>Magma</name>
> >>>> <shortname>magma</shortname> <shortdesc xml:lang="en">Innovative
> >>>> integration framework to achieve extremely simple code
> reuse</shortdesc>
> >>>> <description xml:lang="en">Magma uses AOP technology to achieve
> extreme
> >>>> code reuse. This makes it a perfect integration platform to build
> >>>> websites or common applications. </description> <homepage
> >>>> rdf:resource="http://labs.apache.org/magma/"/> <license
> >>>> rdf:resource="http://usefulinc.com/doap/licenses/asl20"/>
> >>>> <created>2008-9-7</created> <labs:status>active</labs:status>
> >>>> <maintainer> <foaf:Person
> >>>> rdf:about="http://people.apache.org/~simoneg/#me<http://people.apache.org/%7Esimoneg/#me>
> <http://people.apache.org/%7Esimoneg/#me>">
> >>>> <foaf:name>Simone
> >>>> Gianni</foaf:name> <foaf:homepage
> >>>> rdf:resource="http://people.apache.org/~simoneg/<http://people.apache.org/%7Esimoneg/>
> <http://people.apache.org/%7Esimoneg/>
> >>>> "/>
> >>>>
> >>>>
> <foaf:mbox_sha1sum>5855125bbffa22f2309661a463c4e310c44580c6</foaf:mbox_sha1sum>
> >>>> </foaf:Person> </maintainer> <repository> <SVNRepository> <location
> >>>> rdf:resource="http://svn.apache.org/repos/asf/labs/magma/"/> <browse
> >>>> rdf:resource="http://svn.apache.org/viewvc/labs/magma/"/>
> >>>> </SVNRepository> </repository>
> >>>> <programming-language>java</programming-language>
> >>>> <programming-language>aspectj</programming-language> </Project>
> >>>> </rdf:RDF>
> >>>>
> >>>>
> >>>> --
> >>>> Simone Gianni
> >>>> http://www.simonegianni.it/
> >>>> CEO Semeru s.r.l.
> >>>> Apache Committer
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>>>
> >>>>
> >>>>
> >>> --
> >>> Brett Porter
> >>> [EMAIL PROTECTED]
> >>> http://blogs.exist.com/bporter/
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>>
> >>>
> >>>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >>
> >
> >
>
>
> --
> Simone Gianni
> http://www.simonegianni.it/
> CEO Semeru s.r.l.
> Apache Committer
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to