Donnerstag
Das war bisher wohl der beste Tag aus meiner Sicht, vollgestopft mit überwiegend guten Sessions. Morgens war wieder Anders Hejlsberg angesagt, diesmal mit dem Thema Linq to SQL. Zwar hatte ich schon in einer stillen Stunde mal die CTPs runtergeladen und ausprobiert, aber aus Zeitgründen nicht wirklich viel machen können. DIe Ex-DLinq Sachen sehen wirklich, wirklicht gut aus, trotzdem gibt es da gerade in Bezug auf den Einsatz in Enterprise Systemen (was immer das genau heisst) doch noch einige offene Fragen. Natürlich wird es geradezu trivial, eine Datenbank abzufragen, aber ähnlich wie bei ASP.NET 2.0 liegt in der Einfachheit auch gleichzeitig eine große Schwierigkeit: je weniger der Entwickler weiss, was er tut, um so mehr wird es fraglich, ob seine Applikation z.b. wirklich gut skaliert. Z.b. ist der massvolle Einsatz von locking hints durchaus gerechtfertigt, aber dafür muss man wissen, was man tut. Sauberes DB Design mit vernünftiger, applikationspezifischer Denormalisierung ist halt mit einem Auto-Generation Tools nicht einfach (oder nicht möglich), wenn man einfach aus Business Objekten per Knopfdruck eine DB macht. Von der sauberen Indexierung, die meist ja vom Nutzungsprofil abhängt, mal ganz zu schweigen. Trotzdem ist heutzutage ein OR Mapper Tool wie Vanatec, Wilson ORMapper oder auch die ADO.NET Linq to SQL oder Entity Geschichten nicht nur sinnvoll, sondern für viele Applikation gradezu notwendig. Und die Implementierung auf Basis der neuen C# 3.0 Features wie Expression Trees könnte wirklich ein großer Wurf werden, wenn die o.g. Fragen (und andere) im Laufe des nächsten Jahres geklärt werden (denn die Version wird mit Sicherheit im Orcas Timeframe herauskommen, nicht früher, und das heisst eher Anfang 2008 als Ende 2007...).
Als nächstes hat der GC PM (Program Manager für die Garbage Collection) Claudio Caldato eine Whiteboard Session über Performance von Managed Code gehalten. Hier gab es sehr viele nütztliche Anworten auf Fragen aus dem Altag. Gut gefallen hat mir, dass es keine Agenda oder PPT gab und nur Fragen aus dem Publikum durchgenommen worden sind. Danach gab es eine schöne Whiteboard Session zum Thema Atlas von Matt und Ellion in Vertretung des leider erkrankten Nikhil. Da wir ja in der Atlas Deploy Gruppe von Microsoft sind, gab es hier nicht viel neues für mich, aber interessant war es trotzdem, da hier und da mal ein wenig aus dem Nähkästchen geplaudert wurde. Danach war "uns" Neno Loje dran und zwar mit TFS Best Practices. Wenngleich einige anwesende Zuhörer wohl etwas enttäuscht waren, dass nicht mehr Basics (Einrichtung, Aufbau, erste Schritte) gezeigt worden sind, so war ich für meinen Teil eigentlich schon sehr zufrieden, da die Extensibility im Vordergrund stand. Natürlich war es keine echte Whiteboard Session, aber so what!? - TFS ist natürlich nicht die Art Tool, die einem nach dem Setup sofort glücklich macht, aber das liegt in der Natur der Sache. Jetzt habe ich zumindest ein paar Tipps für mögliche Eingriffspunkte mit genommen.
Als letzte Session habe ich mir Dominique Baiers Security Talk angesehen, der mir ebenfalls sehr, sehr gut gefallen hat. Auch hier waren mir viele Punkte schon bewusst, aber natürlich ist es nicht immer einfach, alle diese Bereiche ständig vollständig im Auge zu haben. Das ist sicherlich eher eine fortlaufende Arbeit und weniger eine einmalige Kraftanstrengung. Ich denke, mit dem Grundgedanken "Security is a Feature!" werde ich mal ein paar hausinterne Schulungen anregen.
Jetzt brauche ich noch dringend etwas zu Essen (und wenn Christian nicht bald anruft, muss der Hotelservice herhalten) und dann geht es früh ins Bett. Morgen ist der letzte Tag und das heisst für mich, ATE (Ask-the-expert) von Morgens bis Abends. Wer also Lust hat, mich auf dem IIS/IE Stand zu besuchen, nur zu! - Bring 'em on ;)