.NET - PowerPoint PPT Presentation

About This Presentation
Title:

.NET

Description:

Nico Orschel Microsoft Student Partner, TU-Ilmenau nico.orschel_at_studentprogram.de http://www.studentprogram.de/ilmenau – PowerPoint PPT presentation

Number of Views:172
Avg rating:3.0/5.0
Slides: 47
Provided by: schr68
Category:
Tags: net | net | remoting

less

Transcript and Presenter's Notes

Title: .NET


1
.NET
Nico Orschel Microsoft Student Partner,
TU-Ilmenau nico.orschel_at_studentprogram.de http//
www.studentprogram.de/ilmenau
2
Agenda
  • Situation heute
  • .NET für den Entwickler
  • Common Language Runtime (CLR)
  • .NET Klassenbibliothek
  • Zukunft

3
Agenda
  • Situation heute
  • .NET für den Entwickler
  • Common Language Runtime (CLR)
  • .NET Klassenbibliothek
  • Zukunft

4
Die heutigen Probleme (1/2)
  • Deployment komponentenbasierter Anwendungen ist
    nicht einfach
  • Es droht die DLL-Hölle
  • Das Web-Programmierungsparadigma
  • Zustandslose HTML-Seiten (oder Web-Applikationen)
    sind schwer zu entwickeln
  • APIs
  • Es gibt eine Vielzahl von APIs (COM, Win32, MFC,
    usw.)
  • Plattformabhängigkeit der APIs

5
Die heutigen Probleme (2/2)
  • Applikationen integrieren
  • Sprachen haben unterschiedliche Typsysteme
  • COM sitzt auf anderen Objektkonzepten
  • Internetfähigkeit von COM
  • Dienst- und Plattformintegration
  • Keine Standards für die Interoperabilität
  • Kontrolle von Code
  • Ressourcenverwaltung
  • Fehler bei der Entwicklung

6
Vision / Zukunft
  • Software als Service
  • Unterstützung von Smart Devices
  • offene Standards als Grundlage

Microsoft Web Services
Partner Web Services
andere Web Services
Internet XML
Clients
Ihr Unternehmen.com
Geschäftslogik der Applikation
Datenzugriff und -speicherung
andere Applikationen
7
.NET Framework
VB
C
C
Visual Studio.NET
J

Common Language Specification
ASP.NET
Windows Forms
ADO.NET and XML
Base Class Library
Common Language Runtime
8
Agenda
  • Situation heute
  • .NET für den Entwickler
  • Common Language Runtime (CLR)
  • .NET Klassenbibliothek
  • Zukunft

9
.NET für Entwickler
VB
C
C
Visual Studio.NET
J

Common Language Specification
ASP.NET
Windows Forms
ADO.NET and XML
Base Class Library
Common Language Runtime
10
Der Weg zum Maschienencode
Source Code
VB
C
C
Compiler
Compiler
Compiler
Assembly
Assembly
Assembly
IL Code
Common Language Runtime JIT Compiler
Ngen
CLR
Native Code
Managed Code
Managed Code
Managed Code
Unmanaged Code
CLR Services
Operating System Services
11
Assemblies (1/2)
  • .NET Anwendungen bestehen aus Assemblies
  • Private Assemblies
  • Identifikation anhand eines einfachen Namens
  • Keine Versionsüberprüfung
  • Installation per Filecopy
  • Standardmäßig befinden sich Assembly und
    Anwendung im gleichen Verzeichnis
  • Verzeichnis kann per CFG-Datei definiert werden
  • Shared Assembly
  • Identifikation über einen Strong Name
  • Eindeutig per Public-Key-Verschlüsselung
  • Strong Name Identität Public Key
  • Versionsüberprüfung durch die Runtime
  • Installation im Global Assembly Cache

12
Assemblies (2/2)
  • Strong Name garantiert Codeintegrität
  • Unbemerktes Einschleusen von modifiziertem Code
    wird verhindert
  • Aber Auch böse Menschen arbeiten mit Strong
    Names
  • Code-Signing garantiert Codeidentität
  • Code ist aufgrund seines X.509-Zertifikats
    eindeutig identifizierbar

13
Code wird kompiliert
  • IL-Code wird vor der Ausführung immer (!) durch
    Compiler in echten Maschinencode übersetzt
  • IL-Code ist unabhängig von Hardwareplattformen

14
Common Type System
  • Das Typsystem wandert vom Compiler in die Runtime
  • Typen werden eindeutig
  • Ein String unter C und ein String unter VB.NET
    sind identisch
  • Sprachen werden per Definition interoperabel,
    da sie das gleiche Typsystem benutzen
  • Compilerbau wird einfacher

15
Alles ist ein Objekt!
Object
Value Type
Boolean
Int64
Byte
Enum
SByte
Char
Single
Type
Currency
TimeSpan
Typen im Namespace System
DateTime
String
TypedRef.
Decimal
UInt16
Double
Array
UInt32
Guid
UInt64
Exception
Int16
Void
Int32
Delegate
16
Common Language Specification
  • Kleinster gemeinsamer Nenner für Typen
  • C und C kennen Zeiger VB.NET nicht
  • C kennt die STL VB.NET und C nicht
  • komplette Sprachintegration schwierig
  • Die Common Language Specification (CLS) definiert
    den kleinsten gemeinsamen Nenner aus dem Common
    Type System, den jeder Compiler unterstützen
    sollte
  • Mapping der CLR-Typen auf Sprachtypen
  • Integer unter VB.NET entspr. bspw. System.Int32
  • Für COM-Programmierer ist System.Object die
    moderne Form eines Variant -)
  • C Typen sind Managed Types (!)

17
Implikation / Zusammenfassung
  • Sprachen werden gleichwertig, da alle Compiler
    IL-Code erzeugen
  • Eine C Klasse kann (z.B.) von einer VB.NET
    Klasse abgeleitet sein
  • Vererbungsfähigkeit kommt aus der Runtime
  • Einheitliche Fehlerbehandlung
  • Ähnliche Performance

The language doesnt matter!Dan Appleman
18
Agenda
  • Situation heute
  • .NET für den Entwickler
  • Common Language Runtime (CLR)
  • .NET Klassenbibliothek
  • Zukunft

19
Common Language Runtime
VB
C
C
Visual Studio.NET
J

Common Language Specification
ASP.NET
Windows Forms
ADO.NET and XML
Base Class Library
Common Language Runtime
20
Robust und sicher
  • Automatisches Lifetime Management
  • Alle .NET Objekte werden garbage collected
  • Keine Stray Pointers, keine zirkulären
    Referenzen
  • Eingebautes, strukturiertes Exception Handling
  • keine HRESULTS (kryptische Fehlernummern) mehr!
  • Prüfbar und Typsicher
  • Verhindert die häufigsten Programmierfehler
  • Evidence-based Sicherheit
  • Herkunft des Codes und Benutzerrechte
  • Erweiterbare Rechte (Extensible permissions)

21
Plattform für alle Sprachen
  • Alle Features des .NET Framework sind in jeder
    .NET Programmiersprache zugänglich
  • Nahtlose Mehrsprachige Entwicklung
  • Vererbung über Sprachgrenzen hinweg
  • Implementierungen verschiedener Sprachen
  • Perl, COBOL, Eiffel, Python, etc.
  • Andere wie APL, Smalltalk, Lisp
  • Hochproduktive Werkzeuge
  • Debugger, Profilers, Code Analyzers, etc.
    arbeiten für alle Sprachen.

22
Wartung und Verteilung
  • Keine Registrierung notwendig
  • Einfach die Applikationskomponenten kopieren
    (xcopy deployment)
  • Der Code ist vollständig selbstbeschreibend
    (MetaDaten Manifest)
  • Nebenwirkungsfreie Installation (Zero-impact
    install)
  • Side-by-Side Ausführung
  • Verschiedene Versionen derselben Komponente
    können sogar in einem Prozess kooexistieren

23
Web Service
Demo
24
Zusammenfassung CLR
  • Einheitliches Typsystem
  • Sprachen werden gleichwertig
  • Alles ist von Object abgeleitet
  • Das Common Type System definiert welche Typen
    nach außen gegeben werden sollten

25
Agenda
  • Situation heute
  • .NET für den Entwickler
  • Common Language Runtime (CLR)
  • .NET Klassenbibliothek
  • ADO.NET und XML
  • Web Services und Web Applikationen
  • Zukunft

26
.NET Klassenbibliothek
VB
C
C
Visual Studio.NET
J

Common Language Specification
ASP.NET
Windows Forms
ADO.NET and XML
Base Class Library
Common Language Runtime
27
Putting it all together
Unabhängigkeit von der verwendeten
Programmiersprache
RAD, Composition, Delegation
Stateless, Code embedded in HTML pages
Subclassing, Power, Expressiveness
ASP
MFC/ATL
Windows API
28
.NET Framework Namespaces
System.Web
System.Windows.Forms
System.Drawing
System.Data
System.Xml
System
29
Agenda
  • Situation heute
  • Common Language Spezification (CLS)
  • Common Language Runtime (CLR)
  • .NET Klassenbibliothek
  • ADO.NET und XML
  • Web Services und Web Applikationen
  • Zukunft

30
.NET Framework Namespaces
System.Web
System.Windows.Forms
Services
UI
Design
ComponentModel
Description
HtmlControls
Discovery
WebControls
Protocols
System.Drawing
Caching
Security
Drawing2D
Printing
Configuration
SessionState
Imaging
Text
System.Data
System.Xml
ADO
SQL
XSLT
Serialization
Design
SQLTypes
XPath
System
Collections
IO
Security
Runtime
InteropServices
Configuration
Net
ServiceProcess
Remoting
Diagnostics
Reflection
Text
Serialization
Globalization
Resources
Threading
31
ADO.NET und XML
  • Verarbeitet alle Arten von Daten
  • XML (hierarchical), Relational
  • Leistungsfähiger In-Memory Daten Cache
  • Lightweight, stateless, disconnected
  • sowohl relational wie XML Zugriff, unabhängig von
    der Datenquelle
  • XML Unterstützung
  • W3C DOM, XSL/T, XPath und Schema
  • Data Reader für Streamzugriff mit geringem
    Overhead

32
Das DataSet
  • Relationale Sicht der Daten
  • Tabellen, Spalten, Zeilen, Beschränkungen,
    Beziehungen
  • Direkte Erzeugung vonMetadaten einfaches
    Einfügenvon Daten
  • Explizites Cache Modell
  • Disconnected, remotable Objekt
  • Hat keine Kenntnis über die Datenquelle Zugriff
    wie auf ein Array
  • Strong Typing möglich
  • Filtern und Aggregieren möglich

Relation
33
Agenda
  • Situation heute
  • .NET für den Entwickler
  • Common Language Runtime (CLR)
  • .NET Klassenbibliothek
  • ADO.NET und XML
  • Web Services und Web Applikationen
  • Zukunft

34
.NET Framework Namespaces
System.Web
System.Windows.Forms
Services
UI
Design
ComponentModel
Description
HtmlControls
Discovery
WebControls
Protocols
System.Drawing
Caching
Security
Drawing2D
Printing
Configuration
SessionState
Imaging
Text
System.Data
System.Xml
ADO
SQL
XSLT
Serialization
Design
SQLTypes
XPath
System
Collections
IO
Security
Runtime
InteropServices
Configuration
Net
ServiceProcess
Remoting
Diagnostics
Reflection
Text
Serialization
Globalization
Resources
Threading
35
Web Forms
  • Einheitliches Modell
  • Trennung zwischen Form und Code
  • Ereignisorientiert
  • Viel bessere Performance als ASP
  • Neu in ASP.Net 2.0 viele neue Controls für
    Standardaufgaben
  • Bsp. Userverwaltung, Masterpages, Profiles, etc.

36
Veränderungen am ServerWeb Services Mehr als
Browsen
HTML
37
Web Services
  • Technische Definition - "Eine programmierbare
    Anwendung, auf die über Standardwebprotokolle
    zugegriffen werden kann"
  • Basiert auf SOAP
  • Aufbau Web Service Stack
  • SOAP (Codierung, Transport)
  • UDDI (Finden, Suchen)
  • WSDL (Schnittstellenbeschreibung)

38
Datenaustausch
39
Web Services
SOAP
XML
40
Web Service
Demo
41
Agenda
  • Situation heute
  • .NET für den Entwickler
  • Common Language Runtime (CLR)
  • Base Libraries
  • ADO.NET und XML
  • Web Services und Web Applikationen
  • Zukunft

42
Zukunft
  • Windows Communication Foundation (WCF)
  • ehemals Codename Indigo
  • Beschreibung von Services ( Contracts )
  • Nachrichten basierend
  • Quelle
  • http//www.dotnetpro.de/articles/freearticles/pdf/
    2005-11-Indigo.pdf

43
Fragen?
44
Links
  • http//msdn.microsoft.com/webservices/indigo/defau
    lt.aspx
  • http//msdn.microsoft.com/netframework
  • http//www.codeproject.com
  • http//www.guidetocsharp.de
  • http//www.codezone.de
  • http//www.terraserver.com

45
Events an der TU-Ilmenau
  • Ready to Launch Event
  • Veröffentlichung von Visual Studio 2005 und SQL
    Server 2005
  • Vorträge
  • .NET Usergroup Ilmenau
  • Vorträge, Workshops zu .NET Themen
  • Informationen unter
  • http//www.studentprogram.de/ilmenau
  • Mail nico.orschel_at_studentprogram.de

46
Danke!
  • Vielen Dank fürIhre Aufmerksamkeit !
Write a Comment
User Comments (0)
About PowerShow.com