Zarządzenie - kik

advertisement
Witryny i Portale Internetowe
Internet Worlds Wide Webs & Portals
??? ECTS
dzienne inżynierskie,
wieczorowe inżynierskie
Kod przedmiotu
Imię i Nazwisko organizującego
BI2NI6000PSOWiPI dr inż. Robert Berezowski
CI2NI6000PSOWiPI
w
c
LICZBA GODZIN
1
Kursy poprzedzające
Słowa kluczowe
Kurs egzaminacyjny nie
egzaminacyjny – wykład i ćwiczenia
Zaliczenie
egzamin
15 tygodni zajęć
bazy danych, systemy zarządzania bazami danych, programowanie obiektowe,
programowanie JAVA, metajęzyki
HTTP, JAVA, J2EE, JSP, SERVLETY, XML
1
PROGRAM SZCZEGÓŁOWY
CELE KURSU.
Opis kursu – cele i procedury ich osiągania: Na bazie wiedzy i umiejętności z kursów związanych z
programowaniem komputerów (programowanie obiektowe i język JAVA) oraz baz danych i
systemów zarządzania bazami danych uzyskanie pogłębionej sprawności projektowej w
zakresie umiejętności tworzenia aplikacji webowych i ich instalacji na serwerach
aplikacyjnych z wykorzystaniem mechanizmów komunikacji z bazami danych.
Cel poznawczy:
Ugruntowanie wiedzy o budowie aplikacji webowych i architekturach wielowarstwowych
serwerów aplikacyjnych. Poznanie różnorodnych technik projektowania i realizacji
mechanizmów obsługi protokołu HTTP, sesji, autentykacji i autoryzacji użytkowników w
internetowych aplikacjach webowych WWW.
Cel kształcący:
Kształtowanie sprawności w wymienionych umiejętnościach w stopniu pozwalającym
domniemać zrozumienie i potencjalną możliwość świadomego i skutecznego posługiwania
się serwerami aplikacyjnymi jako środowiskami uruchomieniowymi aplikacji webowych.
Cel praktyczny:
Kształtowanie przekonania o zawodowej przydatności kształconych umiejętności
Umiejętności wynikowe kursu i ich ewaluacja:
Instalacja serwera aplikacyjnego Tomcat. Wykonanie analizy działania protokołu HTTP.
Tworzenie stron JSP z wykorzystaniem podstawowych obiektów: request, response, session
i application. Instalacja serwera baz danych MySQL. Tworzenie aplikacji webowej
wykorzystującej formularze do komunikacji z serwerem baz danych za pośrednictwem
JDBC. Umiejętność tworzenia źródeł baz danych, skryptów instalacyjnych SQL oraz
nakładania uprawnień dostępu do danych. Umiejętność tworzenia aplikacji webowych
wykorzystujących mechanizmy autentykacji i autoryzacji dostępu użytkowników do
zasobów aplikacji. Tworzenie certyfikatów i ich użycie do realizacji szyfrowanego
połączenia protokołu HTTPS oraz podpisywania cyfrowego aplikacji webowych WAR.
Wymagania podstawowe (stopnie dostateczne)
Wymagania rozszerzone (stopnie dobre)
Zaprojektuje poprawnie aplikację webową
wykorzystując komunikację z bazą danych z
zastosowaniem formularzy.
Potrafi archiwizować i instalować własną
aplikację oraz skonfigurować bazę danych do
jej obsługi.
Potrafi przygotować dokumentację do
zaprojektowanego kodu oraz omówić
stosowane
przez
siebie
mechanizmy
programistyczne.
Potrafi ocenić zaawansowanie własnego
projektu
i
wskazać
kierunki
jego
ewentualnego rozwoju.
Zaprojektuje poprawnie aplikację webową
wykorzystując komunikację z bazą danych z
zastosowaniem zaawansowanych elementów
formularzy np. (upload plików).
Zaprojektuje aplikację zgodnie z modelem1
lub architekturą MVC
Zastosuje
dodatkowe
komponenty
rozszerzające funkcjonalność aplikacji (np.
kanały RSS, XML, servlety, filtry)
Potrafi przygotować dokumentację do
zaprojektowanego kodu w rozszerzonej
wersji z uwzględnieniem diagramów (UML)
oraz omówić stosowane przez siebie
mechanizmy programistyczne.
Potrafi ocenić zaawansowanie własnego
projektu
i
wskazać
kierunki
jego
ewentualnego rozwoju w zakresie tematyki
wzorców projektowych oraz aplikacji
szkieletowych – framework’ów.
Wykład 1. 2 godz.
ARCHITEKTURA SYSTEMÓW WIELOWARSTWOWYCH
Zagadnienia: Architektura monolityczna, klient-serwer oraz wielowarstwowa. Podział na warstwy
widoku i danych. Architektura systemów opartych o technologię Java EE (Java Enterprise
Edition). Serwery aplikacyjne jako rozwiązania OpenSource i ich odpowiedniki komercyjne.
Wykład 2. 2 godz.
SKŁADNIA JĘZYKA JSP (JAVA SERVER PAGES)
Zagadnienia: JSP (java server pages) – jako mechanizm mieszania kodu JAVA z danymi
tekstowymi np. kodem HTML. Budowa skryptletów, dyrektywy, wyrażeń, deklaracji oraz
akcji JSP.
Wykład 3. 2 godz.
OBIEKTY JSP
Zagadnienia: Obsługa z poziomu JSP obiektów deklarowanych w sposób niejawny: request,
response, session i application.
Wykład 4. 2 godz.
DOSTĘP APLIKACJI WEBOWEJ DO BAZ DANYCH
Zagadnienia: Sterownik JDBC i jego obsługa z poziomu kodu JAVA. Klasyfikacja typów
sterowników JDBC.
Wykład 5. 2 godz.
SERVLETY I JAVA BEAN
Zagadnienia: szereg Klasy JAVA i ich zastosowanie w aplikacjach webowych. Servlety jako
odpowiednik JSP do generowania binarnej zawartości dokumentów (np. pliki graficzne).
Komponenty JavaBena do hermetyzacji kodu i wielokrotnego wykorzystania z poziomu
kodu JSP.
Wykład 6. 2 godz.
XML
Zagadnienia: Obsługa kodu XML z poziomu języka JAVA. Analizatory: zdarzeniowy (SAX) oraz
drzewiasty (DOM).
Wykład 7. 2 godz.
BEZPIECZEŃSTOW APLIKACJI WEBOWYCH
Autentykacja BASIC i FORM aplikacji webowych. Zastosowanie autoryzacji i
definiowania grup (ról) użytkowników serwerów aplikacyjnych. Generowanie certyfikatów
wymaganych przy protokole HTTPS (SSL) oraz elektroniczne podpisywanie archiwów
webowych WAR.
Wykład 8. 1 godz.
CZYNNOŚCI KONTROLNE I ORGANIZACYJNE ZWIĄZANE Z ZALICZENIEM
Zagadnienia:
KURSU NIEEGZAMINACYJNEGO
PLANY WYNIKOWE ĆWICZEŃ
Ćwiczenie1. 2godz.
PROTOKÓŁ HTTP
Opis ćwiczenia – cele i procedury ich osiągania: Serwer aplikacyjny TOMCAT, jego budowa i instalacja.
Tworzenie żądań i analiza odpowiedzi protokołu HTTP. Metody GET i POST protokołu
HTTP.
Umiejętności wynikowe i ich ewaluacja Instalacja i konfiguracja serwera aplikacyjnego TOMCAT. Sposoby
wysyłania żądań HTTP przy pomocy programu TELNET. Różnice pomiędzy metodami
GET i POST protokołu HTTP.
Wymagania podstawowe (stopnie dostateczne)
Wymagania rozszerzone (stopnie dobre)
Wykonywanie
instalacji
serwera
aplikacyjnego.
Wykonanie
prostych
żądań
HTTP
testujących jego działanie.
Wykonanie rekonfiguracji serwera i zmiany
portu nasłuchu z 8080 na wartość 80.
Wykonanie złożonych zapytać HTTP.
Zastosowanie monitora HTTP i wykonanie
żądań na plikach binarnych (rysunki, pdf, itp)
Określenie typów MIME tych dokumentów.
Ćwiczenie2.
2godz.
OBIEKTY REQUEST I RESPONSE
Opis ćwiczenia – cele i procedury ich osiągania: Obiekt request jako mechanizm do pobierania informacji o
danych przeglądarki www klienta. Obiekt response jako mechanizm wysyłania odpowiedzi
do klienta.
Wykonywanie analizy działania i budowy przykładów stron JSP
zawartych w aplikacji przykłady.war pobranej ze strony domowej. Aplikacja demonstruje
działanie podstawowych elementów języka JSP oraz wywoływanie metod obiektów request
i response.
Wymagania podstawowe (stopnie dostateczne) Wykonanie Wymagania
rozszerzone (stopnie dobre) Zrealizowanie
wywołania kodu pobierającego informacje o pobierania i wysyłanie ciasteczek (cookie) za
kliencie i jego modyfikacja
zgodna z pomocą obiektów request i response.
zaleceniami prowadzącego.
Przetestowanie
działania
formularzy
Zaprojektowanie
dwóch
stron
JSP wywoływanych z lokalnego i zdalnego
przekazujących dane za pośrednictwem komputera (np. z sąsiedniego stanowiska)
obiektu żądania (metoda getParameter).
Wywołanie i analiza kodu zmiany parametru
ContentType obiektu response wysyłanego
klientowi.
Ćwiczenie3. 2godz.
MECHANIZM SESJI
(OBIEKT SESSION)
Opis ćwiczenia – cele i procedury ich osiągania: Bezstanowość protokołu HTTP – mechanizmy sesji na serwerze
i ciasteczek na kliencie. Obiekt session do przechowywania danych określonych dla jednego
klienta. Czas sesji i jej inwalidacja.
Umiejętności wynikowe i ich ewaluacja:
Projektowanie stron JSP z użyciem obiektu session do
przekazywania danych pomiędzy wieloma stronami tego samego klienta. Tworzenie stron
sesyjnych i bez sesji poprzez ustawienia dyrektywy page. Analizowanie odpowiedzi HTTP
w poszukiwaniu identyfikatora sesji.
Wymagania podstawowe (stopnie dostateczne) Realizacja kilku Wymagania
rozszerzone (stopnie dobre)
Realizacja
stron
JSP
(3-5)
demonstrujących przykładowej aplikacji zadanej przez
przekazywanie danych sesji za pomocą prowadzącego np. wózka na zakupy na bazie
metod getAtribute i setAttribute obiektu obiektu session. Przetestowanie jednoczesnej
session.
komunikacji wielu użytkowników z jednym
wzorcowym serwerem.
Ćwiczenie4. 2godz.
KOMUNIKACJA Z BAZAMI DANYCH
(MYSQL I JDBC)
Opis ćwiczenia – cele i procedury ich osiągania: Komunikacja standardowego sterownika JDBC-ODBC oraz
dedykowanego dla bazy MySQL. Wzorcowa aplikacja WAR – instalacja i konfiguracja bazy
danych.
Umiejętności wynikowe i ich ewaluacja: Wykonywanie instalacji wzorcowej aplikacji jdbc.war. Instalacja
serwera baz danych MySQL
Wymagania podstawowe (stopnie dostateczne) Konfiguracja Wymagania rozszerzone (stopnie dobre) Rozwinięcie aplikacji
bazy danych i źródła na podstawie o dodatkowe elementy określone przez
udostępnionego skryptu portal.sql (struktury prowadzącego (np. dodatkowe formularze z
tabel, dane tabel oraz dane do autoryzacji różnymi typami danych)
użytkowników)
Umiejętności wynikowe i ich ewaluacja:
Ćwiczenie5.
2godz.
ARCHIWA WAR, JAVA BEAN I ARCHITEKTURA MODEL1
Opis ćwiczenia – cele i procedury ich osiągania: Hermetyzacja kodu dostępu do bazy danych (java.sql) w klasach
komponentów Java Bean. Archtektura MODEL1. Archiwa webowe WAR.
Wykonanie instalacji wzorcowej aplikacji model1.war. Zapoznanie
się z kodem JSP wywołującym komponenty Java Bean.
Wymagania podstawowe (stopnie dostateczne) Konfiguracja Wymagania rozszerzone (stopnie dobre) Hermetyzacja kodu
bazy danych zgodnie z poprzednim do komponentów Java Bean i jego
ćwiczeniem. Instalacja aplikacji webowej. wywoływanie z poziomu JSP za pomocą
Projekt własnych klas Java Bean (np. akcji <jsp:useBean>..</jsp:useBean>
StudentBean i StudentManager) na bazie
wzorcowych klas z model1.war
Ćwiczenie6. 2godz.
AUTENTYKACJA I AUTORYZACJA W APLIKACJIACH WEBOWYCH
Opis ćwiczenia – cele i procedury ich osiągania: Autentykacja BASIC i FORM. Konfiguracja pliku web.xml.
Autoryzacja użytkowników, ich role i hasła. Konfiguracja pliku user-tomcat.xml.
Umiejętności wynikowe i ich ewaluacja:.
Posługiwanie się plikami konfiguracyjnymi serwera. Umiejętność
dodawania nowych użytkowników , ich haseł oraz ról.
Wymagania podstawowe (stopnie dostateczne) Konfiguracja Wymagania
rozszerzone (stopnie dobre) Projektowanie
pliku web.xml dodająca autentykację do formularza do logowania za pomocą metody
zadanej aplikacji.
FORM.
Dodanie nowych użytkowników oraz ról do
pliku user-tomcat.xml.
Testowanie zdalne z innego komputera
pomiędzy wieloma studentami.
Umiejętności wynikowe i ich ewaluacja:
Ćwiczenie7.
2godz.
CERTYFIKATY, PROTOKÓŁ HTTPS (SSL)
Opis ćwiczenia – cele i procedury ich osiągania:. Tworzenie certyfikatu, magazyn certyfikatów. Konfiguracja
serwera i protokołu HTTPS. Mechanizm bezpiecznego połączenia SSL. Podpis cyfrowy.
Umiejętność tworzenia certyfikatów i konfiguracji serwera do
realizacji bezpiecznego połączenia SSL kodowanego kluczem o mocy 128 bitów.
Wymagania podstawowe (stopnie dostateczne) Wygenerowanie Wymagania rozszerzone (stopnie dobre) Podpisanie aplikacji
własnego certyfikatu.
webowej programem jarsign wcześniej
Konfiguracja pliku serwer.xml do obsługi uzyskanym certyfikatem. Przetestowanie
protokołu HTTPS nasłuchującego na porcie reakcji na zmianę wewnętrzną archiwum 8438 lun 438.
walidacja.
Przetestowanie
działania
komunikacji
HTTPS
i
instalacja
certyfikatu
w
przeglądarce klienta.
Umiejętności wynikowe i ich ewaluacja:
Ćwiczenie8.
1godz.
CZYNNOŚCI KONTROLNE I ORGANIZACYJNE ZWIĄZANE Z ZALICZENIEM
KURSU NIEEGZAMINACYJNEGO
OPIS RYGORÓW POŚREDNICH
Kolokwium
Opis kolokwium : Student otrzymuje 3 zagadnienia do opisania w czasie 30min. W zakres pytań nie
wchodzą zagadnienia programistyczne, a wyłącznie mechanizmy omawiane na wykładzie.
Jako bazę zaliczającą kolokwium przyjmuje się około 60% poprawnych
odpowiedzi. Każde z pytań jest oceniane w skali 0-5 punktów i za całość można uzyskać
maksymalnie 15 punktów. W przypadku braku zaliczenia student jest dodatkowo
odpytywany ustnie podczas zaliczania części ćwiczeniowej.
Sposób oceniania
Wymagania podstawowe (stopnie dostateczne)
Wymagania rozszerzone (stopnie dobre)
Podstawowa i prawidłowa orientacja w Szczegółowy opis mechanizmów poparty
opisie mechanizmów danego zagadnienia
dodatkowymi rysunkami i przykładami
zastosowań
Zaliczenie ćwiczeń
Opis zaliczenia : W skład zaliczenia ćwiczeń wchodzi obecność oraz aktywność w czasie zadań
ćwiczeniowych. Dodatkowo każda z grup (2-osoby) otrzymuje indywidualne zadanie
rozwinięcia wzorcowego projektu o określoną funkcjonalność.
Proces zaliczenia realizowany jest na specjalnie przygotowanym komputerze.
Każda grupa (2-osoby) prezentuje swoje rozwiązanie projektowe wraz z przygotowaną
dokumentacją. W przypadku niespełnienia podstawowych wymagań studenci otrzymują
dodatkowe zadania cząstkowe do realizacji oraz termin ponownego zaliczenia.
Sposób oceniania
Wymagania podstawowe (stopnie dostateczne)
Wymagania rozszerzone (stopnie dobre)
Prawidłowa instalacja oraz orientacja w
budowie własnej aplikacji webowej opartej
na projekcie jdbc.war lub model1.war.
Przygotowanie dokumentacji projektu wraz z
opisem jego instalacji
Zastosowanie architektury MODEL1 do
realizacji projektu. Hermetyzacja kodu oraz
brak typowych błędów programistycznych
pogarszających
bezpieczeństwo
i
funkcjonalność aplikacji.
WYKAZ ŹRÓDEŁ (PODRĘCZNIKÓW I SKRYPTÓW)
1.
2.
3.
4.
5.
strona domowa przedmiotu: http://kik.ie.tu.koszalin.pl/portal
wykład: http://kik.ie.tu.koszalin.pl/j2ee/doc/witryny_i_portale_internetowe.pdf
dodatkowymi materiałami związanymi z technologią J2EE: http://j2ee.ie.tu.koszalin.pl
Hans Bergsten – „JavaServer Pages” – www.rm.com.pl
Wojciech Romowicz - "Java Server Pages oraz inne komponenty JavaPlatform" http://helion.pl/ksiazki/jsp11.htm
6. Marty Hall - "Java Servlet i Java Server Pages" - http://helion.pl/ksiazki/jsjsp.htm
7. Jason Hunter, William Crawford - "Java Servlet. Programowanie. Wydanie II" http://helion.pl/ksiazki/jsjsp.htm
8. serwer aplikacyjny TOMCAT: http://jakarta.apache.org/tomcat
9. Bruce Eckel - "Thinking in Java. Wydanie 3. Edycja polska" http://helion.pl/ksiazki/thija3.htm
10. J2EE Programming (with Passion!) Online Course - http://www.javapassion.com/j2ee
Download