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
- 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