Einführung in .NET

867 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
867
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
4
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Einführung in .NET

  1. 1. Einführung in .NETMartin Saternus & Andreas HeilSenior Student PartnerMAP - Microsoft Academic ProgramMicrosoft Deutschland GmbH
  2. 2. Agenda Microsoft .NET Framework .NET 2.0 .NET vs. Java … …
  3. 3. Die „Problemchen“ 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 API‘s  Es gibt eine Vielzahl von API‘s (COM, Win32, MFC, usw.)  Plattformabhängigkeit der API‘s
  4. 4. Die „Problemchen“ Applikationen integrieren  Sprachen haben unterschiedliche Typsysteme  Denken Sie nur mal an Strings...  COM „sitzt auf“ anderen Objektkonzepten  COM ist ein binärer Kommunikations-standard  DCOM und Firewalls sind problematisch Dienst- und Plattformintegration  Keine Standards für die Interoperabilität
  5. 5. Die Welt hat sich verändert Microsoft ist groß geworden in einer Welt...  ...mit Desktops  ...mit lokalen Netzwerken Die zukünftige Welt bringt uns...  ...eine große Vielfalt von Computern (Devices)  ...eine Vernetzung aller Computer über das Internet
  6. 6. Vision Software als Service Unterstützung von Smart Devices Microsoft offene Standards als Web Services Grundlage Partner Web Services andere Web Services Internet + XMLClients Ihr Unternehmen.com Geschäftslogik der Applikation Datenzugriff und -speicherung andere Applikationen
  7. 7. Herausforderungen (1/2) Wie verändert ein globales Netzwerk die Softwarewelt?  Neue Möglichkeiten für das Deployment  Neue Geschäftsmodelle  Möglichkeit der Anwendungsintegration via Netzwerk  Plattformunabhängigkeit (OS, Hardware, Komponententechnologien)  Sicherheitsanforderungen steigen  Web-Programmierung muss effizienter werden
  8. 8. Herausforderungen (2/2) Wie verändert die große Device-Vielfalt die Softwarewelt?  Die Zielplattform für den Code ist unbekannt  Es wird plattform-unabhängiger Code gebraucht  Was auf dem Desktop geht, muss auch auf einem Palmtop (o. ä.) funktionieren
  9. 9. Lösungsansatz .NET Framework VB C++ C# JScript J# Common Language Specification ASP.NET Visual Studio.NET Visual Studio.NET Windows Web Forms Web Services Forms Mobile Internet Toolkit ADO.NET and XML Base Class Library Common Language Runtime Operating System
  10. 10. .NET Framework Standards Rotor ECMA/ISO Standard CLI + mehr Common Language Infrastructure.NET Framework SSCLI .NET CLI CE
  11. 11. Runtime CompilerSource VB C# C++Code Compiler Compiler CompilerIL Code Assembly Assembly Assembly Ngen Common Language Runtime JIT CompilerNative Managed Managed Managed UnmanagedCode Code CLR Code Code Code CLR Services Operating System Services
  12. 12. Assemblies .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
  13. 13. Strong Name & Codesigning 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
  14. 14. .NET Framework VB C++ C# JScript J# Common Language Specification ASP.NET Windows Visual Studio.NET Visual Studio.NET Web Forms Web Services Forms Mobile Internet Toolkit ADO.NET and XML Base Class Library Common Language Runtime Operating System
  15. 15. Einheitliches Programmier Model Gleiche API ungeachtet der Sprache und des Models .NET FrameworkVB Forms MFC/ATL ASP Windows API
  16. 16. Wieviel einfacher?Windows API HWND hwndMain = CreateWindowEx( 0, "MainWClass", "Main Window", WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, (HWND)NULL, (HMENU)NULL, hInstance, NULL); ShowWindow(hwndMain, SW_SHOWDEFAULT); UpdateWindow(hwndMain);.NET Framework Form form = new Form() form.Text = "Main Window" form.Show()
  17. 17. Klassenbibliothek System.Web System.Windows.FormsServices UI Design ComponentModel Description HtmlControlsDiscovery WebControlsProtocols System.DrawingCaching Security Drawing2D PrintingConfiguration SessionState Imaging Text System.Data System.XmlOleDb SqlClient XSLT SerializationCommon SQLTypes XPath SystemCollections IO Security RuntimeConfiguration Net ServiceProcess InteropServicesDiagnostics Reflection Text RemotingGlobalization Resources Threading Serialization
  18. 18. Framework, Languages und Tools VB C++ C# JScript J# Common Language Specification ASP.NET Windows Visual Studio.NET Visual Studio.NET Web Forms Web Services Forms Mobile Internet Toolkit ADO.NET and XML Base Class Library Common Language Runtime Operating System
  19. 19. Sprachen Die .NET Plattform ist Sprachneutral  Alle .NET Sprachen sind gleich berechtigt  Wahl der Sprache nach Ihren Fähigkeiten Common language specification (CLS)  Satz an Merkmalen, die in jeder Sprache garantiert sind Microsoft liefert  Visual Basic®, C++, C#, J#, JScript® Drittanbieter liefern  APL, COBOL, Delphi, Pascal, Eiffel, Haskell, ML, Oberon, Perl, Python, Scheme, Smalltalk…
  20. 20. Agenda Microsoft .NET Framework .NET 2.0 Web Services
  21. 21. Generics ...UND hier VB VC++ C# ... JScript UND hier… Support für MS-IL Generics/Polymorphismus Common Language Runtime Loader JIT Verifier ... GC Native Code
  22. 22. Generics Beispielclass Node<T> { T m_data; //Create a linked list of integers Node<T> m_next; Node<Int32> head = new Node<Int32>(5, null); public Node(T data, Node<T> next) { head = new Node<Int32> (10, head); m_data = data; head = new Node<Int32> (15, head); m_next = next; } // Sum up integers by traversing linked list Int32 sum = 0; for (Node<Int32> current = head; // Access the data for the node current != null; public T Data { current = current.Next) { get { return m_data; } sum += current.Data; set { m_data = value; } } } // Access the next node public Node<T> Next { get { return m_next; } set { m_next = value; } }
  23. 23. Generics vs Polymorphismus (1/2) Staff object pPolymorphisches Register SortedList r Student object s r[1] = p Contractor object c r[2]=s r[3]=c Student t = (Student) r[2]; vom Typ object •Dynamische Typinforamtion in r • Überpüfung bei Zuweisung!
  24. 24. Generics vs Polymorphismus (2/2) Staff object p Generisches Register SortedList gr Student object s gr[1] = p Contractor object c gr[2]=s gr[3]=c Student t = gr[2];vom Typ <IAccess> objects •Information für gr zur Kompliierzeit •Kein Casting für Zuweisung nötig
  25. 25. Java vs .NET
  26. 26. Agenda Microsoft .NET Framework .NET 2.0 Web Services
  27. 27. Was ist ein Web Services? Dienste im Netz, die über Standard-Protokolle erreichbar sind Datenaustausch basiert auf XML- Dokumenten Plattform- und unternehmensübergreifende Transaktionen Lager Lieferant A Lieferant B Ihr Unternehmen Bestell- wesenVerbinden (Web) Lieferant CFinden (UDDI) KundenDaten (XML)Interagieren (SOAP)
  28. 28. Was ist ein Web Service? DCOM  Service Web Client Port 80 Service  RMI Service Firewall  eine Komponente, die über Standard- Webprotokolle interagiert  Universal Firewall Penetration Protokoll
  29. 29. Web Services StackWeb Service Directory : UDDIBeschreibung von WS : WSDLDatenaustausch zw. WS : SOAPUniverselles Datenformat : XMLKommunikationsnetz : Internet einfache, offene und akzeptierte Standards
  30. 30. SOAP Früher: Simple Object Access Protocol Mechanismus zum Austausch von strukturierter und typisierter Information zwischen Kommunikationsendpunkten im Internet auf Basis von XML HTTP als Transportprotokoll XML zur Datenkapselung Spezifikation enthält  SOAP Envelope (für Framework)  SOAP Encoding (optional, für plattform-übergreifendes Marshaling von Daten/Objekten)
  31. 31. Web Service Prog.modell Erstellen Sie eine .asmx Datei, die eine Klasse mit den Methoden enthält, die Sie zur Verfügung stellen möchten Das Hinzufügen des Attributs WebMethod zu einer Public-Methode macht sie automatisch zu einem Web Service ASP.NET macht den "Rest"  Erzeugen der Service-Beschreibung als WSDL-Datei (Web Service Description Language)  Compile on demand
  32. 32. Fragen ???

×