dotnetpro 12/2004
Hier finden Sie alle bisher erschienenen Ausgaben und Artikel der dotnetpro.
Als Abonnenent können Sie alle Artikel online abrufen und die zugehörigen
Quelltexte herunterladen.
Sie sind noch kein Abonnent? Dann wird es aber Zeit!
Weiter zur Abo-Bestellung.
Sie haben bereits ein Abonnement? Dann
registrieren Sie es jetzt online!
Zahlreiche kostenlose Online-Artikel finden Sie
hier.
Einzelheft bestellen
Schwerpunkt: Architektur
(Seite
12)
Software-Architektur verstehen und anwenden
Jede Anwendung kommt im Lauf ihres Lebens an einen Punkt, an dem auch die besten Tricks keine Verbesserung für Performance, Skalierung und Wartbarkeit mehr bewirken. Eine strukturierte Methode und eine Sammlung von Grundregeln hilft dann weiter – die Stunde der Software-Architektur.
(Seite
16)
Think Big!
Serviceorientierte Architekturen (SOA) teilen eine verteilte Anwendung in lose
gekoppelte Dienste auf, deren sinnvoll arrangiertes Zusammenspiel die Geschäftslogik ausführt. Das klingt (und ist) einleuchtend, vereinfacht aber nicht automatisch den Entwicklungsprozess. Microsoft stellt mit der Enterprise Development Reference Architecture nun Komponenten und eine Anleitung zur Verfügung, die es ermöglichen sollen, Anwendungen auf einer soliden und flexiblen Basis zu entwickeln.
(Seite
24)
Beobachten, was passiert
Durch den Einsatz des Observer Patterns lassen sich die Bereiche GUI und Anwendungslogik voneinander entkoppeln. Darüber hinaus lässt sich dieses Pattern überall dort einsetzen, wo mehrere Klassen zusammenarbeiten sollen. dotnetpro erläutert die Grundlagen des Observer Patterns und demonstriert, wie sich diese Architektur unter .NET mithilfe von Events besonders einfach umsetzen lässt.
(Seite
38)
Schablonen und Strategien
Sobald Design Patterns zur Anwendung kommen sollen, steht dem Entwickler das
Durchforsten zahlreicher Dokumentationen und Programmbeispiele bevor. Damit dabei nicht Spaß und Interesse auf der Strecke bleiben, stellt dieser Artikel anhand von zwei Beispielen und Varianten die Verwendung und die Möglichkeiten von Entwurfsmustern vor.
(Seite
44)
Spaghetti entwirren
Guter Code folgt in seiner Strukturierung der Aufgabenstellung, verfügt über sprechende Symbolnamen und ist nicht redundant. Schlechter Code verwendet kryptische Symbolnamen und ist strukturiert wie eine Portion Spaghetti. Die Wartung von schlechtem Code ist teuer. Mit Refactoring können Sie in vielen kleinen Schritten die Struktur des Codes verbessern.
#TALK
Datenschutz mit .NET
(Seite
120)
Wie sag ich’s meinem Nachbarn?
Das Thema Sicherheit spielt oft erst eine Rolle, wenn es zu spät ist: wenn der Server stillsteht, der PC plötzlich unaufgefordert bootet oder ein Angreifer fremde Passwörter ermitteln konnte. Dabei macht es .NET recht einfach, Nachrichten oder Passwörter vor den Augen Dritter zu schützen.
Drag-and-Drop mit Grafikobjekten
(Seite
124)
Von hier nach da
Die im Framework verankerte Drag-and-Drop-Funktionalität für Oberflächenobjekte ist dafür gedacht, Inhalte von einem Control zu einem anderen Control zu verschieben. Wenn aber auf einem Control ein Objekt verschoben werden soll – wie etwa ein Grafikobjekt auf einer Zeichenfläche – dann ist diese Methode nicht optimal. dotnetpro implementiert ein maßgeschneidertes Drag-and-Drop.
Community
Wohin entwickeln sich die Sprachen mit Whidbey?
(Seite
50)
Keine Frage der Sprache
Auf die beiden Artikel von Marcel Gnoth über die Unterschiede von C# und Visual Basic .NET erhielten wir viele Reaktionen. Es gab Kritik, aber auch jede Menge Hinweise. Aus diesem Grund greifen wir die Thematik noch einmal auf und fügen neue Fakten hinzu.
dotnetpro.tv: Zero Touch Deployment
(Seite
52)
Schau Mama, ohne Hände
Leserumfrage
(Seite
53)
HighTech
Präzise Klassenmodellierung mit der Object Constraint Language
(Seite
128)
Undefined Modeling Language
Die Unified Modeling Language (UML) wird zum Modellieren von objektorientierten Systemen verwendet. An vielen Stellen sind solche Modelle nicht eindeutig. Eine weitere Sprache erweitert die Notation um den Faktor Eindeutigkeit: die Object Constraint Language.
Identität und Impersonifizierung unter ASP.NET
(Seite
134)
Identitätswechsel
ASP.NET bietet dem Entwickler und Webserver-Administrator zahlreiche Optionen
hinsichtlich des Sicherheitskontextes, in dem eine Webanwendung ausgeführt werden soll. Die größtmögliche Sicherheit erhält nur derjenige, der das System komplett durchschaut. dotnetpro sorgt dafür, dass Sie im Dickicht der möglichen Identitäten von Benutzern und Anwendungen den Überblick behalten.
Lösung
Enterprise Application Integration (EAI) mit BizTalk Server 2004
(Seite
140)
Schnittstelle goes EAI
Modulare Software-Systeme kommunizieren heute über Internet-Technologien. Ihre Integration ist fast immer ein aufwändiger, fehleranfälliger und somit kostenintensiver Prozess. Mit dem Microsoft BizTalk Server 2004 können Programmierer vollständige Schnittstellen mit nur wenigen Zeilen Code entwickeln.
Praxis
Merge-Replikation mit mobilen Geräten
(Seite
102)
Data on the road again
Aktuelle Daten sollen unterwegs offline zur Verfügung stehen. Die Änderungen an den mobilen Daten sollen bei der nächsten Gelegenheit mit einem zentralen Server abgeglichen werden. Das ist ein Fall für die Merge-Replikation. dotnetpro zeigt, wie Sie einen SQL Server so konfigurieren, dass er die Merge-Replikation mit mobilen Geräten unterstützt.
ClickOnce unter .NET Framework 2.0 und Visual Studio 2005
(Seite
80)
Einmal geklickt, schon installiert
Visual Studio und .NET Framework 2.0 bescheren dem Entwickler eine neue Möglichkeit, seine Programme an den Mann, den Anwender zu bringen. Mit ClickOnce lassen sie sich auf einem Server bereitstellen und vom Nutzer installieren, wie es jetzt schon mit Windows-Updates möglich ist.
Skalenwerte automatisch berechnen
(Seite
86)
Glatte Skala für krumme Werte
Aus einer Reihe von Zahlenwerten, seien es Messwerte oder mathematisch ermittelte Daten, lassen sich mit den verfügbaren Grafikmethoden schnell Kurvendiagramme zaubern. Doch wie bestimmt man bei wechselnden Definitions- und Wertebereichen die Skalenwerte, mit denen beispielsweise die Achsen eines X-Y-Plots beschriftet werden müssen? dotnetpro hat die Lösung.
SQL-Server-Datenbanken auf andere Rechner portieren
(Seite
88)
Restore auf Knopfdruck
Bei der Weitergabe von Anwendungen, die mit einer SQL-Server-Datenbank arbeiten, stellt sich immer das Problem, die benötigte Datenbank beim User einfach und schnell einzurichten. Die Entwicklung eines kleinen ADO.NET-Hilfsprogramms automatisiert dies weitgehend.
BackgroundWorker in .NET 2.0
(Seite
91)
Nebenbei erledigt
Bislang ist eine Menge Aufwand für die Synchronisation erforderlich, wenn in Windows-Anwendungen zusätzliche Threads Hintergrundarbeiten ausführen sollen. Nur der Thread, der das User Interface erstellt hat, darf auch auf die Fenster und Steuerelemente zugreifen. Daher kann es kompliziert werden, Informationen über den Status des Threads und dessen Ergebnis an den UI-Thread weiterzuleiten. Unter .NET 2.0 aber wird vieles einfacher.
Custom Controls für ASP.NET entwickeln
(Seite
94)
Web-Lego im Eigenbau
ASP.NET bietet dem Entwickler die Möglichkeit, eigene WebControls zu entwickeln. Die größte Flexibilität bieten die Custom Controls. Für deren Erstellung ist aber Hintergrundwissen erforderlich. dotnetpro zeigt, was Sie tun müssen, damit ihre selbst erstellten Bausteine problemlos mit den Standard-Komponenten von ASP.NET zusammenarbeiten.
Sicherheit
Sichere Software-Verteilung
(Seite
114)
Zugriffsrechte und Privilegien
Die Installation von Programmen ist eine unendliche Geschichte von Missverständnissen. Probleme gibt es oft dann, wenn Programme ohne Administratorrechte eingerichtet werden müssen. Denn nicht jeder Entwickler denkt daran, dass sein Werk auch auf Rechnern eingesetzt werden könnte, die zwischen verschiedenen Nutzerrechten unterscheiden.
Tipps und Tricks
Tipps zu C#
(Seite
108)
WMI-Klassen in C# einsetzen
programmer’s bazaar
(Seite
111)
Sonderzeichen in SQL-Kommandos unter ADO.NET
(Seite
112)
INSERT Murks?
Möglicherweise haben Sie es noch gar nicht bemerkt, aber wenn Sie mithilfe von SQL-Anweisungen Texte in Datenbanken eintragen, spielt deren Zusammensetzung eine entscheidende Rolle. Bestimmte Sonderzeichen verwirren ADO.NET, und der SQL-Aufruf kann scheitern. Mit einem einfachen Trick sichern Sie sich ab.
Tools
Automatisierte Code Reviews mit FxCop
(Seite
58)
Code-Polizist
Code Reviews sichern die Qualität des geschriebenen Codes. Im Laufe eines Projekts steigt aber der Zeitaufwand für solche Reviews immer stärker an, weil der Code immer wieder auf die gleichen Merkmale hin untersucht wird. Kann man das nicht wenigstens teilweise automatisieren? Man kann. Microsoft stellt dazu unter www.gotdotnet.com gratis das Tool FxCop bereit.
Visual Studio 2005
(Seite
62)
Team Foundation Server
Dank der Community Technlogy Preview von Visual Studio 2005 Beta 1 ist erstmals ein Blick auf die serverseitigen Komponenten von Visual Studio 2005 Team System möglich. Ein neues Quellcodeverwaltungssystem und Tools für das Projektmanagement gehören zu den Werkzeugen, die Programmierern künftig zur Verfügung stehen.
InstallAnywhere .NET
(Seite
64)
Nicht wirklich überall
Zero G war bisher für InstallAnywhere bekannt, ein Java-Tool, das Installationen für Windows, Linux, Mac OS und viele andere Betriebssysteme erstellen kann. Das neue Schwesterprodukt InstallAnywhere .NET erzeugt Setups im MSI-Format, die ausschließlich unter Windows laufen.
Yuhana Application Server für .NET
(Seite
68)
Die COM+-Alternative
Mit Yuhana gibt es einen echten Application Server unter .NET für .NET-Komponenten und Web Services. Als Open-Source-Projekt steht er kostenlos zur Verfügung. Michael Beul, Thorsten Spies und Dr. Holger Schwichtenberg haben sich eingehend mit der Software befasst.
Visual Studio 2005 Express Editions
(Seite
70)
Klein, einfach, express
Ab Visual Studio 2005 wird Microsoft eine zusätzliche Produktlinie anbieten: die Visual Studio Express Editions. Dabei handelt es sich um schlanke, einfach bedienbare Editionen für Hobbyprogrammierer, die nicht in größeren Teams zusammenarbeiten.
Borland Delphis nächste Version „Diamondback”
(Seite
72)
Drei Herzen in einer Brust
„Diamondback” lautet der Codename der nächsten Version von Borlands Delphi. Sie ermöglicht C#- und Objekt-Pascal-Entwicklung unter einer Oberfläche. Auf der Borland Conference hat Borland eine Vorabversion ausgegeben, die einen Einblick in die Neuerungen erlaubt.
Microsoft XML Diff and Patch 1.0
(Seite
75)
Den kleinen Unterschied finden
Unterschiede zwischen XML-Dateien zu ermitteln ist kein Vergnügen, denn mit einem einfachen
Zeichenvergleich ist es dabei nicht getan. Die Tool-Sammlung XML Diff and Patch, die Microsoft kostenlos zur Verfügung stellt, analysiert XML-Strukturen und gibt die Unterschiede wiederum in XML aus.