Ralf Westphals Readers' Digest Nr. 7 ------------------------------------ Liebe Entwickler, rechtzeitig zum Jahresende schaffe ich es doch noch, einen Newsletter herauszubringen. Ich hoffe, für Sie alle war das Jahr 2003 nicht nur erfolgreich, sondern auch technologisch interessant. Und vielleicht habe ich dazu sogar ein wenig mit der von mir empfohlenen Lektüre ein wenig beigetragen. Das würde mich freuen. Für jeden der verbleibenden Tage in diesem Jahr finden Sie nachstehend noch ein paar Schmankerl, bei denen Sie in der mit Leckereien gefüllten Weihnachtszeit einmal nicht auf die Linie achten müssen :-) Ich wünsche Ihnen entspannende Festtage und einen guten Einstieg in das neue Jahr! Ralf Westphal PS: Wenn Sie sich in 2004 gleich einen Kickstart in die zu erwartenden Neuerungen des .NET Framework 2.0 geben wollen, merken Sie sich am besten das Technical Briefing zu .NET 2.0 vor: http://www.ms-adc.de/briefing/index.htm Lesenswerte Artikel ------------------- 19.12. Role Fragmentation - Divide and Conquer - Why IT Administrators Have Become All-Powerful Demi-Gods, Robin Sharp http://www.softwarereality.com/lifecycle/role_fragmentation.jsp Ein Artikel, der vielen Entwicklern aus dem Herzen sprechen sollte! Endlich jemand, der einmal objektiviert, was wir schon lange zum Thema Systemadministration gefühlt haben. 20.12. Nested Grids for Hierarchical Data, Dino Esposito, MSDN Magazine http://msdn.microsoft.com/msdnmag/issues/03/10/CuttingEdge/default.aspx Der Titel sagt es eigentlich: Dino zeigt eine layouttechnisch kompakte Lösung für die Anzeige hierarchischer Daten in ASP.NET-Anwendungen. Eine Darstellungweise, die im Repertoire eines Web-Programmierers nicht fehlen sollte. 21.12. SOAP is Not a Remote Procedure Call, Ingo Rammer http://www.ingorammer.com/ArchitectureBriefings/SoapIsNotARemoteProcedureCall.pdf Mit "Indigo" - der Zusammenfassung von .NET Remoting, .NET Enterprise Services und Web Services in .NET 2.0 - am Horizont motiviert Ingo in seinem Newsletter-Artikel rechtzeitig einen Perspektivwechsel. Eine asynchrone Verarbeitung ist kein Sonderfall von synchroner, sondern umgekehrt. Und genauso ist eine nachrichtenbasierte Verarbeitung kein Sonderfall einer RPC-basierten, sondern umgekehrt. Es lohnt sich daher, die Botschaft des Artikels im Hinterkopf zu haben. Spätestens mit .NET 2.0 sollten wir alle über die Kommunikation in verteilten Anwendungen neu nachdenken. 22.12. Debugging .NET Framework and MS Visual Studio Managed Classes at Run time and Design time, Sumeet Kumar, The Code Project http://www.codeproject.com/dotnet/Debug_Framework_Classes.asp Der Artikel zeigt, wie Managed Code, der zur Designzeit (!) ausgeführt wird, bis hinein in .NET Framdwork Assemblies debuggen kann. Das Debugging zur Designzeit ist vor allem für UserControl-Entwickler interessant. Das Debugging in .NET Fx Assemblies geht jedoch jeden Entwickler an, denn wer tiefer einsteigen will in die Funktionsweise des .NET Fx würde gern beim Debuggen auch Sprünge in Methoden der Standardbibliothek wie System.dll mit Einzelschritten verfolgen. Dass und wie es geht, zeigt der Artikel. 23.12. Improve your "Contract First" Web services development experience: WsContractFirst v0.2 - forget about wsdl.exe, Christian Weyer http://weblogs.asp.net/cweyer/posts/39070.aspx Die Theorie sagt, wenn zwei Komponenten miteinander sprechen sollen, dann muss zuerst ein Vertrag (Kontrakt) zwischen beiden abgeschlossen werden. Der beschreibt die Leistungen (Methoden) und die auszutauschenden Daten. Erst anschließend implementieren beide Komponenten ihren Anteil an dem Vertrag. Gerade die Realität von VS.NET sieht jedoch anders aus: Dort sollen sie zuerst einen Webservice implementieren, d.h. eine Klasse in einer .asmx-Datei schreiben und mit [WebMethod()]-Attributen versehen. Daraus generiert ASP.NET dann on-the-fly einen Vertrag - die WSDL-Datei. Christian Weyer stellt mit seinem Tool WsContractFirst zum Glück die Welt jetzt aber wieder auf die Füße. Es geht von einem WSDL-Vertrag aus und generiert Coderümpfe bzw. Proxy-Klassen. 24.12. Design ASP.NET Pages and Controls That Take Advantage of the DHTML Object Model - Part I: Browser-Sensitive Pages, Dino Esposito, Microsoft http://msdn.microsoft.com/asp.net/using/building/web/default.aspx?pull=/library/en-us/dnaspp/html/DHTMLObjectModel.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/DHTMLObjectModel2.asp Zum Heiligen Abend gleich zwei Artikel: Browserunabhängigkeit ist für viele Web-Anwendungen sehr wichtig. Bei einer Marktdurchsetzung des IE von 70-80% oder in Unternehmensnetzwerken mag dieser Anspruch jedoch unnötig einschränken. Denn warum sollen dort, wo Browser sicher DHTML anzeigen können, nicht deren Fähigkeiten ausgenutzt werden? Dino zeigt in diesen beiden Artikeln, wie Sie Webform-Controls entwickeln können, die das leisten. Eine intuitivere Bedienung und weniger Roundtrips für den Seitenaufbau können die Belohnung sein. 25.12. Let Users Add Functionality to Your .NET Applications with Macros and Plug-Ins, Jason Clark, MSDN Magazine http://msdn.microsoft.com/msdnmag/issues/03/10/Plug-Ins/default.aspx Ein schöner Artikel zum Thema Plug-Ins für eigene Anwendungen. Besonders nützlich sind die Ausführungen zum Thema Security! Denn da eine Anwendung, die Plug-Ins lädt, ein Host für Code ist, sollte darüber nachgedacht werden, wie sie sicherstellt, dass unbekannter Plug-In-Code keinen Schaden anrichten kann. 26.12. Authentication and Authorization, Rockford Lhotka, Microsoft http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnadvnet/html/vbnet10282003.asp Nochmal das Thema Sicherheit: Lhotka erklärt die Grundlagen der Principal- und Identity-Objekte und zeigt, wie sie entweder auf der Basis von Windows User Accounts oder einem eigenen Anmeldemechanismus in Windows- und Web-Szenarien verwendet werden, um eine Anwendung abzusichern. 27.12. Creating Document-Centric Applications in Windows Forms, Part 2, Chris Sells, Microsoft http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnforms/html/winforms10162003.asp Ein hübscher Artikel, der zeigt, wie Sie "Word-artige" Anwendungen realisieren können. Um Anwendungen, die Dokumentendateien verarbeiten (z.B. Kalkulationen, Grafiken, Datenmodelle), für den Anwender intuitiv und "natürlich" (im Sinne seiner Erfahrung mit Word/Excel/Vision etc.) zu gestalten, Bedarf es doch einigen Aufwands. Da gilt es an die Registrierung des Dateityps zu denken, Icons zu hinterlegen, Menüs zu mischen uvm. 28.12. Beyond (COM) Add Reference: Has Anyone Seen the Bridge?, Sam Gentile, Microsoft http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/bridge.asp COM-Interop ist natürlich inzwischen ein alter Hut. Trotzdem fand ich den Artikel wertvoll, denn in der ersten Hälfe enthält er eine kompakte Darstellung der Differenzen zwischen CLR und COM. 29.12. Creating Custom Columns for the ASP.NET Datagrid, Marcie Robillard, Microsoft http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/creatingcustomcolumns.asp Wie erweiterbar der .NET Framework ist, beweist auch dieser Artikel, der zeigt, wie Sie für das ASP.NET DataGrid-Control einen neuen Spaltentyp realisieren können. Marcie implementiert eine Combobox-Control für die Bearbeitung von DataGrid-Spalten. 30.12. Implementing Drag and Drop in Visual Basic .NET, Steve Hoag, Microsoft http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbtchImpDragDrop.asp Der Titel sagt genau worum es geht. Auch wenn Drag&Drop eine oft überbewertete Funktionalität ist, so macht sie doch in manchen Szenarien Sinn und es ist gut zu wissen, wie man sie realisiert. 31.12. An Introduction to C# Generics, Juval Lowy, Microsoft http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/csharp_generics.asp Für den letzten Tag des Jahres ein Ausblick auf .NET 2.0. Eines der am meisten diskutierten neuen Features von C# (und auch VB.NET) sind Generics, d.h. mit Typen parametrierbare Typen. Eine frühzeitige Beschäftigung mit diesem zukünftigen Sprachbestandteil lohnt sich. Lesenswerte Bücher ------------------ Das ASP.NET Codebook, Karsten Samaschke und Stefan Falz, Addison-Wesley http://www.amazon.de/exec/obidos/ASIN/3827320496/ralfwestphalh-21 Das Codebook hat mir gut gefallen, weil es trotz des Ansatzes, "Kochrezepte" für oft gestellte Fragen zu liefern, insgesamt ein hohes Niveau hat. Die behandelten Fragen gehen über das Übliche hinaus. 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.dotnet-magazin.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.) Windows Developer Network, http://www.windevnet.com (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 unregelmäßig ca. alle 2-4 Wochen.