Hessian ist ein binäres Netzwerkprotokoll, mit dessen Hilfe Daten zwischen Computerprogrammen ausgetauscht und Remote Procedure Calls durchgeführt werden können. Hessian wird üblicherweise über HTTP übertragen.

Der Name Hessian kommt aus dem britischen Englisch und bezeichnet grob gewebten Stoff aus Jute (in amerikanischem Englisch „Burlap“ genannt, welches auch der Name des XML-Netzwerkprotokolls Burlap des gleichen Herstellers ist).

Als binäres Protokoll ist Hessian insbesondere 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über hinaus wesentlich performanter als XML-basierte Protokolle. , Performancevergleich von Daniel Gredler zwischen Hessian, Burlap, Oracles ORMI, RMI, XML-RPC-Implementierungen und Spring HTTP Invoker Hessian ermöglicht Datenaustausch zwischen Programmen, die in unterschiedlichen Programmiersprachen implementiert wurden.

Obwohl Hessian hauptsächlich für die Verwendung für Webservices gedacht ist, kann es beispielsweise mittels der Klassen HessianInput und HessianOutput der Java-Implementierung von Caucho auch für direkte TCP-Kommunikation oder allgemeiner für Serialisierung 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.Hessian-Implementierungen von Caucho

Implementierungen Hessian gibt es in untereinander kompatiblen Implementierungen für die folgenden Programmiersprachen: Erlang C++ C# Ruby PHP Python Objective-C Objective-C 2.0 D Java

Verwendung Das Spring-Framework bot eine Integration von Hessian und Burlap, um auf entfernte Services zugreifen zu können.Spring Dokumentation: Using Hessian or Burlap to remotely call services via HTTP Diese wurde allerdings mit Version 5.3 abgekündigt und mit Version 6.0 entfernt.

Das OR-Mapping-Framework Apache Cayenne unterstützt Hessian, um Datenbank-Objekte zwischen Client und Server zu transportieren.Apache Cayenne Documentation: CWS Deployment with Hessian

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

Einzelnachweise

Kategorie:Internet-Anwendungsprotokoll Kategorie:Middleware Kategorie:Webservice Kategorie:XML-basierte Sprache