31.12.2012 Aufrufe

Migrationsleitfaden Version 3.0

Migrationsleitfaden Version 3.0

Migrationsleitfaden Version 3.0

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Speichermanagements empfiehlt Microsoft jedoch auch für Neuentwicklungen die .NET-<br />

Plattform.<br />

Das .NET-Framework erlaubt mittels der sogenannten Codezugriffssicherheit (Code<br />

Access Security, CAS) die Beeinflussung der Berechtigung auf Anwendungsebene. Auf<br />

diese Weise kann festgelegt werden, welche Aktionen (zum Beispiel Zugriff auf Ressourcen<br />

wie Dateien, Umgebungsvariablen, Drucker oder Datenbanken) eine Anwendung<br />

durchführen darf, und zwar unabhängig davon, ob der ausführende Benutzer ein<br />

einfacher Benutzer oder ein Administrator ist. Neben den standardmäßig vorhandenen<br />

Berechtigungen können auch neue Berechtigungen implementiert werden. Darüber<br />

hinaus existiert auch die Möglichkeit, Sicherheitseinstellungen in Abhängigkeit von der<br />

Identität des ausführenden Benutzers oder der Herkunft des Programms vorzunehmen.<br />

Die Sicherheitsüberprüfungen werden von der Common Language Runtime vorgenommen<br />

und betreffen nur reine .NET-Anwendungen. So werden beispielsweise aus .NET-<br />

Anwendungen aufgerufene COM-Funktionen ohne sicherheitsbasierte Einschränkungen<br />

(abgesehen von den betriebssystemseitig vergebenen Benutzerrechten) ausgeführt.<br />

Durch solche externe Aufrufe von Altmodulen (COM- oder DCOM-basiert) kann die CAS<br />

umgangen werden, selbst wenn sie eingeschaltet ist. Insbesondere durch die Übernahme<br />

von bewährten aber älteren Softwaremodulen auf COM- oder DCOM-Basis, wird<br />

dadurch die CAS häufig umgangen. Aus diesen Gründen lehnen viele Entwickler die<br />

CAS als prinzipiell hilfreich aber nicht praktikabel ab.<br />

Von der CLR ausgeführte CIL-Programme werden als „Managed Components― bezeichnet,<br />

weil sie von der CLR unter Einbeziehung der CAS kontrolliert ausgeführt werden.<br />

Code, der nicht von der CLR, sondern direkt von der CPU ausgeführt wird, wird im<br />

Gegensatz dazu als „Unmanaged Code― bezeichnet. Dies betrifft zum Beispiel aus .NET-<br />

Anwendungen heraus aufgerufene COM-Funktionen. Der Begriff „Managed Code―<br />

bezeichnet also die Ausführung von Code durch eine Virtual Machine beziehungsweise<br />

das Management dieses Codes. Obwohl der Begriff „Managed Code― durch Microsoft<br />

geprägt wurde, wird diese Technik zum Beispiel auch von Java eingesetzt. Auch hier<br />

übernimmt eine Virtual Machine das Management des Codes.<br />

Die konzeptionell gegebene Plattformunabhängigkeit der zugrundeliegenden Common<br />

Language Infrastructure (CLI) und ihre Standardisierung durch Ecma International und<br />

ISO haben dazu geführt, dass es mittlerweile zwei OpenSource-Projekte gibt, die .NET-<br />

Funktionalitäten auch auf anderen Betriebssystemen zur Verfügung stellen 446 . Dabei<br />

handelt es sich zum einen um das von Novell unterstützte Mono 447 und zum anderen um<br />

das DotGNU Portable.NET 448 .<br />

Bei Mono handelt es sich um eine Entwicklungs- und Laufzeitumgebung, die die Erstellung<br />

und Ausführung von .NET-Anwendungen unter Linux, Solaris, Mac OS X, Windows<br />

und Unix ermöglicht. Der Stand der .NET-Unterstützung von Mono in der aktuellen <strong>Version</strong><br />

1.2.4 liegt zwischen .NET 1.1 und .NET 2.0. Bis Ende 2007 soll die .NET-2.0-Unterstützung<br />

vollständig sein.<br />

446 Inwieweit diese technischen Möglichkeiten am Ende durch rechtliche Belange, wie Patente<br />

oder Urheberrecht beschränkt werden, muss sich erst noch zeigen.<br />

447 http://www.mono-project.com/Main_Page<br />

448 http://www.dotgnu.org/pnet.html<br />

Seite 474

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!