View
114
Download
0
Category
Preview:
Citation preview
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
Recommended