Engstirnig
Kategorie Promotion | Keine Kommentare »
Ich bin momentan auf der ECOWS Konferenz in Halle. Ich hatte gestern bei einem angeschlossenen Workshop auch schon meinen Vortrag über die Web Service Discovery Funktionalität in ARIS. Dazu folgt sicher nochmal ein extra Eintrag hier. Darum soll es an dieser Stelle aber nicht gehen, sondern ich hatte ein Gespräch mit einem REST Fan…
In der Serviceorientierung gibt es natürlich auch verschiedene Ansätze und Denkschulen. Die wohl bekannteste Technologie ist die Umsetzung von Services mit dem so genannten W3*-Stack, also etwa mit WSDL, BPEL, WS-Policy, etc. Dieser Ansatz wird momentan auch von den großen Middleware Anbietern unterstützt und allgemeinhin als Standardansatz gewertet. Es gibt eine Vielzahl von Standards, die die verschiedensten Aspekte solch einer Implementierung abdecken. Je nachdem, was man nun konkret machen möchte, nimmt man einen weiteren Standard dazu.
Die vielen Standards macht die Sache natürlich auch kompliziert und es gibt deshalb verständlicherweise Leute, die einfachere Alternativen suchen. Die momentan wohl aktivste Community sind die REST Leute. REST setzt auf dem HTTP Protokol auf und nutzt dessen Funktionalität, um Schnittstellen zu Services anzubieten und anzupreisen. Man geht dabei nicht von Services aus, sondern von Resourcen, die durch verschiedene Operationen in unterschiedliche Zustände versetzt werden können.
Aus meiner Sicht ist dies ein sehr interessanter Ansatz, den man auf alle Fälle immer im Blick haben sollte, bevor man sich für eine konkrete Implementierungsstrategie für SOA entscheidet. Was mich aber an dem Ansatz stört, ist die Community. Diese scheint nicht besonders kritikfähig zu sein und man hat oftmals das Gefühl, dass es ihnen eher um eine Glaubensfrage als um eine offene Diskussion geht. Die Agressivität, mit der die Diskussion geführt wird erinnert mich sehr stark an die Befürworter von Extreme Programming um das Jahr 2000 herum. Andere Beispiele für völlig kontroverse Diskussionen sieht man nur zwischen den Befürwortern von Linux und Windows und natürlich zwischen Fans liberaler Wirtschaftstheorien ;-) (sorry Martin, aber das konnte ich mir nicht verkneifen)
Auf Argumente wird nicht mehr eingegangen, sondern einfach als falsch ohne Begründung abgewiesen. REST wird häufig bei öffentlichen Web Services wie Amazon, Ebay, Flickr und Google verwendet. Ich hatte nun mir erlaubt vorzubringen, dass es vielleicht unterschiedliche Anwendungsfälle oder Vorbedingungen gibt, wenn man Web Services in einem Unternehmen umsetzt. Darauf bekam ich nur die Antwort, dass Studenten heute lieber REST machen und diese sich dann auch in den Unternehmen durchsetzen werden. Mmh, da frage ich mich natürlich, warum Linux noch nicht die Vorherrschaft in den Unternehmen übernommen hat oder warum wir eine konservative Kanzlerin haben. Ein anderes häufig vorgebrachtes Argument gegen Web Services auf W3*-Stack Basis ist, dass es nicht mehr Web Technologien nutzt. Hintergrund ist hier, dass im W3*-Stack über HTTP noch SOAP als Schicht gelegt wird und man SOAP Web Services nicht nur über HTTP sondern auch über z.B. SMTP aufrufen kann. Das mag zwar alles richtig sein, aber hat man kein Auto mehr, nur weil man eine Automatikschaltung hat? Häufig wird noch angeführt, dass es wesentlich mehr öffentliche REST Services als WSDL basierte Web Services gibt. Dies mag sein (gibt es dazu eine wissenschaftliche Untersuchung?), aber man kann dies auch dadurch verstehen, dass Unternehmen nicht unbedingt ihre internen Web Services öffentlich machen.
Bitte diesen Beitrag nicht falsch verstehen! Es geht mir nicht darum gegen REST zu argumentieren, aber ich fordere eine sachliche Diskussion, die offen Vor- und Nachteile aller Ansätze diskutiert. Im Idealfall gibt es am Ende eine Art Anleitung für Entwickler, mit der die Entwickler bestimmen können, welchen Ansatz sie für ihr Problem verwenden sollen.