Distributed Computing in Zukunft?Die Erfahrungen, die man mit Web Services machen kann, sind immer noch frustrierend. In der Realität gibt es immer noch Probleme mit Interoperabilität, auf der Java Seite eine unabsehbare Vielzahl an APIs (JAX-RPC, Axis, XFire, JSR 181, EJBs als Web Services ...) und das ganze nur, um verteilte Aufrufe zu implementieren? Ich versuche eigentlich nicht, einer der ewig-gestrigen zu sein, aber wir haben diese Problem schon mit DCE und CORBA gelöst. CORBA zudem mit einem effizienteren, binären Protokoll. Nun kann man einwenden, dass XML ein einfacheres und lesbares Format darstellt. Das mag ja sein, aber SOAP und WSDL sind nicht das, was man wirklich lesen will. Das nun auch bei den Web Services sich die Ansicht durchgesetzt hat, dass man mit dem Interface, also WSDL, starten soll, macht die Sache noch etwas unschöner.
Was bedeutet das? Auf der einen Seite zeigt es, dass auch suboptimale Techniken sich durchsetzten können. Dann zeigt es, dass es in der IT Industrie offensichtlich nicht möglich ist, bei einem Standard zu bleiben, sondern es muss dann einen neuen geben, der das Rad auch nochmal standardisiert. Web Services haben sicher einige Vorteile, aber viele Probleme erinnern doch sehr an CORBA. Gleichzeitig finde ich den Ansatz, einen Web Server auch für verteilte Kommunikation zu nutzen sehr attraktiv, denn sie bieten mit der Servlet API eine elegante API, die tatsächlich die Unterstützung beliebiger Protokolle bietet. Durch die API bekommt man recht billig eine gute Skalierbarkeit und Ausfallsicherheit, mit der Web Server Cluster ja glänzen können. Gleichzeitig sind die Server in der Komplexität noch beherrschbar. Dies bedeutet, dass man auf Protokolle wie Hessian oder Burlap einen Blick werfen sollte, die auch die Servlet API verwenden, aber auf dem Draht ein sehr einfaches und im Falle von Hessian sogar ein binäres Protokoll verwenden.
Auf der anderen sind die RPC Mechanismen langsam langweilig. Nach Sun RPC, DCE, CORBA und RMI haben wir jetzt eben Web Services. Viel interessanter ist Grid Computing und damit auch P2P Ansätze für Business Systeme. Hier könnte sich wirklich ein Paradigmenwechsel ankündigen.