Slides - 1to1 - FB2

Werbung
Microsoft .NET Überblick
Matthias Nübling
Gliederung
Was ist Microsoft .NET ?
Überblick wichtiger .NET-Technologien
Common Language Runtime
.NET Framework
ADO.NET
Windows Forms
Web Forms mit ASP.NET
Web Services
Visual Studio .NET
Was ist Microsoft .NET ?
Eine Vision der Weiterentwicklung von
Informationstechnologien
Eine Software-Plattform, welche die Vision
aus technischer Sicht unterstützt
Ein Geschäftsmodell mit dem Ziel, Software
als Services bereitzustellen
.NET Vision
Web-Services als
Programmiermodell für
verteilte, internetbasierte
Anwendungen
„Software as a service“
Vielfältige intelligente
Endgeräte, die den PC
ergänzen
Individualisierbare, adaptive
Benutzerschnittstellen
Vereinfachung der
Softwareentwicklung
.NET Plattform
.NET Plattform
.NET Tools
Visual Studio .NET
Inhalt
dieser
Vorlesung
.NET Framework
Common Language Runtime
Einheitliche Klassenbibliothek
.NET Enterprise
Server
Microsoft Server Produkte (Windows
Server, Biztalk Server, Commerce
Server, SQL Server, ...)
.NET Building Block
Services
Verteilte, ständig verfügbare WebServices (Authentication, Notification,
Messaging, Search, Calendar,...)
.NET Devices
Software für intelligente Endgeräte
Web Service
Web
Service
Verzeichnis von Web Services
entsprechend der “Gelben Seiten”
Web Services sind gemäß ihrer
Methoden und deren Parameter
definiert
Web Services Benutzer können XML
Nachrichten senden und empfangen
Nutzt offene Internet Protokolle
Eine programmierbare
Anwendungseinheit auf
die über standardisierte
Webprotokolle
zugegriffen wird.
UDDI
Universal Description,
Discovery, and Integration
WSDL
Web Services
Description Language
SOAP
XML & HTTP
Evolution der Internet-Applikationen
HTML, XML
HTML
HTML
HTML, XML
1. Generation
Statische Seiten
2. Generation
Dynamische Seiten
3. Generation
Web Services
.NET Ziele
Vereinfachung der Entwicklung
Web Services
Web-Applikationen
Anwendungen für mobile Endgeräte
Desktop-Anwendungen
Unterstützung von Web Standards
z = object.method(x,y)
http://service/method?x&y
<xml> returnvalue </xml>
Client
Web Service
!
.NET Ziele
Einheitliches Programmiermodell
für unterschiedliche Programmiersprachen
C#, VB.NET, C++, J#, ...
für unterschiedliche Anwendungstypen
Desktop Anwendungen
Web Applikationen
Web Services
Anwendungen für mobile Endgeräte
"
Einheitliches Programmiermodell
Konsistentes sprachunabhängiges API
.NET Framework
VB Forms
MFC/ATL
ASP
Windows API
""
.NET Ziele
Robuste und sichere Laufzeitumgebung
Vereinfachung der Installation
Interoperabilität
Plattformunabhängigkeit
Komponentenkonzept
"
.NET Framework und Tools
!
"
#
ASP.NET und
XML Web Services
$#
%
Windows
User Interface
ADO.NET: Data und XML
!
&
'( )
.NET Framework Base Class Library
Common Language Runtime
"
Common Language Runtime (CLR)
Einheitliche Laufzeitumgebung
Stellt Dienste zur Verfügung für
Entwicklung
Interoperabilität von Programmiersprachen
Erhöhte Produktivität
Auslieferung
Einfaches, zuverlässiges Deployment
Weniger Versionierungsprobleme
Betrieb
DLL Hell
Performance
Zuverlässigkeit
Skalierbarkeit
Sicherheit
"
CLR: Aufgaben
Codemanagement
Generierung von nativen
Code aus MSIL
Laden und Ausführen von
Managed Code
Erzeugung und Verwaltung
von Metadaten
Verifikation der
Typsicherheit
Versionsprüfungen
Sicherheitsprüfungen
Speicherverwaltung
Garbage Collection
Fehlerbehandlung
(Exception Handling)
Interoperation von .NET
Framework Objekten und
COM Objekten sowie Win32
DLLs
Unterstützung von
Entwicklerservices
(Profiling, Debugging, etc.)
"
CLR: Architektur
Base Class Library Support
Thread Support
COM Marshaler
Type Checker
Exception Manager
Security Engine
Debug Engine
IL to Native
Compilers
Code
Manager
Garbage
Collector
Class Loader
"
CLR: Übersetzung und Ausführung
QuellCode
MSIL
Ngen
MaschinenCode
VB.NET
C#
C++
Compiler
Compiler
Compiler
Assembly
Assembly
Assembly
Common Language Runtime JIT Compiler
Managed
Code
CLR Services
Managed
CLR
Code
Managed
Code
Unmanaged
Code
Operating System Services
"
CLR: Übersetzung und Ausführung
Übersetzung
Quellcode
SprachCompiler
MaschinenCode
Ausführung
JITCompiler
MSIL-Code
MSIL
Vor der Installation
oder vor dem
ersten Aufruf einer
Methode
"
Assembly
Logische Einheit für
Auslieferung
Kapselung
Versionierung
Sicherheit
Zusammensetzung:
XYZ.DLL
Manifest
Metadaten
MSIL
Resourcen
"!
Assembly
Manifest
Beschreibung der Bestandteile eines Assemblies (Version,
exportierte Typen, Abhängigkeiten etc.)
Metadaten
Beschreibung aller Typen des Assemblies
Microsoft Intermediate Language (MSIL, IL)
Alle .NET Sprachen werden in IL übersetzt (Managed
Code)
IL wird vor der Ausführung immer in Maschinencode
übersetzt
Resourcen
Weitere Dateien, z.B. .bmp, .jpg
CLR: Sprach-Interoperabilität
Common Type System (CTS)
Die Menge aller möglichen Datentypen, die von
einer .NET-Programmiersprache verwendet
werden kann
Common Language Specification (CLS)
Die Untermenge des CTS, die von jeder Sprache
unterstützt werden muß. Sie garantiert die
Interoperabilität von unterschiedlichen Sprachen
.NET-Programmiersprachen
Microsoft: VB.NET, C#, C++, J#, JScript
Third-Party: Cobol, Eiffel, Smalltalk, Scheme,
Oberon, Haskell, Java, Python, Perl, …
"
CLR: Sprach-Interoperabilität
Die MSIL unterstützt Konzepte wie
Komplexe Datentypen und Objekte
Vererbung und Polymorphie
Sprachen werden gleichwertig, da alle
Compiler MSIL-Code erzeugen
Sprachen werden interoperabel, da sie das
gleiche Typsystem (CLS) benutzen
Aufrufe, Implementierungsvererbungen und
Exception Management zwischen
unterschiedlichen Sprachen möglich
.NET Framework
Integriert alle derzeitigen WindowsTechnologien
Alles ist in einer Bibliothek – für alle Sprachen
Windows Forms, GDI+, Drucken
Web Forms, Web Services, Networking
Datenbank-Schnittstellen
Unterstützung von Active Directory, WMI, MSMQ,
COM+ Services
.NET Framework
Sprach-Interoperabilität
Die gleichen Framework-Klassen und -Interfaces sind
verfügbar für alle .NET Programmiersprachen
Vereinfacht Entwicklung mit unterschiedlichen Sprachen
Konsistentes, einheitliches Programmiermodell
Ersetzt viele COM-Libraries
Objektorientierte und erweiterbare Klassenbibliothek
Vererbung, Polymorphismus und Überladen von Methoden
Abstrakte Basisklassen und Interfaces
Unterteilung in Namensräumen
.NET Framework Namensraum
ASP.NET
Windows
ADO.NET
XML
Base Class Library
.NET Framework Namensraum
System.Web
Services
System.WinForms
UI
Description
Discovery
Protocols
Caching
Configuration
Design
HtmlControls
WebControls
Security
SessionState
System.Drawing
Drawing2D
Imaging
System.Data
ADO
Design
SQL
SQLTypes
ComponentModel
Printing
Text
System.Xml
XSLT
XPath
Serialization
System
Collections
Configuration
Diagnostics
Globalization
IO
Net
Reflection
Resources
Security
ServiceProcess
Text
Threading
Runtime
InteropServices
Remoting
Serialization
ADO.NET
Ähnlich zu ADO
Sprachneutraler Datenzugriff
Zwei Zugriffsarten:
Verbindungsloser Zugriff über die Klasse DataSet
Verbindungsorientierter Zugriff
Unterstützt Verbindung von Datenquellen mit
Steuerelementen
Zugriff auf Daten relational (Tabellen) oder
hierarchisch (XML)
ADO.NET Komponenten
Windows Forms
Für die Entwicklung von Desktop-Anwendungen mit
grafischen Oberflächen (“smart clients”)
Rapid Application Development (RAD)
Ereignisgesteuertes Programmiermodell
Viele Steuerelemente (Controls) vorhanden
Benutzerdefinierte Steuerelemente möglich
Visuelle Vererbung
Einfache Integration von Web Services
ActiveX Support
Gute Grafik-Unterstützung (GDI+)
!
Web Forms mit ASP.NET
Für die Entwicklung dynamischer Web-Seiten
Baut auf ASP auf
Neues Programmiermodell
Serverseitige Steuerelemente (Web Controls)
Ereignissteuerung
Generierung von Browser-spezifischen Code
Verbindung von Steuerelementen mit
Datenquellen
Viele Steuerelemente vorhanden (z.B. Data Grid)
Benutzerdefinierte Steuerelemente möglich
Web Forms mit ASP.NET
Objektorientierung
Trennung von Layout und Anwendungslogik
Verwendung von .NETProgrammiersprachen
Compilation statt Interpretation
Client-seitiges Scripting weiterhin möglich
XCOPY/FTP Deployment
Bessere Verwaltung des Seitenzustands
Einfache XML-basierte Konfiguration
Tracing Unterstützung
"
Web Services mit ASP.NET
Ähnlich wie Web Forms, aber
Dateiendung mit
Enthält nur Code, keine Benutzerschnittstelle
"Drag and Drop" Web Services Entwicklung
Virtuelles Verzeichnis notwendig (IIS)
ASP.NET unterstützt einfache Tests
ASP.NET generiert WSDL automatisch
Verwendung der .NET Framework Klassen
sowie selbstentwickelter Klassen möglich
.NET Sprachunterstützung
Die Laufzeitumgebung ist sprachneutral
Alle .NET Sprachen haben den gleichen Stellenwert
Auswahl ist mehr eine Frage des Geschmacks
“Common Language Specification”
Jede .NET Sprache kann das .NET Framework verwenden
Sprachen sind interoperabel
Microsoft bietet:
VB.NET, C++, C#, J#, JScript™
Dritthersteller bieten:
APL, COBOL, Pascal, Eiffel, Haskell, ML, Oberon, Perl,
Python, Scheme, Smalltalk, Objective CAML, …
Visual Studio.NET
Leistungsstarke Design-Werkzeuge
Windows Forms, Web Forms
XML und Komponenten-Designer
Visuelle Designer für HTML, XML, Daten, serverseitigen
Code
Einheitliche Entwicklungsumgebung
Vereinfacht “mixed-language” Entwicklung
Zugriff auf Features von jeder Sprache aus
End-To-End Debugging
Über Projekte, Prozesse, gespeicherte Prozeduren,
Sprachen
Fragen ?
Uff...
Herunterladen