Einführung .NET Tobias Richling Neno Loje Microsoft Student Partner

Slides:



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

SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
ASP.NET Überblick und technischer Einstieg
Visual FoxPro 7.0: mehr als 'nur' .NET!
Neue Mobilität Frank Prengel Developer Evangelist Developer Platform & Strategy Group Microsoft Deutschland GmbH
DI Christian Donner cd (at) donners.com
1. 2 Microsoft.NET Überblick Dirk Primbs Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH.
Web Matrix Project Kurzüberblick Dirk Primbs Technologieberater Developer Platform Strategy Group Microsoft Deutschland GmbH.
Grundlagen .NET Hilmar Salomo Tobias Richling
Spec# Proseminar Assertions im SS 2007 Uni Paderborn Andreas Martens Betreuer: Dipl. Inform. Björn Metzler.
Java: Grundlagen der Sprache
DOM (Document Object Model)
Seminar Sommersemester 2002 ASP.NET Andre Margousian.
© 2002 Prof. Dr. G. Hellberg 1 XML-Seminar XML-Technologie: XML in Theorie und Praxis Prof. Dr. G. Hellberg XML-Technologie: XML in Theorie und Praxis.
.NET Nico Orschel Microsoft Student Partner, TU-Ilmenau
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
Visual FoxPro 8.0 NameTitelUnternehmen. Agenda Jahre Visual FoxPro 10 Jahre Visual FoxPro Der Weg zu VFP 8.0 Der Weg zu VFP 8.0 Ziele von und Überblick.
Uwe Habermann Venelina Jordanova dFPUG – Silverlight Wizard.
Tobias Högel & Dennis Böck,
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
Open Services Gateway Initiative
Distributed Programming in.NET. Inhaltsverzeichnis 1) Einführung 2).NET Remoting 3) Web-Services 4) Vergleich.NET Remoting und Web- Services 5) Fazit.
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
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)
„Buy and Make“ anstelle von „Make or Buy“
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,
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
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
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 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.
1 Softwareentwicklung mit.NET Teil 5 Datenzugriff mit ADO.NET Dr. Ralph Zeller.
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
Welchen Problemen ist man bei heterogener, verteilter Programmierung ausgesetzt? Hardware: nicht einheitliche, inkompatible Systeme, verschiedene Leistungsfähigkeit.
… und was man damit machen kann.
Management- und Web Services- Architekturen
Oliver Spritzendorfer Thomas Fekete
XML und Datenbanken © 2006 Markus Röder
XML (Extensible Markup Language)
Datenanbindung in Webapplikationen
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Datenbanken im Web 1.
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.
Einführung in Java PING e.V. Weiterbildung Andreas Rossbacher 24. März 2005.
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.
Objektorientierte (OO) Programmierung
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
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
9.5 Microsoft .NET Architektur: objektorientiert/Fernaufrufe (8.1.6 )
 Präsentation transkript:

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

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

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

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

Microsoft .NET: Was und Warum? Was ist .NET Technologie Produkt Architektur Plattform Strategie ?

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

Microsoft .NET: Was und Warum? 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? Empower people through great software any time, any place, and on any device

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

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

Viele Begriffe… Alles Behalten

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

MSIL, Assembly, Managed Code, JIT Ein Ordnungsrahmen Security, Evidence MONO DOT- GNU ECMA ISO ROTOR Visual Studio.NET MSIL, Assembly, Managed Code, JIT VB C++ C# JScript J# CLS Windows Forms Web Forms WebServices WSDL UDDI SOAP Windows- Applikation ASP.NET Internettiger ADO.NET, DataSet, SQL BCL, XML CLR, CTS

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

Probleme heute Applikationen integrieren Dienst-/Plattformintegration 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

Design-Ziele: .NET Absolut einfach Objektorientiert bis ins Mark 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.

Code und Datenstukturen Die .NET Evolution Anwendung Code und Datenstukturen Vor der Einführung von COM, waren Anwendungen absolut getrennte Einheiten die fast nie integrierbar waren.

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

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

MSIL, Assembly, Managed Code, JIT Der Ordnungsrahmen Security, Evidence MONO DOT- GNU ECMA ISO ROTOR Visual Studio.NET MSIL, Assembly, Managed Code, JIT VB C++ C# JScript J# CLS Windows Forms Web Forms WebServices WSDL UDDI SOAP Windows- Applikation ASP.NET Internettiger ADO.NET, DataSet, SQL BCL, XML CLR, CTS

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

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 VB C# C++ Compiler IL Code ASM Code Common Language Runtime JIT (Just in Time) Compiler Betriebssystem

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

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

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

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

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

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

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

.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

.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

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

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“

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!

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.

.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

.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

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

Datenaustausch

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

Web Services SOAP XML

Web Service Ein kleines Web Service-Beispiel: public class Service1 : System.Web.Services.WebService { [WebMethod] public DataSet GetCustomers() DataSet ds = new DataSet(); sqlDataAdapter1.Fill(ds); return ds; }

It‘s 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

Client Server Office

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

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

Fragen?

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/