dotnetpro 10/2010
Schwerpunkt: Geschäftsregeln im Griff

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
Editorial
iPhone = Softwareentwicklung ohne Planung
(Seite 3)
So einfach sich das Statement auch liest,
eindeutig ist es nicht.Denn das Statement
hat doppelte Lesart. Okay, na gut, jetzt
kommt wieder der Journalist und wirftmit Fachbegriffen
herum. Was zum Henker ist doppelte
Lesart? Ein Beispiel, und Sie haben es verstanden:
Der Cowboy schlägt denMannmit der Peitsche.
1. Lesart :DemBesitzer einer Peitsche (über die
Artwird in diesemZusammenhang nichts berichtet)
nützt seine Peitsche nichts. Er bekommt vom
Cowboy trotzdemeins auf dieMütze.
2. Lesart : Ein armer Kerl, dessen Identität im
Dunkeln bleibt, bekommt vom Cowboy einen
mit der Peitsche übergebraten.
Tilman Börner
Aktuell
Für alle: kostenlose Artikel zum Lernen
(Seite 10)
Sind Sie mit Visual Studio zufrieden?
Es ist so etwas wie die Kombizange für den Elektriker
oder die Kettensäge für denWaldarbeiter: Visual Studio
ist das Jeden-Tag-Werkzeug für den .NET-Softwareentwickler.
Es dürfte kaumeinTag vergehen, an demdie Entwicklungsumgebung
nicht gestartet wird.
Tilman Börner
Schwerpunkt
Eine Rule-Engine mit dem Managed Extensibility Framework realisieren
(Seite 12)
Die Validierung von Eingabedaten ist im Prinzip ein alter Hut. Zur Herausforderung wird diese Aufgabe, wenn sich
die Bedingungen für gültige Daten ständig ändern können. Hier hilft eine Rule-Engine weiter.Mithilfe des
Managed Extensibility Frameworks entsteht eine besonders flexible Lösung.
Matthias Lohrer,
Dino Esposito
Ein Business Rule Management System in der Praxis
(Seite 20)
Geschäftsregeln findet man überall. Um sie aber effektiv nutzen zu können, bedarf es eines ausgefeilten Business
Rule Management Systems, das nicht nur von Softwarespezialisten einfach zu bedienen ist und vielfältig
integriert werden kann.Am Beispiel lernen Sie die wichtigsten Schritte hin zu einer vollständigen Anwendung kennen.
Witold Szczeponik
Die Rule-Engine aus .NET ohne Workflow benutzen
(Seite 30)
DieWindowsWorkflow Foundation (WF) bringt seit der Version 3.x eine eigene Rule-Engine mit. Über diese können
flexible Regeln in die eigene Anwendung gebracht werden, und das alles ohneWorkflow dahinter.
Andreas Bräsen
Tools
Das Cool-Tool
(Seite 36)
Visual Studio ist eine mächtige Entwicklungsumgebung, aber nicht perfekt. Das kann sie auch gar nicht sein. ReSharper
erweitert das System um viele sinnvolle Funktionen, die sich in kürzester Zeit zu unentbehrlichen Helfern machen.
Jan Waiz
Bücher
129.864.880
(Seite 40)
Auf den Bücherseiten der dotnetpro finden Sie in jedem
Heft sechs Rezensionen, dazu fünf bis sieben Büchernews.
Pro Jahr macht das rund 150 Bücher. Eigentlich
eine ganz ordentliche Zahl.Dochwie viele Bücher gibt es eigentlich
insgesamt? Wer so was wissen will, fragen Sie? Google wollte es
wissen und hat nachgerechnet. Das Ergebnis steht oben.Warum
Google das wissen wollte, ist nicht bekannt.Wie sie gerechnet haben,
allerdings schon. Die erste Idee war, alle Bücher mit ISBNNummer
zu zählen.DieNummerwird jedoch erst seit den 1960er-
Jahren und nur in den westlichen Ländern vergeben.
Holger Schwichtenberg,
Manfred Steyer
Sandbox
Was Sie antreibt
(Seite 44)
Warum gehen Sie morgens zur Arbeit und entwickeln Software?
Was treibt Sie an? Als Angestellter pendeln Sie vielleicht jeden Tag 45 Minuten zum Arbeitsplatz. Als Selbstständiger arbeiten Sie vielleicht jeden Tag zehn Stunden oder mehr. Warum tun Sie das?
Ralf Westphal
Praxis
Stack und Queue implementieren
(Seite 107)
Immer hübsch der Reihe nach: Das gilt nicht nur imWartezimmer, sondern auch im Stack und in der Queue der
Informatiker. Und wer sich das Entwicklerleben vereinfachen will, sollte auch bei ihrer Implementierung
die richtige Reihenfolge einhalten: Erst planen, dann Tests entwickeln, dann implementieren.
Stefan Lieser
Die Klasse Task der Task Parallel Library einsetzen
(Seite 46)
Die Task Parallel Library im .NET Framework 4 vereinfacht das Entwickeln von parallelem Code. Der zweite Teil der Serie
stellt die zentrale Klasse Task näher vor.Mit ihr kann der Entwickler die anfallenden Arbeiten auf beliebig
viele Tasks verteilen.
Bernd Marquardt
Ein ASP.NET-Steuerelement für die Fortschrittsanzeige
(Seite 52)
Komplexe Serveroperationen verursachen langeWartezeiten. Es ist sinnvoll, demAnwender in dieser Zeit ein
aussagekräftiges Feedback über den Stand der Arbeiten zu geben. Ein ASP.NET-Steuerelement erleichtert
dem Entwickler diese Aufgabe.
Georg Hasenöhrl
Automatisches Erstellen von Installationsprogrammen mit MSBuild & Co.
(Seite 60)
Builds im Softwareentwicklungsprozess zu automatisieren ist heute nahezu der Normalfall. Und was ist mit dem
dazugehörigen Setup-Programm? Mit geringem zusätzlichemAufwand lässt es sich dank der Microsoft Build Engine
und einiger weiterer Tools ebenfalls automatisch erzeugen.
Andreas Kerl
Auf der Suche nach der ICodeParser-Implementierung
(Seite 73)
Zur Laufzeit einen komplexen Objektbaum im Speicher zu erzeugen ist in C# leider nur über das sehr beschränkte
CodeDom machbar. In Visual Studio besteht allerdings die Möglichkeit, eine weniger eingeschränkte Implementierung
zu erreichen. dotnetpro wagt das Abenteuer und macht sich in Visual Studio auf Schatzsuche.
Fabian Deitelhoff
Lesen und Schreiben von RFID- und Chipkarten per Windows-API
(Seite 78)
Dank RFID können sich Kunden imVorübergehen einloggen, und derWarenfluss kann per Chip automatisch verfolgt
werden. Hier lesen Sie, wie Sie diese Technologie in Ihren Anwendungen nutzen, ohne teure Fremdkomponenten
dafür kaufen zu müssen.
Matthias Lohrer,
Nico Franze,
Bastian Widdecke
Die Master Data Services im SQL Server 2008 R2
(Seite 86)
Konzepte wie SOA oder SaaS sind auf einen konsolidierten Datenbestand angewiesen, sonst können sie nicht
funktionieren. Gerade in größeren Unternehmen ist es aber oft schwierig festzustellen, welches die gültige
Information ist, die im Rahmen eines Dienstes angeboten werden soll. Die Master Data Services im SQL Server 2008
R2 ermöglichen ein konsistentes Master Data Management.
Klaus Aschenbrenner
Metaheuristiken für Optimierungsverfahren
(Seite 92)
Ameisen sind nicht nur fleißig, sondern auch klug. Im Laufe der Evolution haben sie ein Verfahren entwickelt,mit dem sie
ihresgleichen den kürzestenWeg zur gefundenen Nahrung signalisieren können. Dieses und andere Verfahren hat die
Informatik aus natürlichen Vorgängen übernommen und daraus Metaheuristiken für Optimierungsaufgaben entwickelt.
Veikko Krypczyk
Aspektorientierte Programmierung: Eigenschaften in der Registry persistieren
(Seite 97)
Für den Zugriff auf die Registry ist viel redundanter Code nötig.Wer Eigenschaften von Klassen in der Registry
speichern möchte, kann das auch über einen Aspekt erledigen.
Gael Fraiteur
CD-Inhalt
Unit-Tests
(Seite 50)
Es freut den Kunden ungemein, wenn die Software,
die er bestellt hat, auch einwandfrei funktioniert.
Automatische Tests erhöhen die Qualität von Software
und helfen auf diese Weise, Kunden glücklich zu
machen. Und wer macht Ihnen eine Freude? Die
dotnetpro mit den Bibliotheken und Tools, die Sie in
unserem Schwerpunkt auf der CD finden. Denn diese
wiederum helfen Ihnen dabei, Tests zu schreiben, zu
verwalten und Software zu überprüfen.
Tilman Börner
dotnetpro.dojo
Wie zähmt man den Dämon?
(Seite 100)
In der Unix-Welt heißen sie Dämonen: die Dienste, die im Hintergrund ihre Arbeit verrichten.
Stefan, stell doch mal eine Aufgabe, die in die Unterwelt derWindows-Dienste führt.
Stefan Lieser
Mono
Evolution
(Seite 112)
Es muss nicht immer gleich eine Revolution sein, wenn man Neues erreichen will.Viel öfter sind es die kleineren,
evolutionären Dinge, die ein Produkt spürbar vorantreiben.
Jan Waiz,
Daniel Nauck
Kochen mit Patrick
Kochen mit Patrick/.NET Extensions
(Seite 114)
Unterm Strich ist es dann aber doch wieder einfacher zu differenzieren: Als Entwickler entscheidet man, eine ASP.NET-Applikation entweder mit den klassischen Web Forms zu entwickeln oder mit dem neueren MVC.
Patrick A. Lorenz
Tipps und Tricks
Nützliche Funktionen und Routinen für Visual Basic
(Seite 120)
Per Nullmodemkabel, angeschlossen an die serielle Schnittstelle, lassen sich Daten und auch Befehle zur
Rechnersteuerung übertragen und ereignisorientiert ausführen.
Andreas Maslo
Grundlagen
IArithmetic
(Seite 124)
Die Schnittstelle IArithmetic schmückt alle Typen, die sich in Berechnungen
verwenden lassen. Dies ist beispielsweise für generische Methoden
praktisch, denn IArithmetic beschränkt Parameter auf Typen, für welche
die vier Grundrechenarten zur Verfügung stehen.
Sie kennen IArithmetic nicht? KeinWunder: IArithmetic gibt es nicht.
Golo Roden
Architektur
Elf Schritte bis zum Code
(Seite 126)
Anforderungen abholen und sofort mit der Implementierung beginnen:Wer Software so entwickelt, riskiert den
Absturz der Projekte. Richtiges Vorgehen in elf Schritten hilft, sicher an den Abgründen vorbeizulaufen.
Ralf Westphal
Management
Agil auf breiter Front
(Seite 136)
Techniken für (Software-)Projektmanagement gibt es viele, dieWahl fällt oft schwer. Hilfreich wären Kriterien, um
zu beurteilen, welche Art von Projektmanagement zu welchem Projekt passt. Die gibt es nun ansatzweise –
in Form einer Studie, welche die Techniken aus konkreten Projekten mit deren Erfolgen korreliert. Die Autoren stellen
ihre Erkenntnisse hier vor.
Uwe Vigenschow,
Stefan Toth,
Markus Wittwer