Verteilte und selbstorganisierende Rechnersysteme WS 11/12 07/08 Praktikum Web Engineering Dipl.-Inf. Olexiy Chudnovskyy Technische Universität Chemnitz Fakultät für Informatik Professur Verteilte und selbstorganisierende Rechnersysteme http://vsr.informatik.tu-chemnitz.de Foliensatz: Prof. Dr.-Ing. Martin Gaedke, Dipl.-Inform. Johannes Meinecke, Dipl.-Inf. Jens Wegener, et al. 27.03.2007 1
2. Aufgabe Bisher benutzte Web-Seiten-Technik Präsentation von statischen Content XML-Technologien im Web Themen heute Dynamische Web Seiten programmieren Komponenten-basierte Entwicklung 28.10.2011 2
Programmierung Entwicklung erfolgt mit.net-framework Mehrere Sprachen; wir verwenden C# Sehr ähnlich zu Java Benötigt Ausführungsumgebung (CLR) Gemeinsame objektorientierte Klassenbibliothek Für Konsolen-Programme, Desktop-Programme, Web Anwendungen, Web Services Siehe Hello-World-Beispiel im Download- Bereich 28.10.2011 3
A2.1 Entwickeln mit C#.NET Bauen eines Tools zum Neuanlegen von News-Feed-Einträgen für A1.4 Als Konsole- oder Windows-Programm Die Lösung sollte aus mindestens zwei Klassen bestehen: Kapselung des News-Feed Kapselung der Interaktion mit dem Benutzer Vorführung im VS-Debug-Modus Bearbeitung: Teamwork 28.10.2011 4
ASP.NET Technologie für Server-seitige Web Anwendungen Programmiermodell Ähnlich wie für Windows Desktop-Anwendungen Unterstützung durch Visual Studio Ereignis-gesteuert Alternativen Java Server Pages PHP Ruby... 28.10.2011 5
Beispiel eines Seitenaufrufs 1. Aufruf von 2. Ausführung http://www.test.com/default.aspx?nr=12 Browser 3. dynamisch erzeugte HTML-Seite ASP.NET Programm (ASPX) Client Web Server 28.10.2011 6
ASPX-Seite in Visual Studio 28.10.2011 7
Code-Before der Seite 28.10.2011 8
Code-Behind der Seite 28.10.2011 9
Ablauf zur Laufzeit (Auszug) User klickt auf Button Aufruf von WebForm1.Page_Load Aufruf von WebForm1.Button1_Click Aufruf von WebForm1.Render Markup-Code wird zurückgesendet 28.10.2011 10
A2.2: Entwickeln mit ASP.NET Aufgabe: Programmieren eines Formulars zum Veröffentlichen von News-Beiträgen Funktionalität: Eingeben, Speichern und Anzeigen von Einträgen des RSS-Feeds Einbau in die Homepage aus A1 Web-Anwendungen auf Praktikumsserver müssen freigeschaltet werden Bearbeitung: Teamwork 28.10.2011 11
Entwickeln mit Komponenten Idee: Anwendungen zusammensetzen aus wiederverwendbaren Einzelteilen Viele Vorteile, u.a.: Funktionalität einmal generisch entwickeln, mehrmals wiederverwenden Einsparung von Zeit und Kosten beim Entwickeln Höhere Qualität durch bewährte Komponenten Saubere Auftrennung von Funktionalität mit dem Black-Box-Prinzip 28.10.2011 12
Komponenten im Web Übertragung des Komponenten-Konzepts auf Web-Anwendungen Visuelle Komponente = Seitenbereich (z.b. News-Liste, Kalender,...) In ASP.NET: sog. Steuerelemente Web Custom Controls (DLL) Web User Controls (ASCX) Entwicklung ähnlich wie bei ASPX-Seiten 28.10.2011 13
ASCX in Visual Studio 28.10.2011 14
ASCX im Code-Before 28.10.2011 15
ASCX im Code-Behind 28.10.2011 16
A2.3: Web User Controls Aufgabe: Erstellung eines Steuerelements mit der Feed-Formular-Funktionalität Vorgehen Übertragung des Codes aus A2.2 in eine ASCX- Komponente Einbindung in eine neue ASPX-Seite Mindestanforderung: Speicherort soll konfigurierbar sein Bearbeitung: Teamwork 28.10.2011 17
A2.4: Fremde Feeds einbinden Aufgabe: Schreiben einer ASCX-Komponente zur Integration fremder RSS-Feeds Konfiguration Liste der einzubindenden Datenquellen (mehrere) Zu verwendendes XSLT-Stylesheet Maximale Anzahl der darzustellenden Einträge Einbindung auf einer neuen Seite der Gruppenhomepage zur Anzeige der Feeds der anderen Gruppen 28.10.2011 18