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



Ähnliche Dokumente
Seminararbeit. zum Hauptseminarvortrag Konzepte hinter Microsoft's.NET. Michael Voigt

Microsoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler

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

360.NET. Jan Schenk Developer Evangelist Web/Live Microsoft Deutschland

.NET Framework. 3. Das.NET Framework

Microsoft.NET Überblick. Matthias Nübling

Prof. Dr.-Ing. Dietrich Schröder GIS und Programmiersprachen: Wohin geht die Reise?

Moderne Entwicklungsumgebungen am Beispiel von.net

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

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

9.5 Microsoft.NET

Microsoft.NET Framework

Vorlesung AFCW, Microsoft.NET Wintersemester 2002/03. Völlig neue Systemstruktur als Antwort auf Java

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

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

Konzepte von Betriebssystem-Komponenten

MICROSOFT.NET: EINE NEUE ENTWICKLUNGSPLATTFORM AUCH FÜR NUMERISCHE PROBLEME?

Microsoft.NET und SunONE

.NET Technologie .NET

Vorlesung Software aus Komponenten

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

Einführung in die Programmierung

Seminar Softwarearchitekturen SoSe Martin Schrage

Einführung in die Programmierung

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Web Services. Web Services in the News. Vision: Web of Services. Learning for Results. DECUS Symposium 2002, Vortrag 1K07,

Enterprise Application Integration Erfahrungen aus der Praxis

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

im Rahmen des Seminars - Programmiersprachen Markus Nestvogel

Seminar: Komponentenorientierte Softwareentwicklung und Hypermedia

Vergleich CLR von.net mit JVM:

Software Reuse Sommer Einfache, aus 3 Komponenten bestehende, Anwendung Was ist eine Komponente?

.NET und wieder eine Middleware Architektur?

Kapitel 21 Nativer Code

4. Objektorientierte Programmierung mit C++

Grundlagen der Programmierung UE

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

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

C# Programmierung. Eine Einführung in das.net Framework. C# Programmierung - Tag 7: Prozesse und Möglichkeiten

Grundlagen der Programmierung UE

Typsystem Plattform- und Sprachenunabhängigkeit in.net

Proseminar: C# und.net. 6. Vortag Generische Klassen. Sebastian Wolf

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

Einleitung Von All-in-one-Software zu Webservices 17

Universität Karlsruhe (TH) Moderne Entwicklungsumgebungen am Beispiel.NET

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

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

.NET als alternative Middleware-Technologie. .NET als alternative

Einführung in die Programmiersprache C#

Algorithmen und Programmieren II Einführung in Python

.NET als Microsofts Entwicklerplattform

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

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

Windows Programmierung mit.net AUGE-Vortrag Frankfurt

Ein Streifzug durch die Programmiersprachenlandschaft in der Schule. Gerald Futschek TU Wien Informatiktag 2013

Begleitendes Praktikum zur Vorlesung Künstliche Intelligenz

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Programmieren in Haskell Einführung

Java Schulung. Objektorientierte Programmierung in Java. Prof. Dr. Nikolaus Wulff

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

Funktionale Programmierung (in Clojure)

IDE-Visual Studio 2010 C#

Java für C++ Programmierer

Dynamische Programmiersprachen. David Schneider STUPS

Client/Server-Programmierung

III.1 Prinzipien der funktionalen Programmierung - 1 -

Die ersten C#- Programme erstellen

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Microsoft.NET Framework- Programmierung mit C#

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

Scala & Lift. Ferenc Lajko

Web Engineering.

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS XML Programmierung - Grundlagen PHP Programmierung - Grundlagen...

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 1. Einführung und Grundbegriffe

und die Programmiersprache C# Marcel Kulicke Mirijam Joka Sokenou

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

Apollo Überblick. Klaus Kurz. Manager Business Development Adobe Systems Incorporated. All Rights Reserved.

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi

Einleitung. Funktion. Panzenböck Phillipp. Download Installation. Testen. Konfiguration

C++ mit. Microsoft Visual C Richard Kaiser. Einführung in Standard-C++-, C++/CLI und die objektorientierte Windows.

Liste Programmieren - Java

1.1 Das.NET-Framework Was bringt.net? Unterschiede zu Java Weiterführende Literatur Überblick...

Herzlich willkommen im Modul Informatik Grundlagen

Diplomarbeit Antrittsvortrag

FRANZIS PROFESSIONAL SERIES. Herbert Burbiel. SOA & Webservices. ~ in der Praxis. 197 Abbildungen

Kapitel 15 Die CLI und Kellermaschinen

J.5 Die Java Virtual Machine

Programmiersprachen Proseminar

Kommunikationsnetze. 7. Das World Wide Web 7.4 Client- vs. Server-basierte Techniken für dynamische Webseiten

Microsoft Visual C#.NET Programmier-Rezepte

Line-of-Business-Apps mit der Universal Windows Platform entwickeln. Thomas Claudius

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Aktuelle Kurstermine

Entwicklung eines branchenspezifischen Frameworks. Nicolas With AW2 Betreuer: Olaf Zukunft

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

JAVA als erste Programmiersprache Semesterkurs

Transkript:

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

Gliederung des gesamten Vortrags 1.Einleitung: Was ist.net? 2.Das.NET Framework 3.Threading unter.net 4.Anwendungen 5.Plattformunabhängigkeit 6.Java vs..net

1. Einleitung: Was ist.net? www.microsoft.com:.net is the Microsoft Web services strategy to connect information, people, systems, and devices through software

1. Einleitung: Was ist.net? www.microsoft.com:.net is the Microsoft Web services strategy to connect information, people, systems, and devices through software =>????

1. Einleitung: Was ist.net? www.microsoft.com:.net is the Microsoft Web services strategy to connect information, people, systems, and devices through software =>???? =>.NET = a) Markstrategie/Werbekampagne b) Technologie =>.NET Framework

1. Einleitung: Was ist.net? C# VB.NET....NET Framework C# Compiler VB Compiler... = Runtime Common Intermediate Language (CIL) führt aus Common Language Runtime (CLR) Plattformunabhängig Sprachübergreifend Betriebssystem

Gliederung des gesamten Vortrags 1.Einleitung: Was ist.net? 2.Das.NET Framework 3.Threading unter.net 4.Kommunikation mit der Außenwelt 5.Plattformunabhängigkeit 6.Java vs..net

2. Das.NET Framework Inhaltsübersicht 2.1. Commom Language Runtime (CLR) 2.2. Common Intermediate Language (CIL) 2.3. Common Type System (CTS) 2.4. Framework Class Libary (FLC) 2.5. Sprachen im.net Framework

2.1. Common Language Runtime (CLR) CLR = Sprachübergreifende Laufzeitumgebung C# VB.NET... C# Compiler VB Compiler... CLR leistet: Just In Time (JIT) Compilierung Garbage Collection Exception Handling gewährt Typsicherheit... Common Intermediate Language (CIL) führt aus Common Language Runtime (CLR) Betriebssystem

2.2. Common Intermediate Language (CIL) assemblernah C# VB.NET... nicht dumm => Metadaten: Typen Methoden Objekte... C# Compiler VB Compiler... Common Intermediate Language (CIL) führt aus Common Language Runtime (CLR) Betriebssystem

2.3. Common Type System (CTS) CTS = Typsystem der CIL => Vereinigung CTS CLS = Common Language Specification CLS CTS => Schnitt C# => sprachübergreifende Interoperabilität Fortran CLS J#

2.3. Common Type System (CTS) System.Object Werttypen Referenztypen selbstdef.: struct class vordef.: z.b. int z.b. String 9 18 14 'mensch' 'hund' 'dino' Stack Stack Heap

2.4. Framework Class Libary (FCL) Framework Class Libary System.Windows.Forms Threading Dateizugriff WebServices typische Algorithmen...

2.5. Sprachen im.net Framework 2.5.1. C# C# objektorientiert auf die CIL zugeschnitten keine eigene Klassenbibliothek FCL CIL CLR 2.5.2. Java bzw. J# J# voll kompatibel zu JDK 1.1.4 enthält vollständige Klassenbibliothek JDK FCL CIL CLR

2.5.3. Sprachen im.net Framework: Visual C++.NET = VC++ 7.0 Sonderstellung: Maschinencode C# J# C++ abwärtskompatibel zu VC++ 6.0 C# Compiler J# Compiler C++ Compiler gemischtes Modul managed extensions Common Intermediate Language Common Language Runtime (CLR) Maschinencode Betriebssystem

2.5.4. (unvollständige) Liste von weiteren.net Sprachen Ada APL AsmL CAML Cobol Delphi Forth Eiffel Fortran Haskell Lisp Lua Mercury Mixal ML Mondrian Nemerle Oberon Pascal Perl PHP Prolog Python RPG Ruby Ruby Scheme Smalltalk

Gliederung des gesamten Vortrags 1.Einleitung: Was ist.net? 2.Das.NET Framework 3.Threading unter.net 4.Anwendungen 5.Plattformunabhängigkeit 6.Java vs..net

3. Threading unter.net Inhaltsübersicht 3.1. Konzept 3.2. Implementierung unter Windows 2000/XP

3.1. Threading unter.net Konzept AppDomain AppDomain soft thread soft thread CLR BS Prozess 1 CLR BS Prozess 2 AppDomain ~ BS Prozess soft thread ~ BS Thread ( hard thread )

3.1. Threading unter.net Konzept AppDomain 1 soft thread 1.1 AppDomain 2 soft thread 2.3 soft thread 2.2 soft thread 2.1 AppDomain 3 soft thread 3.2 soft thread 3.1 CLR BS Prozess AppDomain ~ BS Prozess soft thread ~ BS Thread ( hard thread )

3.2. Threading unter.net Implementierung unter Windows 2000/XP AppDomain 1 AppDomain 2 AppDomain 3 BS Thread 3 soft thread 2.3 BS Thread 2 soft thread 2.2 soft thread 3.2 BS Thread 1 soft thread 1.1 soft thread 2.1 soft thread 3.1 CLR BS Prozess

Gliederung des gesamten Vortrags 1.Einleitung: Was ist.net? 2.Das.NET Framework 3.Threading unter.net 4.Anwendungen 5.Plattformunabhängigkeit 6.Java vs..net

4.1. ASP.NET 4.2. WebServices 4. Anwendungen

4.1. Anwendungen ASP.NET ASP.NET FCL dynamische Websites code behind HTML Browser ASP.NET.NET Programm Client HTML Server

4.2. Anwendungen WebServices SOAP Server Server XML entfernter Methodenaufruf via HTTP

Gliederung des gesamten Vortrags 1.Einleitung: Was ist.net? 2.Das.NET Framework 3.Threading unter.net 4.Anwendungen 5.Plattformunabhängigkeit 6.Java vs..net

5. Plattformunabhängigkeit Inhaltsübersicht 5.1. ECMA Standards 5.2. Mono

5.1. ECMA Standards C# C# Compiler ECMA 334 FCL Common Intermediate Language (CIL) führt aus Common Language Runtime (CLR) ECMA 335

5.2. Mono ECMA Standards + mehr Windows, Linux, Mac Gtk# Juni 2004: Mono 1.0 C# 1.0 Java WebServices IDE: Monodevelop Doch große Mängel: z.b. System.Windows.Forms Ziel: Q2 2006: Mono 2.0 komplettes.net Framework 2.0

5.2. Mono Völcker Informatik AG Matthias Bauer, Head of Development: We found Mono to be very stable and easy to learn. It s a commercial grade development platform that really works. Using Mono was the only way for us to leverage our existing software and give our customers what they need on Linux.

Gliederung des gesamten Vortrags 1.Einleitung: Was ist.net? 2.Das.NET Framework 3.Threading unter.net 4.Anwendungen 5.Plattformunabhängigkeit 6.Java vs..net

6. Java vs..net Inhaltsübersicht 6.1. Gemeinsamkeiten 6.2. Unterschiede

6.1. Java vs..net Gemeinsamkeiten Java (JVM).NET virtueller Zwischencode/VM JA JA Objektorientierung JA JA Garbage Collection JA JA Typsicherheit JA JA WebServices JA JA Dynamische Webpages JSP ASP.NET

6.2. Java vs..net Unterschiede Java (JVM).NET Plattformunabhängigkeit Realität bedingt Sprachunabhängigkeit th. möglich Realität Performance < Bytecode/CIL Größe < Betriebssystemintegration schwach mittel unsicherer Code NEIN JA imperative Prog. Sprachen NEIN/schlecht JA Kompilierung Interpreter, JIT JIT

Quellen [1] Ralph Wesphal:.NET kompakt. Spektrum Akademischer Verlag, 2002 [2] Don Box with Chris Sells: Essential.NET. Volume 1. The Common Language Runtime. Addison Wesley, 2002 [3] Jeffrey Richter: Applied.NET Framework Programming, chapter 1. Microsoft Press, 2002 [4] Peter Drayton, Ben Albahri & Ted Neward: C# in a nutshell, Deutsche Übersetzung, insbes. Kapitel 1. O'Reilly Verlag GmbH & Co. KG, 2003 [5] Betrand Meyer:.NET Is Coming. In: Software Technologies, August 2001

Quellen [6] Jeremy Singer: JVM versus CLR: A Comperative Study. University of Cambrigde Computer Laboratory, 2003 [7] Chad Vawter and Ed Roman: J2EE vs. Microsoft.NET. A comparison of building XML based web services. Middleware Company, 2001 [8] White Paper: Microsoft.NET or Java Enterprise Edition: Is it just a question of platforms and languages? CGI Group Inc., 2004 [9] www.mono project.com [10] Kein Autor angegeben: Völcker Informatik AG. Succes Story. In: Zeitschrift von www.novell.com, 2004