Zajęcia, rok akademicki 2007/2008, semestr 1
Semestr 1
Konsultacje: środa, 1215 - 1345
Projektowanie aplikacji ASP.NET + ADO.NET
Wykłady/ćwiczenia
- 3.X.2007, Infrastruktura dla ASP.NET
- Wykład organizacyjny
- omówienie narzędzi do rozwijania aplikacji ASP.NET
- Internet Information Services - instalacja, konfiguracja usługi ASP.NET
- 10.X.2007, Architektura ASP.NET
- Cykl życia stron ASP.NET, dwa poziomy kompilacji
- Fiddler, debugger warstwy HTTP
- Formaty na serwerze a formanty na kliencie
Zestaw 1
- 17.X.2007, Architektura ASP.NET cd...
- Obiekty Request, Response, Server, HttpContext.Current
- Przekazywanie parametrów pomiędzy stronami
- Przekazywanie treści do serwera i z serwera
- Serwerowe kontenery danych
- Oddzielanie warstwy logiki od warstwy prezentacji
Zestaw 2
- 07.XI.2007, Mechanizm DataBinding
- Omówienie zasady działania mechanizmu wiązania danych (data binding)
- Wiązanie do obiektów IEnumerable oraz IListSource
- Formatowanie obiektów biznesowych podczas wiązania
- Wiązanie danych do formantów GridView oraz DetailsView
- Szablony kolumn, tryb podglądu, edycji i dodawania
- Architektura źródeł danych. SqlDataSource, ObjectDataSource
- Stronicowanie, sortowanie formantu GridView
Zestaw 3
Przykład z wykładu
- 14.XI.2007, Zaawansowana edycja danych przy pomocy GridView i DetailsView
- Edycja danych dla formantu GridView z użyciem kolumn szablonowych
- Powiązanie między edytowalnym formantem a metodą warstwy dostępu do danych
- Szablony kolumn z listami rozwijalnymi
- Wstrzykiwanie funkcji interfejsu użytkownika do formantu GridView (tu: potwierdzenie usunięcia)
Przykład z wykładu
- 21.XI.2007, Autentykacja, autoryzacja, model dostawców
- Autentykacja w trybie Windows
- Konfiguracja aplikacji w ramach IIS dla dostępu uwierzytelnionego tożsamością domenową
- Autentykacja Forms
- Autoryzacja - blokowanie dostępu do zasobów
- Autoryzacja - blokowanie dostępu do danych (np. pozycji menu)
- Model dostawców - MembershipProvider, RoleProvider, SiteMapProvider
- Własny dostawca na przykładzie GridCustomizerProvider
Zestaw 4
Przykład z wykładu
- 28.XI.2007, Własne formanty i walidatory
- Tworzenie własnych formantów wizualnych i niewizualnych
- Tworzenie własnych walidatorów
Zestaw 5
Przykład z wykładu
- 05.XII.2007, Asynchronous Javascript And Xml (AJAX)
- Omówienie zasady działania
- Przegląd i klasyfikacja technologii przemysłowych
Zestaw 6
Przykład z wykładu
- 12.XII.2007, Moduły i handlery HTTP
- Omówienie potoku przetwarzania ASP.NET w zakresie modułów i handlerów
- Przykład rejestracji handlera dla własnego rozszerzenia plików, omówienie możliwości zastosowania
- Inne przykłady handlerów
- Przykład modułu udostępniającego własny mechanizm uwierzytelniania
Zestaw 7
Przykład z wykładu
- 09.I.2008, WebParts jako sposób budowy interfejsu użytkownika portali internetowych
- Cztery tryby pracy WebPartsManager: Browse, Edit, Catalog, Connect
- Komunikacja między WebParts
Zestaw 8
Przykład z wykładu
- 16.I.2008, Elementy architektury Enterprise
- Pełna i częściowa prekompilacja aplikacji
- Ślady
- Obsługa kanału szyfrowanego
- Architektura aplikacji rozległych w przykładach
- Klastrowanie serwerów aplikacji
- Omówienie wzorców architektonicznych i optymalizacji sprzętowo-programowych
- Testowanie aplikacji ASP.NET
Zestaw 9
Literatura:
- Podstawy:
- Douglas J. Reilly: Designing Microsoft ASP.NET Applications
- Scott Mitchel: ASP.NET Data Web Controls Kick Start
- Zaawansowane:
Zawansowane techniki programowania .NET
Zajęcia będą prowadzone w formie seminarium.
Referaty powinny być przygotowane w formie prezentacji z użyciem
dowolnych dostępnych narzędzi i materiałów.
Przewidywany czas prezentacji to jedne całe zajęcia z możliwością przedłużenia prezentacji na kolejne zajęcia.
Poniższa lista zawiera propozycje tematów do przygotowania w zespołach 1-2 osobowych. Lista ta nie zamyka
możliwości zaproponowania własnego tematu po konsultacji z prowadzącym.
W wypadku przygotowywania jednej prezentacji przez więcej osób, poszczególni prelegencji będą oceniani indywidualnie.
- Przegląd wybranych języków platformy .NET. Porównanie wydajności z innymi istniejącymi implementacjami.
- Obiektowe:
- Funkcjonalne:
- Skryptowe:
- Deklaratywne:
- inne wybrane
- Omówienie i porównanie wybranych narzędzi testowania aplikacji.
- (rezerwacja p. Łukasz Wojtuś) Omówienie i porównanie wybranych bibliotek mapowania obiektowo-relacyjnego.
- NHibernate,
- Sooda,
- inne, m.in. DevExpress XPO, OJB.NET, Gentle.NET, Persist.NET,
LLBLGen Pro, Genome
- (rezerwacja p. Karol Błądek) Bezpieczeństwo platformy .NET. Polisy deklaratywne i imperatywne. Weryfikowalny IL. Code Access Security. Microsoft Management Console.
- Programowanie aspektowe na platformie .NET.
- Wybrane wzorce projektowe (strukturalne i aplikacyjne).
- Internet Explorer jako edytor tekstów i kontener wydruku w aplikacji .NET.
- Przegląd technologii zarządzania danymi w formacie PDF. Generowanie dokumentów od podstaw i uzupełnianie gotowych szablonów dokumentów. Dynamiczne generowanie dokumentów PDF w locie w aplikacjach WinForms i ASP.NET
- Kierunki rozwoju Windows i platformy .NET. Architektura (Avalon, Indigo, WinFX, XAML).
- Lekkie, osadzalne w aplikacji silniki baz danych. Przykłady aplikacji z bazami osadzonymi. Porównanie wydajności i ograniczeń różnych silników.
- systemowy silnik JET (bazy w formacie Microsoft Access)
- Microsoft SQL Server Compact Edition
- FireBird
- ElevateDB
- db4o
- eXtremeDB
- Castle Project - framework dla rozległych aplikacji .NET (w zakresie wybranych fragmentów, np. Windsor Container czy MonoRail)
- Windows PowerShell - nowy pomysł na język skryptów powłoki systemu
- (rezerwacja p. Kamil Szostak) LinQ, LinQ for SQL - silnik mapowania obiektowo-relacyjnego zintegrowany z językami platformy .NET. Zgodność z różnymi systemami baz danych. Funkcjonalność po stronie klienta.
- Platforma .NET a multimedia. Zarządzany DirectX i XNA. XNA Studio.
- VisualWebGUI - framework dla server-side AJAX. Zasada działania, formanty, własne formanty. Analiza ruchu klient-serwer. Autentykacja i autoryzacja. Skalowalność - VWG a farma serwerów aplikacji. Pojęcie Gateway.
- (rezerwacja p. Marek Stój) Porównanie funkcjonalności wybranych frameworków dla AJAX (za Tiny ASP.NET Framework Contest)
Porównanie wydajności na samodzielnie przygotowanej aplikacji.
- (rezerwacja p. Jarosław Sobiecki) Technologia Silverlight - obsługa zawartości multimedialnej w aplikacjach Web
- Współpraca platform przemysłowych .NET i Java (za Enterprise Interoperability: .NET and J2EE
)
- Alternatywne implementacje platformy .NET. Porównanie z .NET Framework. Przykłady aplikacji. Przenośne biblioteki do tworzenia interfejsu użytkownika (Gtk#, wx.NET).