
iX 08/2006
OBJEKTspektrum 2/06Schnittstellenstandards versprechen Produktivität, denn sie machen die an einem Projekt Beteiligten unabhängig voneinander. Das, was zusammen passen soll, kann getrennt und parallel entwickelt werden. Arbeitsteilige Produktion ist die Folge beim Bau von Häusern, Autos oder Computern. Nur beim Bau von Software hapert es noch. Aber das muss nicht so sein. „Contract First Design”, das in diesem Artikel näher vorgestellt wird, hilft dabei.
dotnetpro 11/05Die zentrale Herausforderung im Kampf gegen Spam ist sicher die Entwicklung eines möglichst effektiven Spam-Erkennungsverfahrens. Aber auch das beste Verfahren ist nutzlos, wenn es keine Umgebung hat, in der es ablaufen kann. In dotnetpro 10/2005 wurde eine solche Umgebung entworfen; und in dieser Ausgabe beleuchtet ihr Entwickler hervorhebenswerte Implementationsentscheidungen als Beispiele für Best-Practices, Trade-Offs und Missverständnisse, wie sie in allen Softwareprojekten vorkommen.
dotnetpro 11/05Da sage einer, die Softwarebranche sei unemotional und unpolitisch. Ha! Das Gegenteil ist der Fall: Emotionalität sieht man regelmäßig aufflackern, wenn es um Open Source oder die Inkompatibilitäten zwischen VB6 und VB.NET geht. Und politisch wird es, wenn der Begriff Softwarepatent fällt. Oder zumindest wurde es bis vor kurzem politisch, denn für´s Erste scheint das Thema ja vom Tisch. Warum aber sind Softwarepatente überhaupt so ein Politikum? Das Konzept der Patente ist ja nicht neu und wir sind doch eigentlich in anderen Branchen sehr zufrieden damit.
dotnetpro 10/05Spam ist eine Plage, da gibt es keine zwei Meinungen. Aber wie der Spam-Flut Herr werden? Das Angebot an Spam-Filtern ist groß. Nur ihre Effektivität ist unterschiedlich. Warum also nicht gleich selbst Hand anlegen und einen maßgeschneiderten Spam-Filtern bauen? Dabei lässt sich einiges über Softwarearchitektur lernen – und am Ende sogar etwas gewinnen!
dotnetpro 10/05[...] Nichtsdestotrotz scheint es angebracht, eine Prämisse der Open Source-Bewegung zu hinterfragen, da sie einer grundlegenden Botschaft der Softwareentwicklung in den letzten Jahren zu widersprechen scheint. Es handelt sich dabei nicht um einen geschaftlichen oder juristischen Aspekt, sondern um einen rein technischen: Ein in Open Source Diskussionen immer wieder ins Feld geführtes Argument pro Open Source ist, dass es für jeden einzelnen Nutzer von Software doch nur vorteilhaft sein könne, wenn sie als Quelltext frei einsehbar verfügbar sei. [...] Läuft das aber nicht zwei essenziellen Forderungen moderner Softwareentwicklung zuwider?
OBJEKTspektrum 5/05Software mehrschichtig aufzubauen ist das wahrscheinlich anerkannteste Muster in der Softwarearchitektur. Dennoch tun sich viele Projekte schwer mit seiner Umsetzung, denn auf viele Fragen bietet das Schichtenmodell inzwischen nur ungenügende Antworten. Es scheint an der Zeit, über ein neues Architekturmodell nachzudenken, das der zunehmenden Verteilung von Software gerecht wird.
dotnetpro 9/05Anwendungen aus mehreren Assemblies zusammenzusetzen ist nicht schwer. VS.NET hilft mit Projekten und Referenzen. Leider sind das Resultat dann aber immer noch oft schwer wartbare Gebilde, die die Vorteile komponentenorientierter Entwicklung nicht ausnutzen. Das liegt an der sich einschleichenden Verzahnung der Komponenten und mangelnder Infrastruktunterstützung für eine effektive Entkopplung. Die Abhilfe heißt Contract Firs Design und Microkernel-Architektur. dotnetpro zeigt wie es geht.
dotnetpro 10/05[...] Die Botschaft von Open Source Software ist jedoch genau das Gegenteil! Open Source will bewusst Implementationen offenlegen. Wer MySql einsetzt, soll sich gern über die Implementation dieses „Bausteins“ jederzeit informieren. Damit wird jedoch einer engen Kopplung Vorschub geleistet, denn Wissen über eine Implementation drängt danach, angewandt zu werden. Je mehr man über eine Open Source Komponente weiß, desto enger die Bindung an ihre „Innereien“ eben über den Einsatz dieses Wissens in Software, die sie nutzt. [...]
Computerworld 33/2005Im Volkslied heißt es von den zwei Königskindern, „die hatten einander so lieb, sie konnten zusammen nicht kommen, das Wasser war viel zu tief.“ Und genauso ist es bei der Softwareentwicklung mit modernen Sprachen, denn dort trennt eigentlich die beiden Königskinder Objektorientierung und relationalen Datenbank ein tiefes Wasser, der so genannte Impedance Mismatch.
Computerworld 33/2005Die Datenbankprogrammierung ist eine Frage der Datenzugriffsschicht; ADO.NET und T-SQL sind die passenden Werkzeuge. Oder? So einfach wird es in Zukunft leider nicht mehr sein, wenn man die technologischen Optionen ausnutzen will. Was Datenbankprogrammierung bedeutet, wird sich insbesondere mit dem SQL Server 2005 stark verändern.
dotnetpro 7-8/05[...] Tja, so war das früher. Aber heute? Heute kann sich quasi jeder, der es möchte, nicht nur eine Beta-Version der neuesten Microsoft Technologien und Produkte beschaffen, sondern auch schon eine Alpha-Version. Verließ früher eine Beta erst wenige Monate vor dem Release den Kreis der Auserwählten, so stehen heute Jahre zwischen erster öffentlicher Vorstellung und Release: VS2005 und .NET 2.0 wurden schon im Oktober 2003 auf der PDC gezeigt und an die Teilnehmer herausgegeben, werden jedoch erst spät in 2005 herauskommen. [...]
Computerworld 24/2005Die Geschichte der Softwareentwicklung ist auch eine Geschichte der Arbeit mit Bauteilen. Die Grundbauteile aller Programme sind Befehle. Sie werden „zusammengesteckt“ und ergeben lauffähige Software. Da das schnell unübersichtlich wird, sind schon früh Bauteile auf einer höheren Ebene eingeführt worden: Unterprogramme, heute Methoden genannt. Wir „stecken sie zusammen“, ohne uns dabei über ihre Struktur Gedanken zu machen. Die nächste Ebene darüber bilden Typen, darüber liegen Assemblies, darüber Komponenten usw. Das „Software Universum“ [1] hat viele Ebenen und die Elemente jeder Ebene können als „Bauteile“ verstanden werden [2]. Die Sprache Modula erhob das Bauteile- bzw. Modulkonzept sogar zu ihrem zentralen Konzept. Inzwischen ist die Softwareentwicklung aber sogar bei ganzen Lösungen, d.h. verteilt laufender Software, als Bauteilen angekommen. [...]
OBJEKTspektrum 3/05Softwareentwicklung geschieht zunehmend in einem Spannungsfeld zwischen Zeitdruck und Technologieflut. Um unter diesen Umständen verlässlich höhere Qualität zu produzieren, müssen sich Menschen und Prozesse verändern.
dotnetpro 6/05Anwendungen aus mehreren Assemblies zusammenzusetzen ist nicht schwer. Zu einer wirklich komponentenorientierten Entwicklung gehört jedoch mehr. Erst mit Contract First Design und einem Microkernel-Framework rückt der Traum von paralleler Entwicklung, ständiger Integration und flexibler Software wirklich näher.
dotnetpro 6/05In der vorletzten Sandbox ging es darum, dass die Informationsflut in unserer Branche nicht ohne weiteres ein Segen ist. Vielmehr müssen sich Medien und Werkzeuge ändern, um aus dem Datenschwall, der uns aus dem Internet entgegenschwappt, wenn wir Google aufdrehen, relevante Information zu machen, die wir zu Wissen verarbeiten können. Ohne Filter wird der Aufwand immer größer, um wirklich wertvolle Informationen zu finden. Nicht mehr Content ist gefragt, sondern mehr Ordnung im Vorhandenen. [...]
dotnetpro 5/05O/R-Mapping verheißt eine starke Codereduktion für viele typische Szenarien des Zugriffs auf relationale Datenbanken. Aber nicht nur Produktivität und Performance sind Kriterien für die Auswahl eines O/R-Mappers. Er sollte auch die Architektur Ihrer Anwendung unterstützen. dotnetpro zeigt am Beispiel Versant Open Access, wie der Einsatz von O/R-Mapping sogar in verteilten Anwendungen funktionieren kann.
IT-Freelancer 5/05Zur Notwendigkeit der Spezialisierung der Kenntnisse und Fertigkeiten für Softwareentwickler. Eine zusammengefasste Darstellung meiner Position, die ich auch in der Sandbox-Kolumne der dotnetpro vertrete bzw. in meinem Weblog unter "On the Future of Software Development".
dotnetpro 5/05[...] So phantastisch diese lesenswerte Geschichte aber ist, sie beschreibt doch bedrückend pointiert die Situation in der sich unsere Zunft der Softwareentwicklung befindet: Wir leiden unter Nichtwissen. Denn der Raum unserer Technologien ist inzwischen so groß, dass es immer mehr für uns relevante Informationen gibt, von denen wir nicht wissen dass es sie überhaupt gibt (geschweige denn, was sie aussagen). Das kann auf Dauer nur tödlich sein. [...]
dotnetpro 4/05dotnetpro erklärt, wie Sie für eine Software die passende Architektur finden. Im ersten Teil des Artikels in der vorangegangenen Ausgabe haben Sie erfahren, wie Sie für eine Beispiel-Applikation den grundsätzlichen Aufbau erarbeiten. Nun geht es an die Implementierung.
dotnetpro 4/05[...] Standards für Schnittstellen reglementieren aber nicht nur, sondern sichern auch Freiheit! Reglementiert wird nur dort, wo die Parteien eben aufeinander stoßen. Für den Bereich diesseits und jenseits von Kontaktflächen empfiehlt schon Knigge: „Bekümmere Dich nicht um die Handlungen Deiner Nebenmenschen, insofern sie nicht Bezug auf Dich oder so sehr auf die Moralität im ganzen haben, […]“ [1] Schnittstellenstandards entkoppeln also, sie machen auch unabhängig, d.h. sie schaffen eben auch einen Raum, in dem ich mich benehmen kann, wie ich will. SOAP macht keine Aussage darüber, wie ein Web Service zu implementieren ist, und Knigge macht keine Aussage darüber, wie jeder Einzelne zuhause allein leben soll. [...]