JavaServer Faces i Eclipse
Idz do
Galileo. Tworzenie
" Spis treści
aplikacji WWW
" Przykładowy rozdział
Autor: Andrzej Marciniak
Katalog książek
ISBN: 978-83-246-2656-4
Format: 158×235, stron: 384
" Katalog online
" Zamów drukowany
katalog
" Jak projektować estetyczne i wygodne interfejsy użytkownika aplikacji WWW?
" Od czego zacząć projekt wykorzystujący JavaServer Faces?
Twój koszyk
" Co oferuje środowisko Eclipse Galileo, a co narzędzia Web Tools Platform?
Dobry interfejs aplikacji WWW to połowa jej sukcesu. Osiągnij go z JavaServer Faces! Język Java
" Dodaj do koszyka
od lat zdobywa i ugruntowuje swoją popularność wśród programistów i twórców aplikacji WWW,
a rozmaite platformy i rozwiązania, w których jest on wykorzystywany, zostały na stałe włączone
do pakietu narzędzi stosowanych przez wielu z nich na co dzień. Jednym z najbardziej popularnych
Cennik i informacje
tego typu narzędzi jest JavaServer Faces. Można dzięki niemu w prosty sposób tworzyć interfejsy
użytkownika aplikacji, wykorzystujące platformę Java EE. Ten spójny i kompletny szkielet
" Zamów informacje
programistyczny jest obecnie najbardziej elastycznym, najlepiej dopracowanym i najprostszym
o nowościach
w użyciu rozwiązaniem, opartym na technologii serwletów.
" Zamów cennik
Jednak najprostszy wcale nie musi oznaczać prosty , o czym z pewnością miało okazję
przekonać się wielu studentów kierunków informatycznych i profesjonalnych programistów,
którzy postanowili praktycznie zapoznać się z możliwościami tej technologii. Nieocenioną
Czytelnia
pomocą okaże się dla nich książka JavaServer Faces i Eclipse Galileo. Tworzenie aplikacji WWW ,
dzięki której można uniknąć wielu typowych błędów i nauczyć się biegle korzystać z JSF,
" Fragmenty książek
zdobywając przy tym kompletną wiedzę na temat mechanizmów i rozwiązań zapewniających
online
działanie tej platformy. Co więcej, opisano tu nie tylko samą technologię, lecz również sposób jej
praktycznego wykorzystania w konkretnych projektach, co w przyszłości zaowocuje z pewnością
opracowaniem niejednej doskonałej i cieszącej oko aplikacji WWW.
" Mechanizmy działania aplikacji WWW i sposoby ich projektowania w oparciu o język Java
" Podstawowe informacje na temat szkieletu programistycznego JSF
" Realizacja praktycznego projektu z wykorzystaniem JavaServer Faces
" Rozszerzanie standardowej implementacji JSF i tworzenie niestandardowych interfejsów
użytkownika
" Opis środowiska programistycznego Eclipse Galileo oraz pakietu narzędzi Web Tools
Platform
Naucz się szybko i sprawnie tworzyć rozbudowane interfejsy użytkownika aplikacji
WWW za pomocÄ… szkieletu programistycznego JavaServer Faces
Kontakt
Helion SA
ul. Kościuszki 1c
44-100 Gliwice
tel. 32 230 98 63
e-mail: helion@helion.pl
© Helion 1991 2010
Spis tre ci
Wst p .............................................................................................. 7
Geneza ksi ki .................................................................................................................. 7
Cele .................................................................................................................................. 9
Czytelnicy ....................................................................................................................... 10
Uk ad zagadnie ............................................................................................................. 10
Materia y pomocnicze .................................................................................................... 11
Podzi kowania ................................................................................................................ 12
Rozdzia 1. Przed przyst pieniem do pracy z JSF ............................................... 13
1.1. Dlaczego JSF? ......................................................................................................... 13
1.1.1. Wersje JSF ................................................................................................... 15
1.2. JSF i Java EE (J2EE) ............................................................................................... 17
1.2.1. Serwlety i strony JSP ................................................................................... 19
1.2.2. Technologie prezentacji ............................................................................... 23
1.2.3. MVC w aplikacjach webowych ................................................................... 27
1.2.4. Implementacja MVC w JSF ......................................................................... 32
1.2.5. Kluczowe elementy JSF podsumowanie ................................................. 38
1.3. Pierwsza aplikacja JSF w rodowisku Eclipse ......................................................... 38
1.3.1. Instalacja kontenera serwletów .................................................................... 40
1.3.2. Instalacja rodowiska Eclipse Galileo .......................................................... 40
1.3.3. Integracja kontenera serwletów ze rodowiskiem Eclipse ........................... 43
1.3.4. Tworzenie projektu JSF ............................................................................... 44
1.3.5. Praca z JSF w oknie roboczym .................................................................... 48
1.3.6. Definiowanie modelu ................................................................................... 53
1.3.7. Definiowanie komponentu wspieraj cego ................................................... 54
1.3.8. Utworzenie strony do wprowadzania danych ............................................... 56
1.3.9. Utworzenie strony do wy wietlania wyniku ................................................ 59
1.3.10. Deklarowanie regu nawigacji .................................................................... 62
1.3.11. Uruchamianie aplikacji .............................................................................. 63
1.3.12. Podsumowanie przyk adu .......................................................................... 65
Rozdzia 2. Planowanie, modelowanie i projektowanie aplikacji JSF
na platformie Java EE ..................................................................... 67
2.1. Modelowanie interfejsu u ytkownika przy wykorzystaniu techniki scenopisu ....... 68
2.1.1. Przypadki u ycia .......................................................................................... 69
2.1.2. Model ekranów interfejsu u ytkownika ....................................................... 70
2.1.3. Model nawigacji .......................................................................................... 72
2.1.4. Prototypy ekranów ....................................................................................... 73
2.1.5. Diagram maszyny stanowej ......................................................................... 75
4 JavaServer Faces i Eclipse Galileo. Tworzenie aplikacji WWW
2.2. Warstwa biznesowa ................................................................................................. 77
2.2.1. Rola i elementy warstwy biznesowej ........................................................... 77
2.2.2. Interfejs do warstwy trwa o ci danych ......................................................... 85
2.3. Organizacja kodu aplikacji w Eclipse ...................................................................... 95
2.3.1. Projekty i modu y Java EE w Eclipse .......................................................... 95
2.3.2. Zastosowanie projektu u ytkowego
do przechowywania kodu warstwy biznesowej .......................................... 96
2.3.3. Modu y zale ne ............................................................................................ 99
Rozdzia 3. U ywanie JSF ............................................................................... 101
3.1. Komponenty zarz dzane ........................................................................................ 101
3.1.1. Deklaracja komponentu ............................................................................. 102
3.1.2. Zasi g komponentów ................................................................................. 105
3.1.3. Inicjalizacja w a ciwo ci komponentów .................................................... 106
3.1.4. Odwo ania do komponentów zarz dzanych ............................................... 113
3.1.5. Komponenty referowane ............................................................................ 115
3.1.6. Komponenty wspieraj ce ........................................................................... 116
3.1.7. J zyk wyra e UEL ................................................................................... 118
3.1.8. Konfiguracja komponentów i innych zasobów .......................................... 123
3.2. Obs uga zdarze .................................................................................................... 127
3.2.1. Typy zdarze i metody ich obs ugi ............................................................ 127
3.2.2. Natychmiastowe wykonywanie metod obs ugi zdarze ............................. 136
3.2.3. Parametryzacja komponentów UI .............................................................. 137
3.3. Nawigacja .............................................................................................................. 140
3.3.1. Definiowanie regu nawigacji .................................................................... 140
3.3.2. Nawigacja statyczna i dynamiczna ............................................................ 143
3.3.3. Rozstrzyganie niejednoznaczno ci w regu ach .......................................... 144
3.3.4. Przekierowanie i nawigacja poza JSF ........................................................ 144
3.4. Przetwarzanie pakietów zasobów i internacjonalizacja ......................................... 146
3.4.1. Lokalizatory ............................................................................................... 147
3.4.2. Pakiety zasobów ........................................................................................ 150
3.4.3. Pakiety komunikatów ................................................................................. 154
3.4.4. Internacjonalizacja w warstwie biznesowej ............................................... 157
3.5. Konwersja .............................................................................................................. 159
3.5.1. Standardowe konwertery ............................................................................ 159
3.5.2. Obs uga b dów konwersji ......................................................................... 162
3.6. Walidacja ............................................................................................................... 164
3.6.1. Implementacja metod walidacji ................................................................. 165
3.6.2. Standardowe walidatory ............................................................................. 168
3.6.3. Kombinowanie ró nych walidatorów ........................................................ 168
3.6.4. Wymuszanie wprowadzania danych .......................................................... 169
3.6.5. Pomijanie weryfikacji ................................................................................ 169
3.7. Standardowe znaczniki i komponenty UI .............................................................. 169
3.7.1. Komponenty i znaczniki biblioteki html .................................................... 170
3.7.2. Komponenty i znaczniki biblioteki core .................................................... 201
Rozdzia 4. Dopasowywanie JSF ..................................................................... 211
4.1. Przetwarzanie da .............................................................................................. 211
4.1.1. Scenariusze obs ugi da ......................................................................... 211
4.1.2. Standardowy cykl przetwarzania dania JSF ........................................... 214
4.1.3. Kolejka zdarze ......................................................................................... 225
4.1.4. Kolejka komunikatów ................................................................................ 228
4.2. Konfigurowanie i rozszerzanie standardowej implementacji ................................. 229
4.2.1. Infrastruktura aplikacji JSF ........................................................................ 229
4.2.2. Mechanizm nawigacji ................................................................................ 238
Spis tre ci 5
4.2.3. Mechanizm zarz dzania widokami ............................................................ 238
4.2.4. Mechanizm zarz dzania stanem ................................................................. 239
4.2.5. Mechanizm przetwarzania wyra e EL ..................................................... 239
4.2.6. Mechanizm obs ugi akcji ........................................................................... 243
4.3. Model komponentów ............................................................................................. 243
4.3.1. Struktura klas ............................................................................................. 244
4.3.2. Identyfikatory komponentów ..................................................................... 251
4.4. Praktyczne zastosowania obiektów PhaseListener ................................................ 255
4.4.1. Wzorzec POST-Redirect-GET ................................................................... 256
4.4.2. Generowanie danych binarnych ................................................................. 258
4.5. Z o one tabele ....................................................................................................... 260
4.5.1. Modele danych ........................................................................................... 260
4.5.2. Przyk ad tabeli interaktywnej ..................................................................... 261
4.6. JSF i bezpiecze stwo ............................................................................................. 264
4.6.1. Bezpiecze stwo zarz dzane przez kontener ............................................... 265
4.6.2. Bezpiecze stwo zarz dzane przez aplikacj .............................................. 270
Rozdzia 5. Tworzenie komponentów u ytkownika ........................................... 275
5.1. Komponenty interfejsu u ytkownika (UI) ............................................................. 275
5.1.1. Implementacja komponentu ....................................................................... 276
5.1.2. Przechowywanie stanu komponentu .......................................................... 280
5.1.3. Rejestracja komponentu ............................................................................. 282
5.1.4. Generowanie i obs uga zdarze ................................................................. 282
5.1.5. Integracja z JSP .......................................................................................... 284
5.2. Renderery .............................................................................................................. 289
5.2.1. Podstawy implementacji rendererów ......................................................... 290
5.2.2. Renderery i JavaScript ............................................................................... 291
5.2.3. Rejestracja rendererów ............................................................................... 295
5.3. Konwertery ............................................................................................................ 296
5.3.1. Podstawy implementacji konwerterów ...................................................... 297
5.3.2. Rejestracja konwerterów ............................................................................ 300
5.3.3. Integracja konwerterów z JSP .................................................................... 302
5.4. Walidatory ............................................................................................................. 304
5.4.1. Podstawy implementacji walidatorów ....................................................... 305
5.4.2. Rejestracja walidatorów ............................................................................. 306
5.4.3. Integracja walidatorów z JSP ..................................................................... 308
5.5. Komponenty JSF i AJAX ...................................................................................... 309
5.5.1. Podstawy AJAX-a ...................................................................................... 310
5.5.2. Biblioteka AJAX4JSF ................................................................................ 313
5.5.3. Biblioteki AJAX-a ..................................................................................... 315
Rozdzia 6. Narz dzia wsparcia i integracja z innymi szkieletami ..................... 327
6.1. Narz dzia Web Tools Platform .............................................................................. 327
6.1.1. Zarz dzanie serwerem aplikacji ................................................................. 328
6.1.2. Monitorowanie portów ............................................................................... 330
6.1.3. Narz dzia u atwiaj ce prac z bazami danych ........................................... 333
6.2. Technologie widoku .............................................................................................. 338
6.2.1. Facelets ...................................................................................................... 339
6.2.2. Apache Tiles 2 ........................................................................................... 344
6.2.3. Smile .......................................................................................................... 350
6 JavaServer Faces i Eclipse Galileo. Tworzenie aplikacji WWW
Dodatek A Standardy kodowania IANA ........................................................... 353
Dodatek B Za o enia JSF 2.0 ......................................................................... 355
Dodatek C Wspólne elementy konfiguracji ..................................................... 357
Dodatek D Komunikaty o b dach .................................................................. 359
Komunikaty o b dach komponentów .......................................................................... 359
Komunikaty o b dach konwerterów ............................................................................ 359
Komunikaty o b dach walidatorów ............................................................................. 360
Dodatek E Atrybuty przekazywane HTML i zdarzenia DHTML ........................... 361
Literatura ..................................................................................... 363
Skorowidz .................................................................................... 365
Rozdzia 2.
Planowanie, modelowanie
i projektowanie aplikacji
JSF na platformie Java EE
Po zapoznaniu si z podstawowymi wiadomo ciami na temat architektury i mo liwo-
ci szkieletu JSF mo emy przej do zagadnie zwi zanych z wytwarzaniem realnych
aplikacji WWW w rodowisku programistycznym Eclipse Galileo. W niniejszym
rozdziale wybrane fazy wytwarzania aplikacji s zilustrowane na przyk adzie Inter-
netowego Systemu Recenzowania Publikacji (w skrócie ISRP), przeznaczonego do
zapewnienia obs ugi informatycznej pracy redakcji czasopism naukowych oraz
wspomagania organizacji konferencji naukowych. Zakres funkcjonalno ci projekto-
wanego systemu obejmuje obs ug rejestracji artyku ów zg aszanych przez autorów,
proces recenzji artyku ów oraz administrowanie kontami u ytkowników.
Nie jest intencj autora zamieszczenie w tym miejscu pe nej dokumentacji systemu ISRP
jako z o onego studium przypadku u ycia JSF (ang. case study), ale raczej przedsta-
wienie pewnych praktyk projektowych zwi zanych z architektur i projektowaniem
aplikacji JSF na platformie Java EE. Prezentowane rozwi zania s wypadkow do-
wiadcze wielu osób w zakresie wykorzystania szkieletu JSF do wytwarzania war-
stwy prezentacji w aplikacjach o architekturze wielowarstwowej. Szczególna uwaga
po wi cona jest wybranym aspektom zwi zanym z czynno ciami fazy przedimple-
mentacyjnej projektu, takim jak modelowanie interfejsu u ytkownika oraz projekto-
wanie aplikacji oparte na architekturze wielowarstwowej. Zamieszczone w tym rozdziale
model i za o enia projektowe b d rozwijane w dalszej cz ci ksi ki i stanowi jed-
nocze nie odniesienie dla kolejnych przyk adów ilustruj cych elementy technologii JSF.
68 JavaServer Faces i Eclipse Galileo. Tworzenie aplikacji WWW
2.1. Modelowanie interfejsu
u ytkownika przy wykorzystaniu
techniki scenopisu
Jako modelu projektowanego systemu cz sto decyduje o powodzeniu projektu in-
formatycznego, a jego najbardziej po dan cech jest kompromisowo . Model po-
winien by jednocze nie zrozumia y dla klientów, którzy na jego podstawie oceniaj
funkcjonalno systemu, jak te zawiera wszystkie niezb dne dane dla zespo u pro-
jektowego, który z niego korzysta w fazie projektowania. Z jednej strony model powinien
by dopasowany do technologii stosowanych w fazach projektowania i implementacji
(przy za o eniu, e s one znane wcze niej i wynikaj np. z wymaga niefunkcjonal-
nych), a jednocze nie nie powinien wymaga rozleg ej wiedzy na ich temat od ana-
lityków wytwarzaj cych model.
Ze wzgl du na komponentowy charakter szkieletu JSF, scenopis wydaje si technik
modelowania, która doskonale spe nia opisane wy ej kryteria. Scenopis specyfikuje
model zawieraj cy analiz funkcjonaln , komponenty funkcjonalne oraz interakcje
pomi dzy nimi na ekranach oraz przep ywy i projekty ekranów. Najwi ksz zalet
scenopisu jest to, e jest on zrozumia y dla osób spoza bran y informatycznej, co za-
pewniaj diagramy przypadków u ycia i prototypy ekranów. W dalszej cz ci roz-
dzia u zaprezentowane zostan poszczególne elementy scenopisu, ilustrowane wybra-
nymi fragmentami modelu aplikacji ISRP.
Scenopis i metodyki modelowania,
projektowania i dokumentowania systemów informatycznych
Metodyki wytwarzania systemów informatycznych stanowi jeden z g ównych nur-
tów in ynierii oprogramowania. Obecnie standardowym narz dziem do modelowania
systemów informatycznych jest j zyk UML w wersji 2.1, który stanowi jednocze nie
system wizualizacji, specyfikowania oraz dokumentowania elementów systemu in-
formatycznego. UML jest u ywany wraz z jego reprezentacj graficzn jego ele-
mentom przypisane s symbole, które wi zane s ze sob na diagramach. Ze wzgl du
na to e UML zosta stworzony z my l o opisie wiata w analizie obiektowej, jego
specyfikacja nie definiuje gotowych rozwi za dla specyficznych zastosowa , takich
jak modelowanie interfejsu u ytkownika. Poniewa nie powsta zunifikowany stan-
dard dla modelowania zachowania i struktury aplikacji WWW, np. w zakresie mode-
lowania nawigacji, przep ywów sterowania na ekranach czy projektów ekranów, ró -
ne organizacje i firmy forsuj w asne rozszerzenia j zyka UML w tym zakresie.
Opieraj c si na UML, stworzono metodyk projektowania oprogramowania RUP
(Rational Unified Process), która definiuje szablon procesu iteracyjnego wytwarzania
oprogramowania opracowany przez firm Rational Software Corporation. Szablon
RUP pozwala na korzystanie z jego elementów w zale no ci od potrzeb projektowych.
Spo ród najlepszych praktyk i zasad in ynierii oprogramowania, które s w nim za-
warte, warto wskaza do istotne z punktu widzenia specyfiki aplikacji tworzonych
Rozdzia 2. Planowanie, modelowanie i projektowanie aplikacji JSF na platformie Java 69
w JSF zarz dzanie wymaganiami (ang. Requirement Management), u ywanie archi-
tektury bazuj cej na komponentach (ang. Component-based Architecture) czy gra-
ficzne projektowanie oprogramowania.
Scenopis (ang. storyboard) jest modelem projektowym, zwykle tworzonym przez
analityków biznesowych i projektantów interfejsu u ytkownika, dostarczonym ze-
spo owi deweloperów jako cz specyfikacji funkcjonalnej. Idea scenopisu wywodzi
si z przedstawionej wy ej metodyki RUP, która definiuje m.in. model projektowania
interakcji oparty na do wiadczeniu u ytkownika (ang. User-eXperience UX) w po-
staci ekranów, ich dynamicznej zawarto ci i sposobu nawigacji. Typowy scenopis
zawiera pi elementów:
przypadki u ycia opisuj ce wymagania funkcjonalne i przep ywy zdarze ,
model ekranów UI specyfikuj cy ekrany, komponenty i elementy UX,
diagram nawigacji ilustruj cy zwi zki pomi dzy ekranami (przede wszystkim
regu y nawigacji), oparty na notacji graficznej diagramu klas,
makiety ekranów (ang. mock-up) pokazuj ce szczegó owo elementy
funkcjonalne interfejsu GUI, tj. kontrolki i ich rozmieszczenie,
diagramy maszyny stanowej dla ka dego ekranu ilustruj ce interakcj warstwy
kontrolera ekranu z warstw modelu aplikacji.
2.1.1. Przypadki u ycia
Wygodnym narz dziem stosowanym na potrzeby identyfikacji i dokumentacji wyma-
ga funkcjonalnych s diagramy przypadków u ycia (ang. Use Case UC) w j zy-
ku UML. Ilustruj one funkcjonalno systemu poprzez wyszczególnienie i przedsta-
wienie za pomoc symboli graficznych: aktorów inicjuj cych dzia ania, przypadków
u ycia systemu oraz wyst puj cych pomi dzy nimi zwi zków. Dzi ki swojej prosto-
cie oraz abstrahowaniu od rozwi za technicznych, diagramy przypadków u ycia s
zrozumia e nawet dla osób, które nie posiadaj wykszta cenia informatycznego. Z za o-
enia stanowi one czytelne narz dzie pozwalaj ce na komunikacj pomi dzy twórcami
systemu i jego potencjalnymi odbiorcami czy inwestorami. Podsumowuj c, przypadki
u ycia opisuj , co system powinien robi , a nie jak ma to robi .
Na rysunku 2.1 przedstawiono diagram przypadków u ycia modeluj cy aktorów, przy-
padki u ycia oraz powi zania pomi dzy nimi, wyst puj ce w systemie ISRP. Sche-
matyczny rysunek postaci ludzkiej z o ony z kilku kresek jest symbolem graficznym
aktora, definiuj cego spójny zbiór ról odgrywanych przez u ytkowników przypadku
u ycia w czasie jego realizacji. Przypadki u ycia oznaczone s przy wykorzystaniu
wype nionych elips, a ich realizacje zwyk ymi liniami. Relacje rozszerzania i zawie-
rania dla przypadków u ycia opisane s przy zastosowaniu stereotypów umieszczo-
nych w cudzys owach ostrok tnych. Relacje uogólniania (w sensie zwi zku taksono-
micznego, opisuj cego dziedziczenie cech) przedstawione zosta y za pomoc linii
zako czonych strza k z pustym grotem.
70 JavaServer Faces i Eclipse Galileo. Tworzenie aplikacji WWW
Wy wietl szczegó y
Zaloguj Odzyskaj has o Edytuj dane osobowe
recenzji
Autor
(from Actors)
Poka szczegó y
pracy
Dodaj prac
U ytkownik
uwierzytelniony
Wy wietl list prac
(from Actors)
Zarejestruj
«extend
Edytuj prac
«include
Recenzent
(from Actors)
Dodaj recenzj
Zarz dzaj pracami
Wy wietl list
recenzji
Przypisz recenzenta
do pracy
Dodaj recenzenta
Administrator
Zarz dzaj
Wy wietl list
(from Actors) u ytkownikami
«include u ytkowników
Rysunek 2.1. Diagram przypadków u ycia dla ISRP
Dok adny opis wykorzystania diagramów UC do modelowania funkcjonalno ci sys-
temu Czytelnik znajdzie w ksi ce J zyk UML 2.0 w modelowaniu systemów infor-
matycznych, a wyczerpuj cy opis scenariuszy przypadków u ycia (tekstowej formy
prezentacji UC) znajduje si w ksi ce Writing Effective Use Cases1.
2.1.2. Model ekranów interfejsu u ytkownika
Model ekranów UI stanowi centralny punkt wyj ciowy dla równoleg ego rozwoju apli-
kacji, prowadzonego w zespo ach projektantów stron WWW i programistów aplikacji,
stanowi c jednocze nie interfejs umo liwiaj cy integracj kodu wytwarzanego przez
1
Polskie wydanie: Alistair Cockburn, Jak pisa efektywne przypadki u ycia, t um. Krzysztof Stencel,
Warszawa 2004.
Rozdzia 2. Planowanie, modelowanie i projektowanie aplikacji JSF na platformie Java 71
oba zespo y. Model ekranów UI definiuje zbiór ekranów (wraz z ich zawarto ci ) nie-
zb dnych do zrealizowania wymaga funkcjonalnych okre lonych przez przypadki
u ycia. W przypadku zawarto ci ekranów model definiuje wy cznie elementy funk-
cjonalne, jakie powinny znale si na nich, bez okre lania szczegó ów dotycz cych
typów kontrolek (np. pola tekstowego albo listy rozwijanej) czy ich rozmieszczenia.
W technice scenopisów standardowym elementom UML nadawane s nowe znaczenia
poprzez u ycie stereotypów przedstawionych w tabeli 2.1.
Tabela 2.1. Stereotypy modelu UI wykorzystywane w technice scenopisów
Stereotyp Rozszerzany element UML Reprezentuje
Screen Class Ekran (w postaci strony WWW).
Fragment ekranu (strony WWW) przeznaczony do
Compartment Class wykorzystania na wielu stronach aplikacji WWW
(definiuj cy sekcj strony np. stopk , nag ówek itp.).
Form Class Formularz strony WWW.
Input Attribute Pole wej ciowe formularza.
Submit Operation Element zatwierdzaj cy formularz i generuj cy akcj .
Statyczne informacje takie jak etykiety, obrazki czy panele nie s w ogóle reprezen-
towane w modelu UI. Dane biznesowe s przedstawiane na ekranie przy u yciu atry-
butów. Je li atrybut opatrzony jest stereotypem <
>, oznacza to, e s u y on do
wprowadzania danych. Pe ny opis atrybutu prezentowany jest wed ug nast puj cego
formatu: widoczno nazwa :typ liczebno =domy lna_warto {w a ciwo ci}. Za ó -
my, e mamy ekran s u cy do tworzenia konta nowego u ytkownika, dost pny wy-
cznie dla administratora systemu. Pole s u ce do wprowadzania uprawnie dla no-
wego u ytkownika mo e zosta opisane w nast puj cy sposób:
<
> +role :String 1 =reviewer {user.role==admin}
Powy szy zapis informuje nas, e atrybut role reprezentuje pole wej ciowe dla da-
nych typu String, wype niane przez u ytkowników z uprawnieniami administratora.
Widoczno elementu okre la, czy jego zawarto jest wy wietlana na ekranie (+),
czy te jest ukryta (-). Nazwa atrybutu powinna identyfikowa pole wprowadzania danych
(np. warto atrybutu name dla odpowiedniego pola formularza). Typem atrybutu mo-
e by dowolny typ prymitywny lub obiektowy, w cznie z abstrakcyjnymi typami
danych, reprezentuj cymi z o one struktury danych (takie jak listy czy mapy, które
mog by reprezentowane przez klasy abstrakcyjne List b d Map). Pozosta e w a ci-
wo ci atrybutu s opcjonalne i nie musz by definiowane. Liczebno okre la, ile in-
stancji elementu mo e by renderowanych na ekranie, warto domy lna jest warto ci
u ywan dla elementów, które nie s inicjowane, a nawiasy klamrowe umo liwiaj
zamieszczenie dodatkowych w a ciwo ci b d ogranicze dotycz cych atrybutu, np.
w zakresie dost pu do pola danych.
Zdarzenia generowane przez interfejs u ytkownika oraz akcje u ytkownika reprezen-
towane s za pomoc operacji. Je li operacja jest dodatkowo opatrzona stereotypem
<
>, oznacza to, e wskazany element UI s u y do zatwierdzania formularza
72 JavaServer Faces i Eclipse Galileo. Tworzenie aplikacji WWW
i generowania akcji, której wynik mo e wp ywa na nawigacj aplikacji. Pe ny opis ope-
racji prezentowany jest wed ug nast puj cego formatu: widoczno nazwa (lista_
parametrów) :zwracany_typ {w a ciwo ci}. Na przyk ad element wyzwalaj cy akcj
polegaj c na przej ciu do okna edycji bie cego u ytkownika mo e by opisany w na-
st puj cy sposób:
<> + edit ():String {current.user==notEmpty}
Nazwa operacji powinna by powi zana z nazw metody s u cej do obs ugi zdarze-
nia wygenerowanego przez operacj lub nazw powi zanego z operacj pola (np. gdy
operacja dotyczy walidacji danych wprowadzanych do pola wej ciowego po stronie
klienta). Widoczno elementu okre la, czy akcja ma by podj ta po stronie klienta (-),
czy po stronie serwera (+). W a ciwo ci dodatkowo charakteryzuj ce operacje za-
mieszczane s w opcjonalnych nawiasach klamrowych.
Na rysunku 2.2 zaprezentowano model ekranu realizuj cego dwa przypadki u ycia
systemu ISRP rejestracj nowego u ytkownika i edycj danych u ytkownika uwie-
rzytelnionego. Obie funkcjonalno ci systemu s do podobne i operuj na jednym
zbiorze danych, wi c do ich obs ugi zamodelowany zosta jeden ekran. Ekran sk ada
si z trzech cz ci: nag ówka (topMenu) zawieraj cego przyciski nawigacji, menu dla
uwierzytelnionych u ytkowników (leftMenu) i formularza danych u ytkownika. W przy-
padku rejestracji nowego u ytkownika elementy menu leftMenu oraz przycisk zapi-
sywania formularza nie s widoczne, podobnie jak przyciski nawigacji (patrz rysunek
2.4). Z kolei w przypadku korzystania z ekranu przez administratora wszystkie jego
elementy s widoczne.
2.1.3. Model nawigacji
W technice scenopisów diagramy nawigacji nie koncentruj si na konkretnym prze-
p ywie zdarze , ale pokazuj zwi zki pomi dzy ekranami. Model nawigacji zawiera
graficzn ilustracj przep ywów nawigacji dla wszystkich przypadków u ycia. Prze-
p ywy nawigacji dla poszczególnych przypadków mog by prezentowane na od-
dzielnych diagramach b d jednym diagramie zbiorczym, jak pokazano na rysunku
2.3. Jak mo na zauwa y , przedstawiony diagram nawigacji jest bardziej szczegó owy
ni opisana w rozdziale 1. graficzna reprezentacja regu nawigacji w Eclipse WTP.
Niemniej podczas tworzenia diagramu mo na wykorzysta gotowe obiekty ekranów,
stanowi ce zawarto utworzonego wcze niej modelu ekranów interfejsu u ytkownika.
Wyst puj ce na diagramie asocjacje skierowane wskazuj kierunek przep ywu stero-
wania pomi dzy dwoma ekranami. W szczególnych przypadkach asocjacje mog by
wyprowadzane do formularza (<