Caucho Hessian ported to C#

I don’t understand the motivation for Hessian. From what I understand, Hessian combines an encoding or serialization format along with an RPC protocol. Hessian is implemented in Caucho’s Servlet/EJB server (Resin), and this port ostensibly provides .NET apps the ability to connect into server-side logic running in Resin via that Hessian protocol.

Some questions that pop into my head…

Do we need one more RPC protocol? What was wrong with ONC RPC? DCE RPC? RMI? IIOP? The world seems to have moved to SOAP. Was it an accident?

Do we need a binary serialization standard that competes with .NET’s binary serialization, Java’s built-in binary serialization, ASN.1, and binary XML? Do we even need binary XML? Seems to me XML won for a reason.

Is it really true that in the C# port of Hessian only includes client-side support? And what use is that?

Won’t the GPL sticker on the side of the Hessian C# box be a problem for some people?