> Siegfried Goeschl wrote: > could you provide some more technical background information
The idea is quite simple and certainly not new in the Java world: method calls and return values are considered as data structures that are being serialized for transport. The data structures are JaffreCallFrame flags: int interface: Class method: String types: Class[] args: Object[] userdata: Object and JaffreReturnFrame exception: boolean flags: int result: Object userdata: Object. Call and return frames are analog e.g. to the request and response messages in SOAP. The userdata fields can be used to transport extra data, e.g. session cookies (SOAP headers can be seen as an analogy). Remote interfaces are normal Java interfaces without any decorations (annotations or something like that). Clients create proxys for remote interfaces. Calls to proxys are serialized as call frames, transported, deserialized, and then routed (per interface/method) to an appropriate service endpoint that implements the remote interface. After the call has been performed, the result is serialized as a return frame and then sent back to the client where the proxy returns the deserialized result. > +) how does it compare to RMI, JSON or Hessian > (http://hessian.caucho.com/) I'm not very familiar with RMI but I think it uses similar techniques. As Jukka pointed out, Jaffre should be considered as a RPC mechanism rather than a RMI mechanism. RMI is probably much more powerful than Jaffre, even though it may lack some ease of use and extensibility. JSON is a platform neutral web technology. It deals mainly with interchanging data. Remote procedure calls seem to be outside the JSON spec. Hessian is platform neutral, at least at the client side, and it uses it's own wire format. So it seems to be more ambitious than Jaffre. However, I don't know if it supports out-of-band user data and how extensible it is. -- Cheers, Alex --------------------------------------------------------------------- To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org