On Mon, Apr 6, 2009 at 3:55 AM, Andrus Adamchik <andru..bjectstyle.org> wrote:
> Comments?
I fear this will be a bit long-winded, but I hope it will be coherent.
Having JPA in Cayenne has never been a selling point for me
personally. Chasing the JPA specification feels like a distraction
and almost like an admission that Cayenne classic (the "real" Cayenne
-- Cayenne's strength) isn't worthwhile. We may never get there and
the cost of chasing the JPA specification is that Cayenne classic
suffers. For people that want JPA, they'll almost always choose
Hibernate because it is popular and/or because it is driving the
specification. Even if Cayenne could satisfy someone's JPA checklist
requirement, they'd most likely find another reason to not use
Cayenne. That's fine. You can't appeal to everyone. Besides, the
J2EE world seems to chase a different silver bullet every few years
and JPA may evaporate as trends change.
I think Cayenne should focus on what separates it from Hibernate/JPA
and, in my mind, makes it better, plus add new features that make
sense within the Cayenne world. Apple isn't gaining market share from
Microsoft by trying to be more like Microsoft.
Some examples:
Improve Cayenne Modeler. This is a huge advantage of Cayenne over
Hibernate. It is very useful as-is, but has some weaknesses, such as:
can't open multiple models at the same time, related DbEntity and
ObjEntity get too spread out in large models (too much scrolling),
relationship mapping could be easier, no way to browse the database
(I'm still working on my DBEdit clone, but it isn't close to finished
yet), getting rid of HSQLDB for the preferences, etc. The better the
modeler, the better the image of Cayenne -- especially to new users.
From Gavin King's comments in the past, he thinks GUIs are for wimps
and I don't think Hibernate will ever have one (in the core
distribution) as long as he is the driving force behind Hibernate.
This is a key distinguishing feature of Cayenne and should be
leveraged. Even Apple has dropped their EOModeler support in OS X
10.5.
Hibernate/JPA has nothing like an ObjectContext. This feature should
be emphasized more. I doubt Hibernate/JPA will incorporate one
anytime in the near future, either. This is another key
distinguishing feature.
Enhance ROP. I've been looking at Cappuccino lately and am intrigued
by the idea of a robust web-based GUI that retrieves and saves all
data by JSON. (Yes, there are other Web 2.0 apps that make heavy use
of JSON, too.) If the Cayenne Web Service could vend data through
JSON instead of Hessian, it might appeal to more people looking to go
into Web 2.0.
Better integration with Apache projects. The Click framework is now
in the Apache Incubator and includes Cayenne support. It would also
be nice to see Tapestry and Wicket include it, too. There aren't
really robust installers (like what Apple did with WebObjects), but at
a minimum it would be nice if there were Maven archetypes for various
frameworks that could configure Cayenne support automatically. Google
Summer of Code task, possibly?
There are many other things (better marketing by having papers
published, providing support for larger companies that might be
willing to invest in it, etc), but I've been long-winded enough. All
of these things take time and effort, but I think having a clear
direction and goal would really help that, too.
Thanks,
mrg
PS. I'm hoping for more comments, too ...
This archive was generated by hypermail 2.0.0 : Mon Apr 06 2009 - 12:11:03 EDT