http://kik.ie.tu.koszalin.pl/portal Wymagania projektowe Projekty przeznaczone są dla grup 2-osobowych; • • • • Kazda grupa projektowa otrzyma numer projektu np: 13, który należy uwzględnić w projekcie: - nazwie archiwum war – projekt13.war; - kontekście http – http://localhost:8080/project13, - bazie danych dbms_portal13; - dokumentacji portal13.swx lub portal13.doc. • • Głównym celem takiego nazewnictwa jest umozliwienie jednoczesnego działania wszystkich projektów na tym samym systemie. Struktura archiwum projektu przykładowej aplikacji portal: portal – nazwa projektu uzgodniona z prowadzącym (podana nazwa ma być uwzględniana w całym projekcie – nazwa aplikacji webowej portal.war wywoływanej przez klienta poprzez adres http://localhost:8080/portal) dbms – katalog z plikami baz danych (baza danych, pliki sql) doc – katalog dokumentacji projektu (portal.doc) javadoc – katalog wygenerowanej dokumentacji klas java src – katalog źródeł aplikacji webowej wraz z katalogiem web-inf, plikiem web.xml, bibliotekami i źródłami klas javy readme.txt – plik tekstowy zawierający informacje o autorach Uwaga! W miejscach występowania słowa portal należy wstawić portalXX, gdzie XX to numer wariantu. Archiwum war ma zawierać tylko niezbedne pliki (jsp, skompilowany kod java, pliki graficzne i html) Dokumentacja: • • • • • • • opis projektu (z uwzględnieniem opisu teoretycznego użycia konkretnej technologii uzależnionej od tematu projektu – opis uzgodniony z prowadzącym), dane autorów (rok studiów, grupa i rodzaj studiów – wieczorowe, magisterskie uzupełniające lub inżynierskie) opis instalacji (konfiguracja aplikacji webowej i bazy danych itd.); model konceptualny bazy wraz z kodem SQL; informacje o stanie projektu (co zostało wykonane, co jest jeszcze do wykonania); odnośniki do materiałów źródłowych; dokumentacja javadoc klas javy Przy zaliczaniu nie jest wymagana postać papierowa dokumentacji tzw. makulatura . Wskazane jest przygotowanie dokumentacji przy użyciu pakitu OpenOffice. Celem wprowadzenia powyższych kryteriów jest wprowadzenie jednolitego wyglądu projektów i ułatwienie przeprowadzania procesu ich weryfikacji podczas zaliczeń. Proces realizacji projektu • • • Faza I - określenie funkcjonalności projektu, zaprojektowanie bazy danych do przechowywania danych, zaprojektowanie stron formularzy www Faza II – realizacja elementów dynamicznych (jsp, servlety, javabeans, jdbc, itp...) Faza III – realizacja dokumentacji i stworzenie archiwum projektowanej aplikacji. Ostatnie spotkanie jest równocześnie terminem rozliczania projektów. Dla osób aktywnych, ale chcących dopracować projekt dopuszczam termin w tygodniu administracyjnym. Na końcową ocenę z przedmiotu będą miały wpływ następujące czynniki: • • • • • Obecność na ćwiczeniach; Przygotowanie do ćwiczeń (znajomość zagadnień z wcześniejszych wykładów); Postępy prac nad projektem (Faza I-III) sprawdzany podczas ćwiczeń; Wynik kolokwium (termin kolokwium to ostatnie zajęcia wykładowe); Zaliczenie projektu (pytania pomocnicze i ustalenie końcowej oceny). Ocena z wykładu jest równoważna ocenie uzyskanej przy zaliczeniu projektu (może poza jakimiś szczególnymi przypadkami np. braku obecności na kolokwium). Zagadnienia nadprogramowe Projekty można zrealizować przy użyciu dodatkowych bibliotek np. Struts, spring, taglibs z projektu jakarta, biblioteki ora. W internecie można odnaleźć sporo różnego rodzaju darmowych bibliotek. Ich wykorzystanie może byc dodatkowo premiowane. Utrwalanie danych można realizować przy użyciu pakietu Hibernate, JDO lub innej (do uzgodnienia). Tematy projektów Uwaga! Projekty mają zostać oparte o architekturę model1 lub mvc. 1. System monitorowania aplikacji – zbieranie statystyk odwiedzin klientów i ich składowanie w bazie danych (z użyciem filtrów - servlety) 2. Internetowy album zdjęć z ich składowaniem w bazie danych (wykorzystanie biblioteki taglibs – upload) 3. System zdalnego głosowania (wykorzystanie własnych klas javabean do raportowania statystyk) – można zastosować zewnętrzne biblioteki raportowania – jasperreports itp. 4. System oddawania głosów na zadane pytanie (wykorzystanie mechanizmu ciasteczek) rejestracja wyników oraz statystyka czasowa oddawania głosów, moduł administratora do wprowadzania pytań – np. Jakiego systemu używasz....? 5. System Quize do odpytywania - wprowadzanie i modyfikacja pytań, możliwość wyboru wielu odpowiedzi (zastosowanie mechanizmu sesji wraz z monitorowaniem procesu przeprowadzania testu przy użyciu servlet’ów) 6. System obsługi i zarządzania banerami na stronie www (ile razy wybrano dany baner i z jakiego IP dokonano połączenia – (generacja statystyk ostatnich odwiedzin w postaci wykresu graficznego – np. grafika wektorowa SVG) 7. Obsługa rejestracji użytkowników i ich zainteresowań w bazie danych (personalizacja stron) • udostępnianie wybranych danych; • realizacja róźnych widoków stron – skiny; Komunikację z bazą danych zahermetyzować wykorzystując komponenty javabean; 8. System kolekcjonowania news’ów udostępnianych za pomocą xml-owego standardu RSS. (generowanie własnej struktury RSS z newsami zawartymi w bazie danych + moduł pobierania zewnętrznych news’ów i umieszczania ich prezentacji w html) 9. System udostępniania stron www poprzez sprawdzanie numeru IP klienta (baza danych z numerami IP klientów, którzy są upoważnione do odczytu danych zasobów • deklarowanie numeru IP np. 127.0.0.1 • deklarowanie grupy numerów (197.10.10.* numer dowolny lub zakres np. 197.10.10.0-100) Wykonać eksport kodu sprawdzania IP i komunikacji z bazą danych ze stron jsp do javabean lub bibliotek taglibs. 10. Aplikacja do obsługi konferencji (biblioteka upload do składowania plików publikacji oraz prezentacja składowanych danych z uwzględnieniem mechanizmów autentykacji); 11. Internetowy katalog stron o tematyce J2EE (realizacja zagnieżdzanych odnośników np. j2ee->servety->tomcat i struktur drzewiastych oraz hermetyzacja kodu do bibliotek taglibs lub javabeans. 12. System składowania plików – wyświetlanie zawartości katalogów (wielkość plików, rysunki określające typ pliku, liczba sciągnięć – popularność, itd...), zakładanie katalogów, upload & download plików składowanych w bazie. 13. PIM – aplikacja personalizująca użytkowników danej firm, intranet z selektywnym dostępem z określonych adresów IP, z możliwością planowania pracy – kalendarz spotkań (należy wykorzystać mechanizmy autoryzacji i sprawdzania jej na stronach jsp. Część kodu wyeksportować do bibliotek javabean umożliwiającej wysyłanie poczty (javaMail). 14. System automatycznego wyświetlania informacji News... Dana informacja zawiera identyfikator w postaci daty i na podstawie bieżącej daty można np. wybrać odpowiednią ikonkę dla wiadomości, czy też nie pokazywać już wiadomości przestarzałych. Rozwinąć moduł administratora oraz stworzyć możliwość wprowadzania/modyfikacji nowych wiadomości przez klientów. Kod komunikacji z bazą danych wyeksportować do komponentów javabean. 15. System internetowej bazy danych o lekach. Opracować system wyszukiwawczy oparty o dane składowane w XML’u z wykorzystaniem biblioteki xerces.jar (wzorowanie na aplikacji xml.war) 16. Aplikacja internetowa z modułem śledzenia klientów. Rozwinięcie mechanizmów obsługi ciasteczek po stronie klienta i sesji po stronie serwera. Składowanie informacji o „drodze –stronach które odwiedził klient przeglądający naszą witrynę”. 17. Komis komputerowy (Repozytorium sterowników – dodaj, usuń, ściągnij). Wykorzystać komponenty javabean, aby maksymalnie odizolować warstwę prezentacji od warstwy danych. 18. Raportowanie błędów (BugZilla) – system formularzy do zgłaszania usterek (weryfikacja danych przekazywanych przez formularze) 19. System zdalnej nauki słówek języka angielskiego. Wybór testu, prezentacja wyników, tworzenie nowych testów. 20. System CMR zarządzania witryną z zastosowaniem biblioteki HtmlArea. System prezentacji tworzonych dokumentów html (zastosować klasę javabean służącą do filtracji/walidacji strony html w celu eliminacji skryptów) Przygotowanie: Przemysław Sołtan (e-maik:[email protected]) ver 01.04.2005 KIK - Katedra Inżynierii Komputerowej