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
- Webservice haben kein Objektmodell (Schmidt/Vinosski)
- Der Applikation-Chreographie ist anders, daher können Intergrationsprojekte scheitern (ebenda) (!!!)
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:
- Einige Argumente wurden klargestellt.
- Neue Behauptung: Die OMG-Technologieen
seinen nicht Opensource und veraltet. Diese Behauptung lässt sich durch
ACE/TAO und MICO widerlegen.
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