Spring Web Services 1.0
Wie man
hier und
hier nachlesen kann, haben wir gerade
Spring Web Services 1.0 herausgegeben. Warum noch ein Web Services Framework? Immerhin gibt es ja schon Axis oder XFire und XFire hat auch eine gute Spring-Integration.
Die bekannte Best Practise für Web Services ist Contract First - aber meistens wir in der Realität nur bedingt danach gehandelt. WSDL von Hand zu schreiben ist schwierig und aus dem WSDL enstehen dann bei den verschiedenen Web-Service-Technologien zum Teil gewöhnungsbedürftige Klasse - abgesehen davon, dass XML-Schema als Typsystem innerhalb von WSDL nicht auf Java abildbar ist, da es deutlich umfangreicher ist.
Spring Web Services hat nun den Ansatz, Contract First zu einer Realität zu machen. Dabei muss der Entwickler aber nur die zu übertragenden Daten-Formate mit XML Schema festlegen, was keine allzu große Hürde ist und den Aufwand auf die wirklich kritische Stelle bei der Interoperabilität begrenzt - die Datenformate. Daraus wird dann das WSDL erzeugt.
Gleichzeitig hat der Entwickler die Möglichkeit, mit nahezu beliebigen XML-APIs das XML zu parsen oder die Antwort zusammenzubauen. Cool ist auch die Möglichkeit, Teile des XML über Annotationen direkt an die Parameter einer Methode binden zu lassen. Durch eine API wie JAXB kann man dann die Verwendung von XML praktisch unsichtbar machen - oder mit anderen APIs wie JDOM direkt auf dem XML-Dokument arbeiten.
Also ist Spring Web Services nicht nur ein weitere Web-Services-Framework, sondern es nimmt sich dem Problem von Contract-First-Web-Services an und hat daher auf jeden Fall seinen Platz im Web-Service-Universum. Übrigens ist in meinem
Buch auch schon ein Kapitel über Spring Web Services und auf der Web Site kann man sich die Samples mit einem Beispiel für Spring Web Services herunterladen.
Labels: Spring Web Services