On Jun 2, 2006, at 11:12 AM, Marcel wrote:

Your original criticism still remains unresolved: I don't see why would a developer ever bother deploying a web service in these circumstances. The only distinctly ROP element here is the XMPP notification, and that is only relevant where the tool is going to be employed multi-user, and the same mechanism could be achieved in other ways. Don't get me wrong, I like the idea, but as you asked above: what makes it cayenne-rop rather than cayenne?

Because this is not intended for the developers - this is a framework for end users. Essentially we'll be building an example that somebody can take and convert into a business-specific application with the object graph that makes sense in a specific domain. See my comment below on general 2-tier vs. 3-tier considerations.


Here's the picture I've been left with of where ROP would actually be employed in the Real World (TM). A servlet-powered web application needs a more powerful tool for some aspects of its operation - most likely administration or visualisation (say via Web Start). If you aren't dealing with a web application in the first place, there is no reason to use cayenne-rop over cayenne.

Not true - cayenne-rop can coexist in an otherwise web app environment, but other web applications presence is not relevant at all. (e.g. imagine a multiplayer Java game written in Swing - central server can be based on rop, and there are no web applications involved). I think of it as "webapp plus" and a competitor to Ajax.

On the other hand the aspects that make ROP choice win over two tier (client-to-db) approach are:

* Security. I wouldn't claim that the webservice is inherently more secure than a DB, but ROP moves security controls to the server application tier, allowing things like single sign-on, custom access control logic, etc.

* Placing business logic in a server application tier. E.g. you can transform the objects on the server, or offload some expensive processing from the client. Like you mentioned XMPP integration gives collaboration capabilities (and presence information).

In other words ideally you'd have the combined benefits of both worlds - webapps and rich desktop apps - something Ajax is trying to achieve, only with real desktop UI.

Soon I am going offline till late Saturday. Let's see if there is an easy fix to the Confluence update problem, and postpone a decision until then. I am actually in favor of the graph browser, as IMO it better demonstrates what ROP is, but I am also concerned about timing and the learning curve.

Andrus

Reply via email to