Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

Ähnliche Präsentationen


Präsentation zum Thema: "Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)"—  Präsentation transkript:

1 Web Technologies mit ASP.NET STC 02. – 03. Juni / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)

2 Web Technologies mit ASP.NET STC 02. – 03. Juni / 54Gliederung Einleitung ASP.NET Ereignisse Datenbindung State Management Sicherheit Modularisierung Webservices Zusammenfassung

3 Web Technologies mit ASP.NET STC 02. – 03. Juni / 54Einleitung 1.Grundlagen Web 2.HTTP-Response 3.Kurzübersicht 4.Einordnung in die Architektur EinleitungASP.NETEreignisseDatenbindungState Management

4 Web Technologies mit ASP.NET STC 02. – 03. Juni / Grundlagen Web Client-Server-Architektur Protokoll: HTTP, HTML Client: Thin-Clients, JavaScript, VBScript, heterogene Webbrowser Server: Windows 2003 Server, IIS, ASP.NET (Aktive Server Pages.NET) Entwicklungsumgebungen: –Visual Studio –Webmatrix –Notepad ASP.NET IIS Windows 2003 Server Internet EinleitungASP.NETEreignisseDatenbindungState Management

5 Web Technologies mit ASP.NET STC 02. – 03. Juni / 54 ASP.NET-Anwendung 2. HTTP-Response ASP.NET-Engine PHP-EngineISAPI-Engine Internet Information Server Internet Security and Acceleration Server Windows 2003 Server Webbrowser EinleitungASP.NETEreignisseDatenbindungState Management

6 Web Technologies mit ASP.NET STC 02. – 03. Juni / Kurzübersicht Client Web-Server Browser Client-Software Webanwendung Webservice EinleitungASP.NETEreignisseDatenbindungState Management

7 Web Technologies mit ASP.NET STC 02. – 03. Juni / Einordnung in die Architektur GUIWin-GUIASP.NET Webanwendungen Webservice BusinesslogikC#, VB.NET etc… DataaccessADO.NET DatenbankSQL Server, MSDE, (Access) EinleitungASP.NETEreignisseDatenbindungState Management

8 Web Technologies mit ASP.NET STC 02. – 03. Juni / 54ASP.NET 1.Demo (1) 2.Namespace 3.ASP.NET Web Forms 4.Teile einer ASP.NET Web-Form 5.Das ASP.NET Prinzip 6.Trennung von Form und Funktion 7.ASP.NET Server Controls 8.Standard ASP.NET Controls 9.Demo (2) EinleitungASP.NETEreignisseDatenbindungState Management

9 Web Technologies mit ASP.NET STC 02. – 03. Juni / Demo ASP.NET-Webanwendung Besondere Dateitypen –Web.config –Global.asax –Webform (Endung *.aspx) EinleitungASP.NETEreignisseDatenbindungState Management

10 Web Technologies mit ASP.NET STC 02. – 03. Juni / Namespace System.Web UI Design WebControls HtmlControls Services Configuration Description Discovery Protocols Caching Configuration Hosting Mail SessionState EinleitungASP.NETEreignisseDatenbindungState Management

11 Web Technologies mit ASP.NET STC 02. – 03. Juni / ASP.NET Web Forms Controlbasiertes, eventgesteuertes Modell für Web User Interface –Sauber gekapselt, weniger Code Common Language Runtime führt den Code aus –Visual C#, Visual Basic ®, JScript –Bessere Performance Keine Konflikte mit ASP –Web Forms sind.ASPX-Dateien EinleitungASP.NETEreignisseDatenbindungState Management

12 Web Technologies mit ASP.NET STC 02. – 03. Juni / Teile einer ASP.NET Web Form Code Blocks Static Text Control Tags HTML Tags Directives Data Binding Expressions EinleitungASP.NETEreignisseDatenbindungState Management

13 Web Technologies mit ASP.NET STC 02. – 03. Juni / Das ASP.NET Prinzip POST /site/form1.aspx..... INETINFO.EXE ASPNET_WP.EXE WebService language="c#" class= using System.Web.Services; [WebService(Description="Provides a v public class Simple { [WebMethod(Description= Returns a nice greeting")] public string Hello() { return "Hello"; return "Hello"; }} Page Class ASPNET_ISAPI.DLL Assembly HTTP OK..... Instanzieren Kompilieren form1.aspx form1_aspx.dll HTTP Request HTTP Response EinleitungASP.NETEreignisseDatenbindungState Management

14 Web Technologies mit ASP.NET STC 02. – 03. Juni / Trennung von Form und Funktion Trennung der Funktionalität (Code) vom Layout hat viele Vorteile –In ASP.NET heißt dies Code Behind –Inherits Attribut Direktive Code-behind Files –Können vorkompiliert sein oder on demand übersetzt werden –SRC-Attribute der Page Direktive –Standard bei Visual Studio.NET: vorkompilierte Code-Behind-Files EinleitungASP.NETEreignisseDatenbindungState Management

15 Web Technologies mit ASP.NET STC 02. – 03. Juni / ASP.NET Server Controls Server Controls kapseln ein bestimmtes Verhalten (inklusive User Interface) –Ähnlich zu Visual Basic ® –Deklarativ mit runat="server" Controls erzeugen HTML –Unterschiedliche Clients unterstützbar –DHTML, HTML 3.2, etc. Eingabe des Clients wird strukturiert –Attribute für die Eingabedaten –Auslösen von Ereignisse EinleitungASP.NETEreignisseDatenbindungState Management

16 Web Technologies mit ASP.NET STC 02. – 03. Juni / Standard ASP.NET Controls HTML Controls –Entsprechen den HTML Tags 1:1 Web Controls –Rendern Client-spezifisches HTML –Streng typisiertes Objektmodell –Manche erzeugen ein HTML tag: Button, TextBox, DropDownList –Andere erzeugen komplexes HTML inklusive Script-Code: DataGrid, Calendar, Validators EinleitungASP.NETEreignisseDatenbindungState Management

17 Web Technologies mit ASP.NET STC 02. – 03. Juni / Demo Photoarchiv (1)… EinleitungASP.NETEreignisseDatenbindungState Management

18 Web Technologies mit ASP.NET STC 02. – 03. Juni / 54Ereignisse 1.Events 2.Abfolge der Events 3.Ereignisse bei einem ASP.NET-Aufruf EinleitungASP.NETEreignisseDatenbindungState Management

19 Web Technologies mit ASP.NET STC 02. – 03. Juni / Ereignisse Ereignisse werden: –Vom Client ausgelöst –Im Server-Code behandelt Benötigen ein Postback vom Client Die Daten werden automatisch wieder eingetragen –ViewState-Property ist als Hidden Form Field implementiert –Jedes Control hat eine EnableViewState- Property EinleitungASP.NETEreignisseDatenbindungState Management

20 Web Technologies mit ASP.NET STC 02. – 03. Juni / Abfolge der Events Page_Load Page_Unload PostBack 1. Change Events 2. Action Events Page wird geladen und Control-Hierarchy erzeugt Page-Objekt wird gelöscht Control-Hierarchie wird gerendered Textbox1_Changed Button1_Click Kostbare Zeit EinleitungASP.NETEreignisseDatenbindungState Management

21 Web Technologies mit ASP.NET STC 02. – 03. Juni / 54 1.Application_Start (Anwendungsweit) 2.Application_BeginRequest (Aufrufweit) 3.Application_AuthenticateRequest (Aufrufweit) 4.Session_Start (Sessionweit) 5.Page_Init (Aufrufweit) 6.Page_Load (Aufrufweit) Programmausführung… ??? Application_Error (Aufrufweit) 7.Application_EndRequest (Aufrufweit) 8.Session_End (Sessionweit) 9.Application_End (Anwendungsweit) 3. Ereignisse bei einem ASP.NET-Aufruf EinleitungASP.NETEreignisseDatenbindungState Management

22 Web Technologies mit ASP.NET STC 02. – 03. Juni / Demo Datei-Upload EinleitungASP.NETEreignisseDatenbindungState Management

23 Web Technologies mit ASP.NET STC 02. – 03. Juni / 54Datenbindung 1.Web Forms Datenbindung 2.Simple Binding 3.List Binding 4.Demo ASP.NETEreignisseDatenbindungState ManagementSicherheit

24 Web Technologies mit ASP.NET STC 02. – 03. Juni / Web Forms Datenbindung Ein einfacher, deklarativer Weg um Web UI Controls an Daten zu binden –Simple Binding eines Properties eines Controls –List Binding an eine Datenquelle: DataGrid, DropDownList Unterstützung einer Vielzahl von Datenquellen Vorsicht: One way snapshot model –Im Code muss angegeben werden wann das Binding stattfindet ASP.NETEreignisseDatenbindungState ManagementSicherheit

25 Web Technologies mit ASP.NET STC 02. – 03. Juni / Simple Binding Syntax Binden an: –Eine Property der Seite –Rückgabewert einer Methode –Eine Property eines anderen Controls Schritt 1: Binding setzen –Deklarativ (in HTML): … /> Schritt 2: DataBind aufrufen Sub Page_Load(s As Object, e As EventArgs) Label1.DataBind() End Sub ASP.NETEreignisseDatenbindungState ManagementSicherheit

26 Web Technologies mit ASP.NET STC 02. – 03. Juni / Simple Binding Beispiel Sub Page_Load(s as Object, e as EventArgs) Label1.DataBind() Label1.DataBind() End Sub /> /> ASP.NETEreignisseDatenbindungState ManagementSicherheit

27 Web Technologies mit ASP.NET STC 02. – 03. Juni / List Binding Syntax Alle Klassen die IEnumerable implementieren sind Datenquellen Schritt 1: Binding setzen –Deklarativ: … /> –Imperativ: DataGrid1.DataSource = ds Schritt 2: DataBind aufrufen Sub Page_Load(s As Object, e As EventArgs) DataGrid1.DataBind() End Sub ASP.NETEreignisseDatenbindungState ManagementSicherheit

28 Web Technologies mit ASP.NET STC 02. – 03. Juni / List Binding Datenquellen ADO.NET Klassen –DataReader –DataSet –auch DataTable, DataView Andere IEnumerable Typen –Arraylist –Array –Hashtable –… ASP.NETEreignisseDatenbindungState ManagementSicherheit

29 Web Technologies mit ASP.NET STC 02. – 03. Juni / DataList Beispiel Sub Page_Load(s as Object, e as EventArgs) DataList1.DataSource = GetCustData() DataList1.DataSource = GetCustData() DataList1.DataBind() DataList1.DataBind() End Sub ASP.NETEreignisseDatenbindungState ManagementSicherheit

30 Web Technologies mit ASP.NET STC 02. – 03. Juni / Demo Photoarchiv (2) ASP.NETEreignisseDatenbindungState ManagementSicherheit

31 Web Technologies mit ASP.NET STC 02. – 03. Juni / 54 State Management 1.State Management 2.Arten von State 3.ASP.NET Session Property 4.Cookieless Sessions 5.Session State im SQL Server 2000 EreignisseDatenbindungState ManagementSicherheitModularisierung

32 Web Technologies mit ASP.NET STC 02. – 03. Juni / State Management HTTP ist verbindungslos Daher ist wichtig, wo Zustand gehalten wird ASP.NET unterstützt beim Verwalten EreignisseDatenbindungState ManagementSicherheitModularisierung

33 Web Technologies mit ASP.NET STC 02. – 03. Juni / Arten von State Application State –Globale Applikationseinstellungen –Am besten für read-only Daten Session State –Enthält die Ergebnisse bisheriger Interaktionen –Beispiel: Warenkorb Online-Shopping Cookie State –Zustand der im Client gehalten wird Control State –Inhalt der einzelnen Controls EreignisseDatenbindungState ManagementSicherheitModularisierung

34 Web Technologies mit ASP.NET STC 02. – 03. Juni / ASP.NET Session Property Session Property kann programatisch gefüllt werden Speicherort kann konfiguriert werden (in web.config) –Speicherung im Prozess –Speicherung in einem state server –Speicherung in einem SQL Server SessionID kann über Cookie oder URL übergeben werden –Konfigurierbar über web.config EreignisseDatenbindungState ManagementSicherheitModularisierung

35 Web Technologies mit ASP.NET STC 02. – 03. Juni / Cookieless Sessions Über web.config File konfigurierbar configuration> Automatische Verwaltung EreignisseDatenbindungState ManagementSicherheitModularisierung

36 Web Technologies mit ASP.NET STC 02. – 03. Juni / Demo Photoarchiv (3) EreignisseDatenbindungState ManagementSicherheitModularisierung

37 Web Technologies mit ASP.NET STC 02. – 03. Juni / 54Sicherheit 1.Authentifizierung Formularbasierte Authentifizierung Windows-Authentifizierung MS Passport 2.Autorisierung 3.Verschlüsselung State ManagementSicherheitModularisierungWebservices

38 Web Technologies mit ASP.NET STC 02. – 03. Juni / Authentifizierung Konfiguration erfolgt über Web.Config Wahl zwischen –Formularbasierter Authentifizierung –Windows- Authentifizierung –MS Passport- Authentifizierung State ManagementSicherheitModularisierungWebservices

39 Web Technologies mit ASP.NET STC 02. – 03. Juni / Authentifizierung: Formularbasiert Benutzerdaten werden in der Anwendung gespeichert Anwendung entscheidet über Authentifizierung Findet Anwendung im Portal Vorteile: –Leichte Administration –Geringer Implementierungsaufwand State ManagementSicherheitModularisierungWebservices

40 Web Technologies mit ASP.NET STC 02. – 03. Juni / Authentifizierung: Windows Authentifizierung erfolgt über Windows- Anmeldedaten Benutzerdaten sind in der Win32-Accesstable gespeichert Vorteil: –Im Windows-Intranet erfolgt die Authentifizierung automatisch Nachteil: –Umständliche Administration bei vielen Usern State ManagementSicherheitModularisierungWebservices

41 Web Technologies mit ASP.NET STC 02. – 03. Juni / Authentifizierung: MS Passport (1/3) Aus der Benutzersicht (1/2) Aus der Benutzersicht (1/2) Man hinterlegt einen Login und ein Passwort beim.NET Passport Service. Man hinterlegt einen Login und ein Passwort beim.NET Passport Service. Dazu kann man weitere Daten speichern, wie z.B. Postadresse Dazu kann man weitere Daten speichern, wie z.B. Postadresse Meldet man sich bei einer Webseite an, die Passport nutzt, wird man direkt an Passport weitergeleitet zum authentifizieren. Meldet man sich bei einer Webseite an, die Passport nutzt, wird man direkt an Passport weitergeleitet zum authentifizieren. Passport schickt dann an die Webseite eine Nachricht, ob der Benutzer auch das richtige Passwort wusste und ggf. die Adressdaten. Passport schickt dann an die Webseite eine Nachricht, ob der Benutzer auch das richtige Passwort wusste und ggf. die Adressdaten. State ManagementSicherheitModularisierungWebservices

42 Web Technologies mit ASP.NET STC 02. – 03. Juni / Authentifizierung: MS Passport (2/3) Aus der Benutzersicht (2/2) Aus der Benutzersicht (2/2) Der Vorteil: Ich brauche bei einer Bestellung meine Adressdaten nicht ständig eintippen. Der Vorteil: Ich brauche bei einer Bestellung meine Adressdaten nicht ständig eintippen. Der Vorteil: Single SignOn Ich muß mir immer nur einen Login/Passwort-Kombo merken Der Vorteil: Single SignOn Ich muß mir immer nur einen Login/Passwort-Kombo merken Der Nachteil: Knackt man den Account hat man Zugriff auf viele andere. Der Nachteil: Knackt man den Account hat man Zugriff auf viele andere. State ManagementSicherheitModularisierungWebservices

43 Web Technologies mit ASP.NET STC 02. – 03. Juni / Authentifizierung: MS Passport (3/3) Zurzeit findet die Form-Authentifikation statt Identification soll über MS Passport stattfinden Purpose Microsoft®.NET Passport is a core component of the Microsoft.NET initiative. The.NET Passport single sign-in (SSI) service enables you to give consumers a quick, convenient way to sign in to your site. Vorteile: –Zentrale Benutzeridentifikation –Benutzer braucht sich nur ein Login + Passwort merken Nachteil: –Daten werden in Amerika von Microsoft gehalten und unterliegen dem amerikanischen Datenschutz (europäischer Datenschutz ist sehr viel strenger) –Großer Aufwand in der Implementierung –Was ist, wenn State ManagementSicherheitModularisierungWebservices

44 Web Technologies mit ASP.NET STC 02. – 03. Juni / Autorisierung Rollenkonzept Autorisierung kann ebenfalls in der Web.Config eingestellt werden Es kann statisch festgelegt werden, welche Datei von welcher Rolle oder welchem User ausgeführt werden darf State ManagementSicherheitModularisierungWebservices

45 Web Technologies mit ASP.NET STC 02. – 03. Juni / 54Demo Photoarchiv (4) State ManagementSicherheitModularisierungWebservices

46 Web Technologies mit ASP.NET STC 02. – 03. Juni / Verschlüsselung Machbar über SSL-Protokoll (Secure Socket Layer) 2 Schritte: –Zertifikat im IIS einrichten –Codezeile einfügen if(!Request.IsSecureConnection) Response.Redirect("https" + Request.Url.AbsoluteUri.Substring(4,Request.Url.AbsoluteUri.Length-4)); State ManagementSicherheitModularisierungWebservices

47 Web Technologies mit ASP.NET STC 02. – 03. Juni / 54Modularisierung Häufig genutzter Code wiederverwenden! Webusercontrol Webcustomcontrol –Gerendert –Kombiniert SicherheitZusammenfassungModularisierungWebservices

48 Web Technologies mit ASP.NET STC 02. – 03. Juni / 54 Modularisierung (Demo) Photoarchiv (5) SicherheitZusammenfassungModularisierungWebservices

49 Web Technologies mit ASP.NET STC 02. – 03. Juni / 54Webservices Windows-Service über das Internet verfügbar machen Webservices Szenarien: –Zugriff aus Windowsanwendung –Zugriff aus Webanwendung –Zugriff vom Client einer Webanwendung SicherheitZusammenfassungModularisierungWebservices

50 Web Technologies mit ASP.NET STC 02. – 03. Juni / 54 Webservices (Demo) Photoarchiv (6) SicherheitZusammenfassungModularisierungWebservices

51 Web Technologies mit ASP.NET STC 02. – 03. Juni / 54Zusammenfassung ASP.NET ist die.NET Web Application Server Plattform Controlbasiert, eventgetrieben –Vereinfachte Entwicklung –Wartbarer Programmcode (Trennung von Design (HTML) und Code (C#)) –Gerätespezifische Darstellung –Wiederverwendbarkeit –Bessere Sprachunterstützung Vollwertige Programmiersprache Ganzheitlicher Ansatz von DB bis Web auch kostenlos: Webmatrix Synergieeffekte durch Kombinationen –Sharepoint Portal-Server –Content-Management-Server –Windows-Server-Dienste SicherheitZusammenfassungModularisierungWebservices

52 Web Technologies mit ASP.NET STC 02. – 03. Juni / 54Fragen Vielen Dank für die Aufmerksamkeit! Haben Sie noch Fragen?

53 Web Technologies mit ASP.NET STC 02. – 03. Juni / 54 Wie geht es weiter auf der STC…? Heute16: :30Workshop VisualStudio.NET Windows Forms und Web Forms (Andreas Heil) 17:00 – 18:00SharePoint Portal Server Development (Martin Saternus) Nachtwanderung Morgen09: :00Workshop ADO.NET (Torsten Weber & Rolf Kluge) 10:30 – 11:30ASP.NET für Fortgeschrittene (Holger Schwichtenberg) 11: :30Workshop ASP.NET und Webservices (Torsten Weber & Rolf Kluge)

54 Web Technologies mit ASP.NET STC 02. – 03. Juni / 54 Links & Literatur Links: –http://www.asp.net –http://msdn.microsoft.com/ –http://www.codezone.de/ –http://www.asp.net/webmatrix/download.aspx?tabindex= 4 Bücher: –ASP.NET Kochbuch mit C# - von Patrick A. Lorenz –Microsoft ASP. NET Entwicklerbuch. von Holger Schwichtenberg


Herunterladen ppt "Web Technologies mit ASP.NET STC 02. – 03. Juni 2004 1 / 54 Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP)"

Ähnliche Präsentationen


Google-Anzeigen