.NET Nico Orschel Microsoft Student Partner, TU-Ilmenau

Slides:



Advertisements
Ähnliche Präsentationen
C Sharp (C#) Martin Saternus Senior Student Partner
Advertisements

Einführung in Microsoft .NET 2.0
SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
ASP.NET Überblick und technischer Einstieg
Interoperabilität Microsoft .NET und COM+ Dariusz Parys
Deployment und Versioning von .NET Applikationen
Visual FoxPro 7.0: mehr als 'nur' .NET!
Neue Mobilität Frank Prengel Developer Evangelist Developer Platform & Strategy Group Microsoft Deutschland GmbH
Was ist neu in VS 2003 ? Ein Überblick. Bernd Marquardt Software & Consulting
Einführung .NET Tobias Richling Neno Loje Microsoft Student Partner
1. 2 Microsoft.NET Überblick Dirk Primbs Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH.
Grundlagen .NET Hilmar Salomo Tobias Richling
SPS / WSS Entwicklung Martin Saternus Technical Student Consultant Microsoft Deutschland GmbH
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Seminar Sommersemester 2002 ASP.NET Andre Margousian.
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Introducing the .NET Framework
Mono und andere freie.NET Implementierungen. Implementierungen Microsoft.NET Framework Win32, Win64? Microsoft.NET Compact Framework WinCE (Mobile, Phone)
Programmierung mit dem .NET Framework
MSDN Webcast Visual Studio 2005 mit Visual FoxPro Jochen Kirstätter Mai 2005 –
Uwe Habermann Venelina Jordanova dFPUG – Silverlight Wizard.
MSDN Webcast: VB. NET für Einsteiger und Umsteiger Einführung in VB
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 10 Die erste, eigene Klassenbibliothek (Level 100) Presenter: Daniel Walzenbach Technologieberater.
Björn Schmidt, Hoang Truong Nguyen
Der Supermarkt: Eine beispielhafte Erklärung für die fünf untersten Schichten des Semantic Web Protocol Stack Nicola Henze.
Architektur und Funktionalitäten der Oracle XML DB - ein Überblick mit ausgewählten praktischen Beispielen - im Rahmen des 17. Workshop Grundlagen von.
Distributed Programming in.NET. Inhaltsverzeichnis 1) Einführung 2).NET Remoting 3) Web-Services 4) Vergleich.NET Remoting und Web- Services 5) Fazit.
1 Softwareentwicklung mit.NET Teil 3 ASP.NET Web Forms Dr. Ralph Zeller.
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
Wie und wann verwendet man WPF?
Die .NET Common Language Runtime
Die .NET Common Language Runtime
Web Services Die Zukunft netzbasierter Applikationen iternum GmbH Alexanderstraße Frankfurt/Main
1 Frey Jan Krcmar Boris Bühler Stefan Frey Jan Krcmar Boris Bühler Semesterpräsentation 15. April 2003.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
Webservice Grundlagen
Best Practices in der Datenbank-programmierung
SQL Server 2005 CLR-Integration
1 Softwareentwicklung mit.NET Teil 1 Was ist.NET? Die.NET Common Language Runtime Dr. Ralph Zeller DI. Wolfgang Beer Michael Willers.
Consulting and Solutions.NET Vortragsreihe – Vorstellung der Referenten Happy Arts Software Markus Kämmerer IT-Erfahrung seit 1987,
Präsentation von Sonja Pathe
Basiswissen für Partner und interessierte Kunden Technologie.
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Developer Day Office APPs entwicklen Simon Amrein Trivadis AG Die ersten Schritte in eine neue Office-Welt.
Windows Presentation Foundation WS 2013/14 Prof. Dr. Herrad Schmidt
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 ADO.NET s.a:
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 9 Folie 2 ADO.NET (1) Klassen für Zugriffe.
Grundlagen des Microsoft .NET Frameworks
1 Softwareentwicklung mit.NET Teil 5 Datenzugriff mit ADO.NET Dr. Ralph Zeller.
XML (Extensible Markup Language)
Datenanbindung in Webapplikationen
Einführung in Web Services Web Services in der Praxis
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Oracle Portal think fast. think simple. think smart. Dieter Lorenz, Christian Witt.
1 Softwareentwicklung mit.NET Teil 1 Was ist.NET? Die.NET Common Language Runtime Dr. Ralph Zeller.
Microsoft.NET - Plattform Kurzer Überblick Vergleich mit Java Von Thomas Zahn Januar 2001.
Welcome to Web Services & Grid Computing Jens Mache
Sicherheitsaspekte in Service Orientierten Architekturen Eike Falkenberg Sommersemester 2006 Anwendungen I.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Microsoft Silverlight Autor: Christian Pirker. Inhalt Einführung Silverlight Einführung XAML Silverlight 1.0 und 1.1 Silverlight 2.0 Silverlight 3.0 Ausblick.
Was gibt’s neues im Bereich Anpassung Fabian Moritz Consultant, Developer SharePointCommunity.de.
JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt.
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
SOAP - WSDL Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 2 Hauptseminar: Virtuelle.
9.5 Microsoft .NET Architektur: objektorientiert/Fernaufrufe (8.1.6 )
 Präsentation transkript:

.NET Nico Orschel Microsoft Student Partner, TU-Ilmenau nico.orschel@studentprogram.de http://www.studentprogram.de/ilmenau

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

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

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 API‘s Es gibt eine Vielzahl von API‘s (COM, Win32, MFC, usw.) Plattformabhängigkeit der API‘s

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

Geschäftslogik der Applikation Datenzugriff und -speicherung Vision / Zukunft Software als Service Unterstützung von Smart Devices offene Standards als Grundlage Microsoft Web Services Partner Web Services andere Web Services Internet + XML Clients Ihr Unternehmen.com Geschäftslogik der Applikation Datenzugriff und -speicherung andere Applikationen

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

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

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

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

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

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

Code wird kompiliert IL-Code wird vor der Ausführung immer (!) durch Compiler in echten Maschinencode übersetzt IL-Code ist unabhängig von Hardwareplattformen

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

Alles ist ein Objekt! Typen im Namespace System Object Value Type Boolean Int64 Enum Byte SByte Char Single Type Currency Typen im Namespace System TimeSpan DateTime String TypedRef. Decimal UInt16 Array Double UInt32 Guid UInt64 Exception Int16 Void Int32 Delegate

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

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 doesn‘t matter!“ Dan Appleman

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

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

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)

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.

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

Web Service Demo

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

Agenda Situation heute .NET für den Entwickler Common Language Runtime (CLR) .NET Klassenbibliothek ADO.NET und XML Web Services und Web Applikationen Zukunft

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

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

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

Agenda Situation heute Common Language Spezification (CLS) Common Language Runtime (CLR) .NET Klassenbibliothek ADO.NET und XML Web Services und Web Applikationen Zukunft

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

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

Das DataSet Relationale Sicht der Daten Tables Table Columns Column Constraints Constraint Rows Row Relations 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 Relation

Agenda Situation heute .NET für den Entwickler Common Language Runtime (CLR) .NET Klassenbibliothek ADO.NET und XML Web Services und Web Applikationen Zukunft

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

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.

Veränderungen am Server Web Services: Mehr als Browsen XML XML Client Web Site Web Service Web Service XML HTML Client

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)

Datenaustausch

Web Services SOAP XML

Web Service Demo

Agenda Situation heute .NET für den Entwickler Common Language Runtime (CLR) Base Libraries ADO.NET und XML Web Services und Web Applikationen Zukunft

Zukunft Windows Communication Foundation (WCF) ehemals Codename „Indigo“ Beschreibung von Services ( Contracts ) Nachrichten basierend Quelle: http://www.dotnetpro.de/articles/freearticles/pdf/2005-11-Indigo.pdf

Fragen?

Links http://msdn.microsoft.com/webservices/indigo/default.aspx http://msdn.microsoft.com/netframework http://www.codeproject.com http://www.guidetocsharp.de http://www.codezone.de http://www.terraserver.com

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: nico.orschel@studentprogram.de

Vielen Dank für Ihre Aufmerksamkeit ! Danke! Vielen Dank für Ihre Aufmerksamkeit !