Ralf Westphals Readers' Digest Nr. 3 ------------------------------------ Liebe Entwickler, die Menge der Veröffentlichungen zum Thema "Softwareentwicklung auf der Microsoft Plattform" ist angesichts der Zahl von Zeitschriften, Büchern und Web-Sites kaum noch für den in immer dringende Projekte eingebundenen Entwickler zu bewältigen. Da es zu meinem Job als Softwaretechnologievermittler und Microsoft MSDN Regional Director gehört, viel zu lesen, habe ich mir überlegt, ob und wie ich in dieser Situation helfen kann. Meine Antwort: Statt durch Artikel oder Buch zur Informationsflut selbst beizutragen, möchte ich in diesem Newsletter einmal auf Lesenswertes, bereits Geschriebenes in verschiedenen Medien hinweisen. Meine Auswahl ist natürlich subjektiv und enthält nur, was mir persönlich positiv aufgefallen ist - vielleicht hilft sie Ihnen ja aber doch ein wenig bei der Bewältigung des Zeitschriften- und Bücherstapels. Ich wünsche viel Spaß beim Lesen! Ralf Westphal Freier Autor und Berater Microsoft MSDN Regional Director www.ralfw.de Lesenswerte Artikel ------------------- *.NET Remoting Use-Cases and Best Practices, Ingo Rammer http://www.ingorammer.com/RemotingFAQ/RemotingUseCases.html Sehr handliche, pragmatische Übersicht darüber, welche .NET Remoting Features in welchen Szenarien eingesetzt werden sollten - und welche nicht. *Backwards Breaking Changes from version 1.0 to 1.1, gotdotnet.com http://www.gotdotnet.com/team/changeinfo/Backwards1.0to1.1/default.aspx Wenn Sie vom .NET Framework 1.0 auf die Version 1.1 umsteigen, z.B. weil Sie VS.NET 2003 nutzen wollen, dann kann es Ihnen passieren, dass Code, der eben noch lief, plötzlich zu Fehlern führt. Der Grund: Er nutzt ein 1.0 Feature, dessen Verhalten für die Version 1.1 so verändert wurde, dass keine Rückwärtskompatibilität gegeben ist. Der Artikel listet all diese Änderungen am .NET Fx 1.1 inkl. möglicher Workarounds. *Simple Binding http://noiseehc.freeweb.hu/SimpleBind.html Eine der wenigen tiefergehenden Beschreibungen des WinForms Data Binding. Kein sehr schönes Englisch, nicht wirklich hübsch strukturiert, aber wer nach Informationen sucht, wie Data Binding unter der Haube funktioniert, kann hier mal reinlesen und zumindest ein paar Hinweise bekommen. Der Text fasst Aspekte zusammen, die in der Microsoft Doku nur sehr verstreut stehen. *Unify the Role-Based Security Models for Enterprise and Application Domains with .NET, Juval Lowy, MSDN Magazine May 2002 http://msdn.microsoft.com/msdnmag/issues/02/05/RoleSec/default.aspx Rollenbasierte deklarative Sicherheitsprüfungen sind der Stand der Technik für die grundsätzliche Autorisierung von Aufrufen auf Komponenten. Der Artikel zeigt, wie die unterschiedlichen Implementationen dieses Konzepts von .NET Framework und Enterprise Services vereinheitlicht werden können. *Getting Back Your Visual Basic 6.0 Goodies, Billy Hollis, MSDN Online http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnadvnet/html/vbnet05132003.asp Für die Freunde einiger VB6-Features wie Control Arrays, Forms Collection und Controls Collection: Billy Hollis zeigt, wie sich diese Features in VB.NET realisieren lassen. *XPath Querying Over Objects with ObjectXPathNavigator, Steve Saxon, MSDN Online http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/html/xml03172003.asp Daten aus Datenbanken mit SQL auszuwählen ist simpel. Daten aus Datenstrukturen in-memory auszuwählen aber nicht. Für Objektlisten und -hierarchien gibt es keine Abfragesprache. Oder doch? Aus einem XML DOM können Sie mit Xpath Daten auswählen. Aus einem DataSet können Sie Daten aus einer Tabelle mit einfachen Query-Ausdrücken über Select() auswählen - oder durch die Brille eines XmlDataDocument ebenfalls mit Xpath. Wie aber steht es mit Ihren eigenen Objektmodellen, den Kundenobjekten in einer ArrayList, den Produktgruppen und Produkten in einer Hierarchie? Der Artikel zeigt, wie beliebige Objektbäume ebenfalls mit Xpath abgefragt werden können. Ein sehr schönes Beispiel dafrü, wie Microsoft beim Entwurf der Klassenbibliothek des .NET Framework vorausgedacht und Erweiterbarkeit eingeplant hat. *Tailor Your DataGrid Apps Using Table Style and Custom Column Style Objects, Kristy K. Saunders, MSDN Magazine 8/2003 http://msdn.microsoft.com/msdnmag/issues/03/08/DataGrids/default.aspx Schöner, handlicher Überblick über das unterrepräsentierte Thema Databinding an DataGrid-Controls in WinForms UI. Es wird eine nicht triviale Datenhierarchie (1:n und n:1 Beziehungen) an mehrere, synchronisierte DataGrid-Controls gebunden, das Layout "hübsch" gemacht und auch ein neuer Spaltentyp (gebundene Combobox) realisiert. *Auto-Deploying Windows Forms .NET Applications: The Revenge of the Fat Client, Hector J. Correa, CoDe Magazine 8/2003 http://www.code-magazine.com/Article.aspx?quickid=0307061 Noch ein Blick auf das Thema no-touch Deployment, das im letzten Readers´ Digest mit einem Schwerpunkt vertreten war. Interessant an diesem Artikel sind die Abschnitte zu den Security Einstellungen. *Running Secure Mobile Code, Brian A. Randell, MSDN Online USA http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbcodeaccess.asp Auch dieser Artikel geht auf das wichtigste Thema beim no-touch Deployment ein: Security. In manchen Belangen ist er ausführlicher/grundlegender als der vorstehende Artikel von Hector Correa. Beide zusammen sind eine gute Lektüre zum Thema. Am Ende bleibt als wesentliche Frage jedoch: Wie bekommt man die als notwendig erkannten Security-Einstellungen am effizientesten auf einen Client-Rechner? Dabei ist zwischen sehr kontrollierten Intranets mit festen Client/Nutzer-Server-Beziehungen und ad-hoc Beziehungen im Internet zu unterscheiden. *Hierarchical Data Binding in ASP.NET, Fritz Onion, MSDN Online USA http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/ASPN-HierDataBinding.asp Pragmatische Übersicht zum Thema Bindung von Datenbäumen. Es ist gar nicht so schwer, wie gedacht. Fritz Onion behandelt sowohl eigene hierarchische Objektmodelle wie DataSets und XML. Die meisten Beispiele zeigen eine Bindung an ein Repeater-Control. Die Bindung an ein DataGrid kommt leider zu kurz im Text - aber dafür gibt es den Beispielcode. Lesenswerte Bücher ------------------ *Software for your Head, Jim McCarthy et al., Addison-Wesley 2001 http://www.amazon.de/exec/obidos/ASIN/0201604566/ralfwestphalh-21 Schöne Tools sind eine feine Sache. Aber wie steht es mit den Menschen in Softwareprojekten? Projekte (oder sogar allgemeiner: jede Art von Beziehungen zwischen Menschen) leiden darunter, wenn die Kommunikation zwischen den Beteiligten nicht funktioniert. Das Buch bricht eine Lanze dafür, genau diese Kommunikation zu verbessern. Es packt sozusagen das Problem bei der Wurzel: Solange Projektteams ungenügend kommunizieren, sich nicht einig sind, Missverständnisse und fehlendes Commitment immer wieder Sand ins Getriebe streuen, solange können Softwareprojekte nicht vorteilhaft verlaufen. Zur Lösung dieses Dilemmas setzen die Autoren auf die Etablierung von "Kommunikationsprotokollen zwischen Menschen" (daher auch der Untertitel des Buches: The Core Protocols). Ich finde es sehr, sehr interessant, wegweisend, provokant - und das nicht nur für den "Beziehungsstress in der Firma". Web Sites von Magazinen für .NET Entwickler ------------------------------------------- ASP.NET Professional, http://www.aspnet-professional.de/ CODE Magazine, http://www.code-magazine.com (engl.) DNJ, http://www.dnjonline.com/ (engl.) dot.net Magazin, http://www.dotnetpro.de/ dotnetpro, http://www.dotnetpro.de/ MSDN Magazine, http://msdn.microsoft.com/msdnmag/ (engl.) .NET Developer´s Journal, http://www.sys-con.com/dotnet/index.cfm (engl.) ================== Sie erhalten diesen Newsletter, weil Sie mit mir auf die eine oder andere Weise persönlich Kontakt hatten, z.B. durch ein Gespräch auf einer Konferenz oder durch eine Anfrage per Email oder durch eine explizite Registrierung. Ich hoffe, Sie empfinden den Newsletter daher als positive kostenlose Dienstleistung. Sollte das nicht der Fall sein, deregistrieren Sie sich bitte jederzeit durch einen Reply auf den Newsletter mit einem Betreff wie "Deregistrierung" oder "Abmeldung". Anmeldungen für den Newsletter sind natürlich auch jederzeit möglich. Am besten durch eine Email an readersdigest@ralfw.de mit einem eindeutigen Betreff wie "Registrierung" oder "Anmeldung". Sollten Sie Anregungen für die Gestaltung des Newsletter haben, freue ich mich auf eine Email von Ihnen an readersdigestfeedback@ralfw.de. Der Readers' Digest erscheint periodisch ca. alle 14 Tage.