Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

.NET Nico Orschel Microsoft Student Partner, TU-Ilmenau

Ähnliche Präsentationen


Präsentation zum Thema: ".NET Nico Orschel Microsoft Student Partner, TU-Ilmenau"—  Präsentation transkript:

1 .NET Nico Orschel Microsoft Student Partner, TU-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 Software als Service Unterstützung von Smart Devices offene Standards als Grundlage Partner Web Services Microsoft Web Services andere Web Services Datenzugriff und -speicherung Geschäftslogik der Applikation Ihr Unternehmen.com Internet + XML andere Applikationen Clients Vision / Zukunft

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

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

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

10 Der Weg zum Maschienencode CLR VB Source Code Compiler C++C# Assembly Operating System Services IL Code Common Language Runtime JIT Compiler Compiler Native Code Managed Code Managed Code Managed Code Unmanaged Code CLR Services Ngen

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

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 Base Class Library Common Language Specification Common Language Runtime ADO.NET and XML VBC++C# Visual Studio.NET ASP.NET J#… Windows Forms

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 Base Class Library Common Language Specification Common Language Runtime ADO.NET and XML VBC++C# Visual Studio.NET ASP.NET J#… Windows Forms

27 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

28 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

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

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

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

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 WebSite WebService Veränderungen am Server Web Services: Mehr als Browsen WebService XML HTML Client XML Client XML WebService XML WebService XML XML

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 Windows Communication Foundation (WCF) –ehemals Codename Indigo –Beschreibung von Services ( Contracts ) –Nachrichten basierend Quelle:

43 Fragen?

44 Links /default.aspx

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:

46 Danke! Vielen Dank für Ihre Aufmerksamkeit !


Herunterladen ppt ".NET Nico Orschel Microsoft Student Partner, TU-Ilmenau"

Ähnliche Präsentationen


Google-Anzeigen