JSR-286 - die Zukunft der Portlet-API
Gregor Ottmann | Mai 8, 2007 on 9:18 am | In Aktuelles, Know-How |Die Kollegen bei Sun haben, wie jeder andere Hersteller, nicht immer ein glückliches Händchen bei der Spezifikation von Standards. Während beispielsweise die Servlet-Spezifikation durchaus rockt und auch die XML-Funktionen nicht wirklich übel sind, war EJB von Anfang an eher eine Totgeburt, die auch durch den dreisten Klau von Ideen bei Spring und Hibernate in EJB3 nicht sehr viel weniger komisch riecht als vorher. Wenn man mich aber fragt, welches die bisher lausigste API war, die jemals durch den JCP gerutscht ist, würde ich sofort JSR-168 nennen. Die Portlet-Spec, jene diabolische API aus den tiefsten Tiefen jener Spezialhölle, in der Elternmörder und Kinderschänder ewig braten.
Um Abmahnproblemen durch Leute ohne genaue Peilung vorzubeugen: Selbstverständlich halte ich keinen der JSR-168-Entwickler für einen Elternmörder oder Kinderschänder, ich halte nur den für alle Ewigkeit andauernden Zwang zur Verwendung dieser JSR für eine durchaus geeignete Maßnahme zur Bestrafung besagter Subjekte.
Keine Schmähung sollte ohne Begründung bleiben, und so möchte ich kurz darstellen, warum ich JSR-168 so hasse: Sie ist kompliziert, die Spezifikation liest sich so unterhaltsam wie mein letzter Steuerbescheid und es ist einem verdammten Portlet nicht möglich, verdammte Ressourcen auszuliefern, so dass schon die verdammte Implementierung eines verdammten Wetterportlets mit einer verdammten Wolkengrafik darin zu einer verdammten Strafe wird. Wen man damit strafen könnte, habe ich oben schon erwähnt.
Wie schon bei EJB zeigt Sun sich aber gnädig und arbeitet an einer neuen Version des Standards. Die erste Version der JSR-268 (Portlets 2.0) kann man sich auch schon besorgen und sie sich zu Gemüte führen, wobei sofort einige Dinge auffallen:
- Portlets können jetzt auch Ressourcen ausliefern, hurra!
- Portlets dürfen miteinander kommunizieren, statt isoliert und sozial verarmt in ihrem Container abzuhängen - Events machen es möglich.
- Viele Punkte, deren definitorische (gibt es das Wort?) Klarheit in der ersten Spezifikation in Richtung Milchglas oder gar Milchreis tendierten, sind deutlich präziser Formuliert.
- Der Zugriff auf User-Informationen ist immer noch in einer Weise spezifiziert, die mir das Wort “*$§&/!” entlockt.
- Mein Steuerbescheid lässt immer noch größeres schriftstellerisches Talent beim Autor vermuten als die Spec.
Wie dem auch sei, die Spezifikation ist ja noch nicht fertig und der gute Wille seitens Sun ist deutlich erkennbar, das ist ja schon mal ein Anfang. Vielleicht wird ja doch noch was aus den Java-Portlets und wir müssen nicht alle auf Sharepoint umschwenken, wo man derzeit meiner Meinung nach deutlich stressfreier zum Ziel kommt.
2 Kommentare »
RSS-Feed für Kommentare zu diesem Beitrag.
Eintrag vornehmen
You must be LOGGED IN um einen Kommentar zu erstellen.
Entries and comments feeds.
Valid XHTML and CSS. ^Top^
:RSS2-Feed
Hallo Gregor,
ich bin über Google auf diesen Beitrag gestoßen und hätte da mal ne Frage.
Du schreibst, dass Porlets erst ab der API2.0 miteinander kommunizieren können. Stimmt das so? Ist die IPC-Funktionalität nicht schon ab 1.0 gegeben? Immerhin wird doch damit geworben, dass die IPC ein klarer Vorteil gegenüber Servlets sei? Wäre super, wenn du hier ne Antwort geben könntest. Oder gerne auch per Mail an [Mailadresse vom Admin wegen Spamgefahr wegzensiert]
Viele Grüße
Stephan
Kommentar von Stephan Watermeyer — Juni 5, 2007 #
Offen gestanden weiß ich es nicht genau genug, um eine zitierbare Antwort abzugeben. Zumindest ist es aber so, dass in der 2.0-Spec damit geworben wird, dass das jetzt funktionieren soll - und zwar ohne proprietäre Erweiterungen, wie sie wohl bisher in diversen Portalservern existieren.
Allerdings haben wir hier schon mal einen kleinen Portalserver anhand der 1.0-Spec implementiert, und in dem gab es definitiv kein IPC. Ich bilde mir ein, dass das keiner der Punkte war, die wir auf unserer Liste der nicht-umgesetzten Features hatten, folglich hätte es sowas in der 1.0 nicht gegeben.
Kommentar von Gregor Ottmann — Juni 5, 2007 #