Heute ist für Tosten und mich der letzte Tag auf der OOP 2006. Morgen geht es noch weiter mit Tutorials, die wir aber nicht belegt haben.
09:00 Uhr
Heute beginnt der Tag mit dem Vortrag "Eclipse Web Tools" von Jochen Krause. Jochen ist Commiter der WTP und kann aus erster Hand berichten. WTP gliedert sich in eine Tools Platform, den Web Standard Tools und den J2EE Standard Tools. Darüber hinaus gibt es noch sogenannte Technology Projects, eine Art "Incubator" für noch "experimentelle Projekte" ohne verbindliche Erfolgsaussage. Dazu gehört z.Zt. nur das JSF-Tooling-Projekt, dass in erster Linie von Oracle vorangetrieben wird. Es gibt auch zwei Technology Projects "EJB 3.0 Tooling" - eins von Oracle getrieben - die allerdings noch nicht zu den Web Tools gehören.
Gesamteindruck der WTP: eher durchwachsen. Man sieht deutlich, dass es als Platform für Third Party Entwicklung, nicht aber als Toolset für die "ernsthafte" Entwicklung von Projekten gedacht ist. (Auch wenn einige Komponenten schon richtig gut zu sein scheinen, wie z.B. der XSD-Editor.) Laut Aussage von Jochen Krause bauen aber immer mehr Eclipse-basierter Toolsets auf dem WTP auf, wie z.B. die IBM-Tools, die Tools von BEA oder auch Exadel.
11:15 Uhr
Keynote "Quo Vadis Microsoft?" von Dirk Primbs - wieder mal ein "Werbevortrag" eines großen Vendors. Fazit: .Net im fünften Jahr ist ein voller Erfolg und zieht sich von Handheld bis Serversystem, Windows 2003 verspricht ein großer Erfolg zu werden und mit MS Visual Studio 2005 wird bisher unerreichte Produktivität bei der Entwicklung möglich. Tatsächlich machen aber die hochintegrierten und durchgehend modellbasierten Ansätze - Stichworte Domänenspezifische Sprachen und Softwarefabriken - einen sehr vielversprechenden Anschein. Muss man im Auge behalten!
12:15 Uhr
Mittagessen und ein Spaziergang im Sonnenschein. Die frische Luft tut gut, wir tanken Energie für den Nachmittag.
13:40 Uhr
Björn Müller von der Software AG - ehemals Casabac - ist gerade mit seiner Präsentation von Casabac GUI Server durch. Eigentlich nichts neues - das Produkt gibt's schon seit einigen Jahren mit im wesentlichen gleichbleibender Funktionalität - ist aber jetzt aufgrund des allgemeinen AJAX-Hype richtig "in". Das OOP-Forum im Bereich der Ausstellung war auf jeden Fall sehr gut besucht.
13:45 Uhr
Sehr interessanter Vortrag von Prof. Johannes Siedersleben über "Die Crux großer und kleiner Software-Architekturen": Nichtfunktionale Anforderungen. Im ersten Teil berichtet er über weitestgehend bekannte Techniken der reaktiven Qualitätssicherung wie Unittests, automatisierte Builds (CruiseControl), Softwaremetriken und Codeanalysetools. Interessante Idee: Auswertungen dieser Art in einem Projekt Data Warehouse zu sammeln, um Änderungen verfolgen zu können. So haben Studenten von Siedersleben z.B. eine Tool basierend auf JUnit gebaut, dass Zeiten bei der Ausführung von JUnit-Tests mist. An sich nicht unbedingt hilfreich. Die Idee ist aber, die Zeiten über den Projektverlauf zu sammeln und so direkt auf Änderungen (Tests, die bisher 3 Sekunden dauerten, dauern "plötzlich" 30 Sekunden) aufmerksam zu werden. Inovativer waren die Ideen im zweiten Teil. Zunächst unterscheidet Siedersleben zwischen Anwendungsfunktionen (den fachlich geforderten Features), funktionalen Anforderungen (Logging, Persistenz, Exception Handling, GUI, ... - Dinge die man in ein System einbauen kann) und nichtfunktionalen Anforderungen (Performance, Robustheit, Erweiterbarkeit, ... - Dinge, die ein System auszeichnen, die man aber nicht als Feature "einbauen" kann). Die Idee ist dann, mit einem minimalen System, dass die Anwendungsfunktionen abdeckt, zu beginnen, und dann die funktionalen Anforderungen nach und nach einzubauen - und nicht alle wie z.Zt. üblich von Anfang an immer zu berücksichtigen. Dabei kann man dann nicht nichtfunktionalen Anforderungen kontinuierlich kontrollieren. Hier stellt sich dann die Frage, wie man Code transformieren oder anreichern kann, so dass sich hinsichtlich der Anwendungsfunktionen nicht ändert, aber neue funktionale Anforderungen bekommt. Möglichkeiten sind Codegenerierung, Aspektorientierung, Byte Code Enhancement und weiteres. Mich persönlich würde interessieren, welche Möglichkeiten hier die Konzepte der Metaprogrammierung - wie z.B. bei Ruby on Rails angewendet - dabei bieten könnten...
15:15 Uhr
"Impossible Design - Ultra-Large-Scale Systems" lautet der Titel der Keynote von Richard P. Gabriel von den Sun Laboratories. Ein extrem visionärer Vortrag, den ich zugegebenermaßen nicht wirklich verstanden habe. Man stelle sich ein System vor, so umfangreich wie z.B. die gesamte IT-Infrastruktur Deutschlands. Mit einer Lebenszeit von 25 bis 50 Jahren. Permanente Änderungen der Anforderungen und Funktionen. Umbauten ganzer Systemteilen im laufenden Betrieb? Wie kann so ein System überhaupt entstehen? Dafür müssen ganz neue Konzepte her. Viele Ideen stammen aus Beobachtung der Natur. Wie funktionieren Bioorganismen? Wie koordinieren sich Termitenstämme? Müssen Programme immer fehlerfrei sein? Braucht man nicht vielmehr Konzepte von tolerierbaren und nicht tolerierbaren Fehlern? Und vieles mehr, dass ich wie gesagt nicht wirklich verstanden habe. Überraschen war auf jeden Fall der Schluss: Viele Fragestellungen gelten nicht nur für Ultra-Large-Systeme, sondern auch für die Systeme, die wir heute entwickeln. Science Fiction und ein Blick auf die Zukunft der Softwareentwicklung?
16:45 Uhr
Schnell noch dieses Posting rausschicken und dann in den letzten Vortrag für heute: Jürgen Höller spricht über das Springframework. Neben Rod Johnson einer der Mitbegründer dieses wichtigen Open Source Projekts. Bin schon sehr gespannt...