Just to clarify - I am not suggesting that it is a solution for a
problem that doesn't exist! :)
Hehe.. I understand :) But it kind of amazes me that not more people use
a proper remoting solution for their fat client business applications.
What do people do? Do they include jdbc-drivers and orms directly in the
client? That increases the size of the client conciderably, and every
time you fix a bug or change something in the dao layer, you have to
redeploy your app to all clients. If you upgrade your dao dependencies
-> redeploy again.
That's just madness :) Same story with WebServices - Java WS libs are
huge, hard to work with, and slow compared to just binary object
serialization. You can't even properly express all data types in some
WebServices solutions.
BRAP is a 16k dependency, and all you need to include in your app is
your domain objects and your service interfaces. You have much more fine
grained access control options in your service layer than if you
included the bemoth of an orm most people use as well :)
You even get "pass by reference" style functionality with BRAP (by
enabling an option), so that if you write this on your client:
Person person = new Person();
person.setName("John Doe");
personService.savePerson(person);
.. person will contain the changes made to that object on the server
side. Perfect for db inserts, where the id field might be populated by
the dao layer.
Hehe.. sorry for the off topic rant :)
-- Edvin