Left Up Webservices

WWW-Services versus CORBA

Direkte Gegenüberstellung der Konzepte

Aspekt CORBA WebServices
Interfacebeschreibungssprache IDL WSDL
Transportprotokoll IIOP SOAP (HTTP und XML)
Namensdienst CosNaming UDDI
Trading CosTrading UDDI
Diese Gegenüberstellung läßt vermuten, das die Webservices ebenso komplex wie CORBA sind.

Im Prinzip müßte man aus dem CORBA-IDL auch SOAP-Stubs generieren können. Damit könnte für den Programmierer wohl der Unterschied verborgen werden.

Unterschiede

Argumente

Zwar könne theoretisch mit CORBA eine Interoperabilität erreicht werden, doch in der Praxis seinen verschiedene ORB-Produkte oft nicht interoperabel. (IBM)
Wegen der Firewallproblematik wurde CORBA wohl zu oft im Intranet mit einem Produkt getestet. Vielleicht sollte die OMG zusammen mit der Spezifikation eine Open-Source-Referenz-Implementierung benennen ... (z.B. ist der IDL_Compiler von SUN in den Open-Source-TAO-ORB uebernommen werden.) (Die OpenGroup kümmert sich um sowas ???)
Vielleicht lag es auch an mangelem Willen der Implementierer und dem mangelden Druck der Kunden ? Aber warum sollte das bei den WebServices anders werden ?
SOAP sei interoperabler wegen Standards sowohl auf der Spezifizierungs- als auch auf der Implementierungsebene (IBM)
Nach [Stal2001] reicht aber das elementare SOAP nicht für Geschäftskritische Anwendungen aus: Für Transaktions- und Sicherheitsdienste braucht man irgendeinen Kontextbegriff. Hier gäbe es noch keine Standards ...
Bei der Interoperabilität bei Transaktions- und Sicherheitsdienst tun sich verschiedene ORBs schwer. Optimierungen bei speziellen ORBs fallen bei der Interoperabilität (kleinster gemeinsamer Nenner) weg. (IBM)
Das ist wohl so. Heterogenität bringt immer Probleme
SOAP kommt besser auf Firewalls durch (IBM)
Das mag sein. Aber der Sinn und Zweck eines Firewalls besteht eben darin, daß er unerwünschte Besucher abwehrt, und der Administrator genau festgelegt hat, was passieren darf. Ein CORBA- dh. IIOP-Firewall ist nichttrivial, doch hat ein vernünftiger SOAP-Firewall wohl die selben Probleme. Und zudem muß noch zwischen harmlosen Zugriff auf WWW-Seiten und dem sicherheitskritischen SOAP-HTTP unterschieden werden ....

Network Magazine 4/2002 weist aber darauf hin, daß genau wegen dieser Behauptung die Webservices immense Sicherheitsprobleme haben und deshalb auf das Intranet beschränkt werden sollten. Bill Gates Interview im Informationweek 12/02: Auch Firewalls sind noch nicht sicher: Mit der verwendung von HTTP kommen sehr viele Sachen ins Firmennetz, die ohne dieses Protokoll die Firewall nicht passieren könnten - einfach weil andere Protokolle nun im HTTP versteckt sind.
Das ist natürlich SOAP von den Webservices !!!
Somit gibt einer der größten Verfechter zu, daß dies keine gute Idee ist !

Die nächste Runde:

Argumente gegen diese Technik

Wenn man sich die WSDL so anschaut, so ist die XML-Darstellung nicht sehr übersichtlich
Die Erfahrung mit HTML zeigt, daß gewöhnliche Leute das Abstraktionsvermögen nicht haben und von den vielen < und > verwirrt sind.

Die IDL-Syntax von CORBA ist doch schöner lesbar. Bestimmt gibt es bald Tools zur XML-und speziell für die WSDL-Generierung ...

SOAPs XML-Repäsentation braucht mehr Übertragungsbandbreite (Schmidt/Vinoski)
IIOP ist binär und daher sparsamer zumindest bei numerischen Werten. IIOP braucht auch meist die Typinformationen nicht mitzuübertragen, Ausnahme: any
Menschenlesbarkeit des Transport ist ein sehr schwaches Argument, da es höchstens Experten bei der Middlewareentwicklung brauchen, und dann hat man Protokollanalysatoren ...
Mashalling ist komplexer und daher langsamer (Schmidt/Vinoski)

Grundsatzkritik ohne Ansehung der Alternativen

HTTP und die bisherige Infrastruktur sollte einem ganz anderm Zweck dienen: HTTP ist bekanntlich das HyperText Transfer P-Protokoll, das also zur Übertragung von Dokumenten und Bildern konzipiert sind.
Das ist das WWW, was wir gern haben.
Zustandsloses Protokoll
Damit skalieren die Server besser
Replikation möglich
Caching möglich
Aus Performance-Gründen kann man mit Proxyservern Write Seldom-Read-Many-Dokumente in der Welt verteilen. Dieses ist also eine ganz andere Anwendung als die Objekt-Kommunikation.

(Gegenüberlegung: Für das weltweite Verteilen von Dokumenten wäre eigentlich die USENET-News gedacht, mit Foren statt Rechnern)

Um einfach Rückmeldungen empfangen zu können, wurden die HTML-Forms entworfen.
(Die Interaktionssemantik erinnert aber eher an Uralt-Terminals von Großrechnern und ist nur mit Tricks für eine moderne Nutzerschnittstelle geeignet. Java-Applets, vielleicht in einer höheren Abstraktionsebene wären hierfür besser geeignet.)
Im HTTP-Protokoll gibt es die POST-Operation. Zu prüfen ist, ob diese zur Parameterübergabe genutzt wird.
Die Frage bleibt aber, ob das Protokoll dafür gut geeignet ist. Wahrscheinlich werden die Web-Service-Leute dieses Protokoll nach und nach proprietär optimieren und Inkompatibilitäten aus dem Streben nach Monopolen einführen.

Polemik

Vielleicht verkauft sich SOAP einfach besser: XML ist durchaus menschenlesbar. HTTP kennt jeder Internetbenutzer. "Webservices" klingt irgendwie gut ... Der Einstieg in CORBA ist nicht so einfach ...

Vermutung:

MS DOS   SOAP
------ = ----
UNIX     CORBA
Schmidt/Vinoski meinen, daß die Webservice-Freunde meist noch relativ neu im Bereich der verteilen Systeme arbeiten, und das deswegen die Dienste noch realtiv einfach sind. Dies ist doch eine weitere parallele !

Gewinnen im Markt und Überlegende Technik widersprechen sich sehr oft, weil überlegende Technik eben Fachleute braucht und daher die Masse nicht erreichen kann. (vgl. Bolschewismus-Theorie)

Fazit

Es mag wohl Anwendungen geben, bei denen Webservices wohl tatsächlich geeignet sind. Vor Euphorien/Hypes sei gewarnt. Man wird wohl immer abwägen müssen.

Arbeitsgruppe Komponenten/CORBA Informatik- und Netzwerkverein Ravensburg e.V Rudolf Weber