Hessian (Webprotokoll)
# Hessian (Webprotokoll)

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. 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.

## 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. 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.