Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student.

Ähnliche Präsentationen


Präsentation zum Thema: "Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student."—  Präsentation transkript:

1 Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student der Informatik Universität Hamburg

2 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

3 Gliederung Tobias Richling Warum.NET / Was ist.NET Begriffe und ihr Zusammenhang mit.NET Neno Loje Basiselemente von.NET Bereiche von.NET

4 Die Antwort lautet Aber wie lautet die Frage? Microsoft.NET: Was und Warum?

5 Technologie Produkt Architektur Plattform Strategie Was ist.NET ?

6 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

7 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?

8 Empower people through great software any time, any place, and on any device

9 Gliederung Tobias Richling Warum.NET / Was ist.NET Begriffe und ihr Zusammenhang mit.NETBegriffe und ihr Zusammenhang mit.NET Neno Loje Basiselemente von.NET Bereiche von.NET

10 Viele Begriffe… Managed Code XML Assembly CLR Visual Studio WebService UDDI WSDL ADO.NET DataSet SOAP MSILBCL Framework ECMA ROTOR MONO CTS C# CLS WindowsForms GUI Security SQL ASP.NET VB.NET JIT Evidence

11 Viele Begriffe… Alles Behalten

12 Ein Ordnungsrahmen Basis- / Supportfunktionen Extern Kernfunktionen Extern Administrative Funktionen

13 Ein Ordnungsrahmen MONODOT-GNU CLR, CTS BCL, XML Visual Studio.NET ADO.NET, DataSet, SQL Windows-ApplikationASP.NET Windows Forms Web Forms WebServicesWSDLUDDISOAP CLS VBC++C#JScriptJ# MSIL, Assembly, Managed Code, JIT Security, Evidence ECMAISOROTOR Internettiger

14 Die Vision von.NET…... setzt Maßstäbe, wie heute und in Zukunft Software entwickelt wird!

15 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

16 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.

17 Die.NET Evolution Vor der Einführung von COM, waren Anwendungen absolut getrennte Einheiten die fast nie integrierbar waren. Anwendun g Code und Datenstukture n

18 Die.NET Evolution II: COM COM machte die Integration möglich. Jedoch musste jede Komponente dementsprechend programmiert worden sein.

19 Die.NET Evolution III: Heute Im.NET Framework stellt die Common Language Runtime alles zur Verfügung, damit Komponenten direkt miteinander interagieren.

20 Der Ordnungsrahmen MONODOT-GNU CLR, CTS BCL, XML Visual Studio.NET ADO.NET, DataSet, SQL Windows-ApplikationASP.NET Windows Forms Web Forms WebServicesWSDLUDDISOAP CLS VBC++C#JScriptJ# MSIL, Assembly, Managed Code, JIT Security, Evidence ECMAISOROTOR Internettiger

21 .NET für Entwickler Base Class Library Common Language Specification Common Language Runtime ADO.NET and XML VBC++C# Visual Studio.NET ASP.NET J#… Windows Forms

22 .NET für Entwickler Base Class Library Common Language Specification Common Language Runtime ADO.NET and XML VBC++C# Visual Studio.NET ASP.NET J#… Windows Forms

23 Common Language Runtime Der Weg zum Maschienencode ASM Code VBC#C++ Compiler IL Code Compiler IL Code Compiler IL Code JIT (Just in Time) Compiler Betriebssystem

24 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

25 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

26 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 im Namespace System

27 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 (!)

28 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 doesnt matter! Dan Appleman

29 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

30 Common Language Runtime Base Class Library Common Language Specification Common Language Runtime ADO.NET and XML VBC++C# Visual Studio.NET ASP.NET J#… Windows Forms

31 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)

32 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.

33 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

34 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

35 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

36 .NET Klassenbibliothek Base Class Library Common Language Specification Common Language Runtime ADO.NET and XML VBC++C# Visual Studio.NET ASP.NET J#… Windows Forms

37 Putting it all together Windows API.NET Framework Unabhängigkeit von der verwendeten Programmiersprache ASPMFC/ATL Visual Basic® Forms RAD, Composition, Delegation Subclassing, Power, Expressiveness Stateless, Code embedded in HTML pages

38 System.Web.NET Framework Namespaces System System.DataSystem.Xml Design ADO SQLTypes SQL Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Runtime InteropServices Remoting Serialization XPath XSLT Serialization System.Drawing System.Windows.Forms Imaging Drawing2D Text Printing DesignComponentModelServices ConfigurationSessionState CachingSecurity UI HtmlControls WebControls Description Discovery Protocols

39 .NET Framework Namespaces System System.DataSystem.Xml System.Web Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Design ADO SQLTypes SQL XPath XSLT Runtime InteropServices Remoting Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms DesignComponentModel

40 Warum etwas ganz Neues? Althergebrachte Windows-Programmierung: –APIs 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

41 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

42 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!

43 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.

44 .NET Framework Namespaces System System.DataSystem.Xml System.Web Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Design ADO SQLTypes SQL XPath XSLT Runtime InteropServices Remoting Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms DesignComponentModel

45 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

46 Das DataSet Relationale Sicht der Daten –Tabellen, Spalten, Zeilen, Beschränkungen, Beziehungen Direkte Erzeugung von Metadaten einfaches Einfügen von 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 Column Constraints Constraint Rows Row Relations Relation

47 .NET Framework Namespaces System System.DataSystem.Xml System.Web Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Design ADO SQLTypes SQL XPath XSLT Runtime InteropServices Remoting Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms DesignComponentModel

48 Web Forms Einheitliches Modell Trennung zwischen Form und Code Ereignisorientiert Viel bessere Performance als ASP

49 WebSite WebService Veränderungen am Server Web Services: Mehr als Browsen WebService XML HTML Client XML Client XML WebService XML WebService XML XML

50 Datenaustausch

51 Web Services Technische Definition - "Eine programmierbare Anwendung, auf die über Standardwebprotokolle zugegriffen werden kann" –Basiert auf SOAP

52 Web Services SOAP XML

53 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:

54 Its the question that drives us, Neo The 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

55 ClientServerOfficeClientServerOffice

56 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

57 Danke! Vielen Dank für Ihre Aufmerksamkeit !

58 Fragen?

59 Mehr Informationen?


Herunterladen ppt "Einführung.NET Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster Neno Loje Microsoft Student Partner Student."

Ähnliche Präsentationen


Google-Anzeigen