einführung.net tobias richling microsoft student partner student der wirtschaftsinformatik...
TRANSCRIPT
![Page 1: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/1.jpg)
Einführung .NET
Tobias RichlingMicrosoft Student PartnerStudent der WirtschaftsinformatikUniversität Münster
Neno LojeMicrosoft Student PartnerStudent der InformatikUniversität Hamburg
![Page 2: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/2.jpg)
Ziele
• Verständnis der Begriffe rund um .NET• „Landkarte“ über .NET• Grundlegendes Verständnis der Arbeitsweise
von und mit .NET• Handlungssicherheit im Umgang mit Quellen
zum Thema .NET
![Page 3: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/3.jpg)
Gliederung
Tobias Richling• Warum .NET / Was ist .NET• Begriffe und ihr Zusammenhang mit .NET
Neno Loje• Basiselemente von .NET• Bereiche von .NET
![Page 4: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/4.jpg)
Die Antwort lautet
Aber wie lautet die Frage?
Microsoft .NET: Was und Warum?
![Page 5: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/5.jpg)
Microsoft .NET: Was und Warum?
• Technologie• Produkt• Architektur• Plattform• Strategie
Was ist .NET
??
![Page 6: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/6.jpg)
Microsoft .NET: Was und Warum?
Ein Blick auf Gestern• Information at your fingertips größtenteils Realität• Vorwiegend isolierte Desktoprechner• Nur vereinzelt lokale Netze
Ein Blick auf Heute und Morgen• Neue Formfaktors mit verschiedener Hardware• Steigender Grad der Vernetzung durch Internet
Herausforderung der Neupositionierung
![Page 7: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/7.jpg)
Probleme mit den eigenen Technologien
• Schwieriges Deployment• Viele historisch gewachsene Techniken• Integration der Techniken schwierig• Web Anwendungen sind schwer zu entwickeln• Plattformunabhängigkeit nicht herstellbar
Microsoft .NET: Was und Warum?
![Page 8: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/8.jpg)
Microsoft .NET: Was und Warum?
Empower peopleEmpower people
through great through great softwaresoftware
any time, any place,any time, any place,
and on any deviceand on any device
![Page 9: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/9.jpg)
Gliederung
Tobias Richling• Warum .NET / Was ist .NET• BegriffeBegriffe und ihr Zusammenhang mit .NETund ihr Zusammenhang mit .NET
Neno Loje• Basiselemente von .NET• Bereiche von .NET
![Page 10: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/10.jpg)
Viele Begriffe…
Managed Code
XML
Assembly CLR
Visual Studio
WebServiceUDDI
WSDL ADO.NET
DataSetSOAP
MSIL BCL
FrameworkECMA
ROTORMONO
CTS
C#
CLS
WindowsForms
GUI
Security
SQL
ASP.NET
VB.NET
JIT
Evidence
![Page 11: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/11.jpg)
Viele Begriffe…
Alles BehaltenAlles Behalten
![Page 12: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/12.jpg)
Ein Ordnungsrahmen
Basis- / SupportfunktionenBasis- / Supportfunktionen
Ex
ternE
xternKernfunktionenKernfunktionen
Ex
ternE
xtern
Administrative FunktionenAdministrative Funktionen
![Page 13: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/13.jpg)
Ein Ordnungsrahmen
MONOMONO
DOT-DOT-GNUGNU
CLR, CTSCLR, CTSBCL, XMLBCL, XML
Visu
al S
tud
io.N
ET
Visu
al S
tud
io.N
ET
ADO.NET, DataSet, SQLADO.NET, DataSet, SQL
Windows-Windows-ApplikationApplikation ASP.NETASP.NET
Windows FormsWindows Forms Web FormsWeb FormsWebServicesWebServices
WSDLWSDLUDDIUDDISOAPSOAP
CLSCLS
VBVB C++C++ C#C# JScriptJScript J#J#
MSIL, Assembly, Managed Code, JITMSIL, Assembly, Managed Code, JIT
Security, EvidenceSecurity, Evidence
ECMAECMAISOISO
ROTORROTOR
Internettiger
![Page 14: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/14.jpg)
Die Vision von .NET…
... setzt Maßstäbe, wie heute und in Zukunft Software entwickelt wird!
![Page 15: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/15.jpg)
Probleme heute
• Applikationen integrieren– Sprachen haben unterschiedl. Typsysteme– COM „sitzt auf“ anderen Objektkonzepten
• Dienst-/Plattformintegration– Keine Standards für die Interoperabilität
• Deployment komponentenbasierter Anwendungen– Es droht die DLL-Hölle
• Das Web-Programmierungsparadigma– Zustandslose HTML-Seiten/Apps sind schwer zu entwickeln
• APIs– Eine Vielzahl von APIs (COM, Win32, MFC usw.)– Plattformabhängigkeit
![Page 16: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/16.jpg)
Design-Ziele: .NET
• Absolut einfach– Keine Registration, GUIDs, .IDL files, HRESULTs, IUnknown,
AddRef/Release, CoCreateInstance, etc.
• Objektorientiert bis ins Mark– Klassen und Vererbung komplett unterstützt– Natürlich auch bei verschiedenen Sprachen!
• Einfache Integration– Jede .NET Klasse kann als COM Klasse benutzt werden
ohne jeglichen Aufwand.– COM Klassen können als .NET Klassen importiert werden.
![Page 17: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/17.jpg)
Die .NET Evolution
Vor der Einführung von COM, waren Anwendungen absolut getrennte Einheiten die fast nie integrierbar waren.
Anwendung
Code und Datenstukture
n
![Page 18: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/18.jpg)
Die .NET Evolution II: COM
COM machte die Integration möglich. Jedoch musste jede Komponente dementsprechend programmiert worden sein.
![Page 19: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/19.jpg)
Die .NET Evolution III: Heute
Im .NET Framework stellt die Common Language Runtime alles zur Verfügung, damit Komponenten direkt miteinander interagieren.
![Page 20: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/20.jpg)
Der Ordnungsrahmen
MONOMONO
DOT-DOT-GNUGNU
CLR, CTSCLR, CTSBCL, XMLBCL, XML
Visu
al S
tud
io.N
ET
Visu
al S
tud
io.N
ET
ADO.NET, DataSet, SQLADO.NET, DataSet, SQL
Windows-Windows-ApplikationApplikation ASP.NETASP.NET
Windows FormsWindows Forms Web FormsWeb FormsWebServicesWebServices
WSDLWSDLUDDIUDDISOAPSOAP
CLSCLS
VBVB C++C++ C#C# JScriptJScript J#J#
MSIL, Assembly, Managed Code, JITMSIL, Assembly, Managed Code, JIT
Security, EvidenceSecurity, Evidence
ECMAECMAISOISO
ROTORROTOR
Internettiger
![Page 21: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/21.jpg)
.NET für Entwickler
Base Class Library
Common Language Specification
Common Language Runtime
ADO.NET and XML
VB C++ C#V
isual S
tud
io.N
ET
ASP.NET
J# …
Windows Forms
![Page 22: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/22.jpg)
.NET für Entwickler
Base Class Library
Common Language Specification
Common Language Runtime
ADO.NET and XML
VB C++ C#V
isual S
tud
io.N
ET
ASP.NET
J# …
Windows Forms
![Page 23: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/23.jpg)
Common Language Runtime
Der Weg zum Maschienencode
ASM Code
VB C# C++
Compiler
IL Code
Compiler
IL Code
Compiler
IL Code
JIT (Just in Time) Compiler
Betriebssystem
![Page 24: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/24.jpg)
Code wird kompiliert
• IL-Code wird vor der Ausführung immer (!) durch Compiler in echten Maschinencode übersetzt – Unabhängigkeit von Hardwareplattformen– Unter Windows CE bereits mit einem
IL-Vorläufer im Einsatz
![Page 25: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/25.jpg)
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
![Page 26: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/26.jpg)
Alles ist ein Objekt!
Object Value Type
Enum
Type
String
Array
Exception
Boolean
Byte
Char
Currency
DateTime
Decimal
Double
Guid
Int16
Int32
Int64
SByte
Single
TimeSpan
TypedRef.
UInt16
UInt32
UInt64
Void
Delegate
Typen imNamespaceSystem
![Page 27: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/27.jpg)
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) spezifiziert ein Subset aus dem Common Type System, das 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 (!)
![Page 28: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/28.jpg)
Implikationen
• 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 doesn‘t matter!“Dan Appleman
![Page 29: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/29.jpg)
Die Qual der (Sprach-)Wahl
• IL Assembler (ILASM) – Die Meisten Freiheiten, aber sehr kryptisch
• Managed C++ kann managed und unmanaged Code mischen– Migration, systemnahe Programmierung
• VB.NET: .NET für VB6-Entwickler– Vollständig Objektorientierung, Web für VB– Haben Sie eine Semikolonallergie?
• C# ist syntaktisch nah an C/C++ und leicht für alle OO-Programmierer
![Page 30: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/30.jpg)
Common Language Runtime
Base Class Library
Common Language Specification
Common Language Runtime
ADO.NET and XML
VB C++ C#V
isual S
tud
io.N
ET
ASP.NET
J# …
Windows Forms
![Page 31: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/31.jpg)
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)
![Page 32: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/32.jpg)
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.
![Page 33: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/33.jpg)
Wartung und Verteilung
• Keine Registrierung notwendig– Einfach die Applikationskomponenten kopieren– Der Code ist vollständig selbstbeschreibend– Nebenwirkungsfreie Installation (Zero-impact install)
• ‘Side-by-Side’ Ausführung– Verschiedene Versionen derselben Komponente
können sogar in einem Prozess kooexistieren
![Page 34: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/34.jpg)
Nahtlose Integration
• Alle .NET Klassen können COM Objekte sein– Keine zusätzliche Entwicklung benötigt– Arbeitet mit jedem Clienten (VB6, Office, etc)
• Transparente Nutzung von COM Objekten– Einschließlich benutzerdefinierter Schnittstellen,
ActiveX controls, Automation
• Einfacher zu Nutzen mit COM+ Services– Transaktionen, Objekt Pooling, etc.– Auto-registered — keine Registrierung notwendig
![Page 35: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/35.jpg)
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
![Page 36: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/36.jpg)
.NET Klassenbibliothek
Base Class Library
Common Language Specification
Common Language Runtime
ADO.NET and XML
VB C++ C#V
isual S
tud
io.N
ET
ASP.NET
J# …
Windows Forms
![Page 37: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/37.jpg)
Putting it all together
Windows API
.NET Framework
Unabhängigkeit von der verwendeten Programmiersprache
ASPMFC/ATLVisual Basic®
Forms
RAD,Composition,Delegation
Subclassing, Power,Expressiveness
Stateless,Code embeddedin HTML pages
![Page 38: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/38.jpg)
System.Web
.NET Framework Namespaces
System
System.Data System.Xml
Design
ADO
SQLTypes
SQL
Globalization
Diagnostics
Configuration
Collections
Resources
Reflection
Net
IO
Threading
Text
ServiceProcess
Security RuntimeInteropServices
Remoting
Serialization
XPath
XSLT Serialization
System.Drawing
System.Windows.Forms
Imaging
Drawing2D
Text
Printing
Design ComponentModelServices
Configuration SessionState
Caching Security
UIHtmlControls
WebControls
Description
Discovery
Protocols
![Page 39: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/39.jpg)
.NET Framework Namespaces
System
System.Data System.Xml
System.Web
Globalization
Diagnostics
Configuration
Collections
Resources
Reflection
Net
IO
Threading
Text
ServiceProcess
Security
Design
ADO
SQLTypes
SQL
XPath
XSLT
RuntimeInteropServices
Remoting
Serialization
Serialization
Configuration SessionState
Caching Security
ServicesDescription
Discovery
Protocols
UIHtmlControls
WebControls
System.Drawing
Imaging
Drawing2D
Text
Printing
System.Windows.Forms
Design ComponentModel
![Page 40: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/40.jpg)
Warum etwas ganz Neues?
• Althergebrachte Windows-Programmierung:– API‘s mit C und C++ (alles ist möglich)– MFC mit C++ (einfach mit „Nothaken“)– VB (sehr einfach)
• Alle Varianten: Plattform-abhängig und sind von einer bestimmten Programmiersprache abhängig
• Viele Probleme und Eigenarten
![Page 41: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/41.jpg)
Warum etwas ganz Neues?
• Ideal: Nur EINE Schnittstelle• ...die .NET-Klassenbibliothek• Gemeinsame Schnittstelle für:
– VB, C++, C# und J#
• Grundlage: Das .NET Framework• Vorteil: Die Sprachen „erben“ zusätzlich alle
Möglichkeiten des gesamten Frameworks• Anwendungen mit Windows Forms:
– Benötigter Namensraum ist „System.Windows.Forms“
![Page 42: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/42.jpg)
Windows Forms
• Framework für leistungsfähige Windows Applikationen– Visuelle Formular-Vererbung– Automatisches Layout– Advanced graphics support – GDI+– Einfacher Zugriff auf das Win32 ® API
• Controls im Internet Explorer 5.x nutzen– Keine Installation, Registrierung oder GUIDs– Lightweight -- “Hello World” ~ 3.5K
• Sicher – ‘Code access security’ verhindert Schaden– Keine Internet Explorer Sicherheits-Dialoge!
![Page 43: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/43.jpg)
Windows Forms enthält:
• System.Windows.Forms enthält:– Application-Klasse– Controls-Klassen (Button, Editbox,...)– Klassen für Standarddialoge (Open,...)– Klassen für Menüs– Klassen für Images– Klassen für das Drucken– Klassen für Statuszeile
und Toolbar– Klassen für das Clipboard– u.v.m.
![Page 44: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/44.jpg)
.NET Framework Namespaces
System
System.Data System.Xml
System.Web
Globalization
Diagnostics
Configuration
Collections
Resources
Reflection
Net
IO
Threading
Text
ServiceProcess
Security
Design
ADO
SQLTypes
SQL
XPath
XSLT
RuntimeInteropServices
Remoting
Serialization
Serialization
Configuration SessionState
Caching Security
ServicesDescription
Discovery
Protocols
UIHtmlControls
WebControls
System.Drawing
Imaging
Drawing2D
Text
Printing
System.Windows.Forms
Design ComponentModel
![Page 45: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/45.jpg)
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
![Page 46: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/46.jpg)
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
DataSet
Tables
Table
Columns
ColumnColumnConstraints
ConstraintRows
RowRelations
Relation
![Page 47: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/47.jpg)
.NET Framework Namespaces
System
System.Data System.Xml
System.Web
Globalization
Diagnostics
Configuration
Collections
Resources
Reflection
Net
IO
Threading
Text
ServiceProcess
Security
Design
ADO
SQLTypes
SQL
XPath
XSLT
RuntimeInteropServices
Remoting
Serialization
Serialization
Configuration SessionState
Caching Security
ServicesDescription
Discovery
Protocols
UIHtmlControls
WebControls
System.Drawing
Imaging
Drawing2D
Text
Printing
System.Windows.Forms
Design ComponentModel
![Page 48: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/48.jpg)
Web Forms
• Einheitliches Modell• Trennung zwischen Form und Code• Ereignisorientiert• Viel bessere Performance als ASP
![Page 49: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/49.jpg)
Web Web SiteSiteWeb Web
ServiceService
Veränderungen am ServerWeb Services: Mehr als Browsen
Web Web ServiceService
XMLXML
HTMLHTML
ClientClient
XML
XML
ClientClientXMLXML
Web Web ServiceService
XMLXML
Web Web ServiceService
XMLXML
XM
LX
ML
![Page 50: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/50.jpg)
Datenaustausch
![Page 51: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/51.jpg)
Web Services
• Technische Definition - "Eine programmierbare Anwendung, auf die über Standardwebprotokolle zugegriffen werden kann"– Basiert auf SOAP
![Page 52: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/52.jpg)
Web Services
SOAPSOAP
XMLXML
![Page 53: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/53.jpg)
Web Service
public class Service1 : System.Web.Services.WebService{
[WebMethod]public DataSet GetCustomers(){
DataSet ds = new DataSet();sqlDataAdapter1.Fill(ds);return ds;
}}
Ein kleines Web Service-Beispiel:
![Page 54: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/54.jpg)
It‘s the question that drives us, NeoThe Matrix
• Why change a winning team?– Das Team war schon am Zurückfallen. Es musste gewechselt
werden, um zukünftigen Herausforderungen gerecht zu werden.
• Ist Microsoft zum Guten Samariter geworden?– Definitiv nein – aber eine veränderte Welt, eine erhöhte
Komplexität erfordert eine andere Politik und mehr Offenheit.
• Was hat Microsoft davon?– Ein neues Geschäftsmodell. Man denkt Web, Dienste, Plattformen.
• Was haben wir davon?– Weniger alte Probleme, einfachere Entwicklung, einfacheres
Deployment, adequatere Programmierparadigmata
![Page 55: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/55.jpg)
ClientClientServerServerOfficeOffice
ClientClientServerServerOfficeOffice
![Page 56: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/56.jpg)
Wie geht es auf der STC weiter?
ADO.NET (200)heute, im Anschluss
Web Technologies mit ASP.NET (200)heute, 15:30
ASP.NET für Fortgeschrittene (200)morgen, 10:30
Microsoft .NET Framework 2.0 (200)morgen, 11:45
Performance-oriented Programming in C# (300)morgen, 14:00
![Page 57: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/57.jpg)
Danke!
Vielen Dank fürIhre Aufmerksamkeit !
![Page 58: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/58.jpg)
Fragen?
![Page 59: Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student](https://reader037.vdocuments.site/reader037/viewer/2022102923/55204d6249795902118b7318/html5/thumbnails/59.jpg)
Mehr Informationen?
• http://msdn.microsoft.com/net• http://www.gotdotnet.com• http://www.dotnetgerman.com• http://www.dotnet247.com• http://www.codeproject.com• http://www.devx.com/dotnet/