Hessian and Burlap for API transit
Web Services for API? Mehhh, haven't we heard all this before?
Well, frankly, yes, you probably have. But you might not have had the full story. Im not talking about SOAP or other such protocols that require a serious amount of time at remoting-protacol-fat-camp... Today I would like to take some time to talk about the Burlap and Hessian protocols. For the astute readers, yes, those are the same ones that I was banging on about in a previous post when talking about hot technology for 2008. They are both slick remoting systems that run on Resin (they probably can be run on other JEE servers too, but frankly I haven't tried), and according the chaps at Caucho:
"Hessian and Burlap are compact binary and XML protocols for applications needing performance without protocol complexity. Hessian is a small binary protocol. Burlap is a matching XML protocol. Providing a web service is as simple as creating a servlet."
Sounds pretty cool doesn't it? Well they are. I have been playing with Resin running these protocols and evaluating them as methods for creating robust API which 3rd parties can easily integrate with. Before reflecting on what I have experienced during these trials with Burlap/Hessian I would have instantly said that Hessian was better, but then I got to reflecting on use in the world: is it really practical to use binary remoting protocols for services that the 3rd party user does not know well? I think about the times in which I have been developing clients to services I don't know (or didnt build for that matter) and I do usually end up looking at the message body when trying to troubleshoot any issues that might arise - and Hessian would be totally unworkable in that instance.
Anyway, to conclude, if you or a partner company are working in tandem and have a good working relationship then sure, its got to be Hessian all the way; its fast, its light weight... its all good. However if your exposing services for developers at a 3rd party, then you should really consider Burlap, as it could make someone else's life so much easier. On the other hand, you could just be greedy and use Resin to expose Hessian, Burlap and SOAP!