NET Framework-Klassen

Werbung
Whitepaper zur Übersicht über .NET
(Engl. Originaltitel: .NET Overview White Paper)
Veröffentlicht: Januar 2002
Mit dem Microsoft® .NET-Programmiermodell müssen sich Unternehmensentwickler weniger auf die
Frage konzentrieren, wo und wie eine Anwendung ausgeführt wird, sondern können sich der Frage
zuwenden, welche Aufgaben eine Anwendung erfüllen soll. Dieses Dokument untersucht, welche
Bedeutung .NET für IT-Experten in Unternehmen hat. Zudem werden die damit verbundenen Vorteile
und Technologieanforderungen erläutert.
Kurzzusammenfassung
Dieses Whitepaper richtet sich an CIOs (Chief Information Officers) und Enterprise Architects. Es
bietet einen technologischen Überblick über Elemente der Microsoft .NET-Plattform und erläutert
deren Vorteile sowie die Anforderungen für deren Einsatz.
Produkte & Technologien

Common Language Runtime

.NET Framework-Klassen

ASP.NET

Programmiersprachen (C#, Microsoft Visual Basic® .NET, Microsoft JScript® .NET)

XML-Webdienste

.NET Remoting

Windows Forms (Windows-Formulare)

Microsoft Visual Studio® .NET

Microsoft Windows Server System (früher .NET Enterprise Server)
Vorteile

Eine freigegebene, integrierte Entwicklungsumgebung (Integrated Development Environment oder
IDE). IT-Abteilungen können ein gemeinsames Standardtool verwenden, das mehr als
20 Sprachen unterstützt, so dass Entwickler ihre bereits gewonnenen, individuellen Fähigkeiten
nutzen können.

Eröffnet neue Unternehmensmöglichkeiten und ermöglicht die plattformunabhängige Integration
von Systemen. Somit können IT-Organisationen bestehende Anwendungen erweitern, um
Unternehmenspartner zu integrieren.

Verbesserte Anwendungsleistung und -sicherheit sowie eine einfachere Bereitstellung.
Neben der Kostenreduzierung gewinnt innerhalb der IT-Branche zunehmend auch die Einkunfts- und
Gewinnsteigerung eine tragende Rolle. Dies bedeutet eine Fokussierung auf schnelle, kosteneffektive
Integration von Lieferanten, Partnern und Kunden außerhalb des lokalen Unternehmensnetzwerks
(LAN) und der Unternehmensfirewall. Kurz gesagt: Mehr Leistung bei gleichzeitig geringerem
Aufwand.
Das .NET Framework bietet z. B. Tools für Entwickler, um Lösungen einmalig zu programmieren und
diese dann auf mehreren Geräten, wie Smartphones und mit Windows betriebenen Pocket PCs,
auszuführen.
Dieses Whitepaper stellt die wichtigen Elemente der Microsoft .NET-Plattform für die Entwicklung von
Unternehmensanwendungen vor und erläutert deren Vorteile und technologischen Anforderungen aus
Sicht von Unternehmensplanern, Entwicklern, IT-Experten und des CIO. Das Whitepaper soll ITExperten beim Planen der Infrastruktur und der Entwicklungsumgebungen für Anwendungen helfen.
.NET Framework-Elemente
Das .NET Framework ist das Programmiermodell der .NET-Plattform zum Erstellen, Bereitstellen und
Ausführen von XML-Webdiensten und -Anwendungen. Es verwaltet viele Reparaturaufgaben und
ermöglicht Entwicklern, sich auf das Programmieren von Unternehmenslogik für Anwendungen zu
konzentrieren. Im Folgenden sind die Hauptelemente des .NET Frameworks aufgeführt:

Common Language Runtime

.NET Framework-Klassen

ASP.NET

XML-Webdienste

.NET Remoting

Windows Forms
Common Language Runtime
Die Common Language Runtime ist das Ausführungsmodul für .NET Framework-Anwendungen. Es
bietet eine Reihe von Diensten, einschließlich der folgenden:

Codeverwaltung (Laden und Ausführen).

Isolation des Anwendungsarbeitsspeichers.

Überprüfung von Typensicherheit.

Konvertierung von Zwischensprache zu Computersprache.

Zugriff auf Metadaten (erweiterte Typinformationen).

Arbeitsspeicherverwaltung für verwaltete Objekte.

Erzwingen von Codezugriffssicherheit.

Ausnahmebehandlung, einschließlich sprachübergreifender Ausnahmen.

Interoperabilität zwischen verwaltetem Code (Code zum Zuordnen von Common Language
Runtime-Diensten), Component Object Model-Objekten (COM) sowie nicht verwaltetem Code und
nicht verwalteten Daten (bereits bestehende DLLs (Dynamic Link Library).

Automatisierung des Objektlayouts.

Unterstützung von Entwicklerdiensten (z. B. Profilerstellung und Testen).
Die Common Language Runtime ist für Laufzeitdienste wie Sprachintegration, Einhaltung der
Sicherheitsrichtlinien sowie Arbeitsspeicher-, Prozess- und Threadverwaltung verantwortlich.
Zusätzlich spielt die Common Language Runtime während der Entwicklungszeit eine Rolle, wo
Features wie Gültigkeitsdauerverwaltung, Benennung der stärksten Verschlüsselungsebene,
sprachübergreifende Ausnahmebehandlung und dynamische Bindungen die Codemenge reduzieren,
die ein Entwickler erstellen muss, um Unternehmenslogik als wieder verwendbare Komponente zu
gestalten.
Die Elemente der Common Language Runtime zeigt Abbildung 1.
Abbildung 1: Elemente der Common Language Runtime
Die Common Language Runtime unterstützt mehr als 20 Sprachen. Die Sprachen werden durch einen
Compiler zu Zwischensprachen kompiliert. Dieser intermediäre Sprachcode wird durch einen an das
jeweilige System angepassten JIT-Compiler (Just-In-Time) in Computersprache kompiliert. Dieser
verwaltete Code wird dann in der Common Language Runtime auf dem Clientgerät ausgeführt.
Vorteile
Die Common Language Runtime bietet eine solide Grundlage für Entwickler zum Erstellen
verschiedener Anwendungstypen. Die Common Language Runtime bietet die folgenden Vorteile,
unabhängig davon, ob ein Entwickler eine ASP.NET-Anwendung, eine Windows Forms-Anwendung,
einen XML-Webdienst, eine mobile Codeanwendung, eine verteilte Anwendung oder eine
Anwendung, die mehrere dieser Anwendungsmodelle vereint, erstellt:

Vereinfachte Entwicklung.

Integration von Code in verschiedenen Sprachen.

Sicherheit mit Codeidentität.

Bereitstellung ohne DLL-Versionsprobleme (auch als „DLL-Hölle“ bezeichnet).

Versionsverwaltung von wieder verwendbaren Komponenten.

Wiederverwendung durch Implementierungsvererbung.

Verwaltung der Objektgültigkeitsdauer.

Objektbeschreibungen.
Die Common Language Runtime vereinfacht das Entwerfen von Komponenten und Anwendungen,
deren Objekte sprachübergreifend interagieren. Objekte, die in unterschiedlichen Sprachen erstellt
wurden, können miteinander kommunizieren und ihr Verhalten kann umfassend integriert werden. Ein
Entwickler kann z. B. eine Klasse definieren und dann eine andere Sprache verwenden, um eine
Klasse von der ursprünglichen Klasse abzuleiten, oder eine Methode aus der ursprünglichen Klasse
aufzurufen. Entwickler können außerdem eine Instanz einer Klasse an eine Methode einer Klasse
übergeben, die in einer anderen Sprache erstellt wurde. Diese sprachübergreifende Integration ist
möglich, weil Sprachcompiler und Tools, die die Laufzeit zuordnen, ein gemeinsames, durch die
Laufzeit definiertes Typsystem verwenden und die Regeln der Laufzeit zum Definieren, Erstellen,
Verwenden, Speichern und Binden neuer Typen befolgen.
„Ich vertraue auf .NET”
Rick Devenuti
Vice President
Chief Information Officer
Microsoft Corporation
Die Common Language Runtime kann von beliebigen Programmen verwendet werden, die in einer
beliebigen Umgebung von NOTEPAD.EXE bis zu erweiterten IDEs (Integrated Development
Environments) wie Visual Studio.NET. entwickelt wurden.
Technologische Anforderungen
Die Common Language Runtime muss für jeden .NET-Code installiert sein, der auf dem Server (oder
bei Windows Forms-Anwendungen auf dem Clientcomputer) ausgeführt werden soll. Zur Zeit der
Veröffentlichung des vorliegenden Dokuments ist die Common Language Runtime als Teil des SDKs
von .NET Framework installiert und wird in die Microsoft Windows Server™ 2003-Produktfamilie
eingeschlossen.
.NET Framework-Klassen
Das .NET Framework enthält Klassen, Schnittstellen und Werttypen, die den Entwicklungsprozess
beschleunigen und optimieren, sowie Zugriff auf die Systemfunktionalität bieten. Um
sprachübergreifende Interoperabilität zu ermöglichen, entsprechen die .NET Framework-Typen der
Common Language Specification (CLS) und können daher von jeder Programmiersprache mit einem
unterstützten Compiler verwendet werden. Dies ermöglicht IT-Abteilungen in Unternehmen, das
bereits bewährte Entwicklerteam beizubehalten und zu erweitern. Darüber hinaus kann unverzüglich
mit der Entwicklung neuer .NET-Anwendungen oder .NET-Erweiterungen zu bestehenden
Anwendungen mit vollständiger Interoperabilität begonnen werden. Dies verringert
Markteinführungszeiten bei gleichzeitig gesteigerter Wiederverwendbarkeit durch sprachübergreifende
Vererbung.
Die .NET Frameworktypen bilden die Grundlage auf der .NET-Anwendungen, Komponenten und
Steuerelemente erstellt werden. Das .NET Framework enthält Typen, die die folgenden Funktionen
ausführen:

Darstellen von Basisdatentyp und Ausnahmen.

Verkapseln von Datenstrukturen.

Ausführen von Eingabe/Ausgabe (E/A).

Zugreifen auf Informationen zu geladenen Typen.

Aufrufen von .NET Famework-Sicherheitsüberprüfungen.

Bereitstellen von Datenzugriff.

Bereitstellen einer umfassenden, clientseitigen grafischen Benutzeroberfläche (Graphical User
Interface oder GUI) und einer servergesteuerten, clientseitigen GUI.
Das .NET Framework bietet eine umfassende Gruppe von Schnittstellen, sowie abstrakte und
konkrete (nicht-abstrakte) Klassen. Entwickler können die konkreten Klassen direkt verwenden, oder
benutzerdefinierte Klassen daraus ableiten. Um die Funktionalität einer Schnittstelle zu verwenden,
können Entwickler entweder eine Klasse erstellen, die die Schnittstelle implementiert, oder eine
Klasse aus einer der .NET Framework-Klassen ableiten, die die Schnittstelle implementieren.
Vorteile
Schnellere Markteinführungszeiten. Anwendungsfeatures, die gewöhnlich nur schwer zu
implementieren waren oder eine Drittanbieterkomponente erforderten, können jetzt mit Hilfe des
.NET Frameworks durch nur wenige Codezeilen hinzugefügt werden. Das .NET Framework bietet
über 4500 Klassen, die umfassende Funktionalität enthalten. Hierzu zählen u. a. XML, Datenzugriff,
Dateiübertragung, reguläre Ausdrücke, Bilderstellung, Leistungsüberwachung und -protokollierung,
Transaktionen, Message Queuing und SMTP-Mail.
Release Services Manager (RSM) 2.0, eine intern entwickelte Unternehmensanwendung, stellt
Microsoft Echtzeitzugriff zu Produkt- und Veröffentlichungsdaten bereit und unterstützt die
elektronische Lieferung von Produktinformationen an Händler und Unternehmenspartner. Der Entwurf
von RSM 2.0 basiert auf einer n-stufigen Architektur, wobei die mittlere Stufe aus mehreren XMLWebdiensten besteht, die mit Hilfe eines mittelstufigen Frameworks von Klassen mit der Datenbank
kommunizieren. Durch das Erstellen einer Smartclient-Anwendung wurde durch Windows Forms eine
umfangreiche Benutzeroberfläche für RSM 2.0 entwickelt. Diese Entwicklung erforderte weniger
Aufwand als die Bearbeitung der webbasierten Benutzeroberfläche aus der vorherigen Version von
RSM. Mehrere .NET Framework-Klassen wurden verwendet, um Dateien auf dem Clientcomputer zu
bearbeiten. Hintergrundverarbeitung und Multithreading minimierten die Auswirkungen auf die
Leistung.
Technologische Anforderungen
Die .NET Common Language Runtime muss auf Clients und Servern installiert werden, die .NETAnwendungen ausführen. Die Frameworkbibliothek und Common Language Runtime werden
gemeinsam als ein Installationspaket von ungefähr 21 MB verteilt. Zur Zeit der Veröffentlichung dieses
Dokuments kann dieses Paket über das .NET Framework-SDK installiert werden.
ASP.NET
ASP.NET ist eine neuartige, leistungsstarke Programmierumgebung, die die schnelle Entwicklung
leistungsstarker Webanwendungen und -dienste ermöglicht. Es bietet eine einfache und höchst
skalierbare Möglichkeit zum Erstellen, Einsetzen und Ausführen von Webanwendungen für beliebige
Browser und Geräte.
Vorteile
Im Folgenden werden die wesentlichen Vorteile von ASP.NET aufgeführt:

Einfaches Programmiermodell. ASP.NET stellt eine wesentliche Erleichterung für das Erstellen
reeller Webanwendungen dar. ASP.NET-Serversteuerelemente ermöglichen einen HTMLähnlichen, deklarativen Programmierstil mit dem Entwickler effektive Seiten mit wesentlich
weniger Code erstellen können, als dies bisher mit Active Server Pages (ASP) möglich war. Das
Anzeigen von Daten, das Überprüfen von Benutzereingaben und das Übertragen von Dateien
sind einfache Prozesse. ASP.NET-Seiten unterstützen alle Browser einschließlich Netscape,
Opera, AOL und Microsoft Internet Explorer.

Flexible Sprachoptionen. Mit Hilfe von ASP.NET können Entwickler ihre bisherigen
Programmiersprachenkenntnisse nutzen. Im Gegensatz zum klassischen ASP, das nur
interpretiertes VBScript (Microsoft Visual Basic Scripting Edition) und JScript unterstützt,
unterstützt ASP.NET jetzt mehr als 25 .NET-basierte Sprachen, einschließlich integrierter
Unterstützung für Visual Basic .NET, C# und JScript .NET. Dies bietet Entwicklern große
Flexibilität in der Wahl der Programmiersprache.

Erweiterte Entwicklungsumgebung. Entwickler können die Leistung von ASP.NET mit einem
beliebigen Texteditor vollständig nutzen; dies gilt sogar für Notepad. Visual Studio .NET fügt
jedoch zusätzlich die Produktivität der Visual Basic-Formatentwicklung für das Web hinzu.
Entwickler können ASP.NET-Web Forms (Webformulare) jetzt visuell mit Hilfe bekannter
Drag & Drop- und Doppelklicktechniken entwerfen. Zudem steht Entwicklern die vollständige
Codeunterstützung einschließlich Anweisungsvervollständigung und Farbcodierung zur
Verfügung. Visual Studio .NET bietet außerdem integrierte Unterstützung für das Testen und
Bereitstellen von ASP.NET-Webanwendungen.

Verbesserte Leistung. Die Trennung von Code und Inhalt ermöglicht die dynamische
Kompilierung von ASP.NET-Seiten in verwaltete Klassen für eine hohe
Verarbeitungsgeschwindigkeit. Jede eingehende HTTP-Anforderung wird an eine neue
Seiteninstanz geliefert, so dass Entwickler sich bei der Programmierung keine Gedanken über die
Threadsicherheit machen müssen.

Einfachere, schnellere Bereitstellung. ASP.NET verwendet das Microsoft .NET FrameworkBereitstellungsmodell, das auf Assemblys basiert. Hierdurch können die Vorteile von Features wie
XCOPY-Bereitstellung, parallele Bereitstellungen von Assemblys und XML-basierte Konfiguration
genutzt werden. ASP.NET unterstützt außerdem die Bereitstellung einer vollständig kompilierten
Anwendung. Der Vorteil hiervon ist, dass für den Administrator des Webservers kein Quellcode
sichtbar ist. Dies kann eine wichtige Rolle spielen, wenn die Anwendung durch ein anderes
Unternehmen gehostet wird. ASP.NET verwendet ein sehr einfaches Bereitstellungsmodell. Um
eine Anwendung bereitzustellen, werden einfach alle Dateien der Anwendung in das
entsprechende Verzeichnis kopiert. Es ist keine Registrierung von Objekten und kein Neustart der
Anwendung erforderlich. Alle Teile einer ASP.NET-Anwendung können auf diese Weise
bereitgestellt werden. Hierzu zählen Seiten, XML-Webdienste, kompilierte Komponenten
(innerhalb von DLLs) und sogar Konfigurationsdaten.
Beispielsweise verwendeten die Entwickler der Information Technology Group (ITG) von Microsoft
ASP.NET, um die Benutzeroberfläche für MS Contract zu erstellen. Dabei handelt es sich um eine
Anwendung, die Unterstützung bei der Verwaltung und Koordinierung der komplexen Verwaltung von
Verträgen bei Microsoft bietet. ASP.NET ermöglichte den Entwicklern von MS Contract, bereinigten
und strukturierten Code zu schreiben. Da neue Codeversionen vierteljährlich veröffentlicht werden und
an einem Projekt häufig unterschiedliche ITG-Entwickler arbeiten, ist die Entwicklung von
übersichtlichem Code unerlässlich für die Effizienz und Wartung. Für Aufgaben wie das Auffüllen
eines Listenfeldes nach einer Rücksendung, wurden MS Contract-Datenbanktreffer auf 30 %
beschränkt. Diese Funktion konnte fast ohne Programmieraufwand realisiert werden.
Unternehmensversionen von Visual Studio .NET bieten Features für eine schnelle Entwicklung von
Webanwendungen, um Organisationen beim Planen, Analysieren, Entwerfen, Erstellen, Testen sowie
Koordinieren von Entwicklerteams für ASP.NET Webanwendungen zu unterstützen. Zu diesen
Features zählen Unified Modeling Language-Klassenmodellierung (UML) (konzeptuelle, logische und
physikalische Modelle), Testtools (Funktionen, Leistung und Skalierbarkeit), sowie Frameworks und
Vorlagen für Unternehmen. Diese Features sind alle in der integrierten Visual Studio .NET-Umgebung
verfügbar.
ASP.NET verschiebt das Konzept herkömmlicher ASP-Anwendungsprogrammierung auf die nächste
Ebene. Eine Website oder Webanwendung innerhalb einer Website kann sowohl ASP.NET-Seiten, als
auch ASP-Seiten enthalten. Da auf ASP- und ASP.NET-Seiten vom selben Webserver aus
zugegriffen werden kann, müssen bestehende ASP-Seiten nicht an ASP.NET-kompatible Seiten
angeschlossen werden. Von Microsoft durchgeführte Tests haben jedoch ergeben, dass ASP.NETAnwendungen Anforderungen zwei- bis dreimal schneller verarbeiten können als herkömmliche ASPAnwendungen.
Neue Features wie Serversteuerelemente und Ereignisbehandlung in ASP.NET unterstützen
Entwickler darin, Anwendungen schneller und mit weniger Programmieraufwand zu erstellen. Es ist
außerdem wesentlich einfacher als bisher, Code von HTML-Inhalt zu trennen.
Technologische Anforderungen
Das ASP.NET-Modell setzt eine statusfreie Dienstarchitektur voraus. Statusfreie Architekturen sind
allgemein besser skalierbar als statusbehaftete Architekturen. XML-Webdienste können die ASP.NETStatusverwaltungsdienste verwenden, wenn der Status anforderungsübergreifend beibehalten werden
muss. XML-Webdienste basierend auf ASP.NET sind verwaltete Anwendungen, die von der Common
Language Runtime ausgeführt werden, und daher alle oben beschriebenen Features der Common
Language Runtime und des .NET Frameworks nutzen können. Alternativ hierzu können Sie .NETverwalteten Code verwenden, der in der Common Language Runtime ohne Verwendung von
ASP.NET ausgeführt wird.
C# (C Sharp)
C# (gesprochen „C Sharp”) ist eine einfache, moderne, objektorientierte und typensichere Sprache,
die Programmierern das schnelle und einfache Erstellen von Lösungen für die .NET-Plattform
ermöglicht.
Vorteile

Wiederverwendung von Code. Komponenten, die mit Hilfe von C# entworfen wurden, können
auf einfache Weise zu XML-Webdiensten konvertiert werden, die internetweit unter Verwendung
einer beliebigen Sprache, die auf einem beliebigen Betriebssystem ausgeführt wird, aufgerufen
werden können.

Erweiterte Leistung. Garbage Collection (Sammlung der veralteten Objekte); keine manuelle
Arbeitsspeicherverwaltung.

Erweiterte Zuverlässigkeit. Variablen werden automatisch initialisiert und sind typensicher.

Gesteigerte Entwicklerproduktivität. Unterstützung von Versionserstellung und Skalierbarkeit.

Schnellere Markteinführungszeiten. Bessere Zuordnung zwischen Unternehmensprozess und
Implementierung. Entwickler können domänenspezifische Attribute definieren und diese zu
beliebigen Sprachelementklassen, Schnittstellen etc. zuordnen. Die definierten Attribute aller
Elemente können programmatisch untersucht werden.

Umfassende Interoperabilität. Native Unterstützung für COM und Windows-API.
C# hat wesentlich zum Erfolg von Consensus 3.0 beigetragen. Consensus 3.0 ist eine webbasierte
Anwendung, mit der Microsoft-Benutzer oder -Gruppen auf einfache Weise elektronische Umfragen
erstellen, verteilen und verwalten können, um wertvolles Feedback zu erhalten. Das Team, das diese
Anwendung entwickelt hat, verwendete das .NET Framework und die Sprache C#, um einen
Multithread-Mailservice zu einzurichten. Durch die Verwendung von C# konnte die Entwicklungs- und
Testdauer unter Beibehaltung des objektorientierten Ansatzes reduziert werden, ohne diesen
aufzugeben. Für dieses Projekt war C# als Sprache für den Anwendungsentwurf optimal geeignet.
Durch die Unterstützung des .NET Frameworks bei den grundlegenden Programmieraufgaben
bewertete das Team die Verwendung von C# im Vergleich zu Visual Basic sogar als einfacher.
Technologische Anforderungen
Für die Entwicklung erfordert C# die Common Language Runtime und die .NET FrameworkKlassenbibliotheken.
VisualBasic.NET (VB.NET)
Visual Basic .NET ist die nächste Version von Visual Basic zum Entwickeln verteilter Anwendungen,
wie z.B. n-stufiger Unternehmens- und Websysteme.
Vorteile

Erweiterte, objektorientierte Unterstützung, z. B. Vererbung.

Strukturierte Ausnahmebehandlung.

Neue Threadoptionen.

Garbage Collection.

Einfaches Erstellen von Web Forms, wie das Erstellen von Windows Forms.

Schnelles Erstellen von XML-Webdiensten.

Neue Version von ActiveX® Data Objects (ADO) zum Zugreifen auf unverbundene Datenquellen.

Unterstützung von sprachübergreifender Vererbung. (Klassen, die in Visual Basic .NETVB.NET
entwickelt wurden, können von in anderen Sprachen erstellten Klassen erben.)

Vollständige Integration von Visual Basic .NET in andere Visual Studio .NET-Sprachen.

Schnelles Entwickeln skalierbarer Websites mit Hilfe von Web Forms und Microsoft ADO.NET.

Einfaches Bereitstellen der Anwendung durch Kopieren ausführbarer Dateien und Komponenten
von Verzeichnis zu Verzeichnis.

Testen von mehrsprachigen Anwendungen mit dem vereinheitlichten Debugger.
Die Vorteile beim Debuggen mit Hilfe von Visual Basic .NET wurden bei der Entwicklung von
Consensus 3.0 deutlich. Bei diesem Projekt reduzierte das nahtlose Testen im .NET Framework die
herkömmliche Testdauer um ungefähr 50 %. Dieses herausragende Ergebnis führte dazu, dass die
Entwickler von Consensus auch in Zukunft nicht mehr auf die alte Testumgebung zurückgreifen
werden.
Technologische Anforderungen
Für die Entwicklung erfordert Visual Basic .NET die Common Language Runtime, die .NET
Framework-Klassenbibliotheken und die Visual Studio .NET IDE.
Anwendungen basierend auf Microsoft Visual Basic, Version 6.0, können auf Visual Basic .NET mit
Hilfe des Aktualisierungs-Assistenten und Befehlszeilentools in Visual Basic .NET aktualisiert werden.
JScript .NET
JScript .NET, die nächste Generation der JScript-Sprache, ist eine objektorientierte Skriptsprache für
die Entwicklung client- und serverseitiger Skripte für ASP.NET-Webanwendungen.
Vorteile

Leistungsverbesserung (es handelt sich um eine „echt“ kompilierte Sprache).

Die Eingabe in JScript .NET wird durch explizite Typdeklaration und implizite Typinferenz
(Typenvariablen und typenlose Variablen) eingeführt.

Vollständige Unterstützung von klassenbasierten Objekten (mit Vererbung, Funktionsüberlastung,
Eigenschaftszugriff etc.).

Sprachübergreifende Unterstützung und Zugriff auf das .NET Framework.
Technologische Anforderungen
Für die Entwicklung erfordert JScript.NET die Common Language Runtime und .NET FrameworkKlassenbibliotheken.
XML-Webdienste
Ein XML-Webdienst ist eine Gruppe von Funktionen, als Einheit gepackt und veröffentlicht, um Daten
und Dienste für andere Anwendungen bereitzustellen. Anwendungen greifen auf XML-Webdienste
über Standardwebprotokolle und -datenformate wie HTTP, XML und SOAP (Simple Object Access
Protocol) zu. Hierbei kann die Implementierung des jeweiligen Webdienstes außer Acht gelassen
werden. XML-Webdienste bilden Blöcke zum Erstellen offener verteilter Systeme.
Vorteile
XML-Webdienste bieten die folgenden Vorteile:

Interoperabilität. Jeder Webdienst kann mit jedem anderen beliebigen Webdienst über SOAP
kommunizieren.

Stetige Erreichbarkeit. XML-Webdienste kommunizieren mit Hilfe von HTTP und XML. Jedes
Gerät, das diese Technologien unterstützt, kann daher XML-Webdienste sowohl hosten, als auch
darauf zugreifen.

Geringe Startbarrieren. Die Konzepte von XML-Webdiensten sind leicht verständlich, und
kostenlose Toolkits ermöglichen Entwicklern das schnelle Erstellen und Bereitstellen von XMLWebdiensten. Zudem ermöglichen einige dieser Toolkits, dass bereits bestehende Komponenten
auf einfache Weise als XML-Webdienste dargestellt werden.

Industrieunterstützung. Die meisten führenden Softwareunternehmen unterstützen SOAP und
die dazu gehörende XML-Webdiensttechnologie. Die .NET-Plattform basiert z. B. auf XMLWebdiensten. Hierdurch wird es wesentlich leichter, in Visual Basic erstellte Komponenten als
XML-Webdienste bereitzustellen, die dann von XML-Webdiensten, die z. B. in IBM VisualAge
erstellt wurden, verwendet werden können.
Abbildung 2 zeigt, wie XML-Webdienste verbunden werden können, um eine verteilte Anwendung zu
erstellen.
Abbildung 2: Anwendungsmodell für XML-Webdienste
Ein Beispiel für eine Anwendung, die einen XML-Webdienst verwendet, ist Account Explorer. Dies ist
eine webbasierte Anwendung, mit der Microsoft-Angestellte anhand einer Benutzeroberfläche
Kundendaten anzeigen können, die in vielen unterschiedlichen Datenbanken gespeichert sind.
Benutzer greifen auf den SQL Server™ 2000-Datenbankserver über XML-Webdienste zu. XMLWebdienste bieten außerdem die Überprüfung von Benutzeranmeldeinformationen, um
Sicherheitsanforderungen zu erfüllen. Das zugrunde gelegte Design von Account Explorer ermöglichte
dem Entwicklungsteam, bekannte Industriestands wie SOAP (Simple Object Access Protocol) und
XML zu verwenden, um die Vorteile von XML-Webdiensten vollständig zu nutzen.
Microsoft entdeckte einen weiteren wertvollen Verwendungszweck für XML-Webdienste: das
Optimieren der Suchfunktion auf der Hauptwebsite von Microsoft. Ein XML-Webdienst, der Antworten
zu den häufigsten Fragen enthält, die an Microsoft über das Web gesendet werden, ist jetzt in die
Suchergebnisse (als Best Bets) und die URLs (als “Smart 404s”) integriert worden, die normalerweise
bei der Eingabe in einen Browser HTTP 404-Fehler erzeugen würden. Da es sich bei der
Suchfunktion jetzt um einen XML-Webdienst und nicht mehr um eine einzelne Funktion handelt, kann
die Suche auf einer beliebigen Plattform, in einer beliebigen Sprache, innerhalb von Microsoft.com
oder auf beliebigen Websites im Internet verwendet und implementiert werden.
.NET Remoting
Kommunikation ist der Schlüssel zu Objekten, die auf anderen Netzwerken oder
Anwendungsdomänen gespeichert sind. Diese Objekte werden auch als Remoteobjekte bezeichnet.
.NET Remoting bietet eine äußerst leistungsstarke Methode, um die domänenübergreifende
Kommunikation zwischen Objekten zu ermöglichen.
Die Kommunikation zwischen der .NET-basierten Anwendung und den Anwendungsdomänen wird
über Channels ausgeführt, die für den Transport von Nachrichten zwischen den Remoteobjekten
verantwortlich sind. Eine Nachricht wird durch ein Formatierungsprogramm (auch „Formatter“
genannt) formatiert (kodiert und dekodiert), bevor sie über die Channels transportiert wird.
Das .NET Framework stellt zusätzlich zu SOAP und binären Formatierungen, auch HTTP- und
Transmission Control Protocol-Channels (TCP) zur Verfügung. Der HTTP-Channel verwendet zum
Übertragen von Nachrichten die SOAP-Formatter, während der TCP-Channel binäre
Formatierungsprogramme verwendet. Beide Channels können für die Verwendung entsprechender
Formatierungsprogramme angepasst werden. Zudem sind Channels von Drittanbietern verfügbar.
Der HTTP-Channel verwendet SOAP zum Übertragen von Nachrichten, während der TCP-Channel
binäre Formatierungsprogramme verwendet. Beide Channels können für die Verwendung
entsprechender Formatierungsprogramme angepasst werden. Zudem sind Channels von
Drittanbietern verfügbar.
Vorteile
.NET Remoting bietet die folgenden Vorteile:
Einfache Verwendung mit dem Netzwerk oder dem Internet.
Transparente Objektinteraktion aufgrund des einfachen Programmiermodells und der
Laufzeitunterstützung.
Clients können mit den Remoteobjekten mit Hilfe eines beliebigen registrierten Channels
kommunizieren (Channels müssen vor den Objekten registriert werden).
Windows Forms
Windows Forms versetzen die herkömmliche, umfassende Desktopanwendung in Windows und die
Entwicklung unter Verwendung von Visual Studio-Formularen in die Welt des verwalteten Codes und
der Common Language Runtime.
Vorteile

Einfache Bereitstellung. Windows Forms-Anwendungen können herkömmlich über eine
SETUP.EXE/MSI-Datei oder dynamisch mit HTTP über einen Webbrowser verteilt werden. Dies
ähnelt der Verteilung von ActiveX-Steuerelementen. Windows-Formulare bieten jedoch die
Möglichkeit, nur die zur jeweiligen Zeit erforderlichen Teile zu downloaden. Dies stellt eine
wesentliche Erleichterung für die Bereitstellung in Unternehmen im Vergleich zur herkömmlichen,
monolithischen Bereitstellung von AcitveX-Komponenten dar.

Mehr Sicherheit. Windows Forms werden unter Verwendung der Common Language Runtime
ausgeführt und für die Anwendung werden Sicherheitsrichtlinien für den Codezugriff verwendet.
Für die interne Microsoft-Anwendung Release Services Manager (RSM) verwendeten Entwickler
Windows Forms, um eine stabile Smartclient-Version (2.0) mit der Skalierbarkeit und Verfügbarkeit
einer webbasierten Anwendung zu erstellen. Bei der vorherigen Version von RSM mussten die
Benutzer pro Datei dreimal klicken und durch drei Bildschirme navigieren. Mit Windows Forms klicken
Benutzer nur zweimal, um alle Dateien für eine Komponente zu verarbeiten. Ein Navigieren durch
mehrere Bildschirme ist hierbei nicht erforderlich. Aufgrund der Flexibilität von Windows Forms
besteht die gesamte Anwendung nicht aus einer ausführbaren Datei, sondern aus mehreren DLLs.
Diese können bei Bedarf vom Webserver heruntergeladen werden. Dies erleichtert das Hinzufügen
neuer Bildschirme und neuer Funktionalität, da hierzu die bestehende Anwendung nicht bearbeitet
oder erneut kompiliert werden muss.
Technologische Anforderungen
Um Windows Forms-Anwendungen auf einem Desktopcomputer auszuführen, muss das
.NET Framework auf dem Hostcomputer installiert sein.
Die Verwendung von Windows Forms erfordert die Common Language Runtime, die .NET
Framework-Klassenbibliotheken und für eine einfache Entwicklung die Visual Studio .NET-IDE.
Windows Forms-Anwendungen erfordern für die Installation auf dem Client-PC die .NET Common
Language Runtime, unabhängig davon, ob die Anwendung, wie herkömmlich, über eine SETUP.EXEDatei installiert, oder ob sie auf dem PC mit Hilfe eines Webbrowsers durch Streaming installiert wird.
Visual Studio .NET
Visual Studio .NET ist die primär integrierte Entwicklungsumgebung (Integrated Development
Environment oder IDE) für die Erstellung von .NET-Anwendungen, die in verwaltetem Code unter
Verwendung der .NET Common Language Runtime und .NET Framework-Klassen ausgeführt
werden. Diese Version setzt außerdem die Visual Studio-Tradition fort und ermöglicht Entwicklern,
herkömmliche, nicht verwaltete C++- oder C#-Anwendungen zu kompilieren.
Vorteile
Visual Studio .NET ermöglicht eine schnelle Anwendungsentwicklung (Rapid Application Development
oder RAD) mit äußerst produktiven Entwicklungstools. Eine stark integrierte und vereinheitlichte
visuelle Umgebung vereinfacht den Entwicklungsprozess von Webanwendungen und reduziert
Einarbeitungsphasen. Freigegebene HTML-, XML- und Stylesheet-Editoren erleichtern die
Entwicklung von Webanwendungen mit Hilfe einer beliebigen Visual Studio-Sprache, einschließlich
der neuen Programmiersprache C#.
Das gut strukturierte und einfache Programmiermodell in Visual Studio .NET eignete sich für Microsoft
Press® optimal zum Überarbeiten der Microsoft Press Connections-Website. Das Entwicklungsteam
stellte fest, dass C# verkapselter und besser zu warten war als die Vorgängersprachen. Das Team
konnte auf einfache Weise die für das Projekt wichtigen, dynamischen Seiten erstellen. Zudem
konnten mehrere Konsolenanwendungen in C# entwickelt werden, die in Stapelverarbeitung
ausgeführt werden können. Visual Studio .NET stellte die erforderliche Rahmenumgebung zur
Verfügung, um die einfache Entwicklung und das Testen von Aktualisierungsfunktionen für
Stapelverarbeitungsdaten zu ermöglichen.
Auf ähnliche Weise wurde die intern entwickelte Anwendung für Kundenfeedback, MS Contract, für
die Veröffentlichung der Version MS Contract 2.0 an Visual Studio .NET angeschlossen. Nach dem
Wechsel zu Visual Studio .NET konnte das Entwicklungsteam alle Entwicklungsarbeiten, die nicht
datenbankbezogen waren, in Visual Studio .NET ausführen, statt wie bisher eine Kombination aus
Microsoft Visual InterDev®, Visual Basic und Microsoft Visual C++® zu verwenden. Da die gesamte
Kompilierungsarbeit für MS Contract 2.0 in einer Umgebung ausgeführt werden konnte, entfiel der
ständige Wechsel zwischen unterschiedlichen Tools. Hierdurch konnten die Entwickler bei der
Bearbeitung der unterschiedlichen Codeebenen Zeit einsparen.
Das Consensus-Entwicklungsteam reagierte begeistert auf die Erfahrungen mit Visual Studio .NET,
wie der Chief Technology Officer (CTO) von LeadByte berichtete: „Für diese beeindruckende
Produktivitätssteigerung war nicht allein die intuitive IDE, der großartige Debugger oder die
automatische Generierung von systeminternem SOAP verantwortlich. Eine wichtige Rolle spielte auch
die Art und Weise, wie der gesamte Entwicklungsprozess integriert war, um die Entwickler beim
Erstellen der Anwendungen für das .NET Framework zu unterstützen.” Im Verlauf dieses Projekts
wurden die Entwickler effizienter im Erstellen gemeinsamer Komponenten, sowie freigegebenem,
verwaltetem Code.
Visual Studio .NET ermöglicht Entwicklern das schnelle Erstellen neuer Anwendungen mit
verwaltetem Code, die die umfassende Funktionalität und die Klassenbibliotheken des
.NET Frameworks nutzen. Mit Hilfe von Visual Studio .NET können Entwickler außerdem
herkömmliche Anwendungen mit nicht verwaltetem Code in C++, wie z. B. Microsoft Word oder
Microsoft Excel, mit neuen optimierten Compilern erstellen.
Die Verwendung von Visual Studio .NET bietet Entwicklern die folgenden Möglichkeiten:

Schnelles Entwerfen von umfassenden Webanwendungen. Mit Hilfe von Web Forms können
Entwickler plattform- und browserübergreifende, programmierbare Webanwendungen erstellen,
indem sie bekannte Techniken verwenden, die ihnen durch die Entwicklung formularbasierter
Desktopanwendungen vertraut sind. Web Forms werden auf dem Webserver ausgeführt. Sie
bieten eine schnelle Laufzeitgeschwindigkeit und erzeugen HTML 3.2-kompatible Dokumente, die
in einem beliebigen Browser ausgeführt werden können.

Einfache Verwendung von XML-Webdiensten, um verteiltes Computing zu vereinfachen. Mit
Hilfe von XML-Webdiensten können Entwickler Unternehmenslogik remote anhand von
standardmäßigen Internetprotokollen aufrufen. XML-Webdienste verwenden HTTP (Hypertext
Transfer Protocol) als zugrunde liegendes Übertragungsprotokoll, das Funktionsanforderungen
zum Passieren durch Unternehmensfirewalls ermöglicht. XML wird zum Formatieren der Eingabeund Ausgabeparameter der Anforderung verwendet, so dass die Anforderung nicht an eine
bestimmte Komponententechnologie oder objektaufrufende Konventionen gebunden ist. XMLWebdienste sind daher unter Verwendung einer beliebigen Sprache und eines beliebigen
Komponentenmodells verfügbar und können auf jedem beliebigen Betriebssystem ausgeführt
werden.

Schnelles Erstellen mittelstufiger Unternehmenskomponenten. Ein wichtiges Ziel von Visual
Studio ist die Bereitstellung von RAD-Tools für serverbasierte Entwicklung. Die neue
Produktivitätsebene, die Visual Studio .NET zum Erstellen mittelstufiger Unternehmenslogik bietet,
ist vergleichbar mit der Bedeutung von Visual Basic für die formularbasierte Entwicklung.

Erstellen skalierbarer, verfügbarer Lösungen. Visual Studio .NET erleichtert das Erstellen
zuverlässiger Anwendungen und Komponenten, die standardmäßig skalierbar sind. Wenn ein
Entwickler z. B. eine Webanwendung mit Microsoft Visual C++® erstellt, bietet der neue Active
Template Library-Server (ATL) eine bedeutende Leistungsverbesserung.
Windows Server System
Das Windows Server System (früher .NET Enterprise Server) bildet die Microsoft-Reihe für XMLfähige Unternehmensprodukte: Microsoft SQL Server™ 2000, Microsoft Exchange 2000, Microsoft
BizTalk™ Server 2000, Microsoft Application Center 2000, Microsoft Commerce Server, Microsoft
Content Management Server, Microsoft Host Integration Server 2000, Microsoft Internet Security and
Authorization Server, Microsoft Mobile Information 2001 Server, Microsoft SharePoint™ und die
Windows Server 2003-Produktfamilie.
Vorteile
Diese Produkte ermöglichen einen problemlosen XML-Zugriff auf Daten und Funktionalität. Dies
erleichtert die Integration dieser Produkte in das .NET Framework, da durch XML innerhalb verteilter
.NET-Anwendungen die Datenbearbeitung wesentlich verbessert wird und die Zugriffsprobleme
erheblich reduziert werden.
Die Vorteile des Windows Server System werden in der Supportinitiative von Microsoft offensichtlich.
Hierdurch wurde die Infrastruktur geschaffen, um Kunden den Kontakt zu Microsoft Support Services
über die für beide Seiten kostengünstigste und schnellste Möglichkeit zu bieten: das Internet. Die
Verwendung von XML bietet Flexibilität im elektronischen Austausch von Informationen zwischen
Kunden und Microsoft Support Services, sowie zwischen Microsoft-internen Supportsites. Einige
Transaktionen akzeptieren wohl geformte XML-Elemente als Eingabeparameter und verwenden SQL
Server 2000-XML-Funktionen für einen extrem flexiblen und erweiterbaren Entwurf. (Neue Werte
können ohne erneute Kompilierung von Stufe 2-Komponenten weitergeleitet und zurückgegeben
werden.)
SQL Server 2000 erweist sich mit zunehmender Verwendung der .NET-Plattform als besonders
vorteilhaft. SQL Server 2000 wird z. B. als Datenbankserver für die Microsoft-interne Anwendung
Account Explorer verwendet. Microsoft vertraut auf ein SQL Server 2000-basiertes, verteiltes
Datawarehouse, das fast 1 Terabyte an kundenbezogenen Daten und 150 Millionen SQLTransaktionsdatensätze speichert, um Kundenbeziehungen effektiv zu verwalten.
Schlussfolgerung: Verwalteter Code und Daten
Um Dienste der Common Language Runtime zu nutzen, muss verwalteter Code eine minimale
Informationsebene (Metadaten) für die Laufzeit bereitstellen. Jeder C#-, Visual Basic .NET- und
JScript .NET-Code wird standardmäßig verwaltet. Visual Studio .NET C++-Code wird nicht
standardmäßig verwaltet. Der Compiler kann jedoch verwalteten Code erzeugen, indem eine
Befehlszeilenoption angegeben wird (/CLR).
Verwalteter Code ist eng verbunden mit verwalteten Daten. Hierbei handelt es sich um Daten, die
durch die Sammlung verwalteter Objekte in der Common Language Runtime zugeordnet werden,
bzw. deren Zuordnung aufgehoben wird. Alle C#-, Visual Basic- und JScript .NET-Daten werden
standardmäßig verwaltet. C#-Daten können jedoch unter Verwendung bestimmter Schlüsselwörter als
nicht verwaltet gekennzeichnet werden. Visual Studio .NET C++-Daten werden standardmäßig nicht
verwaltet (auch bei Verwendung der /CLR-Befehlszeilenoption). Eine Klasse kann jedoch mit Hilfe des
Schlüsselwortes __gc in den verwalteten Erweiterungen für C++ als verwaltet markiert werden. Wie
der Name des Schlüsselwortes andeutet, wird das Speichern für Instanzen der Klasse durch die
Sammlung verwalteter Objekte verwaltet. Die Klasse wird außerdem zu einem vollständig
teilnehmenden Mitglied der .NET Framework-Gemeinschaft, mit allen Vorteilen und Einschränkungen,
die diese Mitgliedschaft beinhaltet. Ein Vorteil ist z. B. die Interoperabilität mit Klassen, die in einer
anderen Sprache erstellt wurden (eine verwaltete C++-Klasse kann beispielsweise von einer Visual
Basic-Klasse erben). Eine Einschränkung ist z. B., dass eine verwaltete Klasse nur von einer
Basisklasse erben kann.
Anwendungen und Steuerelemente für das .NET Framework erfordern die Installation von
.NET Framework auf dem Computer, auf dem die Anwendung oder das Steuerelement ausgeführt
wird. Version 1.0 von .NET Framework bietet einen verteilbaren Installer, der die Common Language
Runtime- und .NET Framework-Komponenten enthält, die zum Ausführen von .NET FrameworkAnwendungen erforderlich sind. Die weitervertreibbare .NET Framework-Version ist als eigenständige
ausführbare Datei, DOTNETFX.EXE, verfügbar. Sie können DOTNETFX.EXE manuell auf einem
Computer starten und installieren, oder als Teil des Installationsprogramms für eine .NET FrameworkAnwendung installieren.
Für Unternehmen, die .NET Framework-Anwendungen bereitstellen, ist die einmalige Installation des
.NET Framework auf allen Benutzercomputern wahrscheinlich einfacher, als es in jede Anwendung,
die dies erfordert, einzuschließen, da die Installation von DOTNETFX.EXE Administratorrechte
erfordert. Verschiedene elektronische Verteilungstools stehen für die Bereitstellung von
DOTNETFX.EXE und (falls erforderlich) von MDAC 2.6 oder höher über ein sicheres Netzwerk zur
Verfügung.
Systems Management Server (SMS) ermöglicht es Ihnen, Software mit Administratorrechten in einem
Netzwerk bereitzustellen. Informationen zu den spezifischen Prozeduren, um mit SMS das Windows
Installer-Paket für DOTNETFX.EXE in einem Netzwerk bereitzustellen, finden Sie im .NET Framework
Deployment Guide. Hierzu zählt außerdem ein Whitepaper, das spezifische Bereitstellungsszenarien
für Visual Studio .NET-Benutzer erläutert. Szenarien zum Bereitstellen von DOTNETFX.EXE werden
anhand eines elektronischen Softwareverteilungstools zur Verfügung gestellt, das manuell von einem
Downloadspeicherort über ein freigegebenes Netzwerkverzeichnis, ein Intranet oder die MicrosoftWebsite installiert wird. Außerdem kann unter Verwendung der Bootstrapper-Beispieldatei
SETUP.EXE ein einzelnes Installationsprojekt entwickelt werden, um DOTNETFX.EXE und eine .NET
Framework-Anwendung zu installieren.
Weitere Informationen
Um weitere Informationen zu Microsoft-Produkten oder -Diensten zu erhalten, wenden Sie sich an die
entsprechende Microsoft-Geschäftskundenbetreuung
(http://www.microsoft.com/germany/ms/consultingsupport/kontakt/default.htm) oder die
Privatkundenbetreuung (0180/525 1199). Darüber hinaus finden Sie weiterführende Informationen im
Internet unter folgenden Adressen:
http://www.microsoft.com/germany/
http://www.microsoft.com/technet/itsolutions/msit/default.asp (englischsprachig)
© 2002 Microsoft Corporation. Alle Rechte vorbehalten.
Dieses Dokument dient nur zu Informationszwecken. MICROSOFT SCHLIESST FÜR DIESES
DOKUMENT JEDE GEWÄHRLEISTUNG AUS, SEI SIE AUSDRÜCKLICH ODER KONKLUDENT.
Microsoft, Active Directory, SharePoint und Windows sind entweder eingetragene Warenzeichen oder
Warenzeichen der Microsoft Corporation in den USA und/oder anderen Ländern. Die in diesem
Dokument aufgeführten Namen bestehender Firmen und Produkte sind möglicherweise Marken der
jeweiligen Eigentümer.
Herunterladen