Hessian ist ein binäres Netzwerkprotokoll, mit dessen Hilfe Daten zwischen Systemen ausgetauscht und Remote Procedure Calls durchgeführt werden können. Hessianbasiert auf den Standards HTTP und XML. Der Name Hessian kommt aus dem britischem Englisch und bezeichnet grob gewebten Stoff aus Jute (in amerikanischem Englisch "Burlap" genannt, welches auch der Name des XML Netzwerkprotokolls Burlap derselben Firma ist).
Als binäres Protokoll ist Hessian insbesonders für die Versendung von Binärdaten geeignet. Diese müssen nicht wie bei textuellen Protokollen encodiert oder als Anhang mitgeschickt werden. Binäre Protokolle wie RMI, Oracles ORMI, Spring HTTP Invoker und Hessian sind darüberhinaus wesentlich performanter als XML basierte Protokolle.[1]
Obwohl Hessien hauptsächlich für die Verwendung für Webservices gedacht ist, kann es beispielsweise mittels der HessianInput und HessianOutput Klassen der Java Implementierung von Caucho auch für TCP Kommunikation verwendet werden.
Hessian wurde von Caucho Technology Inc. entwickelt. Ebenfalls entwickelte Caucho Open Source Implementierungen von Hessian für Java, Python und ActionScript, die unter der Apache Lizenz von Caucho bezogen werden können.[2]
Implementierungen
Hessian gibt es in untereinander kompatiblen Implementierungen für die folgenden Programmiersprachen:
- Cotton (Erlang)
- HessianCPP (C++)
- HessianC# (C#)
- Hessian (on Rubyforge) bzw. HessianRuby (Ruby)
- HessianPHP (PHP)
- HessianPy (Python)
- HessianObjC (Objective-C)
- HessianKit (Objective-C 2.0)
- HessianD (D)
- Hessian4J (Java).
Geschichte, Verbreitung und Einsatz
Das Spring Framework bietet eine Integration von Hessian und Burlap um auf entfernte Services zugreifen zu können.[3]
Das ORM Framework Apache Cayenne unterstützt Hessian um Datenbank Objekte zwischen Client und Server zu transportieren.[4]
Weblinks
- Hessian Protokoll auf Caucho.com
- Spring and Hessian for Fast, Easy Java Remoting, Jacek Furmankiewicz, August 21, 2009
- Java Remoting: Protocol Benchmarks, Performancevergleich von Daniel Gredler zwischen Hessian, Burlap, Oracles ORMI, RMI, XML-RPC Implementierungen und Spring HTTPInvoker
Siehe auch
Einzelnachweise
- ↑ Java Remoting: Protocol Benchmarks, Performancevergleich von Daniel Gredler zwischen Hessian, Burlap, Oracles ORMI, RMI, XML-RPC Implementierungen und Spring HTTP Invoker
- ↑ Hessian Implementierungen von Caucho]
- ↑ Spring Dokumentation: Using Hessian or Burlap to remotely call services via HTTP
- ↑ Apache Cayenne Documentation: CWS Deployment with Hessian