Was ist Microsoft-s „Dot Net“? Bremen,

Slides:



Advertisements
Ähnliche Präsentationen
Was gibt´s neues im Bereich Sicherheit
Advertisements

Eclipse.
Programmorganisation
SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
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
1. 2 Microsoft.NET Überblick Dirk Primbs Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH.
Basis-Architekturen für Web-Anwendungen
Kurze Einführung in ASP
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
Datenbankzugriff im WWW (Kommerzielle Systeme)
Spec# Proseminar Assertions im SS 2007 Uni Paderborn Andreas Martens Betreuer: Dipl. Inform. Björn Metzler.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Indirekte Adressierung
Java: Grundlagen der Sprache
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
Seminar Sommersemester 2002 ASP.NET Andre Margousian.
Dynamische Webseiten mit PHP
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Introducing the .NET Framework
Mono und andere freie.NET Implementierungen. Implementierungen Microsoft.NET Framework Win32, Win64? Microsoft.NET Compact Framework WinCE (Mobile, Phone)
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Einführung in Visual C++
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Einführung in Java1 Einführung in JAVA.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Microsoft eMbedded Visual Basic Entwicklung von Anwendungen für den Pocket PC Seminarvortrag Mobile Computing Holger Otte.
Programmierung mit dem .NET Framework
Erstellen von WebServices mit Visual FoxPro 9.0
Uwe Habermann WPF Avalon Formulare aus VFP verwenden Venelina Jordanova
Uwe Habermann Venelina Jordanova VFP Code in Silverlight Anwendungen ausführen.
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
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Erste Schritte mit PHP 5 von Max Brandt, 22. September 2006.
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Einführung in die Programmiersprache Java
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
Präsentation von Alexander Schönfeld
SQL Server 2005 CLR-Integration
Java und Eclipse.
Consulting and Solutions.NET Vortragsreihe – Vorstellung der Referenten Happy Arts Software Markus Kämmerer IT-Erfahrung seit 1987,
Basiswissen für Partner und interessierte Kunden Technologie.
Bedeutung von Internet-Technologien
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
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:
Uwe Habermann Venelina Jordanova Professioneller Einstieg in eine neue Welt!
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
CGI (Common Gateway Interface)
Computerorientierte Physik VORLESUNG und Übungen Vorlesung Zeit: Mo., – Uhr Ort: Hörsaal 5.01, Institut für Physik, Universitätsplatz 5, A-8010.
Oliver Spritzendorfer Thomas Fekete
Datenanbindung in Webapplikationen
Warum IIS? Best of Microsoft Webserver
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen
Datenbanken im Web 1.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Java-Kurs Übung Besprechung der Hausaufgabe
Institut für Kartographie und Geoinformation Prof. Dr. L. Plümer, Dipl.-Ing. D. Dörschlag, Dr. G. Gröger Einführung in die Programmierung mit Java 13.
Microsoft.NET - Plattform Kurzer Überblick Vergleich mit Java Von Thomas Zahn Januar 2001.
Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002Jochen Pfeiffer Seite.
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.
Forms 9i - New FeaturesSeite 1 Forms 9i New Features Gerd Volberg OPITZ CONSULTING GmbH.
Programmierung unter VB.Net mit der IDE VisualStudio. Schritt für Schritt erklärt und beschrieben. Zielgruppe: Komplette Neueinsteiger mit fundiertem Computerwissen.
JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt.
9.5 Microsoft .NET Architektur: objektorientiert/Fernaufrufe (8.1.6 )
 Präsentation transkript:

Was ist Microsoft-s „Dot Net“? Bremen, 11.11.2003 Klaus.Evers@hec.de www.dotnet-hb.de www.hec.de

Überblick: Eigenschaften aus Sicht des Inhalt Einleitung Überblick: Eigenschaften aus Sicht des Endanwenders Administrators Managers Entwicklers Architektur: So Funktioniert Dot Net Exkurs Softwareelemente Konventionelle Softwarearchitektur Neuerungen in Dot Net Vertiefung Eigenschaften der Betriebssystemerweiterung „CLR“ Klassenbiliothek „Dot Net Framework“ Internet/Wap/Imode Anwendungen Webservices PDA Anwendungen.

Einleitung Microsofts Strategie Wo kann man Dot Net begegnen? Bestandteile von Dot Net.

Microsofts Dot Net Strategie Dot Net steht für Microsofts Strategie, Software zu entwickeln, die Benutzer jederzeit, an jedem Ort und auf jedem Gerät mit optimalem Nutzen einsetzen können.

Wo kann man Dot Net begegnen? Internetbrowser (asp.net) Handy-Browser (WAP, IMODE, ...) Windowsprogramme (ab Windows 98) PDA-Programme (PocketPC2002, Windows CE) Elektronischer Geschäftsdatenaustausch („Webservice“) MS Office Erweiterungen (ab Office 2003) ? SQL-Server ? ? Free BSD ? („Rotator“) ? Linux ? („Mono“).

einer Ausführungseinheit für Dot Net Programme Dot Net Besteht aus ... Technisch gesehen ist Dot Net eine Java ähnliche Erweiterung für Betriebssysteme von Microsoft Die Erweiterung besteht aus einer Ausführungseinheit für Dot Net Programme einer umfangreichen Klassenbibliothek sowie Konfigurations- und Programmentwicklungswerkzeugen.

Eigenschaften von Dot Net Eigenschaften aus unterschiedlichen Blickwinkeln Endanwender Administrator Manager Entwickler.

Dot Net aus Endanwendersicht Internetanwendungen wie bisher ... Windowsprogramme aus dem Internet startbar (Nur MSIE 6) Stabileres System ohne „DLL-Hölle“ Schutz vor Viren, Trojanern, Hackern, Systemmanipulationen möglich Durchsetzung von Urheberrechten, DRM, „Trustworty Computing“ möglich ==> Sicherheit schränkt ggf Komfort oder Funktionalität ein ==> Sicherheit erfordert Konfiguration durch Administrator.

Security Administration unter Dot Net

Ende der „DLL-Hölle“ Installatonsprogramm ersetzt gemeinsam genutzte DLLs durch „neuere“ Versionen. Dadurch funktionieren andere Programme nicht mehr ==> „DLL-Hölle“ Unter Dot Net können verschiedene DLL- Versionen koexistieren. Eine Dot Net Anwendung greift automatisch auf die „richtige“ Version zu.

Dot Net aus Managersicht Eine Lösung für alle Aufgaben („One fits all“) Eine Softwareentwicklungsumgebung für alle Dot Net Sprachen (c++, c#, vb, ..) und Platformen (Win32, PDA, Internet, Office, ...) Eine gemeinsame Klassenbibliothek für alles Programmiersprachen sind „mischbar“ Einheitliches Programmiermodell für die Benutzeroberflächen aller Platformen (Internetseiten, WAP, Win32 und PDA) („Wenn du eine kennst, kennst du alle“) Eigene Bibliotheken sind auf allen Platformen und in allen Dot Net Sprachen nutzbar.

Dot Net aus Entwicklersicht Automatische Speicherverwaltung Umfangreiche Klassenbiliothek Mächtige Offline Datenbank („Dataset“) XML-Unterstützung Einheitliche Fehlerbehandlung („Exceptions“) ... Mächtige Entwicklungsumgebung von Microsoft („Visual Studio Dot Net“) Alles ist anders als bisher Hoher Lernaufwand für neue Klassenbibliothek C++ neue Semantik (New/Delete, Konstructor/Destructor) Portierung von VB6 nach VB.Net nicht möglich ASP und ASP.NET nicht kompatibel ADO und ADO.NET nicht kompatibel „Alte“ Funktionen nicht mehr Nutzbar Umdenken durch Security-Features erforderlich.

Exkurs: Softwareelemente Architektur Exkurs: Softwareelemente Beispiel Rechnung Softwareelemente Wo kommen die Elemente her? Beispiel: Elemente unter C++/MFC/Windows Nachteile bisheriger Architekturen Dot Net Schichtenmodell Architekturüberblick Compiler und Sprachen Common Language Runtime (CLR) Klassenbibliothek (Framework) Dot Net Platform.

Exkurs: Elemente am Beispiel Bsp: gedruckte Rechnung

Exkurs: Softwareelemente Variablen (Anzahl, Preis, Name) Einfache Datentypen (Zahl, Text, Datum) Komplexe Datentypen (Bestellposition, Liste) Kontrollstrukturen (Wenn Anzahl < 0 Dann ...) Dateifunktionen (Drucken) Zeichenketten (Länge, Verketten, ...) Speicherverwaltung (Bestellposition hinzufügen) Fehlerbehandlung (kein Druckerpapier) Netzwerk (Anmeldung) Datenbank Grafische Benutzeroberfläche (Eingabemasken).

Exkurs: Softwareschichten Die von Software verwendeten Elemente stammen aus unterschiedlichen Schichten Programmiersprache / Runtime (C++, PHP, VB, Java, ...) Klassenbibliothek (MFC, QT/KDE, AWT, ...) Benutzeroberfläche und Betriebssystem (Fenster unter Windows2000, X-Windows unter Linux, ...) Externe Softwarekomponenten (z.B. Oracle Datenbank, ...).

Beispiel: C++/MFC/Windows Programmiersprache / Runtime von C/C++ Compiler erzeugt Code für einen Microprozessor. Datentypen (int, char*,FILE) Kontrollstrukturen (if then else, while, ....) Dateifunktionen (stdio.h: printf), Zeichenketten (string.h: strcpy) Speicherverwaltung (malloc, new, delete) Fehlerbehandlung (try catch throw, ioresult) Klassenbibliothek MFC Klassen für Datei und Zeichenketten (CFile, CString) Speicherverwaltung ( CObject::new CObject::delete ) Fehlerbehandlung (TRY, CATCH, CException, ...) Grafische Benutzeroberfläche (CWindow, CListbox, CMenu ) Benutzeroberfläche und Betriebssystem Dateifunktionen (FileOpen), Zeichenketten (lstrcpy) Speicherverwaltung (GlobalAllocate, LocalAllocate) Grafische Benutzeroberfläche (HWND, SendMessage).

Fehlende Sprachinteroperabilität Exkurs: Konsequenzen Fehlende Sprachinteroperabilität Software, die sprachspezifische Elemente verwendt, kann nur bedingt mit Modulen anderer Programmiersprachen zusammenarbeiten Workaround: Kapsung der Schnittstellen (OLE-Datentypen und COM-Schnittstellen) Fehlende Betriebssysteminteroperabilität Software, die Funktionen aus GUI und Betriebssystem verwendet, kann nicht auf andere Betriebssysteme portiert werden. Workaround: Das Betriebssystem emuliert das andere Betriebssystem. (Beispiel Linux-Wine) Workaround: Verwendung von Betriebssystemunabhängigen Klassenbibliotheken. (QT oder Java-AWT) Fehlende Binärkompatibilität Workaround: Verwendung von virtuellen Microprozessoren (Java Virtual Machine).

Klassenbibliothek („Framework“) Ausführungsmodul („CLR“) Dot Net Architektur (1) VB – Quellcode C# - Quellcode Java – Quellcode VB – Compiler C# - Compiler Java – Compiler Assembly Klassenbibliothek („Framework“) Betriebssystem Ausführungsmodul („CLR“) MSIL Interpreter

Dot Net Architektur (2) Es gibt verschiedene Dot Net Sprachen (C#, VB, C++, ...) Alle Compiler für Dot Net erzeugen Zwischencode („MSIL“) Compilierte Module werden zu Assemblies zusammengefasst (EXE- oder DLL-Datei) Die Dot Net Laufzeitumgebung („CLR“) enthält u.a. einen Interpreter für MSIL - er führt Assemblies aus Die Klassenbibliothek („Dot Net Framework“) enthält u.a. Klassen für Zeichenketten, Dateien, Grafische Benutzeroberflächen, ... .

Common Language Runtime (CLR) Die CLR ist das Ausführungsmodul von Dot Net. Zu seinen Aufgaben gehören u.a. Interpreter Konvertierung von Zwischensprache (MSIL) in Computersprache (80x86-Assembler) Codeverwaltung (Laden und Ausführen) Erzwingung von Codesicherheit Überprüfung von Typensicherheit Fehlerbehandlulng (Exceptions) Speicherverwaltung (Garbage Collection) Nebenläufigkeit (Threadunterstützung).

Die Sprache ist nur noch Syntax für Dot Net Sprachen Die Sprache ist nur noch Syntax für Variablen Kontrollstrukturen (if then else, while, ....) Unterprogramme Einbindung anderer Module Es gibt keine sprachspezifische Runtime mehr Datentypen, Speicherverwaltung, Fehlerbehandlung und Nebenläufigkeit sind Bestandteil der Common Language Runtime Dateiverwaltung und Zeichenketten sind Bestandteil der Klassenbibliothek („Framework“) Es gibt keine (*) Betriebssystem-Aufrufe mehr Die Klassenbibliothek kapselt alle Betriebssystemfunktionen einschließlich graphischer Benutzeroberfläche (*)Ausnahme: Non-Dot Net Module verwenden COM-Interop (Com-Module verwenden) C++ - P/Invoke (Per C++ beliebigen Code ausführen).

Syntax ähnlich wie Visual Basic (VB6) Unterstützt Code-Vererbung Sprachen: VB.net Syntax ähnlich wie Visual Basic (VB6) Unterstützt Code-Vererbung Bestandteil des Office2003 SDK Features, die nicht mehr unterstützt werden On Error Gosub – Resume; Optionale Parameter VB6 Programme können nicht nach Dot Net portiert werden. Workaround: unter VB6 erstellte Com-Komponenten können von VB.net verwendet werden Class MyApp Public Shared Sub Main() System.Console.WriteLine("Hello, VB.NET!“) End Sub End Class .

Von Microsoft erfundene Programmiersprache Sprachen: C# (C Sharp) Von Microsoft erfundene Programmiersprache Syntax und Semantik ähnlich wie Java oder C++ Durchgehend objektorientiert Standardisiert nach European Computer Manufacturers Association (ECMA) Einfach zu Programmieren wie Delphi oder Visual Basic Entwicklungssprache der Klassenbibliothek. class MyApp { public static void Main() { System.Console.WriteLine("Hello, C#!"); } }.

„C++ with managed extentions“ Sprachen: C++ „C++ with managed extentions“ Erweiterung von C++ um automatische Speicherverwaltung Die einzige Möglichkeit, DLLs direkt aufrufen zu können („unmanaged code“) Features, die wegen der Speicherverwaltung nicht mehr unterstützt werden Delete, Destruktor, stdio.h, stdlib.h, stl, ...... Heisst zwar „C++“ ist aber kein echtes „C++“ mehr :-( class MyApp { public static void Main() { System.Console.WriteLine("Hello, C#!"); } }.

Delphi.net (noch nicht fertig) ??? . Weitere Sprachen J#.net „Jay Sharp“ ist Microsofts Version von Java basierend auf Java 1.1 keine Alternative zu Java ! JScript.net Javascript für Dot Net Implementiert nach ECMA Nicht interpretierend Delphi.net (noch nicht fertig) ??? .

String, Int32, Int16, DateTime, Boolean, ... Drawing Klassenbibliothek String, Int32, Int16, DateTime, Boolean, ... Drawing Drawing2D, Imaging, Printing, Text Web.UI.WebControls Button, Calendar, CheckBox, DataGrid, Hyperlink, Image, Label, ListBox, Panel, .... Windows.Forms Button, Calendar, CheckBox, DataGrid, Image, Label, ListBox, Panel, .... Data (Datenbanken) OleDb, Odbc, SqlClient, SqlCeClient, MySql, Oracle, ... Dataset, Connection, Command, DataAdapter, DataReader Xml Document, Reader, Writer, Node, Element, Attribute Schema (XSD), XPath, Xsl.

Dot Net: Mehr als 4500 Klassen

MIT Mobile Internet Toolkit XML-Webservice WindowsForms Anwendungen Dot Net Platformen ASP.NET zur Erstellung von Internet-Seiten mit dynamischen Inhalten MIT Mobile Internet Toolkit Internetseiten für Handies (IMode, WAP, cHtml, ...) XML-Webservice Datenaustausch zwischen Programmen WindowsForms Anwendungen Normale „Fat Client“ Anwendungen ab Windows98 Dot Net Compact Framework (DotNetCF) Programme für PDAs (PocketPC ab 2002, WindowsCE) ? Office 2003 Erweiterungen ? Sql-Server Erweiterungen ? Mono, Rotator Dot Net Programme unter Linux bzw. Free BSD.

Erstellung von dynamischen Internet-Seiten ASP.net Konzepte Erstellung von dynamischen Internet-Seiten Ereignisgesteuerte Programmierung wie unter Delphi, Visual Basic oder Dot Net WindowsForms OnButtonClick, OnFormLoad, OnSelchanged, .... Trennung von Layout und Programmlogik „Code Behind“ z.B. MyForm.aspx (Layout) und MyForm.aspx.cs (Code in C#) Automatisches Statusmanagement möglich Über Hidden Fields oder Session-Cookies Code wird einmalig kompiliert bei erster Anforderung Updates im laufenden Betrieb möglich Internetseiten für Handies (IMode, WAP, cHtml).

Statische Internetanwendungen Client (Browser) Server mit Webanwendung HTTP Client fordert Internet-Seite beim Server an Server sendet physikalischen Inhalt der .html-Datei zurück

ASP.net Funktionsweise Client (Browser) Webanwendung wird gestartet .aspx- Seitenanfrage IIS Anfrage wird an ASP.NET Engine weitergeleitet ASP.NET Engine .aspx-Seite wird ggf. kompiliert kompilierte Klassen werden geladen und Codebehind- Objekte werden erstellt Codebehind-Objekte erstellen Controls Controls werden in HTML gerendert HTML Stylesheet Images ... IIS gibt die Antwort zurück Welcome

Dot Net Webservice – Konzepte Zweck: Datenaustausch zwischen Programmen Oft auch bezeichnet als A2A, EDI, EAI Alternative zu RPC, DCOM Verwendet Microsoft Internet Information Server (IIS) ab Version 5 HTTP(S) als Transportprotokoll SOAP als Nachrichtenprotokoll Dot Net ist nur eine von vielen Möglichkeiten um Web Services zu erstellen Einstieg in „Pay Per Use“ Software.

Webservice: Funktionsweise Client Server mit Webservice HTTP Client fordert Daten beim Server an Server sendet Ergebnis der Anfrage zurück MyService s = new MyService(); s.Url = „http://MyServer.de/“+ „MyService.asmx“; string result = s.MyFunction(1234); public class MyService { [WebMethod] public string MyFunction(int a) { return ...; }

Entwicklungswerkzeuge Microsoft Dot Net SDK (0€) Runtime ab Win98, Compiler, Tools, API-Dokumentation, Beispiele MS Visual Studio Dot Net (130€ .. 1800€) Sehr komfortable Enwicklungsumgebung Microsoft Webmatrix (0 €) APS.net Entwicklungsumgebung Unterstützt kein Code-Behind Borland C# Builder (0€ .. 1300€) Komfortable Entwicklungsumgebung Derzeit nur WindowsForms und DLLs, noch kein Asp.net/PDA Derzeit nur C#.; Delphi in Vorbereitung Sharp Develop (0€) Grafische Entwicklungsumgebung für WindowsForms Open Source

Visual Studio Dot Net Anzeige basierend auf aktuellem Profil

Weitere Informationen Http://www.dotnet-hb.de Dot Net Usergroup, Bremen http://www.guidetocsharp.de/csharp/intronet.php Einführung: was ist dot net http://msdn.microsoft.com/netframework/technologyinfo/ howtoget/default.aspx Dot Net SDK von Microsoft http://www.asp.net/webmatrix/ Webmatrix, kostenl. ASP.NET Entwicklungsumgebung http://www.go-mono.com/ Mono project, an effort to create an open source implementation of the .NET Development Framework. http://www.icsharpcode.net/OpenSource/SD/Default.aspx #develop (short for SharpDevelop) is a free IDE for C# and VB.NET projects on Microsoft's .NET platform

Fragen ? © 2003 by Klaus.Evers@hec.de