Blogosphäre (aus JavaSPEKTRUM 02/07)

Dieses Mal führt uns die Tour durch die Blogosphäre von REST und SOAP über einen neuen JSR zur REST-Unterstützung in Java vorbei an Java-Properties zu einem fehlgeschlagenen Software-Patent und dem Business-Case für SOA.

### REST und SOAP

Über die Debatte “REST vs. SOAP” habe ich schon einige Male berichtet. Dabei geht es darum, ob Web-Services und das gewaltige Universum der Spezifikationen (knapp über 60 nach letzter Zählung) auf der einen Seite oder “korrekt”, d.h. nach den Prinzipien von “REST” angewandtes HTTP auf der anderen Seite besser für die Entwicklung lose gekoppelter Systeme geeignet sind. In den Blogs, die sich mit den Themen SOA und Web-Services beschäftigen, ist dieses Thema ein Dauerbrenner — und immer wieder für lange Diskussionen gut. Für Entwickler und Architekten mit SOA- und CORBA-Hintergrund erklärt Steve Vinoski die wesentlichen Aspekte von REST in einem Artikel für das Magazin IEEE Internet Computing. Web-Services sind nicht mehr “cool”, findet auch sein Ex-Kollege, IONA-CTO Eric Newcomer, meint dies aber nicht unbedingt negativ: Seiner Meinung nach haben Web-Services den Status “Mainstream” erreicht. Newcomer ist auch Organisator eines Workshops, den das World Wide Web-Consortium (W3C) zum Thema “Web of Services” veranstaltet. Die Dokumente, die für diesen Workshop eingereicht wurden, spiegeln den aktuellen Stand der REST-vs.-SOAP-Debatte hervorragend wider; in einem kurzen Artikel für InfoQ habe ich die wichtigsten kurz beschrieben. Ebenfalls interessant für alle, die sich mit dem Thema REST befassen möchten: Ein Interview mit Paul Prescod, einem REST-Guru, der eine Vielzahl von Beiträgen dazu geschrieben hat und sich in den letzten Jahren rar gemacht hatte.

### JSR 311, “Java API for RESTful Web Services”

Aus der Java-Perspektive spannend ist, dass sich mittlerweile nicht nur diverse Hersteller darum bemühen, REST zu “unterstützen”, sondern auch Sun selbst. Im Rahmen des Java Community Process (JCP) hat man mit dem JSR 311, “Java API for RESTful Web Services” die Standardisierung eines neuen APIs eingeleitet hat, dessen Implementierung Bestandteil von Java SE werden soll. Elliotte Rusty Harold (den ich für diese Ausgabe gleich mehrfach bemühe), hat sich dazu sehr kritisch geäußert — seiner Meinung nach ist die Standardisierung etwas, was erst erfolgen sollte, nachdem sich eine Lösung (z.B. auf Open Source-Basis) bereits bewährt hat. Positives Feedback kommt dagegen von Jérôme Louvel, Autor des RESTlet-Frameworks — wenig verwunderlich, ist er doch eingeladen worden, bei der Standardisierung mitzuwirken. Eine lange Diskussion zum Thema findet sich auch in der (für REST-Interessierte sehr empfehlenswerten) REST-Mailingliste: Zustimmung und Ablehnung scheinen sich in etwa die Waage zu halten.

### Properties in Java

Eine gewaltige Debatte hat JavaSE-Plattform-Chef Danny Corward mit seinem Vorschlag angestoßen, Java um das Konzept von Eigenschaften (Properties) zu erweitern, den Zugriff auf “öffentliche” Attribute also nicht über die JavaBean-Konvention von get- und set-Methoden, sondern über eine spezielle Syntax zu kapseln. Vielfach wird die konkret vorgeschlagene Syntax - ein Pfeil (”->”) wie beim Zeigerzugriff in C++ - kritisiert, so z.B. von Kirk Pepperdine. Weniger syntaktisch, sondern inhaltlich betrachtet Cay Horstmann das Thema. Er zeigt, wie sich 64 Zeilen Code auf 12 zusammenschrumpfen lassen und versucht, die typischen Gegenargumente (”meine IDE generiert die Bean-Methoden für mich”, “Getter und Setter sind sowieso schlechtes Design”) zu entkräften. Elliotte Rusty Harold beschreibt, wie Java Properties aussehen sollten — aber auch, warum man sie seiner Meinung nach gar nicht braucht: Seiner Meinung nach reichen die bestehenden Sprachmittel völlig aus. Zustimmung dazu gibt es von Dave Megginson (Achtung Schockgefahr: Er vergleicht den Vorschlag mit einer kosmetischen Operation und illustriert die Analogie mit einem Bild eines Popstars, das man Minderjährigen lieber ersparen sollte.) Megginsons und Harolds Ansicht nach sollte man aufhören, Java um immer neue Elemente zu erweitern. Wer andere Konzepte will, möge doch einfach eine andere Sprache verwenden. Mike Champion, bei Microsoft für XML-Standards verantwortlich, verweist in einem Kommentar auf die Analogie zu C#: Völlig unwichtig, welche Merkmale Microsoft zu Visual Basic hinzufügt, C#-Entwickler fragen immer nur danach, wann sie diese auch in ihrer Umgebung nutzen können. Wer all den Links gefolgt ist, die unzähligen Kommentare gelesen hat und immer noch nicht befriedigt ist, dem seien die Diskussionen bei InfoQ und JavaLobby empfohlen.

### Microsoft patentiert BlueJ-Ideen (doch nicht)

Wie ernst mittlerweile auch die größten Unternehmen die PR-Wirkung der Weblog-Szene nehmen, hat sich am Beispiel einer Microsoft-Patentanmeldung gezeigt. Michael Kölling von der University of Kent hatte in seinem Blog darüber berichtet, dass Microsoft BlueJ (bzw. dessen Konzepte) patentieren wolle. BlueJ ist eine interaktive Java-Umgebung, die eine sehr einfache, für Anfänger hervorragend geeignete Benutzerschnittstelle bietet und für den Einsatz in der Lehre gedacht ist. Dan Fernandez, Visual C#-Produktmanager, hatte vor geraumer Zeit schon über die in Visual Studio 2005 enthaltene Object Test Bench berichtet. Deren Konzepte zum interaktiven Testen von Objekten weist fatale, um nicht zu sagen peinliche, Ähnlichkeit mit denen in BlueJ auf — was schon damals von den BlueJ-Machern bemerkt wurde (und von Fernandez sogar bestätigt). Nun wurde ein Patentantrag bekannt, mit dem Microsoft die Konzepte auch noch schützen lassen wollte. Wie zu erwarten, stürzte sich die versammelte Anti-Microsoft-Gemeinde auf den Eintrag, inkl. Slashdot-Posting (ein Link von dort hat schon so manchen Web-Auftritt an seine Grenzen gebracht). Es dauerte gerade einmal bis zum darauffolgenden Tag, einem Sonntag (!), bis Microsoft-Managerin Jane Chu Prey sich entschuldigte und ankündigte, den Patentantrag zurückzuziehen.

### Quickies

Für eine ausführliche Behandlung reicht der Platz nicht mehr, aber zumindest erwähnt werden soll noch: das Release von Ruby on Rails 1.2, eine Diskussion über Java auf dem Desktop sowie eine Debatte über die Vor- und Nachteile von XML und JSON.

### Just for fun

Zum Schluss noch etwas weniger Ernstes: Für alle, die auf der Suche nach dem Business Case für SOA sind, bietet sich businesscase.com an: Dort kann man unter dem wunderbaren Namen “Casebuilder SOA” eine fertige Argumentation in Word, eine Business-Case-Kalkulation in Excel und die passende Management-Präsentation zum SOA-Business-Case herunterladen — zum Preis von 149 Dollar! Wenn das kein Angebot ist … und dieses Video, das die Spracherkennung von Windows Vista im Einsatz für die Perl-Programmierung zeigt, sollten Sie keinesfalls ansehen, wenn Sie gerade einen Schluck von Ihrem Kaffee genommen haben.

Den Links (35 an der Zahl) können Sie wie immer in der Online-Ausgabe dieser Kolumne folgen, die Sie unter http://www.sigs.de/blog/js/ finden. Viel Spaß!

Einen Kommentar schreiben

Bitte beachten Sie, dass Kommentare aus juristischen Gründen von der Redaktion gegengelesen und freigegeben werden müssen; die Veröffentlichung von Kommentaren kann sich dadurch verzögern.

*
To prove you're a person (not a spam script), type the security word shown in the picture.
Anti-Spam Image