My understanding is that AOP requires "weaving" or rewriting of the
bytecode.  If so, this is not allowed by the license - it prohibits
modification.  But people may not care about that.  Decompiling whole
classes to fix bugs has been done before.  It makes me quesy though.

On Wed, Jul 11, 2012 at 1:12 PM, Farrukh Ijaz <
farrukh.i...@fuegodigitalmedia.com> wrote:

> Hi,
>
> In past I've used AOP to address issues of closed source. This I believe
> if carefully used can help convert the EOF from single to multi threaded
> and/or solve other bottleneck problems. Having said this doesn't mean I'm
> against Cayane. However if the current EOF issues get fixed with AOP
> patched code would be better for those who don't want to or for some
> reasons can't switch to Cayane.
>
> Farrukh
>
> Chuck Hill <ch...@global-village.net> wrote:
>
> >I agree that we need to more closely examine Cayenne before jumping in
> with both feet.  How mature are the tools?  What is the functionality gap?
>  How important is the missing functionality?  How costly is adding any
> needed functionality?  Will the missing functionality fit in with the
> Cayenne architecture?  How stable is it?  How well does it scale (scaling
> is more than multi-threaded EOF)?  And Cayenne is only EOAccess/EOControl.
>  What do we do about the presentation layer?  Getting rid of 2/3 of WO
> still leaves you with WO.
> >
> >
> >Chuck
> >
> >On 2012-07-11, at 11:29 AM, Theodore Petrosky wrote:
> >
> >>
> >> Hurray someone actually started talking about this.
> >>
> >>
> >> I want to add my two cents without starting a "this is better than
> that" conversation.
> >>
> >> If Cayenne is to be utilized, someone in the know must look not only at
> the current state of Cayenne, but at the developers. What is/was their
> philosophy behind what they write/wrote? If we don't, it will be a very
> short and costly marriage. Costly, because we either buck up and foot the
> bill to rewrite Webobjects or continue in a bad relationship.
> >>
> >> I am writing this not as a diatribe but because I am concerned that in
> the excitement of looking at Cayenne, the obvious impact of differing
> philosophies of the original authors may be ignored. BTW, I say original
> authors because the person that wrote the first line of code left his/her
> imprint on the direction of all code that follows.
> >>
> >> JMHO (i mean that sincerely).
> >>
> >> Ted
> >>
> >>> Message: 4
> >>> Date: Wed, 11 Jul 2012 10:09:08 -0500
> >>> From: John Huss <johnth...@gmail.com>
> >>> To: WebObjects-Dev Mailing List List <webobjects-dev@lists.apple.com>
> >>> Subject: Migrating from EOF to Cayenne
> >>> Message-ID:
> >>>
> >>> <CAOUwSGtOwEayxK4im97HucAUANo=cfnrkq9ej5z+679bcd7...@mail.gmail.com>
> >>> Content-Type: text/plain; charset="windows-1252"
> >>>
> >>> At WOWODC there was a lot of interest in migrating from EOF
> >>> to Cayenne, and
> >>> even entirely rebasing Wonder to run on top of Cayenne
> >>> instead of EOF.
> >>>
> >>> *Why would anyone want to do this?  *
> >>>
> >>>    1. Cayenne is open-source and is actively
> >>> being developed
> >>>    2. Cayenne has great concurrency support
> >>> which is in stark contrast to
> >>>    EOF single-threaded architecture
> >>>    3. Cayenne is conceptually very similar to
> >>> EOF so the transition is
> >>>    fairly straightforward
> >>>
> >>> For those reasons it is a much better long term solution
> >>> than EOF, which is
> >>> now frozen in time.  Cayenne can be used inside a WO
> >>> application as an EOF
> >>> replacement while continuing to use the rest of WebObjects.
> >>>
> >>> *I'm interested. Now what?*
> >>>
> >>>    - Learn about Cayenne. The best source of
> >>> information for comparing EOF
> >>>    and Cayenne is on the
> >>> wiki<
> http://wiki.wocommunity.org/display/WO/Alternative+Technologies-Cayenne>.
> >>>    In addition, you can look at the
> >>> documentation<http://cayenne.apache.org/>for
> >>> Cayenne.
> >>>    - Use Cayenne in your new projects.
> >>> Cayenne runs just fine inside a
> >>>    WebObjects application.  Wonder has
> >>> the ERCayenne framework and
> >>>    ERCayenneExample to help you get started.
> >>> I suggest working with the trunk
> >>>    of the Cayenne source (and Wonder too)
> >>> since some things are just being
> >>>    added to make this easier.
> >>>    - Help work on easing and automating the
> >>> migration from EOF to Cayenne.
> >>>    It is possible to automate a large part of
> >>> the work involved in moving from
> >>>    EOF to Cayenne. But it requires effort.
> >>> ERCayenne in Wonder has a class
> >>>    that will convert an EOModel to a Cayenne
> >>> model (the class is
> >>>    CayenneConverter). This works well, but
> >>> could be improved. I've started
> >>>    working on an Eclipse refactoring script
> >>> that will convert from one API to
> >>>    the other. Yes, you may not have known (I
> >>> didn't) that Eclipse can record a
> >>>    series of refactorings and save it as a
> >>> script. The bulk of the migration
> >>>    work is creating refactoring scripts in
> >>> Eclipse by performing refactorings
> >>>    on a stubbed out version of the EOF API to
> >>> convert the API into the
> >>>    equivalent Cayenne API. After performing
> >>> the refactorings, a script can be
> >>>    exported using Refactor->"Create
> >>> Script". For EOF methods that do not have
> >>>    a direct Cayenne equivalent, helper
> >>> methods (or classes) will need to be
> >>>    written that can serve as a direct
> >>> replacement.
> >>>
> >>> *How can I help specifically with the migration effort?*
> >>>
> >>>    - CayenneConverter in ERCayenne (for
> >>> converting the model) does not
> >>>    convert the connection dictionaries in the
> >>> EOModel yet.
> >>>    - CayenneConverter does a poor job
> >>> converting fetch specs defined in the
> >>>    model currently.
> >>>    - We need to create new subclasses of
> >>> Cayenne's DbAdapter that use the
> >>>    Wonder naming convention for primary key
> >>> generators/sequences. This is done
> >>>    by subclassing classes like
> >>> PostgresPkGenerator and overriding
> >>>    sequenceName.  This is necessary to
> >>> support existing databases created with
> >>>    EOF.
> >>>    - An Wonder-like entity template is
> >>> already in ERCayenneExample. This
> >>>    needs to be examined and any missing
> >>> functions from WonderEntity need to be
> >>>    added.  For example, I know some the
> >>> .deleteAllXXXXRelationships and
> >>>    .createXXXX(…) methods are missing.
> >>>    - More refactorings need to created. For
> >>> example, a refactoring script
> >>>    should be made that changes NSArray and
> >>> NSDictionary methods to the
> >>>    equivalent List or Map APIs (since Cayenne
> >>> doesn't use these classes for
> >>>    relationships or fetch results you
> >>> probably want to minimize the places you
> >>>    need them).
> >>>    - Submit code to Cayenne or create
> >>> Jira<https://issues.apache.org/jira/browse/CAY>issues
> >>>
> >>> Any questions?  :-)
> >>>
> >>> John
> >>
> >>
> >> _______________________________________________
> >> Do not post admin requests to the list. They will be ignored.
> >> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> >> Help/Unsubscribe/Update your Subscription:
> >>
> https://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
> >>
> >> This email sent to ch...@global-village.net
> >
> >--
> >Chuck Hill             Senior Consultant / VP Development
> >
> >Practical WebObjects - for developers who want to increase their overall
> knowledge of WebObjects or who are trying to solve specific problems.
> >http://www.global-village.net/gvc/practical_webobjects
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> >Do not post admin requests to the list. They will be ignored.
> >Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> >Help/Unsubscribe/Update your Subscription:
> >
> https://lists.apple.com/mailman/options/webobjects-dev/farrukh.ijaz%40fuegodigitalmedia.com
> >
> >This email sent to farrukh.i...@fuegodigitalmedia.com
>
>  _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
>
> https://lists.apple.com/mailman/options/webobjects-dev/johnthuss%40gmail.com
>
> This email sent to johnth...@gmail.com
>
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to