Hessian (web service protocol)
Developer(s) | Caucho Technology, Inc. |
---|---|
Development status | Active |
Written in | Java, Python, and ActionScript |
Operating system | Cross-platform |
Type | Web service protocol |
License(s) | Apache License 2.0 |
Website | hessian.caucho.com |
Hessian is a binary HTTP-based protocol originally developed by Caucho Technology, Inc. Hessian has a companion protocol, Burlap, which is XML-based. Both protocols were originally meant to be lightweight and "use their own serialization algorithms for primitive types, collections, and so on."[1] Both were created despite the existence of numerous RPC (remote procedure call) protocols, which yielded an innefficient increase in binary data size during connection to a Web service.[2] As the developers put it, "none met our application's needs."[3]
Hessian was built to be fast, support object serialization, and leave wire protocols invisible to developers.[2][4] Both Hessian and Burlap act as "ordinary Java objects" not requiring special classes to implement interfaces, following "design by interface" principles.[5]
Both Hessian and Burlap were originally implemented in Resin, Caucho's Java-based Web and application server.[3][6] Support for the protocols has also been built into the Spring Framework, an open-source application framework and "inversion of control" container for the Java platform.[7]
Adaptations
Although Hessian is primarily intended for Web services, it can be adapted for TCP traffic by using the HessianInput and HessianOutput classes in Caucho's Java implementation.[8]
External links
Implementations
- HessDroid (Android)
- HessianCSharp (C#)
- HessianCPP (C++)
- HessianD (D)
- Cotton (Erlang)
- Hessian4J (Java)
- Hessian.js (JavaScript)
- HessianKit (Objective-C 2.0)
- Hessian-Translator (Perl)
- HessianPHP (PHP)
- HessianPy (Python)
- HessianRuby (Ruby)
References
- ↑ Johnson, Rod; Hoeller, Juergen; Arendsen, Alef; Risberg, Thomas; Sampaleanu, Colin (2005). Professional Java Development with the Spring Framework. Wiley Publishing, Inc. pp. 672. ISBN 0764574833. http://book.javanb.com/Professional-Java-Development-with-the-Spring-Framework/BBL0070.html. Retrieved 18 September 2014.
- ↑ 2.0 2.1 Hightower, Richard; Gradecki, Joseph D. (2003). "Chapter 9: Hessian Binary Web Service Protocol". Mastering Resin. Wiley Publishing, Inc. pp. 179–198. ISBN 9780471467465. http://books.google.com/books?id=XunF69glXuwC&pg=PA179. Retrieved 18 September 2014.
- ↑ 3.0 3.1 "Resin Documentation - Protocols". Caucho Technology, Inc. http://www.caucho.com/resin-3.1/doc/hessian.xtp. Retrieved 18 September 2014.
- ↑ "Resin Documentation - Hessian 1.0.2 Specification". Caucho Technology, Inc. http://hessian.caucho.com/doc/hessian-1.0-spec.xtp. Retrieved 18 September 2014.
- ↑ Bengoli, Edmon (17 February 2005). "New Protocol Offers Simple, Efficient Java RMI". DevX.com. QuinStreet Inc. http://www.devx.com/Java/Article/27300. Retrieved 18 September 2014.
- ↑ "Using Hessian". Caucho Technology, Inc. http://www.mieco.com.my:8080/ref/hessian.xtp. Retrieved 18 September 2014.
- ↑ "Package org.springframework.remoting.caucho". The Spring Framework Project. 2004. Archived from the original on 30 May 2004. https://web.archive.org/web/20040530153944/http://www.springframework.org/docs/api/org/springframework/remoting/caucho/package-summary.html. Retrieved 18 September 2014.
- ↑ Cruz, Leandro Rodrigo Saad (4 August 2007). "Hessian server outsite servlet container". http://comments.gmane.org/gmane.text.xml.hessian.interest/102. Retrieved 18 September 2014.