Microsoft.NET Seminar Verteilte Systeme Thomas Bischoff.

Post on 05-Apr-2015

111 views 0 download

Transcript of Microsoft.NET Seminar Verteilte Systeme Thomas Bischoff.

Microsoft .NET

Seminar „Verteilte Systeme“

Thomas Bischoff

.NET 2 / 29

Inhaltsübersicht

1. Was ist .NET?

2. Architektur

3. Bestandteile

4. .NET versus J2EE

.NET 3 / 29

Inhaltsübersicht

1. Was ist .NET?

2. Architektur

3. Bestandteile

4. .NET versus J2EE

.NET 4 / 29

Was ist .NET?

Kombination aus:- Web Services- .NET Enterprise Server- .NET Framework

.NET 5 / 29

Inhaltsübersicht

1. Was ist .NET?

2. Architektur

3. Bestandteile

4. .NET versus J2EE

.NET 6 / 29

.NET – Architektur

.NET 7 / 29

Inhaltsübersicht

1. Was ist .NET?

2. Architektur

3. Bestandteile

4. .NET versus J2EE

.NET 8 / 29

Bestandteile - .NET Framework

.NET 9 / 29

Framework – Namensräume, Klassen

Hierarchische Aufteilung vorgefertigter Methoden, Funktionen sowie Variablen für alle .NET- tauglichen Programmiersprachen

Aufteilung nach Anwendungen

.NET 10 / 29

Bestandteile – Common Language Runtime

Laufzeitsystem für alle von .NET unterstützten Sprachen

Speicherverwaltung Prozess – und Threadmanagement Durchsetzung der

Sicherheitsmechanismen Auflösen der Bezüge auf andere

Komponenten

.NET 11 / 29

Laufzeitsystem - Funktionsweise

.NET 12 / 29

Laufzeitsystem - Funktionsweise

Namespace Calculator {using System;public class Calc {

public Calc() {}public int Add( int x, int y) {

return x+y;}public static int Main(string[] args) {

calc c new Calc();int ans = c.Add(10, 48);

Console.WriteLine("10+48= {0}.“, ans);return 0;

}}}

Module Module1Class Calc

public Function Add(ByVal x As Integer, ByVal y As Integer) As Integer

return x+yEnd Function

EndClassSub Main()

Dim ans As IntegerDim c As New Calc()ans = c.Add(10,48)

Console.WriteLine("10+48 = {0}.", ans)

End SubEnd Module

.NET 13 / 29

Laufzeitsystem - Funktionsweise

.method public hidebysig instance int32 Add(int32 x, int32 y) il managed

{//Code size 8 (0x8).maxstack 2.locals ([0] int32 V_0)IL_0000: ldarg.1IL_0001: ldarg.2IL_0002: addIL_0003: stloc.0IL_0004: br.sIL_0006IL_0006: ldloc.0IL_0007: ret

} //end of method Calc::Add

.method public hidebysig instance int32 Add(int32 x, int32 y) il managed

{//Code size 11 (0xb).maxstack 2.locals init ([0] int32 Add)IL_0000: nopIL_0001: ldarg.1IL_0002: ldarg.2IL_0003: add.ovfIL_0004: stloc.0IL_0005: nopIL_0006: br.sIL_0008IL_0008: nopIL_0009: ldloc.0IL_000a: ret

} //end of method Calc::Add

.NET 14 / 29

Laufzeitsystem - MSIL

Manifest• refernziert andere verwandte Dateien

Typ-Metadatei• beschreiben alle verwendeten Typen (Klassen,

Strukturen, Aufzählungen,…)

• beschreiben Members der Typen

MSIL-Code Resource

• Bilder,...

.NET 15 / 29

Laufzeitsystem - Merkmale

Common Type System: Konzept für Datentypen, welches von Programmier- sprachen unabhängig ist

JIT- Compiler: übersetzt MSIL- Code in zielmaschinenabhängige Maschinen- sprache

Garbage Collector: Speicherverwaltung Ausnahmebearbeitung

.NET 16 / 29

Bestandteile – Web Services

Bereitstellung von Softwarelösungen via Internet durch Zugriff auf sprachunabhängige Assemblys unter Verwendung von HTTP, HTTP GET, HTTP POST, SOAP

Übertragung als XML, früher SDL

.NET 17 / 29

Bestandteile –Enterprise Server

BizTalk Server 2000:• Integrationsserver zum Vereinen

verschiedener Standards für den InformationsaustauschOrchestration: Erstellung von Workflows durch

Verknüpfung verschiedener Plattformen, Anwendungen und Diensten

Messaging: Informationsaustausch zwischen Anwendung und Dienst

.NET 18 / 29

Bestandteile –Enterprise Server

SQL Server 2000 Exchange 2000 Server Host Integration Server 2000 Internet Security and Acceleration Server

2000 (ISA Server)• Datenbankanbindung an das Internet

.NET 19 / 29

Inhaltsübersicht

1. Was ist .NET?

2. Architektur

3. Bestandteile

4. .NET versus J2EE

.NET 20 / 29

.Net vs. J2EE

- Komplettprodukt der Firma Microsoft

- Bestandteile:- .NET Framework

- Laufzeitsystem

- Enterprise Server

- Web Service

- Architektur der Firma Sun, IBM,…

- Bestandteile:- Java Sprachsystem

- Client – Modell über HTTP

- Middle-Tier (EJB)

- Programmer Enterprise API

.NET 21 / 29

Laufzeitumgebung.Net vs. J2EE

Common Language Runtime1. Übersetzung des

Programmcode in MSIL

2. Übersetzung in ausführbaren Code abhängig von der Zielhardware

Java Virtual Machine1. Übersetzung des

Programmcodes in einen Zwischencode

2. Übersetzung erfolgt direkt, ohne Anpassung

.NET 22 / 29

Neutralität.Net vs. J2EE

gebunden an das Microsoft Betriebssystem .NET

Plattform unabhängig, weder an Hard- noch an Software gebunden

.NET 23 / 29

Web Services, Zusammenarbeit.Net vs. J2EE

offene Standards:• XML

• SOAP

• HTTP strenge Technologie-

unabhängigkeit

Standards:• IIOP

• EJB

• Java-RMI an komplette J2EE-

Umgebung gebunden

kein einheitlicher Standard in der Implementierung

.NET 24 / 29

Framework - Support.Net vs. J2EE

einheitliche Hierarchie in den Namenräumen

Arbeiten mit unterschiedlichen Treiberversionen möglich

je nach Entwickler unterschiedliche Hierarchien in den Packages

.NET 25 / 29

Sprachunterstützung.Net vs. J2EE

durch einheitlichen Zwischencode MSIL von Programmier-sprachen unabhängig

festgelegt auf Java Interaktion mit C(++)

durch JNI (Java native Interface)

durch CORBA Implementierung

.NET 26 / 29

Austauschbarkeit.Net vs. J2EE

durch strenge Reglementierung der Schnittstellen sind Komponenten austauschbar

verschiedene J2EE-Systeme müssen durch unterschiedliche Implementierungen oder Zusammen-stellungen nicht zusammen passen

.NET 27 / 29

.Net vs. J2EE: Gemeinsamkeiten

in Webseite eingebetteter Code• Java-Applets

Dynamische Webseitengestaltung• ASP.NET (Active Server Pages)

• JSP (Java Server Pages)

Idee des Web-Service

.NET 28 / 29

.Net vs. J2EE: Gemeinsamkeiten

Übersetzung in Zwischencode• JVM (Java Virtual Machine)

• CLR (Common Language Runtime) Sicherheit:

• Kryptographie Funktionen zur sicheren Datenübermittlung

• Zugriffsschutz für Codeteile• Java: Security Manager

• .NET: Code Access Security

.NET 29 / 29

.Net vs. J2EE: In J2EE fehlende Komponenten

Firewall-Funktion Caching von HTML Seiten Programmiertool eCommerce Framework Business to business orchestration

.NET

Verwendete Literatur TROELSEN, Andrew: C# und die .NET-Plattform, mitp-

Verlag Bonn, 1. Auflage 2002 VASTERS, OELLERS, JAVIDI, JUNG, FREIBERGER,

DePETRILLO: Microsoft .net Crashkurs, Microsoft Press Deutschland, 2001

LOVISCACH, SCHULZ, VIOLKA: Sunspiration .NET und SunONE im Plattformvergleich, CT magazin für computer technik, H8752, 4/2002

SIERING, Peter: Das Microsoft-Internet .Net und was dranhängt, CT magazin für computer technik, H8752, 4/2002

PROSISE: Entwicklerbuch Microsoft .NET, Microsoft Press Deutschland, 2002

.NET

Verwendete Internetdokumente

http://www.dotnetextreme.com/gen.asp http://www.objectwatch.com/FinalJ2EEandDotNet.doc

.NET

ENDE

Der Vortrag über .Net ist nun zu ende.

Ich bedanke mich recht herzlich für Ihre Aufmerksamkeit!

Thomas Bischoff