Microsoft's .NET ist der legitime Nachfolger von Windows DNA. Nach einer Dekade
unter COM, DCOM Visual Basic, ASP und C++, entschied man sich für eine Laufzeitumgebung
(vergl. mit Sun's JAVA) die die Grundlage für kommende Programme werden sollte.
Dabei wurden gezielt Schwachpunkte der "alten" Welt ausgemerzt, so zum Beispiel
die sogenannte "DLL Hölle" oder die unterschiedlichen Programmiermodelle (MFC,
ATL, VBForms). Der hauptsächliche Unterschied zu JAVA ist die sogenannte CLR
(Common Language Runtime) die anders als die JVM KEIN Interpreter sondern ein Kompiler
ist der ähnlich wie Delphi bis auf Methodenebene Zwischensprache(MSIL) in Maschinencode
umwandelt.
Mit .NET 2.0 bricht das Zeitalter endlich für eine neue Plattform an. .NET
2.0 ist die Basis für die kommende Plattform
WinFX oder auch .net 3.0 welche mit Windows Vista ausgeliefert wird und viele Neuerungen mit
sich bringt. (Windows
Communication Foundation (ehemals Indigo),
Windows Presentation Foundation (ehemals Avalon). Endlich kommen wir
zu einem Betriebssystem welches ein objektorientiertes Programmiermodell zur Verfügung
stellt. Weitere Neuerungen bringt z.B. die
Windows Workflow Foundation mit. Mit WFW könnenn sehr einfach Geschäftsprozesse
nach einem Pipeline Prinzip implementiert werden. (Kenn ich dass nicht von Site
Server Commerce? )
.NET 3.5 kommt eine neue Technologie namens
Linq mit der C# oder Visual Basic so erweitert wurden dass SQL Abfragen
direkt im Source erstellt werden können. Als Datenquellen eigenen sich Beispielsweise Relationale Datenbankmanagementsystem, XML Daten oder Objekt Listen.
Neu ist ausserdem für die C++ Entwickler eine neue Standard Template Library (STL) die auf .NET basierend ist.
Mit .NET 4.0 liefert Microsoft erstmals seit .NET 2.0 eine komplette Framework Version aus. Anders als .NET 3.0 und 3.5 bei denen es sich um Erweiterungen des .NET Frameworks handelt. .NET 4.0 wird hauptsächlich Software Design Features enthalten, sowie eine komplette Neu Implementierung von WF. Visual Studio 2010 wird nicht mehr in MFC sondern in WPF erstellt sein.
Visual Basic 2005 Artikelreihe um die nächste Generation
von Visual Basic und .net 2.0.
Lesen Sie meinen Artikel aus der Artikelreihe. Dabei wird gezeigt wie einfach mit
Visual Basic 2005 eine Anwendung erstellt werden kann die mit ADO.NET 2.0 und neuen
weiteren Funktionen aus .net 2.0 ( BindingSource, BindingNavigator, DataGrid ) ausgestattet
ist.
BibliotheksVerwaltung.NET
Visual Studio 2010
Hier ein paar Screenshots von Visual Studio 2010 Professional unter Windows 7 auf meinem Mac mini
mono ist eine OpenSource Implementierung des Microsoft .net Frameworks. Damit lassen
sich .net Anwendungen, wie zum Beispiel diese ASP.NET WebSite auf Betriebssystemen
wie Linux, MacOS FreeBSD usw. ausführen. Natürlich ist mono dem "original"
immer etwas nach, geht aber an manchen Stellen interessante Wege. Momentan sind
in der aktuellen mono Version 2.4 ca. 80% .net
3.5 enthalten. Neu ist in 2.4die Ünterstützung von ASP.NET AJAX, sowie rudimentäre Unterstützung von LINQ.
Das mono Team arbeitet ausserdem an weiteren Microsoft Technologien. So gibt es Projekte um Microsofts Silverlight nach mono (Moonlight) zu portieren sowie ein Projekt um WCF, WPF und WWF nach mono (Olive) zu migrieren. Weitere Highlights sind sicher die vielen Managed DataProvider die
es hier gibt. So steht z.B. ein freier Treiber für die IBM DB2 (samt Source)
oder für postgresql zur Verfügung.
Ausserdem gibt es eine Entwicklungsumgebung (MonoDevelop)
basierend auf SharpDevelop
mit der man unter X11 oder MAC OS X mono Anwendungen entwicklen kann.
Leider gibt es in der Linux Version derzeit noch keine visuelle Unterstützung für ASP.NET Seiten Erstellung und im OS X Umfeld gar keinen grafischen Designer.
Ein paar Vermutstropfen bleiben wie z.B. dass...
- die Firma Ximian(Initiator von mono) nun Novell(wer hat die denn ausgegraben?) gehört
- vielleicht einmal Microsoft Patentsverleztungen einklagen könnte
- WindowsForms Entwicklung sehr beschränkt unter
X ist (Viel zu viele Desktops (Gnome, KDE) und die dahinterstehenden Grafikbibliotheken)
Links zu mono
Microsoft Windows DNA (Distributed Network Architecture) ist ein Architekturleitfaden
der aufzeigen soll mit welchen Technologien Anwendungen auf der Windows Plattform
implementiert werden können. Dazu gehören verschieden Technologien wie
COM, DCOM, ADO (Datenbankzugriff), Transkationen in der Software, usw.
COM+ oder auch die ComponentServices sind Microsofts Implementierung von verteilten
Enterprise Systemen. Software wird modularisiert und in Komponentenform auf mehreren
sogenannten ApplikationsServern abgelegt und hauptsächlich dort ausgeführt.
Diese Komponenten unterstützen Transaktionen, ObjectPooling, Queued Components
und vieles mehr.
XML (eXtensible Markup Language) ist seit Oktober 1998 standardtisiert und ist eine
Datenbeschreibungssprache (Format) und enthält die Daten auch. XML ist ein
riesiges Gebiet und setzt sich aus einer Familie von mehreren Standards zusammen.
So zum Beispiel XSD (Xml Schema Definition), ein XML Dokument welches die XML Daten
eines XML Dokuments beschreibt (Datentyp, Relationen zwischen den einzelnen Datensätzen),
oder XSL (eXtensible Stylesheet Language). XSL kann als Schwester von CSS gesehen
werden und dient dazu XML Daten in ein anderes Format zu wandeln.
HTML (HyperText Markup Language), DHTML (dynamic HTML) sowie JavaScript sind aus
der heutigen Programmierung nicht mehr wegzudenken. HTML hatte seine Anfänge
1982 als von IBM ein Datenformat mit der Bezeichnung SGML herauskam. Tim Berners
Lee hat am Forschungsinstitut CERN 1983 einen Teil aus SGML genommen und HTML erschaffen
um (Zeichenketten)Daten über Rechner zu visualisieren. Ausserdem erzeugte er
auch noch den ersten Client für HTML, Mosaic, der Vorläufer aller Browser
wie den IE oder Netscape. Man hatte schnell festgestellt das sich damit Daten auf
den unterschiedlichsten Plattformen darstellen lassen und suchte nun nach einer
Möglichkeit eine Benutzerinteraktion innerhalb des Clients zu erzeugen. Dies
war die Stunde von JavaScript einer Scriptsprache die mit der Firma Sun erzeugt
wurde. Damit konnte man innerhalb von HTML(Seiten) auf den Inhalt per Skript zugreifen
und diesen manipulieren (DHTML).
Windows Vista
Microsoft Windows Vista (Codename "Longhorn") ist der Nachfolger von Windows XP
aus dem Jahre 2001. Es wird vorraussichtlich im Jahr 2006 auf den Markt kommen und
wird aus meiner Sicht heraus ein radikaler Schnitt. Mit Longhorn wird Microsoft
das erste Client Betriebssystem auf den Markt bringen welches das .net Framework
mit sicht bringt und sogar darauf basieren wird (Natürlich nicht ganz). Der
Kern von Windows Server 2003 wird als Grundlage verwendet. Es werden zahlreiche
neue Funktionen im Betriebssystem stecken. So ist zum Beispiel eine komplett neue
Oberfläche enthalten die Vektorbasierend sein wird. Eigentlich sind drei Oberflächen
enthalten(Windows 2000 Style, Aero und Aero Glass). Eine weitere Neuheit wird das
Programmieren von Oberflächen durch XAML, eine xml basierende deklarative Syntax,
die dem Prinzip der ASP.NET Webseiten mit ihrem Codebehind recht ähnlich ist.
Ausserdem sind zu nennen Windows Communication Foundation und irgendwann einmal
WinFS eine Erweiterung des NTFS Dateisystems, welches dann auf SQL Server 2005 basierend
sein wird.
Windows Seven
Windows Seven (Windows 7) ist der momentane Codename für das nächste Windows Betriebssystem von Microsoft. Erstmals tauchte ein Codename für dieses Betriebssystem im Jahre 1998 auf. Windows Blackcomb. Mit der Entscheidung das die Österreichische Hauptstadt Wien auf OpenSource Betriebssystem umsteigen will, wurde aus Windows Blackcomb Windows Vienna. Nun ist der Projektname abermals geändert worden und lautet nun Windows Seven. Dieser Name wird wohl bestehen bleiben.
Bei Windows Vista wurden schon einige wichtige Wichen in Richtung neuartiger Betriebssystem Architektur bei Windows gestellt. Bei Windows Seven jedoch kann man davon ausgehen das sich sehr viel ändern wird. Beispielsweise arbeitet eine Forschergruppe bei Microsoft an einem neuen Kernel. Projekt MinWin. Dieser Kernel ist auf der Festplatte lediglich nur mehr 2.5MB und im Arbeitsspeicher ca. 4MB groß. Es ist denkbar das dieser Kernel das Fundament für alle Betriebssysteme bei Microsoft bilden kann. Änlich bei Linux können verschiedene Module geladen werden um die Funktionaltität zu erweitern.
Desweiteren ist aus der Microsoft Ecke zu hören das "Ein Umdenken statt finden muss, wie wir mit dem Computer interagieren". Dies wird sich mit einer neuen Oberfläche zeigen. Bekannte Projekte hierfür sind
Zune,
Microsoft Surface oder aber auch die Spracherkennung aus Windows Vista.
Ein weiteres Projekt ist Singularity. Dabei handelt es sich um ein komplette neues Betriebssystem! Alle aktuellen Betriebssystem haben ihren Ursprung in Unix oder ähnlichen Derivaten. Bei Singularity gibt es einen Minimalen Kernel und der Rest des Betriebssystems ist "managed", also .net. Ob dieses Projekt in Windows Seven oder MinWin einzug hält ist derzeit unklar.
Sicherheit
SANS hat eine Liste mit den 25 schlimmsten Fehlern in der Software - Entwicklung veröffentlicht
SANS Top-20 Internet Security
Attack Targets als PDF von der Sans.org WebSite zeigt die 20 schlimmsten
Löcher aktueller OS und Software Produkte auf.
Unter Sans Sicherheitstrainings finden Sie unterschiedliche
Sicherheitstrainings unteranderem Defensible .NET.
Die Firma newtelligence hat in Zusammenarbeit mit dem BSI einen Leitfaden und Templates
für .net Programme erarbeitet. Mehr Informationen auf der WebSite von
newtelligence security consulting center
sql map ist ein Tool um SQL Injections zu testen. Download hier
Literatur

Momentan arbeite ich mit meinem Kollegen Frank Eller an dem Buch Datenbankprogrammierung mit C# 2008
welches Ende Juli 2008 auf dem Markt erscheinen soll. Empfehlen kann ich unter anderem:
die Bücher:
- Visual C# 2005 von Frank Eller, ISBN-10:3-8273-2288-X
- Visual Basic 2005 Master Class. Einstieg für Anspruchsvolle, Jürgen Kotz,
ISBN: 3827322669