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