Spis treści
Technologie i Programowanie WWW
Przykłady prac, które powstały w ramach zajęć
Bibliografia
Plan wykładów
Technologie i Programowanie WWW
Przykłady prac, które powstały w ramach zajęć
Portal motoryzacyjny
FaniMoto.pl
Wszystko o Piwie
Warzelnia.pl
Portal społecznościowy (after hours)
Wyskoczmy.pl
Portal społecznościowy
Moj-Uniwersytet.pl
Giełda transportowa
napake.com
Zielone Słońce
Szczep ZHP Zielone Słońce
Portal konsumencki
PC United
Aplikacja do wyceny nieruchomości w województwie Podkarpackim
ACENO
(firma NECSET Software).
System elektronicznej obsługi pacjenta
eclinic.pl
Portal Weselny
Piękne Chwile
Katalog Znaczków Pocztowych
Portal społecznościowy
Thanks with beer
Strona firmy, katalog produktów
Solvo
Obróbka grafiki on-line
przytnij.net
Baza danych wydajności komputerów
BenchIT.pl
CMS
, przykładowe implementacje:
Art-Capital.pl
CMS
Bibliografia
Publications
2008
Yukihiro Matsumoto David Flanagan, The Ruby Programming Language, 2008
David A. Black, Holzner Steven, 2008
Anthony Holdener, Ajax: The Definitive Guide, 2008
Mozilla Developer Center, Core JavaScript 1.5 Reference, 2008
owasp, The 10 Most Critical Web Application Security Vulnerabilities, 2008
@author@, Studia Informatyczne, 2008
2007
Thomas Heute Michael Yuan, JBox Seam : simplicity and power beyond Java EE, 2007
Justin Williams, Rails Solution, Ruby on Rails Made Easy, 2007
Andy Hunt Dave Thomas Chad Fowler, Programowanie w języku Ruby, 2007
Michael Morrison Danny Goodman, JavaScript Bible, 2007
2006
Richard Monson-Haefel Bill Burke, Enterprise JavaBeans™ 3.0, 2006
David A. Black, Ruby for Rails, 2006
2005
Adam Bochenek, Prosty Przepis na J2EE, 2005
Richards Norman Mark Fleury Scott Stark, JBoss 4.0: The Official Guide, 2005
2003
Hans Bergsten, Java Server Pages, 2003
2002
Wiliam Crawford Jason Hunter, Java Servlet Programowanie, 2002
Sun Microsystems, The J2EE Tutorial, 2002
Plan wykładów
Wykład wprowadzający
Sprawy organizacyjne
Prerekwizyty
Założenia wykładu
Ramowy program zajęć
Przykłady projektów
Projekty jako prace magisterskie
Sposób zaliczenia projektu i wykładu
Obecności
Ocena końcowa
Terminy zaliczeń i egzaminów
Czas i miejsce spotkań
Strona wykładu
Dostęp do materiałów
Literatura
Wprowadzenie do technologii WWW
Podstawy WWW
Historia HTTP
Architektura aplikacji sieciowej
Warstwy i modele takiej aplikacji
Klient, Serwer Protokół WWW
URL
,
URI
Dokumenty statyczne i dynamiczne
Wprowadzenie do
HTML
'a
Prosta Aplikacja WWW
HTTP/
HTML
Obsługa formularzy
Elementy formularza
Prosta aplikacja PHP
Specyfikacja
Projekt
GUI
Baza Danych
Aplikacja
Język XML
XML
Zastosowania
Edytory
Struktura dokumentu XML
Poprawność dokumentu XML
Tagi i elementy XML
Przestrzenie nazw (Namespaces)
DTD
Walidacja dokumentu XML
Definiowanie DTD, elementy DTD i Atrybuty
XML Schema
Wprowadzenie do XML Schema, typy proste i złożone
XML Schema (cd)
XML Schema
Liczba elementów, wartości domyślne Atrybuty
Restrykcje dla typów prostych, alternatywa
Type anonimowe, namespace'y
XHTML
Tworzenie dokumentu, walidacja
Struktura dokumentu, nagłówek
XSLT, XSL-FO
Dokument i transformacja
Instrukcja warunkowa, wartości tagów i atrybutów
Java serwlets, JSP - Wprowadzenie
„Dynamiczne WWW”
Serwlety – obsługa serwletów
HTTP i serwlety
Przetwarzanie danych formularza
wysyłanie odpowiedzi
Serwlety a JSP
Podstawy JSP
strona JSP, dyrektywy JSP, deklaracje w stronach JSP
Cykl życia serwletu
Generacja
HTML
'a
Status odpowiedzi
Mechanizmy śledzenia sesji
Java serwlets, JSP (cd)
Bezpieczeństwo
Uwierzytelnienie HTTP
Uwierzytelnienie oparte o formularz
SSL
Bazy Danych w aplikacji Javy
Połączenie do bazy danych, zapytanie
Transakcje
Connection pooling
Callable Statement
JSP – jeszcze raz
Dyrektywa include
Custom Tags
J2EE / JBoss
J2EE – wprowadzenie
Warstwy J2EE
Prosty przykład J2EE
Interfejsy i implementacje
Deskryptory EJB
Uruchomienie przykładu i aplikacji klienckiej
Środowisko Eclipse
Konfiguracja
Tworzenie komponentu EJB
Komponenty stanowe i bezstanowe
J2EE / JBoss (cd)
JBoss i baza danych
JFaceDBC
Komponenty encyjne
Komponenty BMP
Przykład komponentu BMP
Komponent CMP
Przykład komponentu CMP
JBoss i Seam
Wprowadzenie do języka Ruby
Co to jest Ruby?
Ruby – pojecia podstawowe
Instrukcje sterujące
Bloki i metody iterujące
Wyjątki
Metody
Klasy, Struktury
Dziedziczenie
Moduły
Ruby on Rails
Co to jest Rails?
Rails – filozofia
Rails – architektura
Prosta przykładowa aplikacja
Generacja i konfiguracja
Stworzenie Modelu
Stworzenie Kontrolera
Stworzenie Widoku
Walidacja formularzy
Śledzenie aplikacji RoR
Java Script
Prosty skrypt JS
Elementy DOM
Elementy Java Scriptu
Instrukcje sterujące, kowersje typów, tablice, operacje na napisach Obiekt Math, Date, Image, Window
Tworzenie własnych obiektów
Obsługa Wyjątków, obsługa Formularza
Przydatne techniki
Java Script i AJAX
Co to jest AJAX
AJAX – prosty przykład
XMLHttpRequest
AJAX – przykład: Name Chooser
AJAX podstawowe zastosowania
Samo odświeżająca się strona
GET vs. POST
Frameworki i zastosowania
Ajax & Ruby, GWT, Echo, YUI, Google Maps
Funkcjonalność Serwera WWW, bezpieczeństwo aplikacji
Serwer Apache
Architektura
Plik konfiguracyjny httpd.conf
Dziennik serwera
Ścieżki logiczne i fizyczne
Dyrektywy blokowe
mod_ssl
Bezpieczeństwo aplikacji WWW
Atak: Path Traversal
Atak: SQL Injection
Atak: session hijak
Atak: DoS
Wykład podsumowywujący