GWT RPC data format

EDIT: Brian Slesinsky just documented the protocol (by reverse-engineering the code): https://docs.google.com/document/d/1eG0YocsYYbNAtivkLtcaiEE5IOF5u4LUol8-LL0TIKU/edit First, GWT-RPC protocol is asymmetric so that it’s always optimized for the client-side: fast to deserialize something coming from the server, and fast to serialize something to send to it. It’s obviously not binary, as you suspected, but text-based. client-to-server protocol is pipe-delimited … Read more

REST vs JSON-RPC? [closed]

The fundamental problem with RPC is coupling. RPC clients become tightly coupled to service implementation in several ways and it becomes very hard to change service implementation without breaking clients: Clients are required to know procedure names; Procedure parameters order, types and count matters. It’s not that easy to change procedure signatures(number of arguments, order … Read more

What is the difference between Serialization and Marshaling?

Marshaling and serialization are loosely synonymous in the context of remote procedure call, but semantically different as a matter of intent. In particular, marshaling is about getting parameters from here to there, while serialization is about copying structured data to or from a primitive form such as a byte stream. In this sense, serialization is … Read more

What is RPC framework and Apache Thrift?

An RPC framework in general is a set of tools that enable the programmer to call a piece of code in a remote process, be it on a different machine or just another process on the same machine. In the particular case of Apache Thrift, we talk about a framework designed to be efficient, and … Read more