.NET Framework 3.0

Mehr Sicherheit und Komfort

16.04.2007 | Autor / Redakteur: Dipl.-Ing. Andreas Maslo / Stephan Augsten

Das mit Windows Vista eingeführte .NET Framework 3.0 präsentiert sich als Funktionserweiterung für die Vorgängerversion. Es bietet in diesem Verbund mehr als 9000 Klassen mit neuen Funktionalitäten für das Oberflächendesign, zum Planen von Arbeitsabläufen und zur vereinfachten Kommunikation. Durch digitale Identitäten bei der Authentifizierung soll .NET 3.0 außerdem zum Fundament für mehr Sicherheit werden.

Seit Mitte Januar 2007 steht die aktuellste Windows-Version mit Namen Vista in den Verkaufsregalen. Für das Betriebssystem wurden nicht nur bestehende Programmierschnittstellen überarbeitet, auch neue Interfaces halten Einzug in die Entwicklerwelten.

Dank dieser Schnittstellen können Programmierer beispielsweise die neuen Windows Gadgets in die eingeführte Sidebar (Seitenleiste) implementieren. Desweiteren lassen sich Daten und Nachrichten besser verschlüsseln (CNG - Cryptography Next Generation), Rechte optimiert verwalten, Ereignisse in Standardanwendungen protokollieren, Aufgaben planen oder auch erweiterte Netzwerkdiagnosen durchführen.

Für das Oberflächendesign von Applikationen und die Verwaltung von Anwendungen und Komponenten wurden die bestehenden Richtlinien überarbeitet und erweitert. Eine Übersicht mit den entsprechenden Themenverweisen finden Sie im Internet auf der verlinkten Microsoft-Website. Fester Bestandteil von Vista ist das .NET-Framework in der Version 3.0, das per Windows Update auch für Windows XP mit Service Pack 2 und Windows Server 2003 angeboten wird. Es bietet vier neue Säulen zur Entwicklung von Windows- und Web-Anwendungen.

Windows Presentation Foundation

Während zu Anfängen der Windows-Anwendungsprogrammierung die Applikationsoberflächen auf kompliziertem Wege über API-Aufrufe realisiert werden mussten, haben in den vergangenen Jahren zunehmend RAD-Tools (RAD – Rappid Application Design) die Überhand gewonnen (z.B. Visual Basic). Darüber werden Programmoberflächen im Designmodus gestaltet und mit dem erforderlichen Quelltext verknüpft.

Grundlage der Oberflächenprogrammierung in 32-Bit-Systemen bildeten dabei die pixelorientiert arbeitenden Systembibliotheken GDI32.DLL und USER32.DLL. Obgleich diese Bibliotheken permanent weiterentwickelt und grafische Erweiterungen bereits mit GDI+ nachgerüstet wurden, haben aufgrund aktueller Anforderungen im Bereich der grafischen Anwendungen und Nutzerumgebungen über WPF (Windows Presentation Foundation, ehemals unter dem Namen Avalon entwickelt) neue DLLs ihren Einzug gehalten. WPF ist eine Haupttechnologie des neuen .NET-Frameworks.

Oberflächen aktueller Programme sollen nicht nur Text, Grafiken, Videos und Animationen ausgeben, sondern mit unterschiedlichen Dokumenten arbeiten, ohne dass eine spezielle Anwendung vorausgesetzt werden kann. Bislang mussten dafür zusätzliche Hintergrundanwendungen oder Komponenten bemüht und ferner die Benutzeroberflächen je nach verwendetem Client gesondert angepasst werden: Während sich Windows-Applikationen mithilfe der „Windows Forms“ und Webanwendungen mithilfe von ASP.NET und HTML sowie Skripten realisieren ließen, erforderten spezielle Dokumente gesonderte Viewer oder weitere Zusatzkomponenten. Dementsprechend war der Entwickler verpflichtet, sich mit vielen vereinzelten Teilgebieten auseinandersetzen.

Eine Technik für verschiedene Formate

Dieses Problem soll durch WPF gelöst werden, indem es die Darstellung von Videos, Animationen, zwei- und dreidimensionalen Grafiken und verschiedenen Arten von Dokumenten ermöglicht. Dabei werden Desktop- und Browser-Clients in gleicher Weise unterstützt. Das Ziel ist es, dem Entwickler eine einheitliche Grundlage zur Gestaltung von Benutzeroberflächen an die Hand zu geben, ohne dass dieser sich explizit mit verschiedenen Technologien auseinandersetzen muss. Langfristig soll WPF dementsprechend die bislang verwendeten Windows-Forms- und ASP.NET-Programmoberflächen ersetzen.

In diesem Zusammenhang wird die Programmlogik von der grafischen Benutzerumgebung entkoppelt, so dass sich Grafiker dem Oberflächendesign und Programmierer der Funktionalität widmen können. WPF setzt dazu die XML-basierte Sprache Extensible Application Markup Language (XAML) ein. Diese definiert Oberflächen mithilfe von Deklarationen anstelle von Quelltext. Dank XAML können Schnittstellen-Definitionen also vereinfacht über visuelle Darstellungen generiert werden.

Microsoft wird dafür den speziell entwickelten Expression Interactive Designer anbieten. Arbeitet der Grafiker für das Oberflächendesign später mit einem solchen Design-Tool, so wird der Entwickler die darüber exportierte XAML-Definition importieren, um darüber die Logik für die Schnittstelle zu erstellen. Dem Programmierer steht es frei, eine WPF-Anwendung für Windows oder eine Browseranwendung (XAML Browser Application, XBAP) zu erstellen.

Beiden Applikationstypen ist gemein, dass sie dieselben erweiterten Grafikfunktionen nutzen können, die von den Windows Forms oder anderen älteren Technologien nicht angeboten werden (z.B. Hardwarebeschleunigung, Vektorgrafiken, erweiterte Datenanzeigeoptionen). Ferner wird die Grundlage für die XML Paper Specification (XPS) angeboten, über das ein Standardformat für die Anzeige, Verteilung und den Druck von Dokumenten mit festgelegtem Format definiert ist.

Windows Workflow Foundation

Über den Workflow wird ein Arbeitsablauf definiert, der in traditionellen Anwendungen allein durch den Quelltext bestimmt wird. Prozesse werden dabei in die Programmlogik eingebettet, wodurch der Quellcode nur erschwert zu implementieren und nachträglich anzupassen ist. Unter dem .NET Framework 3.0 kommt die Technologie Windows Workflow Foundation (WWF) zum Einsatz. Sie hilft bei der Umsetzung der Prozesslogik, indem darüber jeder Schritt eines Prozesses zunächst definiert wird, ehe diese mit einem Workflow-Modul ausgeführt wird, das den Prozess anschließend sauber umsetzt.

Obgleich Workflow-Module nicht neu sind, erhalten Sie mit WWF im .NET Framework 3.0 erstmalig eine einheitliche Workflow-Technologie für die Windows-Umgebung. Alle Workflow-basierten Anwendungen können einheitlich auf der gleichen Technologie aufsetzen, wie sie Microsoft bereits in Microsoft Office 2007 und in Windows Sharepoint Services verwendet.

Ein Workflow der WWF ist eine Gruppe von Aktivitäten, die vom WWF-Modul ausgeführt werden. Jede Aktivität entspricht einer Klasse, die beliebige Aufgaben erfüllt. Alle Aktivitäten können in beliebigen Workflows genutzt werden, wodurch sich automatisierte Lösungen vereinfacht umsetzen lassen. Arbeitsabläufe müssen sowohl personen- als auch systemorientierte Abläufe berücksichtigen, auf Effizienz ausgerichtet und im Ablauf selbst jederzeit änderbar sein.

Windows Communication Foundation

Eine weitere wichtige Rolle bei der Entwicklung nimmt zunehmend die Kommunikationsfähigkeit der Anwendungen untereinander ein. In frühen Windows-Versionen wurden ausschließlich die Zwischenablage, DDE- (Dynamic data Exchange) und OLE-Technologien genutzt. Mittlerweile findet der Austausch von Informationen verstärkt über Webdienste und SOAP (ursprünglich Simple Object Access Protocol) statt, wobei auch unterschiedliche Systemplattformen unterstützt werden. Das .NET Framework 2.0 bietet zur Kommunikation ASP.NET-Webdienste, .NET Remoting, Enterprise Services, Microsoft Message Queuing (MSMQ) sowie Web Services Enhancements (WSE).

Die neue Technologie Windows Communication Foundation (WCF, ehemals als Indigo entwickelt) soll unterschiedliche Lösungsansätze zur Kommunikation zu einer einzelnen Grundlage mithilfe interoperabler Dienste zusammenfassen. Dadurch ergeben sich erneut Vorteile für den Entwickler, der sich fortan nicht mehr mit unterschiedlichen Kommunikationstechnologien auseinandersetzen muss. Mit einer einheitlichen API für unterschiedliche Kommunikationstypen wird auch eine verlässliche und optionale Unterstützung für interoperable Kommunikation über SOAP angeboten.

Alternativ zu SOAP können beispielsweise Binärprotokolle, MSMQ und einfache REST-basierte Kommunikationen genutzt werden. WCF ist ein service-orientiertes Kommunikationsverfahren, bei dem kommunizierende Objekte über einen leicht abstrahierten Dienst verbunden werden, der nachträgliche Anpassungen und Änderungen vereinfacht.

Windows Cardspace

Um Benutzer im Internet zu identifizieren, wird mit Benutzernamen, eMail-Adressen und Kennworten gearbeitet. Diese ermöglichen unter anderem den Zugang zu Postfächern und Online-Angeboten wie von Banken oder Shopping-Anbietern. Häufig werden für unterschiedliche Anbieter eigene Zugangsdaten benötigt, denn eine Vereinheitlichung wird sehr leicht zum Sicherheitsrisiko. Sichere Zugriffs-Informationen und deren Variierung erschweren es aber wiederum, die Daten zu verwalten und schnell abzurufen. Das Problem der Zugangsdaten ist zudem, dass sie durch Pishing, Trojaner und ähnlichen Gefahren vor unberechtigtem Zugriff nicht hundertprozentig geschützt sind.

Mit Windows Cardspace (ursprünglich unter dem Namen Infocard entwickelt) bietet Microsoft ein neues Verfahren an, mit dessen Hilfe digitale Identitäten verwaltet werden können. Für jede Person können mehrere Identitäten eingerichtet werden, von denen jede über eine gesonderte Informationskarte verwaltet wird. Bei Internetseiten, die die Cardspace-Anmeldung unterstützen, wird im Rahmen des Logins eine Auswahlmöglichkeit für unterschiedliche Informationskarten angeboten. Mit der Anwahl einer solchen Karte wird auch die digitale Identität festgelegt. Da die Karten eventuell unterschiedliche Informationen enthalten, kann darüber auch bestimmt werden, welche Daten an eine Website übermittelt werden.

Die digitalen Identitäten, die sich hinter den Informationskarten verbergen, werden von einem oder mehreren Identitätsprovidern erstellt. Dabei kommen optimierte Verschlüsselungs-Mechanismen zum Einsatz, um Identitätsnachweise durchzuführen. Ein integrierter Cardspace-Provider kann auf dem lokalen Computer für selbst ausgestellte Identitäten genutzt werden, die gänzlich ohne Kennwörter für die Authentifizierung auskommen. Diese können auch von Websites genutzt werden, um Probleme mit Kennwörtern zu umgehen.

Um sichere Internetseiten gesondert auszuweisen besteht die Möglichkeit, dass ein Unternehmen sich selbst mit einem Hochsicherheitszertifikat ausweist. Um eine entsprechende Signatur zu erhalten, wird das beantragende Unternehmen sehr viel genauer überprüft, als dies aktuell bei den SSL-Zertifikaten der Fall ist.

.NET 3.0 im Internet

Microsoft hat für das neue .NET-Framework eine eigene Homepage eingerichtet (siehe Weblink). Dort finden Sie zu den speziellen Technologien Windows Presentation Foundation, Windows Workflow Foundation, Windows Communication Foundation und Windows Cardspace sowohl weiterführende Informationen als auch Tools oder Beispielanwendungen.

Prinzipiell können Sie alle zuvor genannten Neuerungen des .NET Framework 3.0 wahlfrei einsetzen. Es bleibt Ihnen also selbst überlassen, ob Sie Oberflächen mit WPF definieren, Anwendungen über WCF kommunizieren lassen, Authentifizierungen mit Cardspace durchführen oder aber Arbeitsabläufe über WWF realisieren. Die Umstellung der genannten Technologien kann auch schrittweise erfolgen – in jedem Fall sind sie mit den neuen Möglichkeiten für die Zukunft der Sofware-Entwicklung gerüstet.

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)



Spamschutz 

Bitte geben Sie das Resultat dieser Rechenaufgabe (Addition) ein:
Kommentar abschicken

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 2004050)