Spring Day WJAX: Spring Web Service
Arjen Poutsma von Interface21 hatte als letzten Vortrag auf dem Spring Day das Thema Spring Web Services. Dieses Framework fokussiert auf Contract First Web Services. Wenn man sich zuerst mit der öffentlichen Schnittstelle beschäftigt, hat man das Problem, dass man sich natürlich auch explizit mit XML beschäftigen muss. Man kommt - analog zu dem O/R Mismatch, dass es bei der Persistenz zwischen Objekten und der relationalen Datenbank gibt, zu einem O/X Mismatch zwischen Objekten und XML.
Spring Web Services nutzt nun im wesentlichen ähnliche Features wie Spring MVC, um mit diesem Problem umzugehen. Das bedeutet, auch hier wird ein Command mit den Daten aus dem Request versorgt und dabei kommt das bekannte Spring Binding zum Einsatz mit Validators und PropertyEditors.
Außerdem gibt es dann Content Based Routing, EndpointInterceptors (analog zu HandlerInterceptors). WS-Security ist dann mit Acegi integriert und es gibt auch die Möglichkeit, Exceptions durch einen ExceptionResolver bearbeiten zu lassen.
Ingesamt denke ich, dass gerade Contract First bei Web Services ein Schattendasein fristet. Mit Spring Web Services wird dies besser unterstützt und durch das Vorbild von Spring MVC gibt es nicht nur eine sinnvolle technische Grundlage, sondern die Prinzipien sind auch leichter zu verstehen.
J for Java |
I for Internet, iMac, iPod and iPad |
Me for me