Nothing on the Atlassian forums in response to my question. Which way
has the hammer fallen on this? The last reply seems to be tending
towards a framework for displaying objects visually - I am happy with
either.
Andrus Adamchik wrote:
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