A SOAP performance comparison of different WSRF implementations

Februar 17th, 2010

Meine Publikation zusammen mit Axel und Hai-Lang von der MEDES 2009:

Abstract

SOAP is the protocol used most often in web services communications. Implementations of the Web Services Resource Framework (WSRF) use SOAP as a communications protocol as well. Performance analysis’ for SOAP toolkits have been performed for various cases and toolkits but WSRF implementations have generally not been taken into account. This work compares the SOAP performance of three WSRF implementations, namely UNICORE 6 WSRFLite 1.8.6, Globus Toolkit 4 Java WS-Core 4.2.1 and Apache Muse v2.2.0. The benchmark results give a clear indication on how implementations fare performance-wise and can be used to decide which implementation is to be used, especially if performance is an issue.

Slides



Paper

Das komplette Paper gibt es bei ACM zum Download.

Copyright notice

Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.
MEDES 2009 October 27-30, 2009, Lyon, France
Copyright 2008 ACM 978-1-60558-829-2/08/0003 …$5.00.

Ob Reviewer es witzig fänden?

September 21st, 2009

Wenn man ein Paper über SOAP Performance und dann dieses Paper über Soap performance zitiert? Ich bin mir nicht sicher…

Immer übersieht man die Kleinigkeiten

August 25th, 2009

Gefühlt ewig habe ich jetzt daran rumgefrickelt, dass ich einen Globus Toolkit 4-Service nicht via Apache Synapse als Proxy ansprechen konnte, es gab immer eine No Action header-Exception; WSRFLite hatte damit allerdings im Gegensatz zu GT4 komischerweise keine Probleme. Nachdem ich mir jetzt mal alle SOAP-Nachrichten detailliert angeschaut habe war’s recht offensichtlich: Synapse entfernte den Header. Hmm, aber ich hab doch enableAddressing in der Konfiguration angegeben… und was war’s, die Betriebsblindheit natürlich. Denn anstatt so:


<endpoint>
<address uri="http://localhost:8888/wsrf/services/FooService" />
<enableaddressing />
</endpoint>

muss es so aussehen:


<endpoint>
<address uri="http://localhost:8888/wsrf/services/FooService">
<enableaddressing />
</address>
</endpoint>

Hmm, ich fand’s nicht so unlogisch das enableAddressing-Tag für den Endpoint zu setzen, aber gut. Fehlermeldung beim parsen der Config gab’s auch keine, also reichlich uneindeutig den Fehler auf Anhieb zu finden ohne in die SOAP-Nachrichten zu schauen. Ansonsten ist Synapse ziemlich cool, mal sehen wie es sich mit GSI verträgt, das ist ja immer relativ frickelig.