First of all, congratulations!

On 28.01.2010, at 18:57, Rickard Öberg wrote:

> Hey guys,
> 
> I've now posted a news item on the website, and fixed up the download links 
> to the 1.0 release.
> 
> The past two days I've given a couple of seminars on Qi4j in association with 
> the JFokus conference in Stockholm. The seminars focused entirely on the 
> issues with using POJOs for domain modeling, and how using composites and 
> mixins brings a much better approach to it all. The audience was very 
> familiar with what I described, and agreed with all the issues and examples I 
> presented, so there wasn't much resistance to the conclusions.
> 
> The main resistance is the continued reliance on relational databases for 
> storage, which seems to be an issue we really need to address in order to get 
> more widespread usage. Yes, it is suboptimal, yes it will be more work to 
> use, but there it is. Also, several people told me not to try and base our 
> RDBMS support on Hibernate, as they claimed it was basically broken in terms 
> of semantics. Some horror stories were provided, and I can sympathize with 
> them.
> 
> So we're still back at what to do for RDBMS? Hand-coding or something like 
> iBatis seems like the best option. What others are there?
> 

What I am most curious about is what kind of mapping to tables one can come up 
with as I cannot see how you will be able to map a domain model implemented 
using the constructs of Qi4j (and keeping the current query semantics, provided 
I understood them correctly) to a schema that will not lead to completely 
catastrophic performance (you'll need SAP style "sizing") or will have such an 
artificial table structure that reporting (IMHO the by far most valid reason 
for using an RDBMS followed by the widespread availability of hosting options 
that are accepted by conservative customers) will be difficult at best.

Thinking about this task (how can one build a Qi4j O/R-Mapping layer that 
doesn't constrain the freedom of this brilliant framework) I came to the 
conclusion that it isn't doable without on of the two (for me showstopping) 
side effects, so my current take on that is, people trying to use Qi4j with an 
RDBMS-based EntityStore will never be happy and should go with other entity 
stores and enjoy the benefits which then hopefully outweigh the disadvantages 
of not using an RDBMS (if any for a given application) or maybe I'm simply 
plain wrong.

Entities composed of multiple fragments with arbitrarily complex inheritance 
trees which are reused in many places in the domain model (which is for me the 
big selling point of COP) and the ability to query by fragment type ("give me 
any "HasName" that ...") will be a much harder (if not impossible) task to map 
onto something that will fly in the relational world than to move within the 
modeling constraints of JPA/Hibernate (which are _ugly_/a pain to work with, no 
doubt about that). I have failed so far.


> In any case, GREAT job everyone! It's nice to have this out the door, so we 
> can start focusing on how to get more people to try it out, and get more 
> experience with how to best use it.
> 
> /Rickard


Again, congrats on an exceptional framework and I'm curious (but not optimistic 
to be honest) how you will tackle the RDBMS support without sacrificing some of 
the freedom (which I suspect you won't).

Cheers,

Robert




_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to