WebObjects Training/Boot Camp (was Re: Migrating from EOF to Cayenne)

2012-07-17 Thread Paul Lynch

On 12 Jul 2012, at 02:14, Daniel Beatty wrote:

 On a side note, do we have cheat sheets or a curriculum from the boot camp 
 before WOWODC 2012?   As a professor type, I would really love to borrow the 
 instructors material to help my own students, as I get them.   Even if I am 
 only tutoring one at a time, a good curriculum goes a long way.  It also 
 helps define our EOF question.

We do.  Apologies for a really slow response, but I just arrived back home on 
Saturday with a multi-hundred backlog in this list alone.

Pascal should have the recordings up in good time (Pascal?), and the materials 
used in the class are at http://www.paullynch.org/WOWODC2012.zip.  I will be 
uploading a fixed version of those slide, and an expanded set of exercises with 
solutions, to the same location - most probably in another couple of weeks 
(course development is a much slower process than people seem to imagine).

If you get the chance to hear the recording of the first section, you will 
discover that I created this class to be free of Apple Training copyrights, and 
under a Creative Commons license (as in, give credit where credit is due), for 
WOCommunity use.  

Paul


 ___
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


Re: WebObjects Training/Boot Camp (was Re: Migrating from EOF to Cayenne)

2012-07-17 Thread Pascal Robert

Le 2012-07-17 à 05:57, Paul Lynch a écrit :

 
 On 12 Jul 2012, at 02:14, Daniel Beatty wrote:
 
 On a side note, do we have cheat sheets or a curriculum from the boot camp 
 before WOWODC 2012?   As a professor type, I would really love to borrow the 
 instructors material to help my own students, as I get them.   Even if I am 
 only tutoring one at a time, a good curriculum goes a long way.  It also 
 helps define our EOF question.
 
 We do.  Apologies for a really slow response, but I just arrived back home on 
 Saturday with a multi-hundred backlog in this list alone.
 
 Pascal should have the recordings up in good time (Pascal?)

It's my next thing to do after I'm done with the recordings of the regular 
WOWODC. But it will take time since I can't export the recordings at the same 
time that I work on my MBP, it will be done by mid-August.

 , and the materials used in the class are at 
 http://www.paullynch.org/WOWODC2012.zip.  I will be uploading a fixed version 
 of those slide, and an expanded set of exercises with solutions, to the same 
 location - most probably in another couple of weeks (course development is a 
 much slower process than people seem to imagine).
 
 If you get the chance to hear the recording of the first section, you will 
 discover that I created this class to be free of Apple Training copyrights, 
 and under a Creative Commons license (as in, give credit where credit is 
 due), for WOCommunity use.  
 
 Paul
 
 
 ___
 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/probert%40macti.ca
 
 This email sent to prob...@macti.ca


 ___
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

Re: Migrating from EOF to Cayenne

2012-07-13 Thread ISHIMOTO Ken
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
 wikihttp://wiki.wocommunity.org/display/WO/Alternative+Technologies-Cayenne.
   In addition, you can look at the
 documentationhttp://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
 

Re: Migrating from EOF to Cayenne

2012-07-13 Thread Henrique Gomes

On Jul 12, 2012, at 8:06 PM, Chuck Hill wrote:

 
 You want to know the biggest unfixable problem with WO for me? WO apps can't 
 be deployed on any mobile platform.  That really sucks.
 
 For that, you need to change the paradigm from interface vending servers to 
 servers that vend data and processing.  Use a mobile client technology like 
 Sencha or Montage.  Or write D2iOS.  :-)
 
 (..)
 Chuck

I actually think that's the way to go. You mentioned that switching to Cayenne  
leaves 1/3 of WO, aka the presentation layer, but, really, is there a future on 
server side interface vending? 
I have been very happy with WO, but if/when I switch it will be for HTML5 
native apps. 

Just my 2 € cents

Henrique Gomes


 ___
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

Re: Migrating from EOF to Cayenne

2012-07-13 Thread Hugi Thordarson
I believe the takeaway here is that Cayenne is indeed under active development, 
which is nice :).

- hugi


On 12.7.2012, at 17:07, John Huss wrote:

 On Thu, Jul 12, 2012 at 9:45 AM, Hugi Thordarson h...@karlmenn.is wrote:
  Cayenne is still missing a lot of functionality when compared to 
  EOF/Wonder and generally feels less mature (understandably, since EOF is 
  ancient). This is perhaps not such a huge problem, since functionality can 
  always be added—but there is indeed a *lot* of work to be done to reach 
  feature parity with EOF.
 
  That seems like an overstatement to me.  What things is it missing that you 
  need?
 
 Well, it isn't exactly big things that are missing, but rather an 
 aggregation of a lot of small things. Things I can live without, but would 
 rather not. EOF, Foundation, Wonder and the tools have 20 years of refinement 
 and integration in their design so moving from EOF to Cayenne feels a little 
 like moving from a Mercedes to a Wolkswagen Bug.
 
 Lack of IDE support,
 
 There is an Eclipse plugin, but it is not totally baked yet.
  
 no prototypes,
 
 Cayenne already does the switching databases part of prototypes. The 
 faster model creation part would be a nice add perhaps, but you get part of 
 it (the java type assigment) already in Cayenne by auto-generating the 
 ObjEntity from the DbEntity.
 
 no KVC
 
 This is already in ERCayenne
  
 , getAccessor (ugh)
 
 The templates in ERCayenne don't use the get prefix
  
 , limited support for inheritance,
 
 True
  
 no ERXKey means no type safe queries and strings everywhere,
 
 ERXKey is in ERCayenneExample and I'll be committing a version Cayenne itself 
 in the next few days.
  
 somewhat buggy modeler
 
 I fixed a couple of the more annoying problems last week.  Other than that 
 I'm not aware of any behaviors that are truly bugs. But usability could 
 certainly be improved.
  
 with no support for cross-model relationships
 
 This is not true anymore if it was before.  3.1 includes the idea of a 
 default node (basically a connection dictionary), so you can load models that 
 are generic, framework level and use them along with your own model.
  
 , no crossing relationships in raw row fetches (which makes it harder to 
 create reports from huge object graphs)
 
 True, this is the biggest gap I've come across - I have an app that does 
 exactly that.  However, there are a few built-in alternatives, namely 
 SQLTemplate and EJBQLQuery. But if you have a lot of this in your app, you'll 
 probably want to wait to consider migrating.
  
 , no Project Wonder EO stuff etc. etc.
 
 I have some Cayenne implementations of the specific utilities that I used 
 from Wonder, but yes, this represents work to be done. 
 
 Now, I know this comparison is unfair to Cayenne which is in fact great, and 
 Andrus and the others have done an amazing job. EOF is just hard to beat, 
 because EOF is very, very good. And as I said, Cayenne will no doubt get 
 there, I just believe it will take a lot of work.
 
 Just a little work I think.  The things that have to be done are almost all 
 approachable by average developers.
  
  The only reasonable way to do a re-implementation of EOF would be to start 
  with Cayenne.  It doesnt have the same API as EOF, but that could be done; 
  that hard work has already been done, only the API would need change.  But 
  I think there are advantages in trying to merge with the Cayenne community 
  rather than taking it and forking it.
 
 I agree. If they're compatible it's probably the way to go.
 
 - hugi
 


 ___
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

Re: Migrating from EOF to Cayenne

2012-07-13 Thread Hugi Thordarson
 I think Hugi also use it.
 
 Is that a point for or against it?  :-P
 
 PastedGraphic-1.png
 
 Ah ha!  So you ARE still reading the list!  :-)  Good to see you around!

Haha, thanks :). Oddly enough, I always read the lists religiously, even when I 
wasn't using WO that much.

- hugi
 ___
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


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Farrukh Ijaz
Sorry for late response, just landed last night.

The idea is very simple to understand and implement. E.g. I've a third party 
library which has a method named with following signature:

String encode(String someString) {
// some crappy encoding performed on someString and saved as encoded...
return encoded;
}

Now this method can be private, public, protected, static, final, blah blah 
etc. I find that encoding is buggy, how to fix it? There are two ways:

1. Get the source code, fix the method and submit patch. (This is sometimes not 
possible and for sure not possible in case of WebObjects)
2. Use AOP

Forget about option 1. In Option 2 we have to use some AOP mechanism and the 
one that I've tested with my Wonder apps is AspectJ. I'm not going into details 
as it's a vast subject but providing links which are sufficient to experiment :)

http://www.eclipse.org/aspectj/
http://www.eclipse.org/aspectj/doc/released/progguide/starting-aspectj.html#the-dynamic-join-point-model

As far as weaving is concerned, I would suggest to use dynamic join point as 
they can be used to intercept calls and invoke different code rather than 
modifying the original classes.

The idea is we need to define join point for the method which is buggy or where 
we want to provide our own implementation. When the code is executed, the class 
loader reroutes the request for incoming method calls to our code. AOP is 
different that OOP. In contrast with OOP where methods are associated with 
Objects, AOP is used to classify those methods under common aspects and 
normally we use regular expressions for that. Two very common aspects I can 
explain here:

1. You may have lots of methods and you want to collect execution type for each 
method call. (A logging aspect)
2. A developer like me who put all the code in try block and catch one super 
Exception, someone would like to perform different operations on each 
sub-exception can write an aspect to catch my exceptions and do whatever he 
wants and then continue the original processing.

I'm not familiar with internals of the WebObjects but the code that's 
responsible for single thread can be studied and multithreaded solution can be 
provided using AOP. If someone is interested to work with me to on this, I'm 
more than happy to help where I can :)

Farrukh

On 2012-07-11, at 10:25 PM, Chuck Hill ch...@global-village.net wrote:

 Hi Farrukh,
 
 I like the idea of using AOP to address bugs in WO.  Can you give us any 
 details on how you did that?
 
 As for making EOF multi-threaded that is a very fundamental part of the 
 design.  Fixing that with AOP would be challenging.  :-)
 
 
 Chuck
 
 
 
 On 2012-07-11, at 11:12 AM, 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:
 
 

Re: Migrating from EOF to Cayenne

2012-07-13 Thread Farrukh Ijaz
Weaving is different than Dynamic join point interception.

Farrukh

On 2012-07-11, at 10:40 PM, John Huss johnth...@gmail.com wrote:

 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
  wikihttp://wiki.wocommunity.org/display/WO/Alternative+Technologies-Cayenne.
 In addition, you can look at the
  documentationhttp://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
   

Re: Migrating from EOF to Cayenne

2012-07-13 Thread Farrukh Ijaz

On 2012-07-12, at 2:01 PM, Hugi Thordarson h...@karlmenn.is wrote:

 I think Hugi also use it.
 
 Is that a point for or against it?  :-P
 
 PastedGraphic-1.png
 
 But yes, I've used Cayenne on a couple of projects. As you know it feels a 
 *lot* like EOF and was by far the nicest ORM I could legally use at my 
 previous pure java workplace. (protip: never go anywhere near JPA, it *will* 
 rape your dog and kill your grandmother.) Apart from the technical 
 similarities, Cayenne also has another important thing in common with WO: A 
 good community and an active mailing list full of nice and helpful people, so 
 you never get stuck along the way.

What do you mean by it feels a *lot* like EOF? Is it because the method calls 
look alike? Regarding JPA, I've observed since I started working on EOF in 
2010, very few know about J2EE in this community. JPA is not a standard, it's a 
specification. A clever WO developer can use EOF with JPA too :)

http://en.wikibooks.org/wiki/Java_Persistence/What_is_JPA%3F

Farrukh

 
 Cayenne is still missing a lot of functionality when compared to EOF/Wonder 
 and generally feels less mature (understandably, since EOF is ancient). This 
 is perhaps not such a huge problem, since functionality can always be 
 added—but there is indeed a *lot* of work to be done to reach feature parity 
 with EOF.
 
 It's clear that at some point most of us will have to stop using EOF in it's 
 current form. In a perfect world (that's the world where I have endless time 
 and money) I'd do a clean room implementation of EOF and live happily ever 
 after. But this is indeed not a perfect world, so helping making Cayenne 
 better and more integrated with WO seems like a more realistic goal (besides, 
 it allows more resources to be spent on a re-implementation of WO; something 
 I'd love to participate in).
 
 - hugi
 ___
 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/archive%40mail-archive.com

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


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Farrukh Ijaz

On 2012-07-12, at 6:32 PM, arosenzw...@clinworx.com wrote:

 Hi WOrriors, 
 
 I still question why we are fighting so hard for Object-relational mapping. 
 If we are contemplating doing work, shouldn't we consider going straight for 
 object databases? Take out the transcription layer. Let's get more 
 productive. Only use OR-mapping for old systems that we must interface with 
 but new work should consider the advantages of being pure objects, all the 
 time. 

I don't think we've many reporting and charting tools that work directly with 
Objects. Capturing data is not an issue, the real challenge is to reuse 
captured data for BI.

Farrukh

 ___
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


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Farrukh Ijaz
Just a fix, I mean JPA is not a product but a specification :)

Farrukh

On 2012-07-13, at 3:41 PM, Farrukh Ijaz farrukh.i...@fuegodigitalmedia.com 
wrote:

 
 On 2012-07-12, at 2:01 PM, Hugi Thordarson h...@karlmenn.is wrote:
 
 I think Hugi also use it.
 
 Is that a point for or against it?  :-P
 
 PastedGraphic-1.png
 
 But yes, I've used Cayenne on a couple of projects. As you know it feels a 
 *lot* like EOF and was by far the nicest ORM I could legally use at my 
 previous pure java workplace. (protip: never go anywhere near JPA, it *will* 
 rape your dog and kill your grandmother.) Apart from the technical 
 similarities, Cayenne also has another important thing in common with WO: A 
 good community and an active mailing list full of nice and helpful people, 
 so you never get stuck along the way.
 
 What do you mean by it feels a *lot* like EOF? Is it because the method calls 
 look alike? Regarding JPA, I've observed since I started working on EOF in 
 2010, very few know about J2EE in this community. JPA is not a standard, it's 
 a specification. A clever WO developer can use EOF with JPA too :)
 
 http://en.wikibooks.org/wiki/Java_Persistence/What_is_JPA%3F
 
 Farrukh

 ___
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


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Farrukh Ijaz
Sorry for late response, just landed last night.

The idea is very simple to understand and implement. E.g. I've a third party 
library which has a method named with following signature:

String encode(String someString) {
// some crappy encoding performed on someString and saved as encoded...
return encoded;
}

Now this method can be private, public, protected, static, final, blah blah 
etc. I find that encoding is buggy, how to fix it? There are two ways:

1. Get the source code, fix the method and submit patch. (This is sometimes not 
possible and for sure not possible in case of WebObjects)
2. Use AOP

Forget about option 1. In Option 2 we have to use some AOP mechanism and the 
one that I've tested with my Wonder apps is AspectJ. I'm not going into details 
as it's a vast subject but providing links which are sufficient to experiment :)

http://www.eclipse.org/aspectj/
http://www.eclipse.org/aspectj/doc/released/progguide/starting-aspectj.html#the-dynamic-join-point-model

As far as weaving is concerned, I would suggest to use dynamic join point as 
they can be used to intercept calls and invoke different code rather than 
modifying the original classes.

The idea is we need to define join point for the method which is buggy or where 
we want to provide our own implementation. When the code is executed, the class 
loader reroutes the request for incoming method calls to our code. AOP is 
different that OOP. In contrast with OOP where methods are associated with 
Objects, AOP is used to classify those methods under common aspects and 
normally we use regular expressions for that. Two very common aspects I can 
explain here:

1. You may have lots of methods and you want to collect execution type for each 
method call. (A logging aspect)
2. A developer like me who put all the code in try block and catch one super 
Exception, someone would like to perform different operations on each 
sub-exception can write an aspect to catch my exceptions and do whatever he 
wants and then continue the original processing.

I'm not familiar with internals of the WebObjects but the code that's 
responsible for single thread can be studied and multithreaded solution can be 
provided using AOP. If someone is interested to work with me to on this, I'm 
more than happy to help where I can :)

Farrukh

On 2012-07-11, at 10:25 PM, Chuck Hill ch...@global-village.net wrote:

 Hi Farrukh,
 
 I like the idea of using AOP to address bugs in WO.  Can you give us any 
 details on how you did that?
 
 As for making EOF multi-threaded that is a very fundamental part of the 
 design.  Fixing that with AOP would be challenging.  :-)
 
 
 Chuck
 
 
 
 On 2012-07-11, at 11:12 AM, 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:
 
 

Re: Migrating from EOF to Cayenne

2012-07-13 Thread Hugi Thordarson
 But yes, I've used Cayenne on a couple of projects. As you know it feels a 
 *lot* like EOF and was by far the nicest ORM I could legally use at my 
 previous pure java workplace. (protip: never go anywhere near JPA, it *will* 
 rape your dog and kill your grandmother.) Apart from the technical 
 similarities, Cayenne also has another important thing in common with WO: A 
 good community and an active mailing list full of nice and helpful people, 
 so you never get stuck along the way.
 
 What do you mean by it feels a *lot* like EOF? Is it because the method calls 
 look alike?

Cayenne is conceptually very similar to EOF so the API and architecture will 
instantly feel familiar to an experienced EOF programmer. Learning Cayenne is 
more like learning a dialect than learning a new language.


 Regarding JPA, I've observed since I started working on EOF in 2010, very few 
 know about J2EE in this community. JPA is not a standard, it's a 
 specification. A clever WO developer can use EOF with JPA too :)

Yes, the JPA is a spec, I just think it is a bad spec :). The Criteria API 
alone made me want to grab my head by the eyesockets and remove it from my 
torso.

Cheers,
- hugi
 ___
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


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Karl
Hi,

Making EOF multi-threaded is really not that desirable nor is it necessary.  
EOF gets most of its speed and efficiency through its 'cut through' 
single-threaded design at the Access layer.

About 4 years ago, Apple tested an internal build of WO/EOF that was fully 
multi-threaded.  It was about half as fast as the EOF that we know (and love?). 
 Since then, Apple's internal version of EOF retains virtually the current 
implementation except for the snapshot layer which is now shared by multiple DB 
stacks.  So the solution was to remove the 1-1 relationship between DB stacks 
and snapshots and to retain the cut-through single-threaded design of EOF.

Karl

On 2012-07-13, at 3:06 PM, Farrukh Ijaz farrukh.i...@fuegodigitalmedia.com 
wrote:

 Sorry for late response, just landed last night.
 
 The idea is very simple to understand and implement. E.g. I've a third party 
 library which has a method named with following signature:
 
 String encode(String someString) {
   // some crappy encoding performed on someString and saved as encoded...
   return encoded;
 }
 
 Now this method can be private, public, protected, static, final, blah blah 
 etc. I find that encoding is buggy, how to fix it? There are two ways:
 
 1. Get the source code, fix the method and submit patch. (This is sometimes 
 not possible and for sure not possible in case of WebObjects)
 2. Use AOP
 
 Forget about option 1. In Option 2 we have to use some AOP mechanism and the 
 one that I've tested with my Wonder apps is AspectJ. I'm not going into 
 details as it's a vast subject but providing links which are sufficient to 
 experiment :)
 
 http://www.eclipse.org/aspectj/
 http://www.eclipse.org/aspectj/doc/released/progguide/starting-aspectj.html#the-dynamic-join-point-model
 
 As far as weaving is concerned, I would suggest to use dynamic join point as 
 they can be used to intercept calls and invoke different code rather than 
 modifying the original classes.
 
 The idea is we need to define join point for the method which is buggy or 
 where we want to provide our own implementation. When the code is executed, 
 the class loader reroutes the request for incoming method calls to our code. 
 AOP is different that OOP. In contrast with OOP where methods are associated 
 with Objects, AOP is used to classify those methods under common aspects and 
 normally we use regular expressions for that. Two very common aspects I can 
 explain here:
 
 1. You may have lots of methods and you want to collect execution type for 
 each method call. (A logging aspect)
 2. A developer like me who put all the code in try block and catch one super 
 Exception, someone would like to perform different operations on each 
 sub-exception can write an aspect to catch my exceptions and do whatever he 
 wants and then continue the original processing.
 
 I'm not familiar with internals of the WebObjects but the code that's 
 responsible for single thread can be studied and multithreaded solution can 
 be provided using AOP. If someone is interested to work with me to on this, 
 I'm more than happy to help where I can :)
 
 Farrukh
 
 On 2012-07-11, at 10:25 PM, Chuck Hill ch...@global-village.net wrote:
 
 Hi Farrukh,
 
 I like the idea of using AOP to address bugs in WO.  Can you give us any 
 details on how you did that?
 
 As for making EOF multi-threaded that is a very fundamental part of the 
 design.  Fixing that with AOP would be challenging.  :-)
 
 
 Chuck
 
 
 
 On 2012-07-11, at 11:12 AM, 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 
 

Re: Migrating from EOF to Cayenne

2012-07-13 Thread Karl
It remains so mystifying to me how the Java community produces such absolute 
garbage as JPA and their other specs.  How many versions of EJB have we been 
through? 1.0, 1.1, 1.2, 1.3 2.x, 3.xand how consistent are they (hint: not 
one bit).

I'll happily, boringly stick with EOF which seems to have been quite consistent 
since '94 (even in spite of the move to Java).

Karl

On 2012-07-13, at 4:29 PM, Hugi Thordarson h...@karlmenn.is wrote:

 But yes, I've used Cayenne on a couple of projects. As you know it feels a 
 *lot* like EOF and was by far the nicest ORM I could legally use at my 
 previous pure java workplace. (protip: never go anywhere near JPA, it 
 *will* rape your dog and kill your grandmother.) Apart from the technical 
 similarities, Cayenne also has another important thing in common with WO: A 
 good community and an active mailing list full of nice and helpful people, 
 so you never get stuck along the way.
 
 What do you mean by it feels a *lot* like EOF? Is it because the method 
 calls look alike?
 
 Cayenne is conceptually very similar to EOF so the API and architecture will 
 instantly feel familiar to an experienced EOF programmer. Learning Cayenne is 
 more like learning a dialect than learning a new language.
 
 
 Regarding JPA, I've observed since I started working on EOF in 2010, very 
 few know about J2EE in this community. JPA is not a standard, it's a 
 specification. A clever WO developer can use EOF with JPA too :)
 
 Yes, the JPA is a spec, I just think it is a bad spec :). The Criteria API 
 alone made me want to grab my head by the eyesockets and remove it from my 
 torso.
 
 Cheers,
 - hugi
 ___
 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/kgretton%40mac.com
 
 This email sent to kgret...@mac.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


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Farrukh Ijaz
 Yes, the JPA is a spec, I just think it is a bad spec :). The Criteria API 
 alone made me want to grab my head by the eyesockets and remove it from my 
 torso.

That's pretty big statement, I might have agreed with you if I wasn't aware of 
what's JPA is all about. Here is the specification detail page and I believe 
all big giants are listed there in experts group. No more religious war please 
:)

http://jcp.org/en/jsr/detail?id=220

Farrukh
 ___
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


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Hugi Thordarson
 Yes, the JPA is a spec, I just think it is a bad spec :). The Criteria API 
 alone made me want to grab my head by the eyesockets and remove it from my 
 torso.
 
 That's pretty big statement, I might have agreed with you if I wasn't aware 
 of what's JPA is all about. Here is the specification detail page and I 
 believe all big giants are listed there in experts group. No more religious 
 war please :)

Not starting any religious wars, I just really didn't like the API (despite an 
honest attempt). If you like it, that's great.

- hugi
 ___
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


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Mike Schrag
don't make decisions based on anecdotal evidence

ms

On Jul 13, 2012, at 9:03 AM, Karl kgret...@mac.com wrote:

 Hi,
 
 Making EOF multi-threaded is really not that desirable nor is it necessary.  
 EOF gets most of its speed and efficiency through its 'cut through' 
 single-threaded design at the Access layer.
 
 About 4 years ago, Apple tested an internal build of WO/EOF that was fully 
 multi-threaded.  It was about half as fast as the EOF that we know (and 
 love?).  Since then, Apple's internal version of EOF retains virtually the 
 current implementation except for the snapshot layer which is now shared by 
 multiple DB stacks.  So the solution was to remove the 1-1 relationship 
 between DB stacks and snapshots and to retain the cut-through single-threaded 
 design of EOF.
 
 Karl
 
 On 2012-07-13, at 3:06 PM, Farrukh Ijaz farrukh.i...@fuegodigitalmedia.com 
 wrote:
 
 Sorry for late response, just landed last night.
 
 The idea is very simple to understand and implement. E.g. I've a third party 
 library which has a method named with following signature:
 
 String encode(String someString) {
  // some crappy encoding performed on someString and saved as encoded...
  return encoded;
 }
 
 Now this method can be private, public, protected, static, final, blah blah 
 etc. I find that encoding is buggy, how to fix it? There are two ways:
 
 1. Get the source code, fix the method and submit patch. (This is sometimes 
 not possible and for sure not possible in case of WebObjects)
 2. Use AOP
 
 Forget about option 1. In Option 2 we have to use some AOP mechanism and the 
 one that I've tested with my Wonder apps is AspectJ. I'm not going into 
 details as it's a vast subject but providing links which are sufficient to 
 experiment :)
 
 http://www.eclipse.org/aspectj/
 http://www.eclipse.org/aspectj/doc/released/progguide/starting-aspectj.html#the-dynamic-join-point-model
 
 As far as weaving is concerned, I would suggest to use dynamic join point as 
 they can be used to intercept calls and invoke different code rather than 
 modifying the original classes.
 
 The idea is we need to define join point for the method which is buggy or 
 where we want to provide our own implementation. When the code is executed, 
 the class loader reroutes the request for incoming method calls to our code. 
 AOP is different that OOP. In contrast with OOP where methods are associated 
 with Objects, AOP is used to classify those methods under common aspects and 
 normally we use regular expressions for that. Two very common aspects I can 
 explain here:
 
 1. You may have lots of methods and you want to collect execution type for 
 each method call. (A logging aspect)
 2. A developer like me who put all the code in try block and catch one super 
 Exception, someone would like to perform different operations on each 
 sub-exception can write an aspect to catch my exceptions and do whatever he 
 wants and then continue the original processing.
 
 I'm not familiar with internals of the WebObjects but the code that's 
 responsible for single thread can be studied and multithreaded solution can 
 be provided using AOP. If someone is interested to work with me to on this, 
 I'm more than happy to help where I can :)
 
 Farrukh
 
 On 2012-07-11, at 10:25 PM, Chuck Hill ch...@global-village.net wrote:
 
 Hi Farrukh,
 
 I like the idea of using AOP to address bugs in WO.  Can you give us any 
 details on how you did that?
 
 As for making EOF multi-threaded that is a very fundamental part of the 
 design.  Fixing that with AOP would be challenging.  :-)
 
 
 Chuck
 
 
 
 On 2012-07-11, at 11:12 AM, 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 

Re: Migrating from EOF to Cayenne

2012-07-13 Thread Ramsey Gurley

On Jul 13, 2012, at 2:54 AM, Henrique Gomes wrote:

 
 On Jul 12, 2012, at 8:06 PM, Chuck Hill wrote:
 
 
 You want to know the biggest unfixable problem with WO for me? WO apps 
 can't be deployed on any mobile platform.  That really sucks.
 
 For that, you need to change the paradigm from interface vending servers to 
 servers that vend data and processing.  Use a mobile client technology like 
 Sencha or Montage.  Or write D2iOS.  :-)
 
 (..)
 Chuck
 
 I actually think that's the way to go.


You can do go client, but then you have to build a client for every platform 
you support.  That's not trivial. 

Deploying to client platforms is quite a bit different from deploying to a 
server under your control too. Instead of having a few instances, tended to by 
someone who knows what they are doing, on hardware you know everything about, 
you have hundreds/thousands/millions of instances on a plethora of different 
configurations being run by people who don't have freakin' a clue.  

Supporting users is endless fun!  No, really. It's endless. I get one or two 
user problems *every* morning.  It's so fun.

1. Get problem description. (HelpDesk: ZOMG! User is alarmed!! App is not 
workings!!11!)
2. Ask for detailed information (Which user? What client platform? Define not 
working please.)
3. Take info and dig for cause.
4. Find ambiguity. GOTO step 2.  Repeat for a while. (Sometimes forever. I have 
a bin of unsolved mysteries)
5. Determine problem.
6. Apply fix if a bug. Apply cluebat if PEBKAC.

Going client may free up some server resources, but it will definitely require 
more support resources. Guess which is cheaper :-)


 You mentioned that switching to Cayenne  leaves 1/3 of WO, aka the 
 presentation layer, but, really, is there a future on server side interface 
 vending? 

The best way to predict the future is to create it. Is anyone cranking out a 
client interface faster and more reliably than D2W yet?  I'm all ears over here 
:-)

Ramsey


 ___
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


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Chuck Hill

On 2012-07-13, at 2:54 AM, Henrique Gomes wrote:

 
 On Jul 12, 2012, at 8:06 PM, Chuck Hill wrote:
 
 
 You want to know the biggest unfixable problem with WO for me? WO apps 
 can't be deployed on any mobile platform.  That really sucks.
 
 For that, you need to change the paradigm from interface vending servers to 
 servers that vend data and processing.  Use a mobile client technology like 
 Sencha or Montage.  Or write D2iOS.  :-)
 
 (..)
 Chuck
 
 I actually think that's the way to go. You mentioned that switching to 
 Cayenne  leaves 1/3 of WO, aka the presentation layer, but, really, is there 
 a future on server side interface vending? 

Probably some future, after all people still make a living from COBOL.  We seem 
to swing back and forth every 10 years or so from client based apps to server 
based apps.  Plain old HTML and CSS does not make for a great app experience so 
the current direction is towards clients with a richer interface.


 I have been very happy with WO, but if/when I switch it will be for HTML5 
 native apps. 


I have no idea what the future looks like.  But for now, D2W and WO is pretty 
compelling for a lot of needs.


Chuck


-- 
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/archive%40mail-archive.com

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


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Chuck Hill
Hi Farrukh, 

Thanks for the summary!

Chuck


On 2012-07-13, at 5:06 AM, Farrukh Ijaz wrote:

 Sorry for late response, just landed last night.
 
 The idea is very simple to understand and implement. E.g. I've a third party 
 library which has a method named with following signature:
 
 String encode(String someString) {
   // some crappy encoding performed on someString and saved as encoded...
   return encoded;
 }
 
 Now this method can be private, public, protected, static, final, blah blah 
 etc. I find that encoding is buggy, how to fix it? There are two ways:
 
 1. Get the source code, fix the method and submit patch. (This is sometimes 
 not possible and for sure not possible in case of WebObjects)
 2. Use AOP
 
 Forget about option 1. In Option 2 we have to use some AOP mechanism and the 
 one that I've tested with my Wonder apps is AspectJ. I'm not going into 
 details as it's a vast subject but providing links which are sufficient to 
 experiment :)
 
 http://www.eclipse.org/aspectj/
 http://www.eclipse.org/aspectj/doc/released/progguide/starting-aspectj.html#the-dynamic-join-point-model
 
 As far as weaving is concerned, I would suggest to use dynamic join point as 
 they can be used to intercept calls and invoke different code rather than 
 modifying the original classes.
 
 The idea is we need to define join point for the method which is buggy or 
 where we want to provide our own implementation. When the code is executed, 
 the class loader reroutes the request for incoming method calls to our code. 
 AOP is different that OOP. In contrast with OOP where methods are associated 
 with Objects, AOP is used to classify those methods under common aspects and 
 normally we use regular expressions for that. Two very common aspects I can 
 explain here:
 
 1. You may have lots of methods and you want to collect execution type for 
 each method call. (A logging aspect)
 2. A developer like me who put all the code in try block and catch one super 
 Exception, someone would like to perform different operations on each 
 sub-exception can write an aspect to catch my exceptions and do whatever he 
 wants and then continue the original processing.
 
 I'm not familiar with internals of the WebObjects but the code that's 
 responsible for single thread can be studied and multithreaded solution can 
 be provided using AOP. If someone is interested to work with me to on this, 
 I'm more than happy to help where I can :)
 
 Farrukh
 
 On 2012-07-11, at 10:25 PM, Chuck Hill ch...@global-village.net wrote:
 
 Hi Farrukh,
 
 I like the idea of using AOP to address bugs in WO.  Can you give us any 
 details on how you did that?
 
 As for making EOF multi-threaded that is a very fundamental part of the 
 design.  Fixing that with AOP would be challenging.  :-)
 
 
 Chuck
 
 
 
 On 2012-07-11, at 11:12 AM, 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 

Re: Migrating from EOF to Cayenne

2012-07-13 Thread John Huss
So this thread has devolved quite a bit from it's original intent.  One of
my original goals was to detail the areas where people could help with an
effort to provide an easy and painless migration to Cayenne.  I haven't
seen much interest in helping thus far.  So if you are interested, please
speak up.  If not, then we can just go back to debating for another year.

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/archive%40mail-archive.com

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


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Daniel Beatty
Greetings all,
I have to agree with Mike.  There is a lot of good to be had in the Cayenne 
project, and the discuss there of.  For starters, it identifies the need in our 
community for the stability of a good ORM that is well defined and stable, 
connected to a good web object generating framework, and if possible connecting 
today's customers.   WebObjects, EOF and CoreData have that advantage for the 
Apple side of the house, and even the Android camp can consume a WebObjects 
app.  

There was a reason I suggested using a standards body for accomplish the feat 
of having an Open Source ORM, be it Cayenne, EOF, or something else.   The 
concept is that it would be stable like a rock, and public there by enable any 
one to use it.  Standards take time to form, but in the process there are 
projects like Cayenne, and prototypes using WO/EOF to demonstrate the concepts 
what we think an ORM should be.  EOF is the de facto ORM by its age, but it 
could easily be supplanted by derived versions found in Ruby, Python, and other 
languages.My dissertation gave EOF a good head start by putting on the map 
in the academic community, and I am about to publish it.   

The Cayenne project is not the only project that I have up for consideration by 
the Open Grid Forum that is of interest to the WO community.  The Zion project 
is also significant aspect, too.   If I could have some community backing both, 
that would be fabulous.   If Apple would like to help that would be nice too, 
assuming they read these things.  Since Zion is a WO/ Mac/ iOS hybrid all 
together thing, I would hope they would see the wisdom and value in the 
product. The Zion project itself is a Texas Tech project that is the fruit of 
my dissertation, and I hope that I will see it to market and success some way 
(Just a dream).

V/R,





Dan Beatty, Ph.D.
Texas Tech University, Alumni
dan.bea...@mac.com
https://sites.google.com/site/allnightstarparty/home
(806)438-6620














On Jul 13, 2012, at 11:41 AM, Mike Schrag wrote:

 don't make decisions based on anecdotal evidence
 
 ms
 
 On Jul 13, 2012, at 9:03 AM, Karl kgret...@mac.com wrote:
 
 Hi,
 
 Making EOF multi-threaded is really not that desirable nor is it necessary.  
 EOF gets most of its speed and efficiency through its 'cut through' 
 single-threaded design at the Access layer.
 
 About 4 years ago, Apple tested an internal build of WO/EOF that was fully 
 multi-threaded.  It was about half as fast as the EOF that we know (and 
 love?).  Since then, Apple's internal version of EOF retains virtually the 
 current implementation except for the snapshot layer which is now shared by 
 multiple DB stacks.  So the solution was to remove the 1-1 relationship 
 between DB stacks and snapshots and to retain the cut-through 
 single-threaded design of EOF.
 
 Karl
 
 On 2012-07-13, at 3:06 PM, Farrukh Ijaz farrukh.i...@fuegodigitalmedia.com 
 wrote:
 
 Sorry for late response, just landed last night.
 
 The idea is very simple to understand and implement. E.g. I've a third 
 party library which has a method named with following signature:
 
 String encode(String someString) {
 // some crappy encoding performed on someString and saved as encoded...
 return encoded;
 }
 
 Now this method can be private, public, protected, static, final, blah blah 
 etc. I find that encoding is buggy, how to fix it? There are two ways:
 
 1. Get the source code, fix the method and submit patch. (This is sometimes 
 not possible and for sure not possible in case of WebObjects)
 2. Use AOP
 
 Forget about option 1. In Option 2 we have to use some AOP mechanism and 
 the one that I've tested with my Wonder apps is AspectJ. I'm not going into 
 details as it's a vast subject but providing links which are sufficient to 
 experiment :)
 
 http://www.eclipse.org/aspectj/
 http://www.eclipse.org/aspectj/doc/released/progguide/starting-aspectj.html#the-dynamic-join-point-model
 
 As far as weaving is concerned, I would suggest to use dynamic join point 
 as they can be used to intercept calls and invoke different code rather 
 than modifying the original classes.
 
 The idea is we need to define join point for the method which is buggy or 
 where we want to provide our own implementation. When the code is executed, 
 the class loader reroutes the request for incoming method calls to our 
 code. AOP is different that OOP. In contrast with OOP where methods are 
 associated with Objects, AOP is used to classify those methods under common 
 aspects and normally we use regular expressions for that. Two very common 
 aspects I can explain here:
 
 1. You may have lots of methods and you want to collect execution type for 
 each method call. (A logging aspect)
 2. A developer like me who put all the code in try block and catch one 
 super Exception, someone would like to perform different operations on each 
 sub-exception can write an aspect to catch my exceptions and do whatever he 
 wants and then 

Re: Migrating from EOF to Cayenne

2012-07-13 Thread Daniel Beatty
Greetings Ramsey,
You have highlighted why this makes it the compiler guy's dream job.  Take a 
decent size nightmare for the the subject, pile on a deadline, and add on 
mediocre salary to give us either a government rice bowl and genius grinder.   
Oops.  Sorry, those have been my dreams lately.  Since this all hap-hazardly 
came together in the first place, it is not as though we can question the mind 
of the person who orchestrated the mess.   We could offer them a them a 
Guinness  but I think they were stoned on something far stronger than the glass 
would hold.  

Seriously though, the problem described would keep a compiler team employed for 
a good sizable amount of time.It would be a wise investment somewhere to 
have some kind of converter, mobile code generator or something that would 
generate the right code for the appropriate language and platform pair.  

 V/R,





Dan Beatty, Ph.D.
Texas Tech University, Alumni
dan.bea...@mac.com
https://sites.google.com/site/allnightstarparty/home
(806)438-6620














On Jul 13, 2012, at 11:48 AM, Ramsey Gurley wrote:

 
 On Jul 13, 2012, at 2:54 AM, Henrique Gomes wrote:
 
 
 On Jul 12, 2012, at 8:06 PM, Chuck Hill wrote:
 
 
 You want to know the biggest unfixable problem with WO for me? WO apps 
 can't be deployed on any mobile platform.  That really sucks.
 
 For that, you need to change the paradigm from interface vending servers to 
 servers that vend data and processing.  Use a mobile client technology like 
 Sencha or Montage.  Or write D2iOS.  :-)
 
 (..)
 Chuck
 
 I actually think that's the way to go.
 
 
 You can do go client, but then you have to build a client for every platform 
 you support.  That's not trivial. 
 
 Deploying to client platforms is quite a bit different from deploying to a 
 server under your control too. Instead of having a few instances, tended to 
 by someone who knows what they are doing, on hardware you know everything 
 about, you have hundreds/thousands/millions of instances on a plethora of 
 different configurations being run by people who don't have freakin' a clue.  
 
 Supporting users is endless fun!  No, really. It's endless. I get one or two 
 user problems *every* morning.  It's so fun.
 
 1. Get problem description. (HelpDesk: ZOMG! User is alarmed!! App is not 
 workings!!11!)
 2. Ask for detailed information (Which user? What client platform? Define 
 not working please.)
 3. Take info and dig for cause.
 4. Find ambiguity. GOTO step 2.  Repeat for a while. (Sometimes forever. I 
 have a bin of unsolved mysteries)
 5. Determine problem.
 6. Apply fix if a bug. Apply cluebat if PEBKAC.
 
 Going client may free up some server resources, but it will definitely 
 require more support resources. Guess which is cheaper :-)
 
 
 You mentioned that switching to Cayenne  leaves 1/3 of WO, aka the 
 presentation layer, but, really, is there a future on server side interface 
 vending? 
 
 The best way to predict the future is to create it. Is anyone cranking out a 
 client interface faster and more reliably than D2W yet?  I'm all ears over 
 here :-)
 
 Ramsey
 
 
 ___
 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/danielbeatty%40mac.com
 
 This email sent to danielbea...@mac.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


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Pascal Robert
Do you think having a version of ERRest on top of Cayenne would make sense? 
Since ERRest make a lot of EOF calls, it might be a good example of trying to 
move something to Cayenne and to see what's missing.

 So this thread has devolved quite a bit from it's original intent.  One of my 
 original goals was to detail the areas where people could help with an effort 
 to provide an easy and painless migration to Cayenne.  I haven't seen much 
 interest in helping thus far.  So if you are interested, please speak up.  If 
 not, then we can just go back to debating for another year.
 
 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/probert%40macti.ca
 
 This email sent to prob...@macti.ca


 ___
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


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Pascal Robert

Le 2012-07-13 à 18:10, Daniel Beatty a écrit :

 Greetings all,
 I have to agree with Mike.  There is a lot of good to be had in the Cayenne 
 project, and the discuss there of.  For starters, it identifies the need in 
 our community for the stability of a good ORM that is well defined and 
 stable, connected to a good web object generating framework, and if possible 
 connecting today's customers.   WebObjects, EOF and CoreData have that 
 advantage for the Apple side of the house, and even the Android camp can 
 consume a WebObjects app.  
 
 There was a reason I suggested using a standards body for accomplish the feat 
 of having an Open Source ORM, be it Cayenne, EOF, or something else.   The 
 concept is that it would be stable like a rock, and public there by enable 
 any one to use it.  Standards take time to form, but in the process there are 
 projects like Cayenne, and prototypes using WO/EOF to demonstrate the 
 concepts what we think an ORM should be.  EOF is the de facto ORM by its age, 
 but it could easily be supplanted by derived versions found in Ruby, Python, 
 and other languages.My dissertation gave EOF a good head start by putting 
 on the map in the academic community, and I am about to publish it.   
 
 The Cayenne project is not the only project that I have up for consideration 
 by the Open Grid Forum that is of interest to the WO community.  The Zion 
 project is also significant aspect, too.   If I could have some community 
 backing both, that would be fabulous.   If Apple would like to help that 
 would be nice too, assuming they read these things.  Since Zion is a WO/ Mac/ 
 iOS hybrid all together thing, I would hope they would see the wisdom and 
 value in the product. The Zion project itself is a Texas Tech project that is 
 the fruit of my dissertation, and I hope that I will see it to market and 
 success some way (Just a dream).

Apple don't give a damn unless they can sell thousands of iOS devices. People 
have built clusters of Xserve and that didn't stop Apple to stop making the 
Xserve. The only open source project they care about is WebKit. And they don't 
care about Java anymore too. If you only want EOF, check the clone in 
GNUWebStep.

 V/R,
 
 
 
 
 
 Dan Beatty, Ph.D.
 Texas Tech University, Alumni
 dan.bea...@mac.com
 https://sites.google.com/site/allnightstarparty/home
 (806)438-6620
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 On Jul 13, 2012, at 11:41 AM, Mike Schrag wrote:
 
 don't make decisions based on anecdotal evidence
 
 ms
 
 On Jul 13, 2012, at 9:03 AM, Karl kgret...@mac.com wrote:
 
 Hi,
 
 Making EOF multi-threaded is really not that desirable nor is it necessary. 
  EOF gets most of its speed and efficiency through its 'cut through' 
 single-threaded design at the Access layer.
 
 About 4 years ago, Apple tested an internal build of WO/EOF that was fully 
 multi-threaded.  It was about half as fast as the EOF that we know (and 
 love?).  Since then, Apple's internal version of EOF retains virtually the 
 current implementation except for the snapshot layer which is now shared by 
 multiple DB stacks.  So the solution was to remove the 1-1 relationship 
 between DB stacks and snapshots and to retain the cut-through 
 single-threaded design of EOF.
 
 Karl
 
 On 2012-07-13, at 3:06 PM, Farrukh Ijaz 
 farrukh.i...@fuegodigitalmedia.com wrote:
 
 Sorry for late response, just landed last night.
 
 The idea is very simple to understand and implement. E.g. I've a third 
 party library which has a method named with following signature:
 
 String encode(String someString) {
// some crappy encoding performed on someString and saved as encoded...
return encoded;
 }
 
 Now this method can be private, public, protected, static, final, blah 
 blah etc. I find that encoding is buggy, how to fix it? There are two ways:
 
 1. Get the source code, fix the method and submit patch. (This is 
 sometimes not possible and for sure not possible in case of WebObjects)
 2. Use AOP
 
 Forget about option 1. In Option 2 we have to use some AOP mechanism and 
 the one that I've tested with my Wonder apps is AspectJ. I'm not going 
 into details as it's a vast subject but providing links which are 
 sufficient to experiment :)
 
 http://www.eclipse.org/aspectj/
 http://www.eclipse.org/aspectj/doc/released/progguide/starting-aspectj.html#the-dynamic-join-point-model
 
 As far as weaving is concerned, I would suggest to use dynamic join point 
 as they can be used to intercept calls and invoke different code rather 
 than modifying the original classes.
 
 The idea is we need to define join point for the method which is buggy or 
 where we want to provide our own implementation. When the code is 
 executed, the class loader reroutes the request for incoming method calls 
 to our code. AOP is different that OOP. In contrast with OOP where methods 
 are associated with Objects, AOP is used to classify those methods under 
 common aspects and normally we use regular expressions 

Re: Migrating from EOF to Cayenne

2012-07-13 Thread Chuck Hill
Maybe start by asking Does Cayenne already have anything like ERRest?  If 
not, they might be glad of getting it.


On 2012-07-13, at 4:20 PM, Pascal Robert wrote:

 Do you think having a version of ERRest on top of Cayenne would make sense? 
 Since ERRest make a lot of EOF calls, it might be a good example of trying to 
 move something to Cayenne and to see what's missing.
 
 So this thread has devolved quite a bit from it's original intent.  One of 
 my original goals was to detail the areas where people could help with an 
 effort to provide an easy and painless migration to Cayenne.  I haven't seen 
 much interest in helping thus far.  So if you are interested, please speak 
 up.  If not, then we can just go back to debating for another year.
 
 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/probert%40macti.ca
 
 This email sent to prob...@macti.ca
 
 
 ___
 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/archive%40mail-archive.com

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


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Maik Musall

Am 13.07.2012 um 23:57 schrieb John Huss:

 So this thread has devolved quite a bit from it's original intent.  One of my 
 original goals was to detail the areas where people could help with an effort 
 to provide an easy and painless migration to Cayenne.  I haven't seen much 
 interest in helping thus far.  So if you are interested, please speak up.  If 
 not, then we can just go back to debating for another year.

I am sincerely interested. My main motivation is that nowadays there's no way 
around multithreaded designs to push performance. I'm trying to extend my 
practices and knowledge into that whenever I can, and being stuck with EOF is a 
real pain in this regard. I'd also like to have the option to use functional 
languages like Scala to process EOs.

But... playing around with it is one thing. Migrating existing living projects 
is another, and the amount of work required to make that happen is 
considerable, so please don't expect me to invest large amounts of time without 
prior discussion so that not only I can be convinced that this is what I want 
to do, but also have I to convince my boss and my customers to let me have the 
free time for that.

Maik
 ___
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


Re: Migrating from EOF to Cayenne

2012-07-13 Thread John Huss
They just have what the java world has; which is JAX-RS and it's
implementations like Jersey+Jackson and RestEasy.  It's good I think, but
completely generic, so something that is specific designed to handle entity
objects is helpful.  So yes ERRest could be useful.  Or recreating
something like it with JAX-RS.

On Friday, July 13, 2012, Chuck Hill wrote:

 Maybe start by asking Does Cayenne already have anything like ERRest?
  If not, they might be glad of getting it.


 On 2012-07-13, at 4:20 PM, Pascal Robert wrote:

  Do you think having a version of ERRest on top of Cayenne would make
 sense? Since ERRest make a lot of EOF calls, it might be a good example of
 trying to move something to Cayenne and to see what's missing.
 
  So this thread has devolved quite a bit from it's original intent.  One
 of my original goals was to detail the areas where people could help with
 an effort to provide an easy and painless migration to Cayenne.  I haven't
 seen much interest in helping thus far.  So if you are interested, please
 speak up.  If not, then we can just go back to debating for another year.
 
  John
  ___
  Do not post admin requests to the list. They will be ignored.
  Webobjects-dev mailing list  
  (Webobjects-dev@lists.apple.comjavascript:;
 )
  Help/Unsubscribe/Update your Subscription:
 
 https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
 
  This email sent to prob...@macti.ca javascript:;
 
 
  ___
  Do not post admin requests to the list. They will be ignored.
  Webobjects-dev mailing list  
  (Webobjects-dev@lists.apple.comjavascript:;
 )
  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 javascript:;

 --
 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/archive%40mail-archive.com

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


Re: Migrating from EOF to Cayenne

2012-07-12 Thread Andrew Lindesay

Hi;

I can't speak for WO integration but from the perspective of using 
Cayenne with other infrastructure, I can say that I enjoyed working with 
Cayenne a while back -- I'm sadly not using it at the moment.


Coming from an integrated stack like WO, it is possible to forget that 
Cayenne is focused on the object-relational bit; be careful to evaluate 
it in terms of its remit.


cheers.



I agree that we need to more closely examine Cayenne before jumping in with 
both feet.



--
Andrew Lindesay


___
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


Re: Migrating from EOF to Cayenne

2012-07-12 Thread Hugi Thordarson
 Cayenne is still missing a lot of functionality when compared to EOF/Wonder 
 and generally feels less mature (understandably, since EOF is ancient). This 
 is perhaps not such a huge problem, since functionality can always be 
 added—but there is indeed a *lot* of work to be done to reach feature parity 
 with EOF.
 
 That seems like an overstatement to me.  What things is it missing that you 
 need?

Well, it isn't exactly big things that are missing, but rather an aggregation 
of a lot of small things. Things I can live without, but would rather not. EOF, 
Foundation, Wonder and the tools have 20 years of refinement and integration in 
their design so moving from EOF to Cayenne feels a little like moving from a 
Mercedes to a Wolkswagen Bug.

Lack of IDE support, no prototypes, no KVC, getAccessor (ugh), limited 
support for inheritance, no ERXKey means no type safe queries and strings 
everywhere, somewhat buggy modeler with no support for cross-model 
relationships, no crossing relationships in raw row fetches (which makes it 
harder to create reports from huge object graphs), no Project Wonder EO stuff 
etc. etc.

Now, I know this comparison is unfair to Cayenne which is in fact great, and 
Andrus and the others have done an amazing job. EOF is just hard to beat, 
because EOF is very, very good. And as I said, Cayenne will no doubt get there, 
I just believe it will take a lot of work.


 The only reasonable way to do a re-implementation of EOF would be to start 
 with Cayenne.  It doesnt have the same API as EOF, but that could be done; 
 that hard work has already been done, only the API would need change.  But I 
 think there are advantages in trying to merge with the Cayenne community 
 rather than taking it and forking it.

I agree. If they're compatible it's probably the way to go.

- hugi
 ___
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

Re: Migrating from EOF to Cayenne

2012-07-12 Thread Larry Mills-Gahl

I apologize if this has already been suggested or discussed elsewhere, but it 
might be a worthwhile exercise to extend the API and feature comparison on the 
WIKI (http://wiki.wocommunity.org/display/WO/Alternative+Technologies-Cayenne 
... thanks John) in the direction of a roadmap between where we are right now 
with EOF and Cayenne and what a Cayenne that includes the best of EOF/Wonder.

I know this is not a trivial task, but if we either extended the existing WIKI 
section or created this as an explicit roadmap, it could help focus the 
discussion and resources so that we'll at least have a reasonable understanding 
(as a community) of what we need to do to get to this integration (and more 
fundamentally, if we want to do this). Another benefit from the perspective of 
the cayenne community would be to be able to see what features we are looking 
for and willing to work on so that it's clear we are not competing with their 
roadmap, but perhaps adding extra lanes on the road. 

It might also help in looking for financial support for elements of the 
evolution of cayenne/eof. 

I think some version of the feature comparison table and the API comparison 
table might suit to start this process. If we look at those tables with an eye 
toward how much effort it would take to implement we could begin to prioritize 
areas and seek support for projects that are less straight-forward and require 
some heavy lifting. 

Paul Yu had (what I think is) a very good idea in defining tests for the 
functionality that we need. I'm certainly not suggesting this is a trivial 
task, but I think defining what success would look like will help us recognize 
when we get there. 
(Paul, sorry if I've misinterpreted your idea ... but it was hot and the sun 
was in my eyes on the forced march back over the bridge)

Any thoughts?


Larry Mills-Gahl



On Jul 12, 2012, at 7:23 AM, John Huss wrote:

 
 
 On Thursday, July 12, 2012, Hugi Thordarson wrote:
 I think Hugi also use it.
 
 Is that a point for or against it?  :-P
 
 PastedGraphic-1.png
 
 But yes, I've used Cayenne on a couple of projects. As you know it feels a 
 *lot* like EOF and was by far the nicest ORM I could legally use at my 
 previous pure java workplace. (protip: never go anywhere near JPA, it *will* 
 rape your dog and kill your grandmother.) Apart from the technical 
 similarities, Cayenne also has another important thing in common with WO: A 
 good community and an active mailing list full of nice and helpful people, so 
 you never get stuck along the way.
 
 Cayenne is still missing a lot of functionality when compared to EOF/Wonder 
 and generally feels less mature (understandably, since EOF is ancient). This 
 is perhaps not such a huge problem, since functionality can always be 
 added—but there is indeed a *lot* of work to be done to reach feature parity 
 with EOF.
 
 That seems like an overstatement to me.  What things is it missing that you 
 need?
  
 
 It's clear that at some point most of us will have to stop using EOF in it's 
 current form. In a perfect world (that's the world where I have endless time 
 and money) I'd do a clean room implementation of EOF and live happily ever 
 after. But this is indeed not a perfect world, so helping making Cayenne 
 better and more integrated with WO seems like a more realistic goal 
 
 It's really the same goal isn't it?  The only reasonable way to do a 
 re-implementation of EOF would be to start with Cayenne.  It doesnt have the 
 same API as EOF, but that could be done; that hard work has already been 
 done, only the API would need change.  But I think there are advantages in 
 trying to merge with the Cayenne community rather than taking it and forking 
 it.
  
 (besides, it allows more resources to be spent on a re-implementation of WO; 
 something I'd love to participate in). 
 
 - hugi
 ___
 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/lmg%40webfarm.com
 
 This email sent to l...@webfarm.com



signature.asc
Description: Message signed with OpenPGP using GPGMail
 ___
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


Re: Migrating from EOF to Cayenne

2012-07-12 Thread arosenzweig
Hi WOrriors,

I still question why we are fighting so hard for Object-relational 
mapping. If we are contemplating doing work, shouldn't we consider going 
straight for object databases? Take out the transcription layer. Let's get 
more productive. Only use OR-mapping for old systems that we must 
interface with but new work should consider the advantages of being pure 
objects, all the time.

Everyone has success stories. You can write a great app in PHP if you 
really want to (though none of us would choose to). What really counts is 
how people achieve their success and if we'd enjoy doing it in a similar 
fashion. For us that means we want creative options and better 
productivity. That's why we've historically chosen WO.

Here's one success story that really peaks my interest - it drives home my 
love/hate relationship with any ORM even one as nice as EOF:
http://gemstonesoup.wordpress.com/2009/03/09/why-glass/

It talks about GLASS as if we all know what that is. It's Gemstone's 
turnkey solution to Internet app development... Like WO used to have. You 
can get a brief definition here:
http://seaside.gemstone.com/

Gemstone has been used a long time with lots of data. Here's one success 
story with a shipping company and over 1.5 billion data objects:
http://seaside.gemstone.com/docs/OOCL_SuccessStory.pdf

Here's a more general listing of success stories:
http://gemstonesoup.wordpress.com/category/success-stories/

-- Aaron


Message: 5
Date: Wed, 11 Jul 2012 17:22:53 -0700
From: Chuck Hill ch...@global-village.net
To: Michael Kondratov mich...@aspireauctions.com
Cc: WebObjects-Dev List webobjects-dev@lists.apple.com
Subject: Re: Migrating from EOF to Cayenne
Message-ID: 0e2dca05-61df-4de8-a468-79e0d2846...@global-village.net
Content-Type: text/plain; charset=us-ascii

Apparently

http://cayenne.apache.org/success-stories.html


On 2012-07-11, at 5:21 PM, Michael Kondratov wrote:

 Anyone used it? Does it actually work?
 ___
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


Re: Migrating from EOF to Cayenne

2012-07-12 Thread Alexander Spohr
We want to go the WO-way and are asking us how we can make that way bring us 
into the future.

You propose to switch to a different lane and have us all run into another 
direction. That is a totally different discussion. We don’t want to change our 
way of programming, we just want the core to be open, extendable and fixable.

atze



Am 12.07.2012 um 17:32 schrieb arosenzw...@clinworx.com:

 Hi WOrriors, 
 
 I still question why we are fighting so hard for Object-relational mapping. 
 If we are contemplating doing work, shouldn't we consider going straight for 
 object databases? Take out the transcription layer. Let's get more 
 productive. Only use OR-mapping for old systems that we must interface with 
 but new work should consider the advantages of being pure objects, all the 
 time. 
 
 Everyone has success stories. You can write a great app in PHP if you really 
 want to (though none of us would choose to). What really counts is how people 
 achieve their success and if we'd enjoy doing it in a similar fashion. For us 
 that means we want creative options and better productivity. That's why we've 
 historically chosen WO. 
 
 Here's one success story that really peaks my interest - it drives home my 
 love/hate relationship with any ORM even one as nice as EOF: 
 http://gemstonesoup.wordpress.com/2009/03/09/why-glass/ 
 
 It talks about GLASS as if we all know what that is. It's Gemstone's turnkey 
 solution to Internet app development... Like WO used to have. You can get a 
 brief definition here: 
 http://seaside.gemstone.com/ 
 
 Gemstone has been used a long time with lots of data. Here's one success 
 story with a shipping company and over 1.5 billion data objects: 
 http://seaside.gemstone.com/docs/OOCL_SuccessStory.pdf 
 
 Here's a more general listing of success stories: 
 http://gemstonesoup.wordpress.com/category/success-stories/ 
 
 -- Aaron

 ___
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

Re: Migrating from EOF to Cayenne

2012-07-12 Thread John Huss
On Thu, Jul 12, 2012 at 9:45 AM, Hugi Thordarson h...@karlmenn.is wrote:

  Cayenne is still missing a lot of functionality when compared to
 EOF/Wonder and generally feels less mature (understandably, since EOF is
 ancient). This is perhaps not such a huge problem, since functionality can
 always be added—but there is indeed a *lot* of work to be done to reach
 feature parity with EOF.
 
  That seems like an overstatement to me.  What things is it missing that
 you need?

 Well, it isn't exactly big things that are missing, but rather an
 aggregation of a lot of small things. Things I can live without, but would
 rather not. EOF, Foundation, Wonder and the tools have 20 years of
 refinement and integration in their design so moving from EOF to Cayenne
 feels a little like moving from a Mercedes to a Wolkswagen Bug.

 Lack of IDE support,


There is an Eclipse plugin, but it is not totally baked yet.


 no prototypes,


Cayenne already does the switching databases part of prototypes. The
faster model creation part would be a nice add perhaps, but you get part
of it (the java type assigment) already in Cayenne by auto-generating the
ObjEntity from the DbEntity.

no KVC


This is already in ERCayenne


 , getAccessor (ugh)


The templates in ERCayenne don't use the get prefix


 , limited support for inheritance,


True


 no ERXKey means no type safe queries and strings everywhere,


ERXKey is in ERCayenneExample and I'll be committing a version Cayenne
itself in the next few days.


 somewhat buggy modeler


I fixed a couple of the more annoying problems last week.  Other than that
I'm not aware of any behaviors that are truly bugs. But usability could
certainly be improved.


 with no support for cross-model relationships


This is not true anymore if it was before.  3.1 includes the idea of a
default node (basically a connection dictionary), so you can load models
that are generic, framework level and use them along with your own model.


 , no crossing relationships in raw row fetches (which makes it harder to
 create reports from huge object graphs)


True, this is the biggest gap I've come across - I have an app that does
exactly that.  However, there are a few built-in alternatives, namely
SQLTemplate and EJBQLQuery. But if you have a lot of this in your app,
you'll probably want to wait to consider migrating.


 , no Project Wonder EO stuff etc. etc.


I have some Cayenne implementations of the specific utilities that I used
from Wonder, but yes, this represents work to be done.


 Now, I know this comparison is unfair to Cayenne which is in fact great,
 and Andrus and the others have done an amazing job. EOF is just hard to
 beat, because EOF is very, very good. And as I said, Cayenne will no doubt
 get there, I just believe it will take a lot of work.


Just a little work I think.  The things that have to be done are almost all
approachable by average developers.


  The only reasonable way to do a re-implementation of EOF would be to
 start with Cayenne.  It doesnt have the same API as EOF, but that could be
 done; that hard work has already been done, only the API would need change.
  But I think there are advantages in trying to merge with the Cayenne
 community rather than taking it and forking it.

 I agree. If they're compatible it's probably the way to go.

 - hugi
 ___
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


Re: Migrating from EOF to Cayenne

2012-07-12 Thread Chuck Hill

On 2012-07-12, at 4:01 AM, Hugi Thordarson wrote:

 I think Hugi also use it.
 
 Is that a point for or against it?  :-P
 
 PastedGraphic-1.png

Ah ha!  So you ARE still reading the list!  :-)  Good to see you around!


 But yes, I've used Cayenne on a couple of projects. As you know it feels a 
 *lot* like EOF and was by far the nicest ORM I could legally use at my 
 previous pure java workplace. (protip: never go anywhere near JPA, it *will* 
 rape your dog and kill your grandmother.) 

LOL


 Apart from the technical similarities, Cayenne also has another important 
 thing in common with WO: A good community and an active mailing list full of 
 nice and helpful people, so you never get stuck along the way.

That is good to hear and not surprising considering that some of them are ex-WO 
people.


 Cayenne is still missing a lot of functionality when compared to EOF/Wonder 
 and generally feels less mature (understandably, since EOF is ancient). This 
 is perhaps not such a huge problem, since functionality can always be 
 added—but there is indeed a *lot* of work to be done to reach feature parity 
 with EOF.
 
 It's clear that at some point most of us will have to stop using EOF in it's 
 current form. In a perfect world (that's the world where I have endless time 
 and money) I'd do a clean room implementation of EOF and live happily ever 
 after. But this is indeed not a perfect world, so helping making Cayenne 
 better and more integrated with WO seems like a more realistic goal (besides, 
 it allows more resources to be spent on a re-implementation of WO; something 
 I'd love to participate in).

Chuck


-- 
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/archive%40mail-archive.com

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

Re: Migrating from EOF to Cayenne

2012-07-12 Thread Karl
Its Chunk, not Chuck now.  Please start signing appropriately.

Karl

On 2012-07-12, at 9:28 PM, Chuck Hill ch...@global-village.net wrote:

 
 On 2012-07-12, at 4:01 AM, Hugi Thordarson wrote:
 
 I think Hugi also use it.
 
 Is that a point for or against it?  :-P
 
 PastedGraphic-1.png
 
 Ah ha!  So you ARE still reading the list!  :-)  Good to see you around!
 
 
 But yes, I've used Cayenne on a couple of projects. As you know it feels a 
 *lot* like EOF and was by far the nicest ORM I could legally use at my 
 previous pure java workplace. (protip: never go anywhere near JPA, it *will* 
 rape your dog and kill your grandmother.) 
 
 LOL
 
 
 Apart from the technical similarities, Cayenne also has another important 
 thing in common with WO: A good community and an active mailing list full of 
 nice and helpful people, so you never get stuck along the way.
 
 That is good to hear and not surprising considering that some of them are 
 ex-WO people.
 
 
 Cayenne is still missing a lot of functionality when compared to EOF/Wonder 
 and generally feels less mature (understandably, since EOF is ancient). This 
 is perhaps not such a huge problem, since functionality can always be 
 added—but there is indeed a *lot* of work to be done to reach feature parity 
 with EOF.
 
 It's clear that at some point most of us will have to stop using EOF in it's 
 current form. In a perfect world (that's the world where I have endless time 
 and money) I'd do a clean room implementation of EOF and live happily ever 
 after. But this is indeed not a perfect world, so helping making Cayenne 
 better and more integrated with WO seems like a more realistic goal 
 (besides, it allows more resources to be spent on a re-implementation of WO; 
 something I'd love to participate in).
 
 Chuck
 
 
 -- 
 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/kgretton%40mac.com
 
 This email sent to kgret...@mac.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

Re: Migrating from EOF to Cayenne

2012-07-12 Thread Ramsey Gurley

On Jul 12, 2012, at 9:11 AM, Alexander Spohr wrote:

 We want to go the WO-way and are asking us how we can make that way bring us 
 into the future.
 
 You propose to switch to a different lane and have us all run into another 
 direction.


In the context of this discussion, I think Aaron's position is entirely valid. 
Why dump years into developing a replacement ORM for WO when new frameworks 
have shown that ORMs are entirely unnecessary?  His specific suggestion of 
Seaside is up to the individual, but the core question is sound.


 That is a totally different discussion. We don’t want to change our way of 
 programming, we just want the core to be open, extendable and fixable.


To me, WO is those things already. It's free forever. I can decompile and fix 
whatever I need. This has been standard practice in Wonder for years.

You want to know the biggest unfixable problem with WO for me? WO apps can't be 
deployed on any mobile platform.  That really sucks.

If I need an enterprise class server that can handle serious load on server 
hardware though, I'm probably going to stick with WO for a while longer.  I 
haven't seen anything in that space which is more compelling.

It is what it is.

Ramsey
 ___
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

Re: Migrating from EOF to Cayenne

2012-07-12 Thread Chuck Hill

On 2012-07-12, at 11:51 AM, Ramsey Gurley wrote:
 On Jul 12, 2012, at 9:11 AM, Alexander Spohr wrote:
 
 We want to go the WO-way and are asking us how we can make that way bring us 
 into the future.
 
 You propose to switch to a different lane and have us all run into another 
 direction.
 
 
 In the context of this discussion, I think Aaron's position is entirely 
 valid. Why dump years into developing a replacement ORM for WO when new 
 frameworks have shown that ORMs are entirely unnecessary?  His specific 
 suggestion of Seaside is up to the individual, but the core question is sound.

The problem that I see with this is that using WO is problematic only (mostly?) 
for people trying to sell products or services into an organization that will 
use the status of WO to reject them.  I would expect these same places to be 
RDBMS focused and also reject object database solutions for similar reasons.  
Said another way, if you can use object databases, you can probably also use WO 
without concern.


 That is a totally different discussion. We don’t want to change our way of 
 programming, we just want the core to be open, extendable and fixable.
 
 
 To me, WO is those things already. It's free forever. I can decompile and fix 
 whatever I need. This has been standard practice in Wonder for years.
 
 You want to know the biggest unfixable problem with WO for me? WO apps can't 
 be deployed on any mobile platform.  That really sucks.

For that, you need to change the paradigm from interface vending servers to 
servers that vend data and processing.  Use a mobile client technology like 
Sencha or Montage.  Or write D2iOS.  :-)


 If I need an enterprise class server that can handle serious load on server 
 hardware though, I'm probably going to stick with WO for a while longer.  I 
 haven't seen anything in that space which is more compelling.

Nor have I.


Chuck

-- 
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/archive%40mail-archive.com

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

Re: Migrating from EOF to Cayenne

2012-07-12 Thread Andrew Lindesay

Hi John  Hugi;


True, this is the biggest gap I've come across - I have an app that does
exactly that.  However, there are a few built-in alternatives, namely
SQLTemplate and EJBQLQuery. But if you have a lot of this in your app,
you'll probably want to wait to consider migrating.


In my use of Cayenne I have created a set of objects like f.s. and 
friends that render to JPQL and in doing this I can't immediately think 
of any 'blockers'.


cheers.

--
Andrew Lindesay


___
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


Re: Migrating from EOF to Cayenne

2012-07-12 Thread Chuck Hill
Grumble.   I hate it when Karl is right.

Chunk and needing a diet


On 2012-07-12, at 11:36 AM, Karl wrote:

 Its Chunk, not Chuck now.  Please start signing appropriately.
 
 Karl
 
 On 2012-07-12, at 9:28 PM, Chuck Hill ch...@global-village.net wrote:
 
 
 On 2012-07-12, at 4:01 AM, Hugi Thordarson wrote:
 
 I think Hugi also use it.
 
 Is that a point for or against it?  :-P
 
 PastedGraphic-1.png
 
 Ah ha!  So you ARE still reading the list!  :-)  Good to see you around!
 
 
 But yes, I've used Cayenne on a couple of projects. As you know it feels a 
 *lot* like EOF and was by far the nicest ORM I could legally use at my 
 previous pure java workplace. (protip: never go anywhere near JPA, it 
 *will* rape your dog and kill your grandmother.) 
 
 LOL
 
 
 Apart from the technical similarities, Cayenne also has another important 
 thing in common with WO: A good community and an active mailing list full 
 of nice and helpful people, so you never get stuck along the way.
 
 That is good to hear and not surprising considering that some of them are 
 ex-WO people.
 
 
 Cayenne is still missing a lot of functionality when compared to EOF/Wonder 
 and generally feels less mature (understandably, since EOF is ancient). 
 This is perhaps not such a huge problem, since functionality can always be 
 added—but there is indeed a *lot* of work to be done to reach feature 
 parity with EOF.
 
 It's clear that at some point most of us will have to stop using EOF in 
 it's current form. In a perfect world (that's the world where I have 
 endless time and money) I'd do a clean room implementation of EOF and live 
 happily ever after. But this is indeed not a perfect world, so helping 
 making Cayenne better and more integrated with WO seems like a more 
 realistic goal (besides, it allows more resources to be spent on a 
 re-implementation of WO; something I'd love to participate in).
 
 Chuck
 
 
 -- 
 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/kgretton%40mac.com
 
 This email sent to kgret...@mac.com
 

-- 
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/archive%40mail-archive.com

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

Re: Migrating from EOF to Cayenne

2012-07-11 Thread Kieran Kelleher
John,

I think you should consider if you might be able to do a WOWODC-2013 
presentation on ERCayenne.

-Kieran

On Jul 11, 2012, at 11:09 AM, John Huss wrote:

 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?  
 Cayenne is open-source and is actively being developed
 Cayenne has great concurrency support which is in stark contrast to EOF 
 single-threaded architecture 
 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. In addition, you can look at the documentation 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 .deleteAllRelationships and .create(…) 
 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 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/kelleherk%40gmail.com
 
 This email sent to kelleh...@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


Re: Migrating from EOF to Cayenne

2012-07-11 Thread Theodore Petrosky

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
 wikihttp://wiki.wocommunity.org/display/WO/Alternative+Technologies-Cayenne.
    In addition, you can look at the
 documentationhttp://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
 .deleteAllRelationships and
    .create(…) 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
 Jirahttps://issues.apache.org/jira/browse/CAYissues
 
 Any questions?  :-)
 
 John


 ___
Do not post admin 

Re: Migrating from EOF to Cayenne

2012-07-11 Thread Farrukh Ijaz
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
 wikihttp://wiki.wocommunity.org/display/WO/Alternative+Technologies-Cayenne.
In addition, you can look at the
 documentationhttp://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 

Re: Migrating from EOF to Cayenne

2012-07-11 Thread Chuck Hill
Hi Farrukh,

I like the idea of using AOP to address bugs in WO.  Can you give us any 
details on how you did that?

As for making EOF multi-threaded that is a very fundamental part of the 
design.  Fixing that with AOP would be challenging.  :-)


Chuck



On 2012-07-11, at 11:12 AM, 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
 wikihttp://wiki.wocommunity.org/display/WO/Alternative+Technologies-Cayenne.
   In addition, you can look at the
 documentationhttp://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 

Re: Migrating from EOF to Cayenne

2012-07-11 Thread John Huss
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
  documentationhttp://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 

Re: Migrating from EOF to Cayenne

2012-07-11 Thread Ramsey Gurley

On Jul 11, 2012, at 12:40 PM, John Huss wrote:

 Decompiling whole classes to fix bugs has been done before.  It makes me 
 quesy though.

The latest version of JD-GUI is pretty good. Only a few errors to clean up 
after decompiling.
 ___
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


Re: Migrating from EOF to Cayenne

2012-07-11 Thread arosenzweig
Hi WOrriors,

I have mixed feelings.

It's obvious when you look at Cayenne the original developers had used EOF 
before and wanted to make an open source clone. They also wanted to make 
it better, if possible, than EOF. 

It's been a while but when I looked at it I was put off by some things. 
They questioned Why do you need, 
*addObjectsToBothSidesOfRelationshipWithKey()* So they just made it 
automatic that when you set a relationship it always does both sides. You 
don't need to call a special method. But in my mind, sometimes you don't 
like the way the model was made and may not want to start a war with 
another engineer that created an ugly back relationship. You can, in EOF, 
choose when you truly want to bring in both sides of the object graph and 
when you don't want to. 

John surely knows more than I, and it probably is the closest fit to EOF 
that you can find anywhere and is probably superior to EOF in many ways.

It was really nice to see nobody lamenting and begging for Apple to change 
things. It was really cool to see Chuck ask for a show of hands to say 
Let's rewrite WO and make it truly ours. It's exciting, yes, but I'm 
still torn.

Has someone moved our cheese? (taking a nod to Paul Yu)

WO / EOF is working reasonably well for us. We are still assuming that 
this remains the ultimate way to develop Internet apps. Has any of us 
truly looked elsewhere? I mean, if it is still king then it might be worth 
the effort to get a truly open-source base that we can all be proud of.

For me WO / EOF was a couple of things. It was simple to install and 
deploy back in the .dmg days. It's harder now. It was also a really cool 
abstraction above RDBMS. You can almost truly feel that you are working 
with objects even though they are persisted in a relational data store. As 
perfect as this mapping layer is, it still has some hiccups. It can never 
be as clean as if you were saving true objects directly in your object 
database.

Sacrilege, yes! I do have a wandering eye. I wonder why must I still use 
Object-Relational mapping tools, EOF / Cayenne / or otherwise. It's 2012, 
I want to save my objects as objects and migrate them too. I don't want a 
mapping layer anymore. I want to use Gemstone or something like it.

I don't want a java dialect (WO) that feels a bit like SmallTalk. I don't 
want an Objective-C that feels a bit like SmallTalk. I don't want dead 
languages. Yes, Eclipse makes java code almost come alive but it's more 
like the living dead or the undead. I want my objects alive all the 
time. I don't want some bloated app like Eclipse to puff up my objects and 
pretend they are alive. I want fully integrated tools that just work 
including distributed version control, etc. I want the real SmallTalk. 
While other languages are dead, Smalltalk is a living language that 
refuses to die. It is uber productive. It's the xombi of the object 
oriented languages. 

I wonder if our collective talents and efforts might be better aimed at 
some cheesier cheese. Seaside could make for a better way to WO.

-- Aaron

Message: 4
Date: Wed, 11 Jul 2012 11:35:48 -0700
From: Chuck Hill ch...@global-village.net
To: Theodore Petrosky tedp...@yahoo.com
Cc: webobjects-dev@lists.apple.com
Subject: Re: Migrating from EOF to Cayenne
Message-ID: 78867b57-6ba2-4dbf-816f-c783eac33...@global-village.net
Content-Type: text/plain; charset=windows-1252

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

 ___
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


Re: Migrating from EOF to Cayenne

2012-07-11 Thread Daniel Beatty
...@global-village.net
 To: Theodore Petrosky tedp...@yahoo.com
 Cc: webobjects-dev@lists.apple.com
 Subject: Re: Migrating from EOF to Cayenne
 Message-ID: 78867b57-6ba2-4dbf-816f-c783eac33...@global-village.net
 Content-Type: text/plain; charset=windows-1252
 
 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
 
 ___
 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/danielbeatty%40mac.com
 
 This email sent to danielbea...@mac.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


Re: Migrating from EOF to Cayenne

2012-07-11 Thread Paul Yu
 alive all the 
  time. I don't want some bloated app like Eclipse to puff up my objects and 
  pretend they are alive. I want fully integrated tools that just work 
  including distributed version control, etc. I want the real SmallTalk. 
  While other languages are dead, Smalltalk is a living language that refuses 
  to die. It is uber productive. It's the xombi of the object oriented 
  languages. 
  
  I wonder if our collective talents and efforts might be better aimed at 
  some cheesier cheese. Seaside could make for a better way to WO. 
  
  -- Aaron
  
  Message: 4
  Date: Wed, 11 Jul 2012 11:35:48 -0700
  From: Chuck Hill ch...@global-village.net 
  (mailto:ch...@global-village.net)
  To: Theodore Petrosky tedp...@yahoo.com (mailto:tedp...@yahoo.com)
  Cc: webobjects-dev@lists.apple.com (mailto:webobjects-dev@lists.apple.com)
  Subject: Re: Migrating from EOF to Cayenne
  Message-ID: 78867b57-6ba2-4dbf-816f-c783eac33...@global-village.net 
  (mailto:78867b57-6ba2-4dbf-816f-c783eac33...@global-village.net)
  Content-Type: text/plain; charset=windows-1252
  
  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
  
  ___
  Do not post admin requests to the list. They will be ignored.
  Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com 
  (mailto:Webobjects-dev@lists.apple.com))
  Help/Unsubscribe/Update your Subscription:
  https://lists.apple.com/mailman/options/webobjects-dev/danielbeatty%40mac.com
  
  This email sent to danielbea...@mac.com (mailto:danielbea...@mac.com)
 
 ___
 Do not post admin requests to the list. They will be ignored.
 Webobjects-dev mailing list (Webobjects-dev@lists.apple.com 
 (mailto:Webobjects-dev@lists.apple.com))
 Help/Unsubscribe/Update your Subscription:
 https://lists.apple.com/mailman/options/webobjects-dev/pyu%40mac.com
 
 This email sent to p...@mac.com (mailto:p...@mac.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


Re: Migrating from EOF to Cayenne

2012-07-11 Thread Lars Sonchocky-Helldorf

Am 11.07.2012 um 23:03 schrieb Daniel Beatty:

 Greetings Ladies and Gentlemen,
 I tend to agree with Chuck on the notion that this could be a costly marriage 
 without some kind of stability assurance.  My recommendation would be to have 
 Cayenne be standardized so that at least there is both proper documentation 
 and be able to say what Cayenne is intended to be (EOF like or otherwise).  
 
 I did some work on the subject whether WO/EOF is still king of the ORMs for 
 my dissertation qualifiers in November of 2011.  I found that while there is 
 no notion of a standardized ORM out there, EOF has a de facto standard due to 
 its age and open source varieties in both Objective-C and Java forms.I 
 can see why Apple has been reluctant to take it to a standards body.  Namely, 
 why teach the whole industry how to build something that makes your company 
 so successful.  None the less, there are enough of us that could easily 
 reverse engineer EOF along with Cayenne to help formalize such a standard 
 with say the Open Grid Forum (OGF).  
 
 Of course, there is probably nothing that can be done about the language of 
 choice.  According to the TIOBE index, the three most popular languages as 
 far as applications built by them are in order C, Java, and Objective-C.
 Popularity does not necessarily give us good languages from an academic point 
 of view, but there are some blessings to be had from those top three.Of 
 course, Objective-C did rise this last month to surpass C++, C#, PHP, and 
 Visual Basic.   What does Chuck say if people are using those languages, of 
 their own free will? 

Speaking of Objective-C: There's an EOF and a WebObjects clone in GNUstep under 
the LGPL:


EOF-Clone (EOF 4.5 IIRC):

http://www.gnustep.org/experience/GDL2.html

http://svn.gna.org/svn/gnustep/libs/gdl2/trunk/


WebObjects-Clone:

http://wiki.gnustep.org/index.php/GNUstepWeb

http://svn.gna.org/svn/gnustep/libs/gsweb/trunk/


Wouldn't that be an alternative nowadays that ObjC has ARC?

http://clang.llvm.org/docs/AutomaticReferenceCounting.html


 
 V/R,

cheers,

Lars

 ___
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


Re: Migrating from EOF to Cayenne

2012-07-11 Thread Michael Kondratov
Anyone used it? Does it actually work?

Michael

Sent from my iPhone

On Jul 11, 2012, at 19:10, Lars Sonchocky-Helldorf 
lars.sonchocky-helld...@hamburg.de wrote:

 
 Am 11.07.2012 um 23:03 schrieb Daniel Beatty:
 
 Greetings Ladies and Gentlemen,
 I tend to agree with Chuck on the notion that this could be a costly 
 marriage without some kind of stability assurance.  My recommendation would 
 be to have Cayenne be standardized so that at least there is both proper 
 documentation and be able to say what Cayenne is intended to be (EOF like or 
 otherwise).  
 
 I did some work on the subject whether WO/EOF is still king of the ORMs for 
 my dissertation qualifiers in November of 2011.  I found that while there is 
 no notion of a standardized ORM out there, EOF has a de facto standard due 
 to its age and open source varieties in both Objective-C and Java forms.
 I can see why Apple has been reluctant to take it to a standards body.  
 Namely, why teach the whole industry how to build something that makes your 
 company so successful.  None the less, there are enough of us that could 
 easily reverse engineer EOF along with Cayenne to help formalize such a 
 standard with say the Open Grid Forum (OGF).  
 
 Of course, there is probably nothing that can be done about the language of 
 choice.  According to the TIOBE index, the three most popular languages as 
 far as applications built by them are in order C, Java, and Objective-C.
 Popularity does not necessarily give us good languages from an academic 
 point of view, but there are some blessings to be had from those top three.  
   Of course, Objective-C did rise this last month to surpass C++, C#, PHP, 
 and Visual Basic.   What does Chuck say if people are using those languages, 
 of their own free will? 
 
 Speaking of Objective-C: There's an EOF and a WebObjects clone in GNUstep 
 under the LGPL:
 
 
 EOF-Clone (EOF 4.5 IIRC):
 
 http://www.gnustep.org/experience/GDL2.html
 
 http://svn.gna.org/svn/gnustep/libs/gdl2/trunk/
 
 
 WebObjects-Clone:
 
 http://wiki.gnustep.org/index.php/GNUstepWeb
 
 http://svn.gna.org/svn/gnustep/libs/gsweb/trunk/
 
 
 Wouldn't that be an alternative nowadays that ObjC has ARC?
 
 http://clang.llvm.org/docs/AutomaticReferenceCounting.html
 
 
 
 V/R,
 
 cheers,
 
   Lars
 
 ___
 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/michael%40aspireauctions.com
 
 This email sent to mich...@aspireauctions.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


Re: Migrating from EOF to Cayenne

2012-07-11 Thread Chuck Hill
Apparently

http://cayenne.apache.org/success-stories.html


On 2012-07-11, at 5:21 PM, Michael Kondratov wrote:

 Anyone used it? Does it actually work?
 
 Michael
 
 Sent from my iPhone
 
 On Jul 11, 2012, at 19:10, Lars Sonchocky-Helldorf 
 lars.sonchocky-helld...@hamburg.de wrote:
 
 
 Am 11.07.2012 um 23:03 schrieb Daniel Beatty:
 
 Greetings Ladies and Gentlemen,
 I tend to agree with Chuck on the notion that this could be a costly 
 marriage without some kind of stability assurance.  My recommendation would 
 be to have Cayenne be standardized so that at least there is both proper 
 documentation and be able to say what Cayenne is intended to be (EOF like 
 or otherwise).  
 
 I did some work on the subject whether WO/EOF is still king of the ORMs for 
 my dissertation qualifiers in November of 2011.  I found that while there 
 is no notion of a standardized ORM out there, EOF has a de facto standard 
 due to its age and open source varieties in both Objective-C and Java 
 forms.I can see why Apple has been reluctant to take it to a standards 
 body.  Namely, why teach the whole industry how to build something that 
 makes your company so successful.  None the less, there are enough of us 
 that could easily reverse engineer EOF along with Cayenne to help formalize 
 such a standard with say the Open Grid Forum (OGF).  
 
 Of course, there is probably nothing that can be done about the language of 
 choice.  According to the TIOBE index, the three most popular languages as 
 far as applications built by them are in order C, Java, and Objective-C.
 Popularity does not necessarily give us good languages from an academic 
 point of view, but there are some blessings to be had from those top three. 
Of course, Objective-C did rise this last month to surpass C++, C#, PHP, 
 and Visual Basic.   What does Chuck say if people are using those 
 languages, of their own free will? 
 
 Speaking of Objective-C: There's an EOF and a WebObjects clone in GNUstep 
 under the LGPL:
 
 
 EOF-Clone (EOF 4.5 IIRC):
 
 http://www.gnustep.org/experience/GDL2.html
 
 http://svn.gna.org/svn/gnustep/libs/gdl2/trunk/
 
 
 WebObjects-Clone:
 
 http://wiki.gnustep.org/index.php/GNUstepWeb
 
 http://svn.gna.org/svn/gnustep/libs/gsweb/trunk/
 
 
 Wouldn't that be an alternative nowadays that ObjC has ARC?
 
 http://clang.llvm.org/docs/AutomaticReferenceCounting.html
 
 
 
 V/R,
 
 cheers,
 
  Lars
 
 ___
 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/michael%40aspireauctions.com
 
 This email sent to mich...@aspireauctions.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/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/archive%40mail-archive.com

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


Re: Migrating from EOF to Cayenne

2012-07-11 Thread probert
I think Hugi also use it.

Envoyé de mon iPhone

Le 2012-07-11 à 20:24, Chuck Hill ch...@global-village.net a écrit :

 Apparently
 
 http://cayenne.apache.org/success-stories.html
 
 
 On 2012-07-11, at 5:21 PM, Michael Kondratov wrote:
 
 Anyone used it? Does it actually work?
 
 Michael
 
 Sent from my iPhone
 
 On Jul 11, 2012, at 19:10, Lars Sonchocky-Helldorf 
 lars.sonchocky-helld...@hamburg.de wrote:
 
 
 Am 11.07.2012 um 23:03 schrieb Daniel Beatty:
 
 Greetings Ladies and Gentlemen,
 I tend to agree with Chuck on the notion that this could be a costly 
 marriage without some kind of stability assurance.  My recommendation 
 would be to have Cayenne be standardized so that at least there is both 
 proper documentation and be able to say what Cayenne is intended to be 
 (EOF like or otherwise).  
 
 I did some work on the subject whether WO/EOF is still king of the ORMs 
 for my dissertation qualifiers in November of 2011.  I found that while 
 there is no notion of a standardized ORM out there, EOF has a de facto 
 standard due to its age and open source varieties in both Objective-C and 
 Java forms.I can see why Apple has been reluctant to take it to a 
 standards body.  Namely, why teach the whole industry how to build 
 something that makes your company so successful.  None the less, there are 
 enough of us that could easily reverse engineer EOF along with Cayenne to 
 help formalize such a standard with say the Open Grid Forum (OGF).  
 
 Of course, there is probably nothing that can be done about the language 
 of choice.  According to the TIOBE index, the three most popular languages 
 as far as applications built by them are in order C, Java, and 
 Objective-C.Popularity does not necessarily give us good languages 
 from an academic point of view, but there are some blessings to be had 
 from those top three.Of course, Objective-C did rise this last month 
 to surpass C++, C#, PHP, and Visual Basic.   What does Chuck say if people 
 are using those languages, of their own free will? 
 

 Speaking of Objective-C: There's an EOF and a WebObjects clone in GNUstep 
 under the LGPL:
 
 
 EOF-Clone (EOF 4.5 IIRC):
 
 http://www.gnustep.org/experience/GDL2.html
 
 http://svn.gna.org/svn/gnustep/libs/gdl2/trunk/
 
 
 WebObjects-Clone:
 
 http://wiki.gnustep.org/index.php/GNUstepWeb
 
 http://svn.gna.org/svn/gnustep/libs/gsweb/trunk/
 
 
 Wouldn't that be an alternative nowadays that ObjC has ARC?
 
 http://clang.llvm.org/docs/AutomaticReferenceCounting.html
 
 
 
 V/R,
 
 cheers,
 
Lars
 
 ___
 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/michael%40aspireauctions.com
 
 This email sent to mich...@aspireauctions.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/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/probert%40macti.ca
 
 This email sent to prob...@macti.ca
 ___
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

Re: Migrating from EOF to Cayenne

2012-07-11 Thread Chuck Hill

On 2012-07-11, at 6:02 PM, prob...@macti.ca wrote:

 I think Hugi also use it.

Is that a point for or against it?  :-P



 
 Envoyé de mon iPhone
 
 Le 2012-07-11 à 20:24, Chuck Hill ch...@global-village.net a écrit :
 
 Apparently
 
 http://cayenne.apache.org/success-stories.html
 
 
 On 2012-07-11, at 5:21 PM, Michael Kondratov wrote:
 
 Anyone used it? Does it actually work?
 
 Michael
 
 Sent from my iPhone
 
 On Jul 11, 2012, at 19:10, Lars Sonchocky-Helldorf 
 lars.sonchocky-helld...@hamburg.de wrote:
 
 
 Am 11.07.2012 um 23:03 schrieb Daniel Beatty:
 
 Greetings Ladies and Gentlemen,
 I tend to agree with Chuck on the notion that this could be a costly 
 marriage without some kind of stability assurance.  My recommendation 
 would be to have Cayenne be standardized so that at least there is both 
 proper documentation and be able to say what Cayenne is intended to be 
 (EOF like or otherwise).  
 
 I did some work on the subject whether WO/EOF is still king of the ORMs 
 for my dissertation qualifiers in November of 2011.  I found that while 
 there is no notion of a standardized ORM out there, EOF has a de facto 
 standard due to its age and open source varieties in both Objective-C and 
 Java forms.I can see why Apple has been reluctant to take it to a 
 standards body.  Namely, why teach the whole industry how to build 
 something that makes your company so successful.  None the less, there 
 are enough of us that could easily reverse engineer EOF along with 
 Cayenne to help formalize such a standard with say the Open Grid Forum 
 (OGF).  
 
 Of course, there is probably nothing that can be done about the language 
 of choice.  According to the TIOBE index, the three most popular 
 languages as far as applications built by them are in order C, Java, and 
 Objective-C.Popularity does not necessarily give us good languages 
 from an academic point of view, but there are some blessings to be had 
 from those top three.Of course, Objective-C did rise this last month 
 to surpass C++, C#, PHP, and Visual Basic.   What does Chuck say if 
 people are using those languages, of their own free will? 
 
 
 Speaking of Objective-C: There's an EOF and a WebObjects clone in GNUstep 
 under the LGPL:
 
 
 EOF-Clone (EOF 4.5 IIRC):
 
 http://www.gnustep.org/experience/GDL2.html
 
 http://svn.gna.org/svn/gnustep/libs/gdl2/trunk/
 
 
 WebObjects-Clone:
 
 http://wiki.gnustep.org/index.php/GNUstepWeb
 
 http://svn.gna.org/svn/gnustep/libs/gsweb/trunk/
 
 
 Wouldn't that be an alternative nowadays that ObjC has ARC?
 
 http://clang.llvm.org/docs/AutomaticReferenceCounting.html
 
 
 
 V/R,
 
 cheers,
 
   Lars
 
 ___
 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/michael%40aspireauctions.com
 
 This email sent to mich...@aspireauctions.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/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/probert%40macti.ca
 
 This email sent to prob...@macti.ca

-- 
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/archive%40mail-archive.com

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

Re: Migrating from EOF to Cayenne

2012-07-11 Thread Daniel Beatty
Greetings ladies and gentlemen,
Well, Chuck made some some good points.  So did Paul.   In the end, it comes 
down what is the smart investment for us as a community?  

On a side note, do we have cheat sheets or a curriculum from the boot camp 
before WOWODC 2012?   As a professor type, I would really love to borrow the 
instructors material to help my own students, as I get them.   Even if I am 
only tutoring one at a time, a good curriculum goes a long way.  It also helps 
define our EOF question.

V/R,


Dan Beatty, Ph.D.
Texas Tech University, Alumni
dan.bea...@mac.com
https://sites.google.com/site/allnightstarparty/home
(806)438-6620














On Jul 11, 2012, at 6:05 PM, Chuck Hill wrote:

 
 On 2012-07-11, at 6:02 PM, prob...@macti.ca wrote:
 
 I think Hugi also use it.
 
 Is that a point for or against it?  :-P
 
 
 
 
 Envoyé de mon iPhone
 
 Le 2012-07-11 à 20:24, Chuck Hill ch...@global-village.net a écrit :
 
 Apparently
 
 http://cayenne.apache.org/success-stories.html
 
 
 On 2012-07-11, at 5:21 PM, Michael Kondratov wrote:
 
 Anyone used it? Does it actually work?
 
 Michael
 
 Sent from my iPhone
 
 On Jul 11, 2012, at 19:10, Lars Sonchocky-Helldorf 
 lars.sonchocky-helld...@hamburg.de wrote:
 
 
 Am 11.07.2012 um 23:03 schrieb Daniel Beatty:
 
 Greetings Ladies and Gentlemen,
 I tend to agree with Chuck on the notion that this could be a costly 
 marriage without some kind of stability assurance.  My recommendation 
 would be to have Cayenne be standardized so that at least there is both 
 proper documentation and be able to say what Cayenne is intended to be 
 (EOF like or otherwise).  
 
 I did some work on the subject whether WO/EOF is still king of the ORMs 
 for my dissertation qualifiers in November of 2011.  I found that while 
 there is no notion of a standardized ORM out there, EOF has a de facto 
 standard due to its age and open source varieties in both Objective-C 
 and Java forms.I can see why Apple has been reluctant to take it to 
 a standards body.  Namely, why teach the whole industry how to build 
 something that makes your company so successful.  None the less, there 
 are enough of us that could easily reverse engineer EOF along with 
 Cayenne to help formalize such a standard with say the Open Grid Forum 
 (OGF).  
 
 Of course, there is probably nothing that can be done about the language 
 of choice.  According to the TIOBE index, the three most popular 
 languages as far as applications built by them are in order C, Java, and 
 Objective-C.Popularity does not necessarily give us good languages 
 from an academic point of view, but there are some blessings to be had 
 from those top three.Of course, Objective-C did rise this last month 
 to surpass C++, C#, PHP, and Visual Basic.   What does Chuck say if 
 people are using those languages, of their own free will? 
 
 
 Speaking of Objective-C: There's an EOF and a WebObjects clone in GNUstep 
 under the LGPL:
 
 
 EOF-Clone (EOF 4.5 IIRC):
 
 http://www.gnustep.org/experience/GDL2.html
 
 http://svn.gna.org/svn/gnustep/libs/gdl2/trunk/
 
 
 WebObjects-Clone:
 
 http://wiki.gnustep.org/index.php/GNUstepWeb
 
 http://svn.gna.org/svn/gnustep/libs/gsweb/trunk/
 
 
 Wouldn't that be an alternative nowadays that ObjC has ARC?
 
 http://clang.llvm.org/docs/AutomaticReferenceCounting.html
 
 
 
 V/R,
 
 cheers,
 
  Lars
 
 ___
 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/michael%40aspireauctions.com
 
 This email sent to mich...@aspireauctions.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/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/probert%40macti.ca
 
 This email sent to prob...@macti.ca
 
 -- 
 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
 

Re: Migrating from EOF to Cayenne

2012-07-11 Thread Michael Kondratov
I ment if anyone used an Objective C port of WO.

Michael

On Jul 11, 2012, at 9:02 PM, prob...@macti.ca wrote:

 I think Hugi also use it.
 
 Envoyé de mon iPhone
 
 Le 2012-07-11 à 20:24, Chuck Hill ch...@global-village.net a écrit :
 
 Apparently
 
 http://cayenne.apache.org/success-stories.html
 
 
 On 2012-07-11, at 5:21 PM, Michael Kondratov wrote:
 
 Anyone used it? Does it actually work?
 
 Michael
 
 Sent from my iPhone
 
 On Jul 11, 2012, at 19:10, Lars Sonchocky-Helldorf 
 lars.sonchocky-helld...@hamburg.de wrote:
 
 
 Am 11.07.2012 um 23:03 schrieb Daniel Beatty:
 
 Greetings Ladies and Gentlemen,
 I tend to agree with Chuck on the notion that this could be a costly 
 marriage without some kind of stability assurance.  My recommendation 
 would be to have Cayenne be standardized so that at least there is both 
 proper documentation and be able to say what Cayenne is intended to be 
 (EOF like or otherwise).  
 
 I did some work on the subject whether WO/EOF is still king of the ORMs 
 for my dissertation qualifiers in November of 2011.  I found that while 
 there is no notion of a standardized ORM out there, EOF has a de facto 
 standard due to its age and open source varieties in both Objective-C and 
 Java forms.I can see why Apple has been reluctant to take it to a 
 standards body.  Namely, why teach the whole industry how to build 
 something that makes your company so successful.  None the less, there 
 are enough of us that could easily reverse engineer EOF along with 
 Cayenne to help formalize such a standard with say the Open Grid Forum 
 (OGF).  
 
 Of course, there is probably nothing that can be done about the language 
 of choice.  According to the TIOBE index, the three most popular 
 languages as far as applications built by them are in order C, Java, and 
 Objective-C.Popularity does not necessarily give us good languages 
 from an academic point of view, but there are some blessings to be had 
 from those top three.Of course, Objective-C did rise this last month 
 to surpass C++, C#, PHP, and Visual Basic.   What does Chuck say if 
 people are using those languages, of their own free will? 
 
 
 Speaking of Objective-C: There's an EOF and a WebObjects clone in GNUstep 
 under the LGPL:
 
 
 EOF-Clone (EOF 4.5 IIRC):
 
 http://www.gnustep.org/experience/GDL2.html
 
 http://svn.gna.org/svn/gnustep/libs/gdl2/trunk/
 
 
 WebObjects-Clone:
 
 http://wiki.gnustep.org/index.php/GNUstepWeb
 
 http://svn.gna.org/svn/gnustep/libs/gsweb/trunk/
 
 
 Wouldn't that be an alternative nowadays that ObjC has ARC?
 
 http://clang.llvm.org/docs/AutomaticReferenceCounting.html
 
 
 
 V/R,
 
 cheers,
 
   Lars
 
 ___
 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/michael%40aspireauctions.com
 
 This email sent to mich...@aspireauctions.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/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/probert%40macti.ca
 
 This email sent to prob...@macti.ca


 ___
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