Re: Open source WO - offer

Andrus Adamchik <[email protected]> Mon, 4 Sep 2006 10:12:51 +0400
Newsgroups gmane.comp.web.webobjects.general
Message-ID <[email protected]>
On Sep 3, 2006, at 5:40 PM, Ashley Aitken wrote:

> 1.  What percentage of EOF "features" does Cayenne have equivalent  
> to or better than EOF?
>
> 2.  How many (useful ;-) features does Cayenne have that EOF doesn't?
>
> 3.  How would the reliability, performance, efficiency of EOF and  
> Cayenne compare?

As was mentioned elsewhere, Cayenne is not an API clone of EOF, so  
comparing percentages won't be an accurate exercise. The similarities  
between Cayenne and EOF are in the spirit (main ones being "rich"  
persistence object model, and attached objects). The differences are  
in details. Here is a few that I can think of right away (aside from  
the license):

* More databases are supported by Cayenne.
* Database type selection is automatic (no need to edit configuration  
when deploying the same app to a different db).
* Better raw SQL queries: scriptable; support for configuration of  
multiple DB dialects in the same query.
* "Local JNDI" mode that allows to work with JNDI model in the  
absence of a container.

I can think of one serious omission in the Cayenne 1.2 that we are  
going to address in 3.0 - no direct support for vertical inheritance  
(so you have to map individual tables separately). Also there is no  
LDAP adapter - we almost started on it a few times, but the parties  
interested in it changed their minds.

Moving forward Cayenne will also offer support for persistence based  
on POJO (java objects that do not extend a common superclass) and JDK  
annotations. I am not a big fan of "detached" POJO operation,  
although there is lots of demand for it from non-EOF users, and it is  
a part of JPA spec. Annotations on the other hand when coupled with  
smart defaults are great. They eliminate all configuration files from  
your projects, making "java-first" development approach and  
prototyping very productive.

Andrus