9.5 Microsoft.NET

Ähnliche Dokumente
8.4 Microsoft.NET. .NET Framework = 1 CLR Common Language Runtime ist objektorientierte virtuelle Maschine für Ausführung von managed cod

Seminar Softwarearchitekturen SoSe Martin Schrage

Microsoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber

Universität Karlsruhe (TH) Moderne Programmiersysteme am Beispiel von.net

.NET Framework. 3. Das.NET Framework

Vergleich.Net und COM

Microsoft.NET Framework

Typsystem Plattform- und Sprachenunabhängigkeit in.net

Gliederung. .NET Vision. Was ist Microsoft.NET? Microsoft.NET Überblick. Was ist Microsoft.NET? Überblick wichtiger.net-technologien.

mitp Professional Visual C# 2012 Einstieg und Praxis von Christopher Martel 1. Auflage

Einführung in C# Teil 1. Matthias Nübling

DCOM und.net. B. Sc. Tobias Buchloh. Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover

Client/Server-Programmierung

Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt WS 2006/2007

.NET und ArcObjects. ArcObjects-Programmierung mit Visual Studio.NET. Ralf Schmidt und Marko Apfel ESRI Geoinformatik GmbH, Team Entwicklung

Konzepte hinter Microsoft's.NET. Ein Hauptseminarvortrag von Michael Voigt

Einführung in die Programmiersprache C#

4. Objektorientierte Programmierung mit C++

8a. Exkurs.NET. 8a.1.NET Architektur

~±] Inhalt. 1.1 Ähnlichkeiten zwischen C# und Java Unterschiede zwischen C# und Java Das.NET-Framework 4 1.

.NET Technologie .NET

Inhalt I. Blick in die Geschichte. .NET für kleine und grosse Applikationen

Definitionen/Vorarbeit zum Thema Java

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder

Vergleich CLR von.net mit JVM:

C#Objektorientierte. Aleksandra Maj. Programmiersprachen. Programmiersprachen am Beispiel C# Referat im Rahmen des Seminars. 15.

Middleware, Verteilte Plattform (auch Verteilungsplattform*) bietet Verteilungsabstraktion für verteilte Anwendungsprogramme,

Konzepte von Betriebssystem-Komponenten

Microsoft.NET und SunONE

Moderne Entwicklungsumgebungen am Beispiel von.net

Technische Universität München. Thomas Kofler. Oktober 2013

.NET und wieder eine Middleware Architektur?

Moderne Entwicklungsumgebungen am Beispiel von.net

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke J.M.Joller 1

Objektorientierte Programmierung. Agenda für heute, 26. März, Eines der drei wichtigsten Programmierparadigmen

CLR CIL MCS ECMA-335. Linux.Ne t Albrecht Liebscher, Erlanger Linux Tage

9.3 COM und DCOM (Microsoft )

Einführung in die Programmierung mit Java

Moderne Entwicklungsumgebungen am Beispiel von.net

Arbeiten mit Visual COBOL 3.0 for Eclipse. Rolf Becking 30. November 2017

Microsoft.NET XML-Webdienste Schritt für Schritt

Vergleich von Webtechnologien zur Erstellung einer Rich Internet Applicationam Beispiel der Kundenverwaltungssoftware VDMS

Mono - Hands On. Anwendungsentwicklung mit Mono und Gnome. Mario Manno

C# - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue

Institut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke

Inhalt. 1. Motivation. 2. COM Architektur. 3. COM Implementierung. 4. Zusammenhang zu ATL. 5. Beispiel COM Client/ Server. 6..

C# - Lernen und professionell anwenden

im Rahmen des Seminars - Programmiersprachen Markus Nestvogel

Praktische Informatik 1

Seminar: Komponentenorientierte Softwareentwicklung und Hypermedia

Inhaltsverzeichnis. Vorwort... 15

IDE-Visual Studio 2010 C#

Visual Basic.NET. Der einfache Einstieg in die Sprache, Klassenbibliothek und das.net Framework 1.1. Markt+Technik PETER MONADJEMI

Modellierung und Programmierung 1

Enterprise Application Integration Erfahrungen aus der Praxis

Visual Basic.NET und die.net-plattform

Visual Studio 2012 Windows 8 und.net 4.5. Hans Peter Bornhauser, Noser Engineering AG Fachbereichsleiter.NET, Digicomp AG

Kapitel 02. Java was, wann, warum, wieso. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

8.1.6.NET Remoting. C# ( Csharp, Cis ) : Referenzsprache für.net,

.NET als Microsofts Entwicklerplattform

2.1 Visual C Express installieren Visual C Express starten Visual C Express registrieren...

Moderne Entwicklungsumgebungen am Beispiel von.net

Die ersten C#- Programme erstellen

Objektorientierte Programmierung. Agenda für heute, 1. April, Eines der drei wichtigsten Programmierparadigmen

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorkurs Informatik WiSe 16/17

Transkript:

9.5 Microsoft.NET http://www.microsoft.com/net http://msdn.microsoft.com/netframework Architektur: objektorientiert/fernaufrufe (8.1.6 ) IDL: (unsichtbare Metadaten, vom Übersetzer erzeugt) Dienste: (über Bibliotheken) Anwendungen: universell Implementierung nicht nur auf Windows: Mono (Open Source, Linux, Novell/Ximian) http://www.mono-project.com/main_page Rotor (Shared Source, FreeBSD, Microsoft) http://research.microsoft.com/collaboration/university/europe/rfp/rotor/ vs9.5 1

.NET Framework = CLR Common Language Runtime ist objektorientierte virtuelle Maschine (analog zur JVM) als einheitliche Ausführungsumgebung für verschiedene Sprachen Reichhaltige Klassenbibliotheken für die CLR C# als typische Sprache für die CLR Neugestaltete Unterstützung für Datenbankanschluss: ADO.NET dynamische Webseiten: ASP.NET Web-Dienste u.a. vs9.5 2

9.5.1 Sprachunabhängiges Laufzeitsystem: CLR CLR = Common Language Runtime = virtuelle Maschine für die Ausführung von objektorientiertem Zwischencode in CIL - Common Intermediate Language (Microsoft s Antwort auf JVM mit Java Bytecode) Zwischencode zwischen verschiedenartigen Systemen übertragbar und überall ausführbar, wo CLR implementiert ist dynamisches Laden/Übersetzen/Binden von CIL-Klassen, sobald erstmals benötigt Zwischencode wird vor der Ausführung immer in Binärcode für die lokale Zielplattform übersetzt (just-in-time compilation) (auch vorbereitend explizit mittels Befehl ngen ) vs9.5 3

Quellcode C# C++ Visual Basic Eiffel Cobol Übersetzer..... besorgen Vorübersetzung Zwischencode CIL (Idee aus den 60er Jahren: UNCOL) CIL-Übersetzer..... besorgen Nachübersetzung Binärcode Binärcode Binärcode für Intel... für IBM... für... vs9.5 4

Weitere Charakteristika der CLR: CLS Common Language Specification der CIL umfasst CTS Common Type System, das zwischen den Typsystemen aller Sprachen vermittelt, einschließlich Vererbung einheitliche - Namensraumverwaltung, - Ausnahmebehandlung, - Speicherbereinigung Versionsverwaltung Sicherheit: Code-Überwachung und -Signierung für verschiedenartige Programmiersprachen Interoperabilität im gleichen Adressraum, mit gemeinsam genutzten Bibliotheken vs9.5 5

ECMA-Standards: (335) CLI Common Language Infrastructure umfasst CLR und Standardbibliotheken (334) C# http://www.ecma-international.org/memento/tc39.htm vs9.5 6

9.5.2 Programmverwaltung Programmentwicklung mit.net SDK (Befehlszeilen) oder Visual Studio.net Übersetzung produziert.dll- oder.exe-dateien mit verwaltetem Code (managed code): - spezieller CLR Header - CIL-Code - Schnittstellenbeschreibungen (= unsichtbare IDL ) - weitere Metadaten vs9.5 7

Zusammengehörige Code-Dateien (evtl. zuzüglich weiterer Hilfsdateien) werden zusammengefasst in einer Baugruppe (assembly,.dll oder.exe), der neben dem Code eine Beschreibung (manifest) mit weiteren Metadaten beigegeben ist. Die Baugruppe ist die Einheit von - Versionierung, - Vertrieb, - Installation. Merke: jede Baugruppe enthält ihre Schnittstellenbeschreibung! vs9.5 8

9.5.3 C# Cis ( C sharp ) entstammt wie Java der Sprachfamilie C/C++, ist Verbesserung gegenüber Java allerdings noch komplexer, erlaubt umfassende Ausnutzung der CLR-Funktionalität : - Objekteigenschaft aller Daten ( 4711.ToString()! ) - Verweise auf objektbezogene Operationen (delegates) und Mengen von solchen - darauf basierend Ereignisse (events) und Beobachter-Muster, - Annotationen (attributes) für Klassen, Operationen,....., werden in die Metadaten übernommen und sind über Reflexion abfragbar -..... vs9.5 9

9.5.4.NET und COM Aufruf.NET COM verwendet eine Hülle (wrapper), die dem Aufrufer ein.net-objekt präsentiert: Klient RCW.NET-Objekt COM-Objekt RCW = runtime-callable wrapper new impliziert CoCreateInstance RCW-Code generierbar aus der MIDL-Beschreibung: IDL-Text Typbibliothek example.tlb Namensraum examplelib mktyplib tlbimp (COM tool) (in.net SDK) vs9.5 10

Aufruf COM.NET setzt voraus, dass die Klasse argumentlosen Konstruktor hat, wird vermittelt über einen COM-callable wrapper - CCW CCW COM-Objekt Klient.NET-Objekt CoCreateInstance impliziert new mit argumentlosem Konstruktor CCW-Code aus Metadaten generieren und registrieren mit regasm! RCW und CCW vermitteln zwischen ComException und HRESULT! vs9.5 11

9.5.5 Fernaufrufe (8.1.6 ) werden von CLR + Bibliotheken unterstützt, ähnlich zu Java, aber interoperabel ohne explizite IDL, Metadaten ersetzen IDL, automatische Vertretererzeugung bei Bedarf, Transport über TCP oder HTTP ( SOAP). Keine Unterstützung für Migration oder Replikation. vs9.5 12