Übertragung des ARM Correlator über das Netzwerk

Wie man in den Grundlagen kennengelernt hat, werden zwischen Web Service Client und Web Service Server nur SOAP Nachrichten ausgetauscht. Da die Instrumentierung nur über Axis Handler erfolgen soll, stehen nicht viele Möglichkeiten zur Verfügung, um den Correlator über das Netzwerk zu übertragen. Da man im Handler nur Zugriff auf die SOAP Nachricht hat, kann der Transport nur über einen zusätzlichen Eintrag in dieser erfolgen. In dem Grundlagenkapitel über SOAP konnte man sehen, das der SOAP Header optional ist und sich somit für Erweiterungen dieser Art anbietet. Da man in den SOAP Header allerdings nur Strings ablegen kann, der ARM Correlator aber in einem binären Format vorliegt, muss dieser auf Seiten des Clients erst in einen String umgewandelt werden und auf Seiten des Servers wieder in die binäre Darstellung zurückverwandelt werden. Für dieses Verfahren wird auf die bekannte base64 Codierung zurückgegriffen. Es wurden hierfür keine weiteren Untersuchungen über andere Verfahren bzgl. Codierungsaufwand usw. durchgeführt. Axis stellt hierfür sowohl in der C++ Implementierung als auch in der Java Implementierung Funktionen zur Verfügung, die diese codierung und decodierung vornehmen. Desweiteren stellt der Austausch des Correlator zwischen verschiedenen Rechnerarchitekturen aufgrund seines maschinenunabhängigen Formats kein Problem dar. Wie man sehen kann, stellt es kein Problem dar, eigene Parameter mit Hilfe einer SOAP Nachricht über das Netzwerk zu übertragen. Als Nachteil dieser Lösung kann nur das Umwandeln von Binärdaten in einen String und umgekehrt genannt werden.
Thomas Termin 2005-02-24