HighTech
Als Abonnent haben Sie vollen Zugriff auf alle Artikel im Archiv.
Zum Download eines Artikels und/oder der zugehörigen Quelltexte, klicken Sie
den gewünschten Artikel einfach an.
(
dotnetpro 04/2008,
Seite 112)
Modellierung, Architektur, Strategie, SOA, Komponenten, Webprogrammierung, Softwareproduktion, Office-Programmierung, Datenbank, Datenzugriff, Server, Veranstaltungen zu weiteren Themen, Konferenzen, Roadshows, Workshops, Sprachen, User Groups.
(
dotnetpro 02/2008,
Seite 134)
Nochmal Mustererkennung: zur Vertiefung des ungewohnten Konzepts der Pile-Datenstrukturen
und zur Implementierung des Mechanismus. Außerdem stellt sich heraus, dass die Architektur
vielleicht doch noch verändert werden muss. Doch damit steht Version 1 des dotnetpro-Projekts
einer Software zur Visualisierung von Mustervorkommen endlich.
(
dotnetpro 01/2008,
Seite 132)
Das Framework Phoenix präsentiert sich als neue und einheitliche Plattform für die Entwicklung
von Compilern, Code-Generatoren, Optimierungstools und Entwicklungswerkzeugen.
Derzeit noch in der Entwicklung, soll es bereits mit dem Nachfolger von Visual Studio 2008
Einzug in Microsofts kommerzielle Entwicklungssysteme halten.
(
dotnetpro 01/2008,
Seite 136)
Der Mensch erkennt Muster sehr einfach, wenn sie sich grafisch aufbereitet präsentieren.
Das dotnetpro-Projekt dnpPatViz entwickelt ein entsprechendes Programm für beliebige
Signalquellen. Diesmal geht es um die Implementierung der eigentlichen Mustererkennung.
(
dotnetpro 01/2008,
Seite 124)
Bei der Entwicklung eines Servers auf Basis der Windows Communication Foundation bietet
das Framework Lösungen für bisher nicht zufriedenstellend gelöste Probleme.
Das Open-Source-Projekt Hermine implementiert einen solchen Server und zeigt eine Variante
zur Initialisierung einer Serveranwendung.
(
dotnetpro 12/2007,
Seite 136)
Muster helfen, die Welt zu erkennen. Deshalb spielen sie eine wichtige Rolle, egal ob in der
Sprache, beim Hören von Musik, in der Kunst oder Informatik. In eine visuelle Darstellung
gebracht, lassen sie sich sehr viel leichter erkennen – beispielsweise mit Bögen wie in der
Anwendung The Shape of Song.
(
dotnetpro 11/2007,
Seite 138)
Der Post-Compiler PostSharp kann Assemblies nach der Kompilierung „veredeln“, indem er sie
um Code erweitert. Mithilfe seines AOP-Frameworks Laos ermöglicht er die Implementierung
eigener Aspekte und erlaubt das aspektorientierte Programmieren unter .NET.
(
dotnetpro 10/2007,
Seite 136)
Das Hauptprogramm ist ein Parameter des Aspekts. Verstehen Sie nicht? Dann lesen Sie diesen
Artikel. Aspekte werden oft nicht aufgerufen, sondern rufen ihrerseits auf. Sie umschließen
den eigentlichen, funktionalen Code. Wenn man es richtig anstellt, werden Aspekte aber nahezu
unsichtbar und ermöglichen dem Entwickler die Konzentration auf den funktionalen Code.
Dafür gibt es mehrere Möglichkeiten. Achtung: Mitdenken unbedingt erforderlich!
(
dotnetpro 09/2007,
Seite 140)
Visual Studio 2005 Team System ist ein erweiterbares und konfigurierbares Software -
entwicklungstool, das den Software Development Life Cycle unterstützt. Der große Vorteil
von Team System ist, dass Microsoft keinen fix definierten Workflow vorgibt. Sie
können den Entwicklungsprozess frei an Ihre Anforderungen anpassen. Dieser Artikel zeigt,
wie das Customizing mit Team System funktioniert.
(
dotnetpro 09/2007,
Seite 128)
Die Zukunft ist parallel. Höhere Leistungsfähigkeit wird sich bei Computern künftig nur noch
durch den Einsatz mehrerer, parallel arbeitender Prozessoren erreichen lassen. Je mehr
Programmfäden gleichzeitig arbeiten, desto drängender wird aber das Problem der Daten -
konsistenz. dotnetpro stellt einen Lösungsansatz vor: Software Transactional Memory.
(
dotnetpro 07/2007,
Seite 135)
Am Anfang war eine einfache Anforderung, die zu einem Problem lösenden kleinen Programm
führte. Doch das war monolithisch und schon nach kurzer Zeit den sich verändernden
Anforderungen nicht mehr gewachsen. Einmotten und neu schreiben? Von wegen. dotnetpro
zeigt, was Sie in so einem Fall machen können.
(
dotnetpro 07/2007,
Seite 122)
Um den Datenaustausch in Entwicklerteams überwachen und einschränken zu können, müssen
nicht nur die Benutzer, sondern auch ihre Rechte im Detail verwaltet werden. Durch eine eigene
Benutzer- und Rechteverwaltung können Sie beliebige Programmfunktionen für ausgewählte
Anwender verfügbar machen oder auch sperren. Mit Verschlüsselungsroutinen schützen Sie
Konfigurationsdaten und Projektdaten auf dem Server vor unberechtigtem Zugriff.
(
dotnetpro 06/2007,
Seite 138)
Bekommen Sie auch manchmal Zustände? Das könnte zum Beispiel sein, wenn Ihnen die Analyse
einer einfachen Textdatei nicht gleich gelingt, oder Sie Mühe mit einem Wizard haben.
Es geht dabei auch um Zustände. Denn im Kern von Textanalyse/Parsing, Wizards, Befehlsprotokollen
und vielen anderen Problemfeldern stehen sogenannte Zustandsmaschinen.
(
dotnetpro 06/2007,
Seite 132)
Wer sich schon länger mit Softwareentwicklung beschäftigt, ist sicherlich bereits auf das
Konzept der Entwurfsmuster gestoßen. Sie bieten schematische Lösungen für
wiederkehrende Probleme, vorwiegend auf Seiten des Servers. Aber auch die Oberflächenprogrammierung
von Clients profitiert von Entwurfsmustern.
(
dotnetpro 05/2007,
Seite 138)
Natürlich soll Code funktional korrekt sein. Aber darüber hinaus soll er auch nicht manipulierbar
sein, beim Kunden nachvollziehbar laufen, wenig Mühe beim Deployment machen, historisiert
sein und automatisch produziert werden. Also geht es im letzten Teil der kleinen Serie zum
Thema Komponentenorientierung um solche Dinge wie Strong Names, Instrumentierung und
Tracing, Versionsverwaltung und Build-Prozesse.
(
dotnetpro 05/2007,
Seite 128)
Am Anfang steht eine Entscheidung: Lässt sich ein Anforderungsportfolio besser durch eine
Desktopanwendung oder durch eine Client/Serveranwendung umsetzen? Ist diese Entscheidung erst einmal getroffen, führt kaum ein Weg zurück. Aber manchmal soll dennoch die Architektur einer bereits bestehenden Anwendung umgebaut werden. dotnetpro beschreibt die Probleme und zeigt Lösungen auf.
(
dotnetpro 04/2007,
Seite 130)
.NET 2.0 bietet eine Vielzahl neuer Klassen, Steuerelemente und Komponenten. Zudem wurden bestehende Funktionalitäten überarbeitet und optimiert. Die Verbesserungen sind nicht immer auf den ersten Blick zu erkennen, sodass ein genauer Vergleich lohnt.
(
dotnetpro 04/2007,
Seite 140)
Die Softwarearchitektur einer Anwendung bestimmt das Verhältnis zwischen Anforderung und Umsetzung. Je besser die Architektur einer Anwendung auf Änderungen der Funktionalität vorbereitet ist, desto unkomplizierter sind laufende Anpassungen. Doch häufig liegen die Probleme im Detail, und was gut und stabil angefangen hat, wird schnell chaotisch. Dieser Artikel wirft einen Blick auf diesen Problembereiche und stellt Lösungsansätze vor.
(
dotnetpro 03/2007,
Seite 134)
Der Global Assembly Cache (GAC) stellt einen zentralen Speicher für Assemblies bereit und macht sie für unterschiedliche Anwendungen nutzbar. dotnetpro erläutert die Struktur des GAC, zeigt wie er verwaltet wird, streift Sicherheitsaspekte und entschärft die typischen Fallstricke.
(
dotnetpro 03/2007,
Seite 126)
.NET 2.0 bietet eine Vielzahl neuer Steuerelemente. Obgleich einige davon Steuerelemente von .NET 1.x ersetzen, werden diese beim Upgrade bestehender Projekte nicht automatisch berücksichtigt. Erweiterte Eigenschaften finden sich aber auch bei Steuerelementen, die ursprünglich mit .NET 1.0 eingeführt wurden. Ein genauer Blick legt neue Funktionalitäten, mitunter aber auch Ungereimtheiten offen.
(
dotnetpro 03/2007,
Seite 138)
"Echte" Komponenten lassen sich unabhängig voneinander entwickeln und automatisch testen.
Sie sind so transparent, dass man sie sogar gegen Attrappen ersetzen kann. Daher lassen Sie sich auch dynamisch in andere Lösungen einbinden. dotnetpro zeigt die Werkbank, an der Sie solche Komponenten entwickeln und testen können.
(
dotnetpro 02/2007,
Seite 134)
Der reibungslose Austausch von Dokumenten und Informationen ist eine wichtige Voraussetzung für erfolgreiche Gruppenarbeit. Dabei ist sicherzustellen, dass Dateien nicht überschrieben und zudem in mehreren Versionen verwaltet werden können. Das Projekt Workgroup Developer erarbeitet eine Software zur Projektentwicklung in Arbeitsgruppen.
(
dotnetpro 02/2007,
Seite 128)
Komponenten sind praktisch, weil es wiederverwendbare Bausteine sind. Aber manchmal behindern Komponenten auch die eigene Arbeit, etwa wenn sie die Testbarkeit der Applikation verschlechtern. Das aber lässt sich ändern. dotnetpro zeigt, wie Sie eine bestehende Komponente umstrukturieren können und ihr ein Interface-orientiertes Design geben.
(
dotnetpro 01/2007,
Seite 128)
Über sieben Folgen hinweg hat Ralf Westphal seine Musiksoftware modelliert und konstruiert.
Jetzt endlich ist die Zeit der Umsetzung in Code gekommen. Dabei zeigt sich deutlich: Die Mühe hat sich gelohnt. Verständlichkeit, Wartbarkeit, Produktivität und Testbarkeit sind allein aufgrund des überlegten Designs deutlich erhöht.
(
dotnetpro 01/2007,
Seite 137)
Die Mechanismen zur Synchronisation von Prozessen wurden von .NET 1.x nur unzureichend unterstützt. .NET 2.0 hat diese Lücke geschlossen. Mutexe, Semaphore und Events können nun direkt verwendet werden. Eine kleine Beispielanwendung illustriert die Zusammenhänge und lädt zum Experimentieren ein.
(
dotnetpro 12/2006,
Seite 138)
Die Lokalisierung von Software ist ein spannendes Geschäft. Es ist längst nicht damit getan, die
Inhalte der Ressourcendateien zu übersetzen. High-Tech-Lokalisierungswerkzeuge analysieren
und verarbeiten die zu lokalisierenden Binärdateien. dotnetpro zeigt, welche Schwierigkeiten sich
dabei stellen und welche Softwarewerkzeuge Lokalisierungs-Profis verwenden.
(
dotnetpro 12/2006,
Seite 130)
Die Komponenten der Anwendung sind spezifiziert. Die Implementierung kann beginnen. Doch wo genau erfassen Sie den Code? dotnetpro zeigt auf, nach welchen Regeln Sie das Softwaremodell in gut organisierten Code transformieren können. So sichern Sie wesentliche Qualitätsmerkmale wie Wartbarkeit, Flexibilität, Verständlichkeit und Testbarkeit.
(
dotnetpro 11/2006,
Seite 130)
„Welche Operationen wünscht sich ein Client von seinem Service?“ Die Modellierung der Kontrakte zwischen den Komponenten steht im Mittelpunkt dieser Folge zum Softwareentwurf. Verfolgen Sie die Wertströme bis an ihr Ziel. Bilden Sie für jedes Client-Service-Paar einen Vertrag über die Zusammenarbeit. Und was kommt dabei heraus? Code!
(
dotnetpro 10/2006,
Seite 138)
Halbzeit
Den Aufwand schätzen, die Releases planen, das Datenmodell definieren: Darum geht es in dieser Folge zum Softwareentwurf. Die Grundlage dafür bilden auch hier die Features, die bereits am Anfang der Projekts definiert wurden. Mit diesen Schritten ist die Hälfte des Weges zum fertigen Produkt zurückgelegt. Die Implementierung rückt in greifbare Nähe.
(
dotnetpro 10/2006,
Seite 134)
Die Exception-Bombe entschärfen
Fehlerbehandlung wird bei der Softwareentwicklung oft vernachlässigt. Im schlimmsten Fall hat dies den Ausstieg aus dem Programm zur Folge. dotnetpro stellt einen eleganteren Weg der Fehlerbehandlung vor.
(
dotnetpro 09/2006,
Seite 140)
Am Anfang ist der Anwender. Als Client benutzt er über das Frontend die Funktionen, die die Software als Service anbietet. Dieses Modell von Konsumenthier und Service - anbieter dort zieht sich durch die gesamte Softwarearchitektur. dotnetpro zeigt, wie Sie auch die Funktionen der Benutzerschnittstelle auf diese Weise systematisch modellieren.
(
dotnetpro 08/2006,
Seite 132)
Die Anforderungen an die Software sind definiert. Ein erster Strukturentwurf bestimmt die Bauteile der Software. Im nächsten Schritt untersuchen Sie, wie diese Softwareteile miteinander kooperieren. Verfolgen Sie ausgehend vom Anwender die Wertströme durch die Software. Basierend auf diesen Wertströmen können Sie anschließend Kontrakte für einzelne Funktionen definieren.
(
dotnetpro 09/2006,
Seite 134)
Ein starkes Team
Mit dem .NET Framework 2.0 und dem SQL Server 2005 ergeben sich neue Möglichkeiten, von denen Entwickler vor einigen Jahren nur träumen konnten. Durch die Verbesserungen beim Datenzugriff mit ADO.NET 2.0 erhöht sich zudem die Performance stark. dotnetpro hat die neuen Funktionalitäten unter die Lupe genommen.
(
dotnetpro 07/2006,
Seite 134)
Vom maschinellen Erzeugen von Software verspricht man sich höhere Qualität und schnellere Fertigstellung. Der Begriff der Software Factories wird in diesem Zusammenhang häufig verwendet. Das Buch von Jack Greenfield et al. klärt auf, was es damit auf sich hat. Lesen Sie hier einen Auszug aus Kapitel 5.
Autor(en):
(
dotnetpro 07/2006,
Seite 124)
Die S-Klasse für Entwickler
Visual Studio 2005 bietet in der Team-Edition für Entwickler viele neue Entwurfs- und Testfunktionen. Entwickler können Klassen grafisch gestalten, Komponenten testen und die Quelltexte auf die Einhaltung von Designrichtlinien hin überprüfen. Nur codieren müssen sie immer noch selbst. Das aber wird mit diesen komfortablen Werkzeugen zum reinsten Vergnügen.
(
dotnetpro 07/2006,
Seite 114)
Am Anfang jedes Softwareprojekts steht ein Berg von Fragen, die Unsicherheit erzeugen. Nicht alle müssen Sie sofort beantworten. Das Konzept der Softwarezellen hilft Ihnen, die richtigen Fragen zu finden und aus den Antworten die grundlegenden Softwarekomponenten abzuleiten.
(
dotnetpro 06/2006,
Seite 132)
Für starke Teams
Die Architektur für das Softwareprojekt ist definiert und die Projektdateien sind angelegt. Nun krempeln die Programmierer ihre Ärmel hoch, legen ihre Finger auf die Tastatur und machen was? Sie schauen nach, für welche Work Items sie in Visual Studio Team System eingeteilt sind. Dies und tausend weitere Features ermöglichen dem Projektteam eine erfolgreiche gemeinsame Entwicklung.
(
dotnetpro 06/2006,
Seite 124)
Software komponentenorientiert entwerfen ohne Angst vor Komplexität – wer würde das nicht gerne? Softwarezellen, Contract First Design und Microkernel-Architektur bilden hierfür eine gute Grundlage. dotnetpro zeigt ihre Umsetzung in der Praxis.
(
dotnetpro 05/2006,
Seite 112)
Wünsche werden wahr
Am Anfang steht eine Liste der Features, die sich der Kunde für seine Software wünscht. Dann gilt es, diese Features in Code zu transformieren und die Implementierung einzelner Features zu testen. dotnetpro zeigt, wie Sie schrittweise zum fertigen Softwareprodukt gelangen.
(
dotnetpro 05/2006,
Seite 134)
Die Zukunft des GUI-Designs
Mit der Einführung von Windows Vista beginnt auch für die GUI-Programmierung von Windows-Anwendungen ein neues Zeitalter: Die Windows Presentation Foundation (WPF) liefert gleich zwei Werkzeuge zum Entwickeln von Benutzeroberflächen. dotnetpro gibt einen Überblick über WPF, das auch unter Windows XP läuft.
(
dotnetpro 05/2006,
Seite 120)
Robust und alltagstauglich
Eine pragmatische Architektur für Webprojekte bietet die richtige Balance zwischen akademischer Architektur und schneller Implementierung. Im ersten Teil der Serie wurden Business- und Data-Layer entwickelt. Im zweiten und letzten Teil wird der Presentation-Layer erstellt. -Außerdem erfahren Sie, wie Sie mithilfe des Provider-Modells die Anwendung modularisieren.
(
dotnetpro 05/2006,
Seite 130)
Ferngesteuertes Orchester
Vieles macht BizTalk Server 2004 automatisch, doch in manchen Fällen ist es nötig, den Workflow manuell zu steuern. Microsoft stellt mit den Web Services Enhancements (WSE) das Rüstzeug dafür zur Verfügung, um eine Orchestrierung aus einem Webdienst heraus sicher aufzurufen.
(
dotnetpro 03/2006,
Seite 126)
Der Weg von der Idee zum Softwarecode ist von Unsicherheit geprägt. Die Struktur von Soft ware scheint immer wieder neu und unvorhersehbar – und somit problematisch. Das altgediente Schichtmodell, das hier Ordnung schaffen will, kann das Bedürfnis der Entwickler nach Klarheit nicht mehr befriedigen. Softwarezellen lösen das Problem.
(
dotnetpro 03/2006,
Seite 140)
Künstliche neuronale Netze im Eigenbau
Für Probleme mit nur schwer algorithmierbaren oder nichtlinearen Abhängigkeiten der zugrunde liegenden Daten bietet sich der Einsatz von künstlichen neuronalen Netzen an. Lösungen erreicht ein solches System durch Konfiguration und Training – explizites Programmieren entfällt. Mit einem Framework stellt dotnetpro die Grundlagen neuronaler Netze vor.
(
dotnetpro 03/2006,
Seite 134)
ATL-Server um MFC erweitern
Ein COM-Server lässt sich gut auf Basis der Active Template Library realisieren. Hierfür bietet Visual Studio 2003 einen eigenen Assistenten. Ein Nachteil dabei ist aber die mangelnde Unterstützung für die MFC. dotnetpro zeigt anhand eines Beispielprojektes, wie Sie die Unterstützung für die MFC selbst nachrüsten können.
(
dotnetpro 02/2006,
Seite 114)
Software einfacher entwerfen
Software zu entwerfen, ist keine einfache Sache. Tools, Technologien und Theorien sollen dabei helfen. Tückisch wird es aber, wenn ein Hilfsmittel nicht hilft, sondern behindert – und Sie es nicht einmal bemerken. dotnetpro entlarvt das architektonische Schichtenmodell als solch ein tückisches Hilfsmittel und schließt gleichzeitig eine Lücke im Werkzeugkasten der Entwurfshilfsmittel.
(
dotnetpro 02/2006,
Seite 108)
Relationen verarbeiten mit Pile
Das System Pile hat mit den herkömmlichen Systemen für Datenverarbeitung nicht viel gemein. Pile kann eigentlich nur eins: Verknüpfungen herstellen und einmal hergestellte Verknüpfungen bei der nächsten Gelegenheit effizient Wiederverwenden. Das aber ermöglicht völlig neuartige Anwendungen. dotnetpro unternimmt einen Ausflug in die Forschung.
(
dotnetpro 02/2006,
Seite 102)
C# 3.0 und LINQ
Auf der PDC 2005 hat C#-Architekt Anders Hejlsberg unter anderem C# 3.0 und das LINQProjekt vorgestellt. Die Language Integrated Query LINQ ermöglicht Abfragekonstrukte, die direkt in C# 3.0 oder VB 9.0 integriert sind. dotnetpro zeigt die Möglichkeiten dieser sprachintegrierten Datenzugriffstechnologie auf.
(
dotnetpro 02/2006,
Seite 90)
Active Directory und Active Directory Application Mode koppeln
Heute benötigen oft nicht nur Firmenangehörige, sondern auch Kunden, Lieferanten und freie Mitarbeiter Zugriff auf bestimmte unternehmensinterne Daten. Diese -Ausdehnung des -Benutzerkreises stellt auch Entwickler vor neue Herausforderungen. ADAM bewältigt einige davon.
(
dotnetpro 02/2006,
Seite 97)
Language Integrated Queries: Neue Sprachmerkmale für C# und VB
LINQ ist seit der PDC 2005 das Dauerbrennerthema unter den Entwicklern. Die Language Integrated Queries sind neue Sprachmerkmale in C# 3.0 und VB 9.0. Microsoft hat mit ihrer Hilfe höchst bemerkenswerte Studien implementiert, die für reichlich Diskussionsstoff sorgen. Und das Beste ist: Wir können das auch. Der Artikel zeigt, wie es geht.
(
dotnetpro 01/2006,
Seite 121)
Hosting und Nutzung von Services
Die Windows Communication Foundation (WCF) vereinheitlicht und vereinfacht das Modellieren verteilter Anwendungen. Die Services sollten unabhängig von Kontrakt, Bindung und Adresse zur Nutzung angeboten werden. Dieser Beitrag erläutert die Hosting-Möglichkeiten für WCF-Services und den Zugriff von Clients auf die Services.
(
dotnetpro 01/2006,
Seite 112)
Gute ins Töpfchen, schlechte ins Kröpfchen
Spam zu erkennen, ist für den Menschen leicht. Ein kurzer Blick genügt meistens. Einen guten Spam-Filter zu programmieren, ist hingegen ungleich schwieriger. dotnetpro erklärt, wie zeitgemäße Spam-Filter funktionieren und liefert eine Implementierung für den bereits vorgestellten Spam Terminator.
(
dotnetpro 12/2005,
Seite 136)
Windows Communication Foundation (WCF), ehemals Indigo
Kontrakte sind das initiale Element einer WCF-Anwendung [1]. Doch nun ist es an der Zeit, die Applikation fertig zu stellen. Wie können Clients mit einem Service kommunizieren? Welches Transportprotokoll ist erforderlich und wie steht es mit Sicherheit? Diese und weitere wichtige Fragen werden in diesem Beitrag beantwortet.
(
dotnetpro 11/2005,
Seite 102)
Windows Communication Foundation, ehemals Indigo
Vereinbarungen sind wichtig, ja essenziell. Im richtigen Leben wie in der Softwareentwicklung. Auch mit der Windows Communication Foundation wird der Kontrakt zur wichtigsten Vereinbarung bei der Kommunikation zwischen Anwendungen. Ohne eine explizite Einigung aller Kommunikationspartner geht gar nichts – wenn es auch unterschiedliche Sicht- und Herangehensweisen gibt.
(
dotnetpro 10/2005,
Seite 126)
Web Service Enhancements 2.0 im Überblick.
Das Thema Sicherheit kann man bei Web Services nicht ernst genug nehmen. Gute Unterstützung bieten hier Microsofts Web Service Enhancements (WSE). Was genau steckt dahinter? Wer braucht es wofür? dotnetpro bietet einen Überblick und stellt einige Anwendungsbeispiele vor.
(
dotnetpro 10/2005,
Seite 130)
Programmieren mit Spec#
Mit Spec# bietet Microsoft eine experimentelle Programmiersprache auf der Basis von C#. Sie soll ermöglichen, was schon immer der Traum eines jeden Entwicklers war: große, leicht zu wartende und – vor allem – korrekte Programme zu entwickeln.
(
dotnetpro 9/2005,
Seite 124)
Spicken nicht erlaubt
Das Potenzial komponentenorientierter Entwicklung ist heute nicht ausgeschöpft. Immer noch entstehen oft schwer wartbare, verzahnte Gebilde. Die derzeitige Infrastruktur unterstützt ein effektives Entkoppeln nicht. Contract First Design heißt das Mittel dagegen, dotnetpro stellt einen Microkernel vor, der dieses Prinzip umsetzt.
(
dotnetpro 9/2005,
Seite 134)
Dienste zusammenklicken
Mit BizTalk Server 2004 steht eine leistungsfähige Laufzeitumgebung für Web Services bereit. Mit dem richtigen Vorgehen und den enthaltenen Werkzeugen lassen sich Web Services weitgehend grafisch erzeugen.
(
dotnetpro 7-8/2005,
Seite 120)
Die Windows Management Instrumentation (WMI) stellt eine mächtige Infrastruktur bereit, um auf Informationen über Betriebssystem, Netzwerk und Anwendungen zuzugreifen. Das .NET Framework erlaubt es, eigene .NET-Anwendungen in diese Infrastruktur einzubinden.
(
dotnetpro 7-8/2005,
Seite 118)
Manchmal kommt es einfach auf die Performance an. Also muss der Entwickler kritische Codepassagen optimieren. Welches aber sind diese kritischen Stellen? Zum Beantworten dieser Frage benötigt der Entwickler Anwendungsprofile. Visual Studio 2005 unterstützt das Erstellen von Profilen und die optimierte Kompilierung für nicht verwaltete C++-Programme direkt aus der IDE heraus. dotnetpro hat einen Blick auf das interessante Feature geworfen.
(
dotnetpro 6/2005,
Seite 130)
Objekte legt man mit new an – so war es zumindest bis gestern. Sehr oft ist es vorteilhafter, Objekte von speziellen Methoden, Klassen oder gar ganzen Scharen von Klassen erzeugen zu lassen. Dieser Artikel zeigt die typischen Einsatzszenarien, in denen die Patterns Factory Method und Abstract Factory Vorteile bringen.
(
dotnetpro 5/2005,
Seite 134)
Mit dem OpenMP-API steht in Visual Studio 2005 eine einfache Möglichkeit bereit, um C++- Programme Multithreading-fähig zu machen. Der Hauptnutzen von OpenMP liegt dabei in der Parallelisierung von Schleifen. Alle für einen
(
dotnetpro 4/2005,
Seite 110)
Die Komplexität der portablen Zeichenverarbeitung beginnt bereits beim Auswerten der Tastatureingaben. Es gilt, den passenden String-Container zu finden und dazu die passenden Algorithmen aufzubauen. Das hier vorgestellte Verfahren macht eine Portierung einfach, beispielsweise zwischen Windows und Unix.
(
dotnetpro 4/2005,
Seite 118)
Mehrschichtige Architekturen sind die unangefochtenen Spitzenreiter beim Entwurf großer Anwendungen. Doch es ist Zeit, dieses Modell zu hinterfragen. Microkernel-Architekturen könnten der nächste Schritt in der Entwicklung von Basisarchitekturen sein.
(
dotnetpro 4/2005,
Seite 102)
Controls wie zum Beispiel das DataGrid erlauben es, ganze Datentabellen per einfacher Datenbindung anzuzeigen. Dies funktioniert nicht nur mit DataTables und Arrays, sondern im Prinzip mit beliebigen Listen von Objekten. Ein kleines Framework ermöglicht es Ihnen, eigene Objekte „binding“-fähig zu machen.
(
dotnetpro 3/2005,
Seite 118)
Java für mobile Geräte war zuerst da, doch das .NET Compact Framework holt langsam auf. Zwei leistungsfähige Plattformen buhlen somit um die Gunst von Geräteherstellern und Entwicklern. dotnetpro zeigt, wie sich die beiden Ansätze in der Entwicklerpraxis bewähren.
(
dotnetpro 3/2005,
Seite 127)
IBMs Empfehlung, AS/400-Projekte unter Java und Websphere weiterzuentwickeln, war aufgrund des Aufwands erfolglos. Doch für die Anwender wird die Zeit knapp, denn das Ende von OS/400 zeichnet sich ab. Visual RPG bietet einen Ausweg über die .NET-Welt.
(
dotnetpro 2/2005,
Seite 132)
Der neue SQL Server 2005 bietet die Möglichkeit, .NET-Code in der Datenbank auszuführen. Abgesehen von erweiterten Programmiermöglichkeiten ergeben sich daraus erhebliche Leistungssteigerungen bei gespeicherten Prozeduren. Dafür steht ein neuer Daten-Provider bereit.
(
dotnetpro 2/2005,
Seite 121)
Mit dem C++/CLI Language Specification Standard wird die Sprache C++ für die .NET-Programmierung optimiert. Eine neue Syntax macht die .NET-Programmierung in C++ einfacher und natürlicher. dotnetpro stellt einige wichtige Änderungen vor und zeigt, welche Änderungen sich gegenüber bestehendem Code ergeben.
(
dotnetpro 2/2005,
Seite 124)
Die herkömmliche Datenbindung erlaubt die Anbindung von GUI-Steuerelementen an Datenquellen. Bei mehrschichtigen Projekten stammen die Daten aber nicht direkt aus einer Datenquelle, sondern werden über Methoden der Geschäftslogik bereitgestellt. dotnetpro stellt eine Komponente vor, welche die Datenbindung an Methoden der Geschäftslogik ermöglicht und den entsprechenden Code generiert.
(
dotnetpro 2/2005,
Seite 114)
In den meisten größeren IT-Umgebungen gehört die Steigerung der Benutzereffizienz im Umgang mit den Rechnersystemen zu den wichtigsten Aufgaben. Die SharePoint-Technologie bietet Entwicklern viele Möglichkeiten, diese Aufgabe ohne größeren Aufwand mit vordefinierten Funktionen und eigenen Erweiterungen zu lösen.
(
dotnetpro 12/2004,
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.
(
dotnetpro 12/2004,
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.
(
dotnetpro 11/2004,
Seite 134)
Mit Services stets zu Diensten
In den ersten beiden Artikeln zu Indigo ging es sowohl um die Zielsetzung und Ausrichtung der Kommunikationsplattform der Zukunft als auch um die grundlegenden Konzepte Message, Port und Channel. Ein kleiner, aber essenzieller Teil fehlt noch in unserem Mosaik: der eigentliche Service. Er implementiert die Applikation, zu der eine Verbindung hergestellt werden soll.
(
dotnetpro 11/2004,
Seite 118)
Die Tücke des Objekts
Die Arbeit mit Objekten ist das täglich Brot des .NET-Programmierers. Wenn Objekte gespeichert werden sollen, kommen Persistenz-Layer ins Spiel. Sie übernehmen die Aufgabe, Objektbäume in Datenbanken abzulegen und bei Bedarf wieder aufzubauen. dotnetpro zeigt, worauf Sie bei der Auswahl einer Persistenzlösung achten müssen.
(
dotnetpro 11/2004,
Seite 128)
Gut verpackt
Wenn Zugriffssicherheit, Transaktionen und Protokollierung zu den alltäglichen Anforderungen Ihrer Komponenten gehören, sollten Sie sich mit Aspekt-orientierter Programmierung unter .NET befassen. Mit dieser mächtigen Methode können Sie diese Aufgaben fortan deklarativ lösen.
(
dotnetpro 10/2004,
Seite 128)
An der Wurzel gepackt
Jeder nutzt den Windows Forms Designer, doch nur die wenigsten wissen, dass man ihn auch erweitern kann. Auch auf den Code, der automatisch erzeugt wird, können Sie Einfluss nehmen. Im dritten und letzten Teil dieser Serie erklärt dotnetpro am Beispiel eines Datenzugriffs-Designers, wie Sie eigene Root-Designer und Code-Generatoren entwickeln.
(
dotnetpro 10/2004,
Seite 122)
Willkommen im Club!
J2EE und .NET lassen sich auch ohne umfangreiche Integrations-Software miteinander verknüpfen. Dazu brauchen Sie lediglich die beiden Software Development Kits für .NET und Java sowie Visual C++ .NET.
(
dotnetpro 10/2004,
Seite 114)
Brücken bauen
Java und .NET sind sich in ihrer grundsätzlichen Architektur ähnlich. Im Detail gibt es aber viele Unterschiede. Alle Software-Entwickler, für die es kein Entweder-oder gibt, müssen sich mit Kopplungstechniken auseinander setzen. dotnetpro stellt vier entsprechende Produkte vor. Auch abseits von XML Web Services gibt es Möglichkeiten zur Interoperabilität.
(
dotnetpro 10/2004,
Seite 108)
Datenbringdienst
Für den Zugriff auf Standard-Datenquellen bietet ADO.NET fertige Provider an. Was aber ist zu tun, wenn für eine spezielle Aufgabe kein fertiger Provider existiert? Durch das objektorientierte Design lässt sich ein entsprechender Provider problemlos selbst erstellen. dotnetpro entwickelt einen Beispiel-Provider, der lesend auf CSV-Dateien zugreift.
(
dotnetpro 9/2004,
Seite 122)
Einrichtung nach Wunsch
Wenn Sie eine selbst erstellte Komponente um einen Designer erweitern, erleichtern Sie dem Anwender die Konfiguration der Komponente. Der erste Teil der Serie hat das grundlegende Prinzip erklärt. Im diesem zweiten Teil erläutert dotnetpro, was Sie beachten müssen, wenn Sie mehrere Steuerelemente zu einem UserControl kombiniert haben.
(
dotnetpro 9/2004,
Seite 118)
Regelbruch mit System
Systeme und Komponenten, die über das Internet kommunizieren, tun dies am einfachsten
mit Web Services. Die Daten tauschen sie dabei mithilfe von SOAP aus. Dieser Aufwand ist
nicht notwendig, wenn sich die Komponenten in einem geschlossenen System befinden.
(
dotnetpro 7/2004,
Seite 110)
Ode an IDisposable
Die automatische Garbage Collection des .NET Frameworks ermöglicht bequemes Programmieren. Wer aber nicht so lange warten kann, bis die Speichermüllabfuhr die nächste Runde dreht, der verwendet die Schnittstelle IDisposable. So lassen sich nicht mehr benötigte Ressourcen punktgenau entsorgen. Aber IDisposable kann noch mehr. dotnetpro bohrt die Schnittstelle auf.
(
dotnetpro 7/2004,
Seite 122)
Unendliche Weiten
Microsoft hat viel in die Erweiterbarkeit der Entwicklungsumgebung Visual Studio .NET investiert – ganz im Gegensatz zur Dokumentation der Erweiterungsschnittstellen. Deshalb zeigt dotnetpro, welche Möglichkeiten vorhanden sind, und demonstriert am Beispiel eines Resource Editors, wie Sie zu einer praxistauglichen Lösungen kommen.
(
dotnetpro 7/2004,
Seite 116)
Komponenten mit Komfort
Eine Komponente ist nur so nützlich, wie sie sich bequem einsetzen lässt. Für die leichte Konfiguration bieten sich Komponenten-Designer an. Sie ermöglichen die komfortable Bearbeitung zur Entwurfszeit und ersparen dem Anwender viel Tipparbeit. dotnetpro zeigt, wie Sie Ihre eigenen Komponenten über einen Designer leichter zugänglich machen.
(
dotnetpro 6/2004,
Seite 134)
Think in Ink
Microsofts Tablet PC bereichert durch seinen neuen Formfaktor die Palette mobiler Geräte. Dazu kommt ein vollwertiges Windows XP, dessen Möglichkeiten um Stifteingabe und Schrifterkennung erweitert wurden. Doch wie lassen sich diese in eigenen Anwendungen nutzen? Ganz einfach: mit dem Tablet PC Platform SDK.
(
dotnetpro 6/2004,
Seite 126)
Urlaub auf Whidbey Island
Ein Entwickler verbringt viel Arbeitszeit mit immer wiederkehrenden Aufgaben. ASP.NET, Version 2.0, will dem Entwickler derartige Standardaufgaben abnehmen. Hierzu bietet es einen Satz an Infrastrukturkomponenten, die „out of the box“ verwendet werden können und dennoch individuell erweiterbar sind. dotnetpro stellt sie vor.
(
dotnetpro 6/2004,
Seite 122)
Unit-Tests für Fortgeschrittene
Dank Extreme Programming ist das Unit-Testen zu einer gängigen Disziplin geworden. Mock-Objekte stellen in diesem Zusammenhang eine Technik zum Optimieren eines testbaren Designs dar. Zusammen mit dem Open-Source-Testframework NUnit vereinfacht die Klassenbibliothek EasyMock.NET den Umgang mit Mock-Objekten wesentlich.
(
dotnetpro 5/2004,
Seite 126)
Bauklötze für Datenbrowser
Kaum eine Webanwendung kommt ohne Datenbank aus. Üblicherweise werden Datenelemente in Listenform visualisiert und durch Benutzerinteraktionen modifiziert und ergänzt. Weil sich immer wieder die gleichen Aufgaben stellen, wünschen sich Entwickler entsprechend spezialisierte Controls. ASP.NET 2.0 hat sie und dotnetpro stellt sie vor.
(
dotnetpro 5/2004,
Seite 114)
XPath im Elchtest
Das Testen von XPath-Ausdrücken ist umständlich, weil man immer erst die passende Testumgebung herstellen muss. Mit dem XMLNavigator wird diese Aufgabe zum Vergnügen: XML-Datei laden, gewünschten Kontextknoten anklicken, XPath-Ausdruck eingeben und schon wird das Ergebnis präsentiert. dotnetpro zeigt: XML macht Spaß!
(
dotnetpro 5/2004,
Seite 122)
.NETtes Office
Es muss nicht immer Microsoft Office sein. Aber .NET sollte es schon sein. Auch bei der freien Office-Alternative OpenOffice müssen Sie nicht auf das Framework verzichten.
(
dotnetpro 5/2004,
Seite 108)
.NET-Serialisierung – aber sicher
Das Übertragen von Parametern mit .NET Remoting, dauerhaftes Speichern von Objektdaten oder der Einbau einer Undo-Funktion sind typische Einsatzgebiete der .NET-Serialisierung. Achillesferse dabei ist der Schutz sicherheitskritischer Daten. Ein verschlüsselnder Formatter schafft Abhilfe.
(
dotnetpro 5/2004,
Seite 134)
Arbeitsteilung mit Sicherheit
Viele Anwendungen enthalten eine eigene Sicherung durch Benutzerrechte. leichzeitig gewinnt in Unternehmen eine zentralisierte Datenhaltung mit LDAP immer größere Bedeutung. Warum also nicht die Authentifizierung im eigenen Programm über LDAP vornehmen?
Autor(en):
(
dotnetpro 4/2004,
Seite 118)
User-Interface-Roboter
Hinter den Formularen vieler Anwendungen findet sich oft ein buntes Gemisch aus Präsentations- und Geschäftslogik. Was bei kleinen Programmen nicht sonderlich ins Gewicht fällt, kann sich bei großen Projekten schnell in einen ausgewachsenen Albtraum verwandeln. Nachträgliche Änderungen oder Erweiterungen sind dann nur schwer durchführbar. dotnetpro beschreibt einen Lösungsansatz und stellt eine Komponente für die Realisierung vor.
(
dotnetpro 4/2004,
Seite 104)
Das Mirakel
Geheimnisvoll präsentiert sie sich - die neue .NET-Programmiersprache XEN. Was steckt
hinter dieser Sprache, in der C# mit XML und SQL verschmilzt? Microsoft ist doch mit C# und Visual Basic .NET bereits ein großer Wurf gelungen, wozu wird dann noch XEN benötigt? dotnetpro wagt eine erste Beurteilung.
(
dotnetpro 4/2004,
Seite 114)
SALT ´n Pepper
Das gegenüber der Vorgängerversion in vielen Bereichen erweiterte Software Development Kit bietet nicht nur neue Wizards, sondern produziert endlich konsistente Speech-Tags im Webdokument. dotnetpro zeigt, wie man ASP.NET-Webseiten zum Sprechen bringt.
(
dotnetpro 4/2004,
Seite 108)
Verfolgungswahn
Spam ist schlecht. Darüber gibt es wohl keine zwei Meinungen. Aber wenn man genauer hinsieht, dann lässt sich sogar von Spam einiges lernen. Zum Beispiel, wie Spammer das Problem der Erkennung „toter Adressen“ lösen. dotnetpro zeigt, wie es geht – damit es Ihnen vielleicht einmal für einen guten Zweck hilft.
(
dotnetpro 4/2004,
Seite 124)
Einschreiben mit Rückschein
Microsoft Message Queuing kann mehr als nur Nachrichten versenden und empfangen. Mit Timeout-Werten, dem Versenden von Empfangsbestätigungen und der Nutzung verteilter Transaktionen können Sie eine leistungsfähige Infrastruktur für den Nachrichtentransport aufbauen. Die Möglichkeiten von MSMQ gehen über das, was Web Services bieten, weit hinaus.
(
dotnetpro 3/2004,
Seite 126)
Warp Directory
Im ersten Teil dieses Beitrags zur Active-Directory-Programmierung ging es um den Aufbau der Programmierschnittstellen sowie die Benutzer- und Gruppenverwaltung. Jetzt behandelt dotnetpro die Organisation von Objekten in Containern, die Suche nach Objekten und die Definition eigener Klassen im Schema des Active Directorys.
(
dotnetpro 3/2004,
Seite 120)
Datenzugriff in Kurzform
Ob Microsoft das Versprechen einer Verringerung des benötigten Codes um bis zu zwei Drittel für Version 2.0 des Frameworks wird einhalten können, wird die Öffentlichkeit nicht vor dem offiziellen Release erfahren. Tatsache ist jedoch, dass das Schreiben von immer wiederkehrendem Infrastrukturcode den Entwickleralltag nicht gerade bereichert. Der Data Access Application Block schafft bereits jetzt Abhilfe, was den Bereich des Datenzugriffs mit ADO.NET betrifft.
(
dotnetpro 3/2004,
Seite 114)
Auf die Post ist Verlass
Programm A spricht, aber Programm B hat wichtigeres zu tun als zuzuhören. In solchen Fällen hilft der Microsoft Message Queue Service. Damit haben Entwickler eine fertige Infrastruktur für die asynchrone und zuverlässige Inter-Programmkommunikation an der Hand. Sie lässt sich für viele Anwendungsszenarien einsetzen. Diese dotnetpro-Serie stellt Ihnen MSMQ vor.
(
dotnetpro 2/2004,
Seite 118)
Zentralverwaltung
Der Microsoft-Verzeichnisdienst Active Directory ist in Unternehmen auf dem Vormarsch. Immer öfter sind Software-Entwickler gefordert, Anpassungen und Integrationslösungen für das Active Directory zu entwickeln. Der erste Teil der Serie zur Programmierung des Active Directorys behandelt die relevanten Programmierschnittstellen und die wichtigsten Fälle der Benutzer- und Gruppenverwaltung.
(
dotnetpro 2/2004,
Seite 112)
.NET-Lego
Auf der amerikanischen MSDN-Website sind seit einiger Zeit so genannte „Application Blocks“ zum Download verfügbar. Hierbei handelt es sich um fertige Komponenten, die für bestimmte Aufgaben innerhalb einer Anwendung eingesetzt werden können. dotnetpro stellt in einer dreiteiligen Artikelserie einige dieser Blocks vor und erklärt den größeren Zusammenhang, in dem sie innerhalb einer mehrschichtigen Architektur zum Einsatz kommen können.
(
dotnetpro 12/2003,
Seite 128)
Langer Arm für Programme
Die Performance Counter Register des Pentium 4 gehören zu den modellspezifischen Registern, mit denen nicht jedes Programm auf direktem Wege arbeiten kann. Im zweiten Teil der dreiteiligen Serie erfahren Sie, wie mithilfe eines Treibers der Zugriff ermöglicht wird. Außerdem geht es um die besonderen Anforderungen beim Einsatz auf Mehrprozessorsystemen.
(
dotnetpro 12/2003,
Seite 120)
Flugschreiber fürs Programm
Wichtige Produktionsanlagen werden laufend überwacht. Der Prozessablauf wird protokolliert, und wenn etwas schief geht, blinken rote Lämpchen und Sirenen heulen los. Im Prinzip genau das Gleiche leistet das Enterprise Instrumentation Framework von Microsoft für Software-Systeme. dotnetpro zeigt Ihnen, wie Sie es in Ihre Anwendungen integrieren können.
(
dotnetpro 12/2003,
Seite 112)
Ohne installiertes Framework lassen sich .NET-Programme nicht ausführen. Vor allem ältere und seit längerer Zeit nicht gewartete Windows-Betriebssysteme, verweigern diesen modernen Programmen schlichtweg ihren Dienst. Das nachfolgend vorgestellte Ladeprogramm entschärft dieses Problem und bringt .NET-Programme nahezu auf jeder Windows-Plattform zur Ausführung.