Monday, May 19, 2008

Remote lazy loading in client server environments

I made some steps yesterday with hibernate in regards to realizing a remote lazy loading feature. I read Gavin Kings opinion on that in a forum entries, he arguments that remote lazy loading is a no go as it breaks transaction isolation. I came across h3t which uses jboss-aop and that comes which a javaagent thats not useful in the osgi environment (or does anyone know to make it). So I started off on my own and try to adopt an old example from the hibernate site. So far so good, the example expects that the remote call has access to the former calls session. Another no go. I dived into the hibernate code and all I found is that lazy loading is so tightly coupled to the hibernate session that theres no chance to make it in a day. I thought of Gavin's arguments and I cant see the point. In my environment there is no transaction cotext at all. I retrieve objects from the server side, mainpulate them and sen them back. Inbetween theres not a glimpse of a transaction, so I do not see why it shouldnt be allowed to split ob the fetch aka lazy load the object graph when desirable. Theres many situations and many people out there that broke their head upon that. Maybe I should head on to Eike Steppers CDO anyway.

Sunday, May 18, 2008

Distributed P2P EMF

What I write today is as ever truly iunfinished vision.
inspired by three things, JFace Databinding, Eike Steppers work on CDO
and some thougts I had while while reading Scott Rosenbergs Dreaming in code.

What if we had a distributed object model (based on EMF) thats connected through a peer to peer network, may with a central persistence repository like CDO is. It would be "quite" language neutral as we can think of an EMF implementation in other languages as Scala or even C#. (I have some trouble with NET4J there, have to think of that). What if we promote changes on the model as diffs in a p2p style to all the partial model instances out there ? I mean truly concurrent modification of an distributed object model. (I have some headache when you ask me for transactions, though) Wouldnt that be a nice programming model for multiuser applications ?

I know this is not really new, other have dreamed of that before. But we have almost everything to do it. And EMF is agood platform for domain object model. It would be a complete different approach to the conventional OLTP ideas. Let me know what you think of it.

Saturday, May 17, 2008

Open source for publishing companies

Today I can finally announce that Mango 0.5.2 ist out. Its a GPL'ed software suite based on Eclipse for the publishing industry. Current features include: Complete CRM and Document management, Book management, Catalogue generator and mailing list integration. Feel free to have a look at it on http://www.eiswind.de. Feel free to ask questions.

Friday, May 16, 2008

Do we need Transfer Objects ?

I came across http://www.agimatec.de/blog/2008/05/transferobjects-generieren/ today (in german). Roman (?) refers to http://java.sun.com/blueprints/corej2eepatterns/Patterns/TransferObject.html the old transfer object pattern in j2ee. I don't see why we need this anymore with JPA/EJB3. I think theres nothing up to using a consistent domain model on both client an server side. Its the same reason why I dont use GWT, because I cannot transfer my JPA enitites to the client and would agein have to use annoying transfer objects. Maybe it will get better if GWT can handle current Java versions. I would like to hear arguments why one still should use Transfer Objects in a client server environment. IMHO I think its completely unnecessary and overcomplicating things. Comments ?

Using Mapstruct with Protobuf3