9.5 Microsoft .NET Architektur: objektorientiert/Fernaufrufe (8.1.6 )

Slides:



Advertisements
Ähnliche Präsentationen
PHP Extension und Application Repository
Advertisements

C Sharp (C#) Martin Saternus Senior Student Partner
Einführung in Microsoft .NET 2.0
Eclipse.
Seminar „Verteilte Systeme“ Thomas Bischoff
Programmorganisation
Alternativen für die Entwicklung von grafischen Oberflächen in Java
SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
Interoperabilität Microsoft .NET und COM+ Dariusz Parys
Deployment und Versioning von .NET Applikationen
Internet Applikationen – Java und.Net Copyright ©2003, 2004 Christian Donner. Alle Rechte vorbehalten. Architektur Moderner Internet Applikationen.
DI Christian Donner cd (at) donners.com
Migration und Nutzung von vorhandenem Code Interoperability.
Einführung .NET Tobias Richling Neno Loje Microsoft Student Partner
SOAP Simple Object Access Protocol
Datenbankzugriff im WWW (Kommerzielle Systeme)
Spec# Proseminar Assertions im SS 2007 Uni Paderborn Andreas Martens Betreuer: Dipl. Inform. Björn Metzler.
Java: Grundlagen der Sprache
Seminar Sommersemester 2002 ASP.NET Andre Margousian.
.NET Nico Orschel Microsoft Student Partner, TU-Ilmenau
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
Introducing the .NET Framework
Mono und andere freie.NET Implementierungen. Implementierungen Microsoft.NET Framework Win32, Win64? Microsoft.NET Compact Framework WinCE (Mobile, Phone)
.NET – Quo Vadis? Dariusz Parys Developer Group Microsoft GmbH.
Rainer BeckerdFPUG-Regionaltreffen Hannover CeBIT-Regionaltreffen 2001 Mit kurzem Vortrag von Rainer Becker (bis maximal 23:00 Uhr)
Uwe Habermann WPF Avalon Formulare aus VFP verwenden Venelina Jordanova
MSDN Webcast: VB. NET für Einsteiger und Umsteiger Einführung in VB
Björn Schmidt, Hoang Truong Nguyen
METS (Metadata Encoding Transmission Standard). Wer und Was Digital Library Federation Vorgänger: MoA II (1997) Standard zur Beschreibung einer Teilmenge.
Semantic Media Showcase – Universität Potsdam
ODBC (Open Database Connectivity)
Einführung in die Programmiersprache Java
1 Frey Jan Krcmar Boris Bühler Stefan Frey Jan Krcmar Boris Bühler Semesterpräsentation 15. April 2003.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
ArcGIS als WPS Server Aktueller Stand der Umsetzung
SQL Server 2005 CLR-Integration
1 Softwareentwicklung mit.NET Teil 1 Was ist.NET? Die.NET Common Language Runtime Dr. Ralph Zeller DI. Wolfgang Beer Michael Willers.
Consulting and Solutions.NET Vortragsreihe – Vorstellung der Referenten Happy Arts Software Markus Kämmerer IT-Erfahrung seit 1987,
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
CGI (Common Gateway Interface)
Bonn-to-code.net Thomas van Veen Website:
Neuerungen in Java 5/6/7. Stefan Bühler für InfoPoint Überblick Java 5 neue Sprachfeatures Erweiterungen Klassenbibliothek Java 6 Erweiterungen.
Romano Roth & Oliver Brack Zühlke Engineering AG.
Parallele Programmierung im.NET Framework Darmstadt, Präsentation am Beispiel von C-Sharp (C#)  Wichtige Grundlagen  Generika, Delegate, Lambda,
7.2.4 Klassifikation mobilen Codes Nicht vergessen:  Sowohl das Fernkopieren als auch die Migration von Objekten setzt voraus, daß der Code entweder am.
Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Datenbanken im Web 1.
8.4 Microsoft.NET Framework =  CLR – Common Language Runtime ist objektorientierte virtuelle Maschine für Ausführung.
NET Remoting.Net („dotnet“) :von Microsoft eingeführte Plattform für verteilte Anwendungen, virtuelle Maschine für die verteilte Ausführung von.
Microsoft.NET - Plattform Kurzer Überblick Vergleich mit Java Von Thomas Zahn Januar 2001.
Microsoft Student Partner
Microsoft Silverlight Autor: Christian Pirker. Inhalt Einführung Silverlight Einführung XAML Silverlight 1.0 und 1.1 Silverlight 2.0 Silverlight 3.0 Ausblick.
Actionscript 3.0 Philipp Oberweger Erstellt von: Philipp Oberweger
Programmierung unter VB.Net mit der IDE VisualStudio. Schritt für Schritt erklärt und beschrieben. Zielgruppe: Komplette Neueinsteiger mit fundiertem Computerwissen.
JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt.
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
LINUX II Unit 7 LAMP Server. LAMP ● Linux – Apache - MySQL – PHP ● Leistungsfähiges und kostenloses System zur Genrierung von dynamischen Webseiten und.
Einführung in AspectJ ● Inhalt: 1)Überblick 2)Elemente des crosscuttings in AspectJ 3)„Hello World“ in AspectJ 4)Wie Aspekte in Java verwoben werden 5)Join.
Entwicklung einer Webanwendung mittels HTML, ASP, C# und SQL am Beispiel einer Publikationsverwaltung Philipp Kühne Erstprüfer: Prof. Dr. Wilhelm.
Einige Ideen für Module
Business Process Excuction Lanaguage
Objektorientierte Programmierung
Wesentliche Bestandteile:
Ein kurzer Überblick Thomas Karp
Objektorientierte Programmierung
 Präsentation transkript:

9.5 Microsoft .NET Architektur: objektorientiert/Fernaufrufe (8.1.6 ) http://www.microsoft.com/net http://msdn.microsoft.com/netframework Architektur: objektorientiert/Fernaufrufe (8.1.6 ) IDL: (unsichtbare Metadaten, vom Übersetzer erzeugt) Dienste: (Systemdienste ü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/

.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.

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 (ältere Bezeichnung: MSIL – Microsoft 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 )

Binärcode Binärcode Binärcode für Intel ... für IBM ... für ........ Quellcode Übersetzer . . . . . C# C++ Visual Basic Eiffel Cobol 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 ........

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

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

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

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!

9.5.3 C# „C sharp“, „Cis“  entstammt wie Java der Sprachfamilie C/C++,  ähnlich wie Java, allerdings komplexer durch zusätzliche Features  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 - . . . . .

Aufruf .NET  COM verwendet eine Hülle (wrapper), 9.5.4 .NET und COM Aufruf .NET  COM verwendet eine Hülle (wrapper), die dem Aufrufer ein .NET-Objekt präsentiert: .NET-Objekt RCW Klient 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)

setzt voraus, dass die Klasse argumentlosen Konstruktor hat, Aufruf COM  .NET setzt voraus, dass die Klasse argumentlosen Konstruktor hat, wird vermittelt über einen COM-callable wrapper - CCW COM-Objekt CCW 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 !

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.