January 23, 2004

OOP 2004 - Lessons Learned

Die OOP 2004 ist für mich zu Ende. Darüber bin ich wie jedes Mal, wenn ich da war, froh. Diese eine Woche ist jedes Mal anstrengend, auch wenn ich immer wieder gerne komme, um all die Leute zu treffen und interessante Vorträge zu hören. Aber nach einer Woche habe ich dann doch heimweh und fühle mich ein wenig erschöpft.

In diesem Jahr zeigte sich für mich recht deutlich, dass die Hypes der letzten Jahre zur Zeit recht abgeflacht sind. Die ersten beiden Tage befürchtete ich, hier dieses Jahr keine Inspiration zu finden und nichts Neues zu lernen. Zum Glück war die Befürchtung unbegründet. Letztendlich habe ich auf dieser Konferenz alles gefunden, was ich mir von einer Konferenz wünschen kann: interessante Gespräche mit Experten, Kontakte mit netten Menschen und den einen oder anderen guten Vortrag.

Leider habe ich auf dieser Konferenz auch zum ersten Mal Pech mit der Auswahl einiger Vorträge gehabt. Üblicherweise wähle ich die Vorträge nach Interesse. Wenn mich zu einer Zeit alles gleich - oder gleich wenig - interessiert, entscheide ich mich für den Vortrag, des vermeintlich besseren Sprechers.

Ich gebe diesen Ansatz ab jetzt auf - bzw. passe ihn an. Als erstes werde ich eine Negativliste befragen, anhand derer ich alle Vorträge von Sprechern dieser Liste streiche. Denn nur aufgrund dieser Konferenz kann ich bereits eine beeindruckende Negativliste zusammenstellen.

Auch wenn mein Kollege Stefan anderer Meinung ist, halte ich nichts davon, solche Negativlisten zu veröffentlichen. Wie heisst es so schön? Papier ist geduldig. Oder: wer schreibt, der bleibt. Ich glaube daran, dass jemand, der dieses Jahr eine extrem schlechte Präsentation - ohne Inhalt, Struktur oder Fachwissen - gemacht hat, im nächsten Jahr durchaus eine gute Präsentation halten kann. Also warum sollte ich dann jemanden mit einem Schandfleck belegen, den er selbst nicht mehr los werden kann?

Die meisten Sprecher auf solchen Konferenzen sind diesbezüglich Amateure - und das finde ich gut. Einen professionellen Sprecher würde ich anders beurteilen und auch negative Kritik veröffentlichen. Denn wir leben alle in einem Umfeld, in dem wir beruflich bewertet werden und deren Konsequenzen zu spüren bekommen.
Es ist mir lieber, jemand mit Fachwissen und Projekterfahrung spricht recht unvorbereitet, weil er durch seine Arbeit beansprucht ist und diese höher stellt, als jemand, der eine ausgefeilte Präsentation liefert und sich gut präsentiert, aber im Projekt nichts leistet. Solche ruhen sich dann nämlich auf den Schultern anderer aus.

Das Gespräch mit einem ehemaligen Kollegen hat mir geholfen, meine Erwartungen an die Konferenz zu reflektieren. Er leitet neuerdings selbst ein Unternehmen und bewegt sich ebenfalls im MDA-Umfeld.

Posted by Phillip Ghadir at 12:42 PM | TrackBack

OOP 2004 - WebServices und MDA im Bankenumfeld

Kristijan Cvetkovic und ich haben gemeinsam einen Erfahrungsbericht auf der diesjährigen OOP präsentiert. Gemäß des engen Zeitrahmens verzichteten wir darauf, Details und technische Grundlagen zu erläutern, sondern konzentrierten uns auf den fachlichen und technischen Kontext und die Lehren, die wir aus der vergangenen Arbeit ziehen konnten.

Insgesamt haben wir möchten uns sehr für das positive Feedback bedanken. Einige haben gebeten, die Präsentation auch ins Netz zu stellen. Sie können die Folien als PDF hier herunterladen.

Posted by Phillip Ghadir at 10:53 AM | TrackBack

OOP 2004 - Empfehlungs-Engine

Stefan Richter hat in seinem gelungenen Vortrag verschiedene Ansätze vorgestellt, mit denen ein Sofwtare-System automatisiert Empfehlungen aussprechen kann, wie man es beispielsweise von Amazon her kennt. Im Vortrag hat er eine vereinfachte experimentelle Implementierung im Code und in der Anwendung gezeigt. Seine Präsentation der Algorithmen und die Demonstration der Ergebnisse war sehr interessant und hat mich inspiriert.

Leider gab es zu dieser Präsentation keine Unterlagen.

Posted by Phillip Ghadir at 9:42 AM | TrackBack

OOP 2004 - Aspect Oriented and Meta Programming with AspectJ

Ich habe mir wieder einmal etwas über die Aspektorientierte Entwicklung angehört - diesmal von Craig Larman vorgestellt. Ich würde sagen, dass es einer der wenigen Vorträge war, bei denen ich noch etwas gelernt habe. Interessant fand ich, die AspectJ-Unterstützung von Eclipse life zu sehen. Mit Eclipse ist die aspectorientierte Entwicklung sehr natürlich in die objektorientierte integriert. Ein Compile-Aufruf genügt, um sowohl zu kompilieren als auch die Aspekte anzuwenden. Im Eclipse-Editor sieht man sogar, auf welchen Pointcuts welche Aspekte angewendet sind.
Unabhängig von Eclipse gefällt mir das Feature von AspectJ, Restriktionen einzufügen, die bereits zur Kompilierzeit überprüft werden und Warnungen oder Fehler ausgeben können. Mit diesem mächtigen Mittel kann man doch sehr leicht Architekturregeln in manuell erstelltem Code überprüfen.
Insgesamt fand ich den Vortrag sehr gut.

Posted by Phillip Ghadir at 9:29 AM | TrackBack

January 21, 2004

OOP 2004 - Architect's Nightmare

Ein Lichtblick an dem düsteren Tag. Obwohl die OOP erst so kurz läuft, bin ich beinahe versucht, die Veranstaltung vor dem Ende zu loben. Der Vortrag gefiel mir so gut, wie kein anderer auf der Konferenz. Gernot Starke hat die Geschichte von einem kleinen Startup berichtet, der ein Stück Software mit Hilfe von Beratern - marktgetrieben - immer weiter aufblähen musste, bis die Software nur noch zu 5% aus Anwendungslogik und 95% Infrastruktur bestand.

Sehr Eindrucksvoll fand ich die Metapher von dem Kinderzimmer mit Ernie, in dem wir ausgebildet werden, um dann vor den Tiger in die Wildnis zu treten und die Probleme der Welt zu lösen.

Gernot Starke hat sich in den letzten Jahren noch gesteigert. Ich bin gespannt, ob ich am Ende der OOP einen Vortrag gehört haben werde, der mir besser als dieser gefallen haben wird ...

Posted by Phillip Ghadir at 12:04 AM | TrackBack

January 20, 2004

OOP 2004 - der zweite Tag

Der zweite Tag fing schon schlecht an. Ich erspare mir eine Zusammenfassung oder einen Kommentar meiner zu erst gehörten Vorträge. Insgesamt waren sie pure Zeitverschwendung. Ich habe auch im Anschluss niemanden getroffen, der sich informiert oder unterhalten gefühlt hätte. Ich muss zugegeben, dass ich mich geärgert habe, den Vormittag so sinnlos vertrödelt zu haben. Die Liste der Sprecher werde ich zumindest innoQ-intern weitergeben, um meinen Kollegen langweilige Präsentationen zu ersparen. Publizieren werde ich die Namen nicht, um ihre Rechte nicht zu verletzen. Sie werden hoffentlich von der Organisatoren Feedback bekommen.

Posted by Phillip Ghadir at 11:49 PM | Comments (1) | TrackBack

OOP 2004 - Service-orientierte Architektur - Komplexitätsmanagement durch Integration

Johannes Helbig hat sehr schön die Situation und die Herausforderungen jedes CIO eines großen Unternehmens beschrieben. Dabei bewegte er sich auf dem sehr abstrakten Level eines Managers ohne den Bezug zur Technik zu verlieren. Ich hätte gern noch mal die Chance, mit ihm über sein Fazit zu diskutieren. Seine Aussage ist, dass sie Service-orientierte Architektur erfolgreich verwenden und dabei die Entwicklung von Fachbereich projektbezogen treiben. Bei den Ausführungen würde ich mittelfristig erwarten, dass die Zahl der Abhängigkeiten zu beliebigen Services im Laufe der Zeit so ansteigt, dass man dann wieder vor den gleichen Problemen wie ursprünglich steht. Hier sehe ich nicht, welche Vorkehrung zur Vermeidung von wachsender Komplexität getroffen wurden.

Die Diskussions-Möglichkeit ergab sich aufgrund des Andrangs heute leider nicht mehr.

Posted by Phillip Ghadir at 9:55 PM | TrackBack

OOP 2004 - UML 2.0 Überblick

Für mich begann die OOP mit dem UML 2.0 Tutorial von Gernot Starke, Peter Hruschka, Chris Rupp und Christiane Gernert. Mir hat es sehr gut gefallen und meinen Erwartungen entsprochen. An manchen Stellen hätte ich mir größeren Detailierungsgrad gewünscht, den die Sprecher aber nicht hätten liefern können. Sie haben die einzelnen Bereiche untereinander geschickt aufgeteilt und dennoch ihre persönlichen Eindrücke diskutiert.

Wenn ich das Gehörte zusammenfasse und mit meiner persönlichen Meinung färbe, ergibt sich folgendes. Die UML 2.0 ist aufgrund ihrer Trennung in Kern und Erweiterungen besser fundiert als die Vorgänger-Versionen. Es ist fraglich, wieviel Nutzen diese bessere Fundierung dem gemeinen Modellierer bringt. Allerdings merkten die Sprecher an, dass die Intention der Spezifikation nicht mehr so einfach zu entnehmen ist. Wahrscheinlich werden wir in Zukunft eine Reihe unterschiedlicher Interpretationen der Spezifikation in Form verschiedener nicht kompatibler Implementierungen sehen. - Falls die Hersteller UML 2.0 wirklich annehmen. - Laut Vortrag hat heute praktisch kein großer Modellierungswerkzeug-Hersteller konkrete Umsetzungspläne - mit zwei Ausnahmen: Aeonix und Telelogic.

Zur UML 2.0 selbst ist anzumerken, dass sich die Neuerungen im wesentlichen auf den dynamischen Teil beschränken. Das ist nicht sonderlich verwunderlich, da die statische Modellierung bestens erprobt ist. Positiv finde ich, dass die UML in der zweiten Version nicht mehr so stark Diagramm-zentriert wie die erste Version ist. Deshalb ist es eigentlich erstaunlich, dass es jetzt noch mehr Diagrammtypen gibt: 13 anstelle von 9. Die neuen Typen sind Übersichtsdiagramme sowie das Zeitablaufdiagramm. Innerhalb eines Diagrammtyps gibt es verschiedene syntaktische Konstrukte, um den gleichen Sachverhalt auszudrücken, z.B.: "Ball/Sockets" und "provided-/required-Interfaces". Und umgekehrt gibt es in der UML gleiche Konstrukte für semantisch verschiedene Dinge; beispielsweise sind in UML 2.0 Zustände und Aktivitäten semantisch zwei verschiedene Dinge - mit gleicher grafischer Darstellung. Das wäre kein Problem, wenn es in UML 2.0 nicht ausdrücklich erlaubt wäre, u.a. Sequenz-, Zustands-, und Aktivitätssichten in einem Diagramm zu mischen. Ich persönlich finde, das ist eine Katastrophe. Ich kann mir das nur mit der Vielzahl der Köche erklären, die gemeinsam den UML 2.0 Brei gekocht haben.

Eines gefällt mir allerdings gut: durch die verbesserte Fundierung der UML ist es jetzt möglich, beliebige Modellelemente in den verschiedenen Diagrammtypen zu verwenden, zu packetieren und zu referenzieren. Daruber ist auch ein Einbinden von Diagrammen in andere möglich. Leider ist damit der Weg frei, den Überblick über modellierte Systeme zu verlieren. Ich bin gespannt, wie hier die kommende Werkzeugunterstützung aussehen wird.

Das persönlich spannendste Thema war für mich das Mischen von Packages. Peter Hruschka sagte selbst, dass er selbst nach mehrmaligen Lesen und Darüber-Nachdenken die Semantik noch nicht wirklich begriffen hat. Dennoch wird dieses UML-2.0-Feature intensiv für die Definition von UML 2.0 selbst verwendet. Das ist ein Punkt, den ich mir in den nächsten Tagen auf jeden Fall noch anschauen werde.

Und ich schließe mit den Worten der Vortragenden: "UML 2.0? Ja, das Baby ist da."

Posted by Phillip Ghadir at 10:41 AM | TrackBack

January 19, 2004

OOP 2004

Die OOP hat heute begonnen. In den folgenden Tagen protokolliere ich hier meine Eindrücke von der Konferenz.
Ich tue das in Deutsch, weil es mir deutlich leichter fällt, simultan in der Sprache zu protokollieren, in der auch der Vortrag gesprochen wird.

Posted by Phillip Ghadir at 10:34 AM | TrackBack