Like it On 2012/07/11, at 20:12, Farrukh Ijaz 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/ken%40ksroom.com > > This email sent to k...@ksroom.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