BRAP is a Java remoting protocol that uses native Java object serialization, encapsulated in HTTP.
It aims to be an alternative to Spring HttpInvoker and Spring Security especially when you don't need or want the dependencies of Spring in your client, for example when building a rich client application where size might be an issue.
The authentication mechanism lets you use your own domain objects as credentials.
BRAP gives you "pass by reference" even though the object arguments are serialized and passed to the remote service - changes that happen on the remote side can be applied to the client side automatically.
Server configuration can be expressed solely in web.xml or by subclassing the ProxyServlet but there is also an optional SpringProxyServlet available.