JBoss 40 Podrecznik administratora.pdf

(1208 KB) Pobierz
JBoss 4.0. Podręcznik administratora
IDZ DO
PRZYK£ADOW Y ROZDZIA£
JBoss 4.0. Podrêcznik
SPIS TREŒCI
administratora
KATALOG KSI¥¯EK
Autor: The JBoss Group
T³umaczenie: Adam Bochenek, Piotr Rajca
ISBN: 83-246-0092-2
Format: B5, stron: 616
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
Kompendium wiedzy o profesjonalnym serwerze aplikacji
Proces instalacji i konfiguracji
Tworzenie i udostêpnianie aplikacji
Administrowanie serwerem i zabezpieczanie go
Technologia J2EE œwiêci triumfy. Programiœci na ca³ym œwiecie stosuj¹ j¹ do tworzenia
rozbudowanych aplikacji korporacyjnych i e-commerce. Jednym z integralnych
elementów systemu zbudowanego w tej technologii jest odpowiedni serwer aplikacji.
Na rynku dostêpnych jest kilka platform komercyjnych i zyskuj¹cy na popularnoœci
produkt open-source — JBoss. JBoss to w pe³ni profesjonalny serwer aplikacji J2EE,
który dziêki bezp³atnemu dostêpowi znacznie redukuje koszty wdro¿enia systemów
informatycznych. Oczywiœcie to nie jedyna zaleta JBossa — trudno pomin¹æ jego
stabilnoœæ i bezpieczeñstwo, wsparcie ze strony tysiêcy u¿ytkowników z ca³ego œwiata
i modu³ow¹ budowê, która pozwala na szybkie dodawanie kolejnych us³ug.
„JBoss 4.0. Podrêcznik administratora” to wyczerpuj¹ce Ÿród³o informacji
o najnowszej edycji JBossa. Autorami s¹ twórcy JBossa, co gwarantuje wysoki poziom
merytoryczny. Znajdziesz tu omówienie wszystkich zastosowañ serwera oraz poznasz
sposoby tworzenia i wdra¿ania aplikacji J2EE wykorzystuj¹cych komponenty EJB,
serwlety, JMS i us³ugi sieciowe. Przeczytasz równie¿ o bezpieczeñstwie serwera
i aplikacji oraz obs³udze baz danych i transakcji. Ksi¹¿ka zawiera szczegó³owy opis
j¹dra JBossa, technologii Hibernate oraz programowania aspektowego.
Instalacja serwera
Domyœlna struktura katalogów
Pliki konfiguracyjne JBossa
Zastosowanie mechanizmów JNDI
Obs³uga transakcji
EJB i serwlety
Stosowanie us³ugi JMS
Zabezpieczanie serwera JBoss
Korzystanie z us³ugi Tomcat
Mapowanie tabel baz danych na obiekty za pomoc¹ Hibernate
Programowanie aspektowe
Poznaj architekturê serwera JBoss i skonfiguruj go tak,
aby pracowa³ z maksymaln¹ wydajnoœci¹
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ONOWOŒCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
319877857.001.png 319877857.002.png 319877857.003.png 319877857.004.png
Spis treści
O autorach ..................................................................................... 11
Wprowadzenie ................................................................................ 13
Rozdział 1. Instalacja i kompilacja serwera JBoss ............................................. 23
Pobranie plików binarnych ............................................................................................. 24
Warunki instalacji .................................................................................................... 24
Instalacja serwera przy użyciu pakietu zawierającego wersję binarną ........................... 24
Struktura katalogów serwera JBoss .......................................................................... 25
Domyślny zestaw konfiguracyjny serwera ............................................................... 25
conf\jboss-minimal.xml ........................................................................................... 27
conf\jboss-service.xml ............................................................................................. 27
conf\jboss.web ......................................................................................................... 27
conf\jndi.properties .................................................................................................. 27
conf\log4j.xml .......................................................................................................... 28
conf\login-config.xml ............................................................................................... 28
conf\server.policy ..................................................................................................... 28
conf\standardjaws.xml ............................................................................................. 28
conf\standardjboss.xml ............................................................................................. 28
conf\standardjbosscmp-jdbc.xml .............................................................................. 28
conf\xmdesc\*-mbean.xml ....................................................................................... 28
deploy\bsh-deployer.xml .......................................................................................... 28
deploy\cache-invalidation-service.xml ..................................................................... 29
deploy\client-deployer-service.xml .......................................................................... 29
deploy\ear-deployer.xml .......................................................................................... 29
deploy\ejb-deployer.xml .......................................................................................... 29
deploy\hsqldb-ds.xml ............................................................................................... 29
deploy\http-invoker.sar ............................................................................................ 29
deploy\jboss-aop.deployer ....................................................................................... 29
deploy\jboss-hibernate.deployer ............................................................................... 30
deploy\jboss-local-jdbc.rar ....................................................................................... 30
deploy\jboss-ws4ee.sar ............................................................................................. 30
deploy\jboss-xa-jdbc.rar ........................................................................................... 30
deploy\jbossjca-service.sar ....................................................................................... 30
deploy\jbossweb-tomcat50.sar ................................................................................. 30
deploy\jms\hsqldb-jdbc2-service.xml ...................................................................... 30
deploy\jms\jbossmq-destinations-service.xml .......................................................... 31
deploy\jms\jbossmq-httpil.sar .................................................................................. 31
4
JBoss 4.0. Podręcznik administratora
deploy\jms\jbossmq-service.xml .............................................................................. 31
deploy\jms\jms-ds.xml ............................................................................................. 31
deploy\jms\jms-ra.rar ............................................................................................... 31
deploy\jms\jvm-il-service.xml ................................................................................. 31
deploy\jms\uil2-service.xml ..................................................................................... 31
deploy\jmx-console.war ........................................................................................... 32
deploy\jmx-invoker-service.sar ................................................................................ 32
deploy\mail-ra.rar ..................................................................................................... 32
deploy\mail-service.xml ........................................................................................... 32
deploy\management\console-mgr.sar oraz web-console.war ................................... 32
deploy\monitoring-service.xml ................................................................................ 32
deploy\properties-service.xml .................................................................................. 33
deploy\scheduler-service.xml oraz schedule-manager-service.xml .......................... 33
deploy\sqlexception-service.xml .............................................................................. 33
deploy\uuid-key-generator.sar .................................................................................. 33
Sprawdzenie poprawności instalacji ............................................................................... 33
Ładowanie z serwera sieciowego ................................................................................... 35
Samodzielna kompilacja serwera JBoss na podstawie kodów źródłowych .................... 37
Dostęp do repozytorium CVS znajdującego się w serwisie SourceForge ................ 37
Repozytorium CVS .................................................................................................. 38
Anonimowy dostęp do CVS ..................................................................................... 38
Klient CVS ............................................................................................................... 39
Tworzenie dystrybucji serwera na podstawie kodu źródłowego .............................. 39
Kompilacja serwera na podstawie pobranego
z repozytorium CVS kodu źródłowego ................................................................... 39
Drzewo katalogów zawierających kod źródłowy serwera ........................................ 40
Korzystanie z predefiniowanego zestawu testów JBoss ........................................... 40
Rozdział 2. Jądro serwera JBoss ....................................................................... 45
JMX ................................................................................................................................ 45
Wprowadzenie do JMX ............................................................................................ 46
Serwer JBoss jako implementacja architektury JMX ..................................................... 52
Architektura ładowania klas serwera JBoss ............................................................. 52
Ładowanie klas i typy języka Java ........................................................................... 52
Komponenty XMBean serwera JBoss ...................................................................... 74
Połączenie z serwerem JMX .......................................................................................... 81
Podglądanie serwera — konsola JMX ..................................................................... 81
Połączenie z JMX za pomocą RMI .......................................................................... 85
Dostęp do JMX z wiersza poleceń ........................................................................... 88
Łączenie z JMX za pomocą innych protokołów ....................................................... 93
JMX jako mikrojądro ..................................................................................................... 93
Proces uruchamiania serwera ................................................................................... 94
Usługi MBean serwera JBoss ................................................................................... 95
Tworzenie usług MBean ........................................................................................ 107
Zależności i kolejność wdrażania ........................................................................... 121
Architektura usług wdrażających serwera JBoss .......................................................... 131
Obiekty wdrażające a classloadery ......................................................................... 134
Udostępnianie zdarzeń komponentów MBean przez protokół SNMP .......................... 135
Usługa zamiany zdarzenia na pułapkę ................................................................... 137
Zdalny dostęp do usług, wydzielone usługi wywołujące .............................................. 137
Przykład użycia wydzielonej usługi wywołującej
— usługa adaptora wywołań komponentu MBeanServer .................................... 140
JRMPInvoker — transport przy użyciu protokołu RMI/JRMP .............................. 147
PooledInvoker — transport przy użyciu RMI/gniazdo ........................................... 148
IIOPInvoker — transport przy użyciu RMI/IIOP ................................................... 148
Spis treści
5
JRMPProxyFactory — tworzenie dynamicznych pośredników JRMP .................. 149
HttpInvoker — RMI/HTTP Transport ................................................................... 149
HA JRMPInvoker — klastrowy transport RMI/JRMP ........................................... 150
HA HttpInvoker — klastrowy transport RMI/HTTP ............................................. 150
HttpProxyFactory — tworzenie dynamicznych pośredników HTTP ..................... 151
Czynności pozwalające udostępnić dowolny interfejs RMI
przez protokół HTTP ........................................................................................... 152
Rozdział 3. Obsługa nazw ............................................................................... 155
Ogólna charakterystyka JNDI ...................................................................................... 155
JNDI API ............................................................................................................... 156
J2EE i JNDI — środowisko komponentu aplikacji ................................................ 158
Architektura JBossNS .................................................................................................. 170
Fabryki tworzące obiekt kontekstu początkowego — InitialContext ..................... 173
Dostęp do JNDI przy użyciu HTTP ....................................................................... 178
Dostęp do JNDI przy użyciu HTTPS ..................................................................... 181
Bezpieczny dostęp do JNDI przy użyciu HTTP ..................................................... 183
Bezpieczny dostęp do JNDI
za pomocą niezabezpieczonego kontekstu tylko do odczytu ............................... 185
Dodatkowe komponenty związane z usługą nazw ................................................. 187
Rozdział 4. Transakcje ................................................................................... 193
Transakcje i JTA — wprowadzenie ............................................................................. 193
Blokowanie pesymistyczne i optymistyczne .......................................................... 194
Składniki transakcji rozproszonej .......................................................................... 195
Dwufazowy protokół XA ....................................................................................... 196
Wyjątki heurystyczne ............................................................................................. 196
Tożsamość i gałęzie transakcji ............................................................................... 197
Obsługa transakcji w serwerze JBoss ........................................................................... 197
Podłączenie menedżera transakcji do serwera JBoss ............................................. 198
Domyślny menedżer transakcji .............................................................................. 199
Obsługa interfejsu UserTransaction ....................................................................... 200
Rozdział 5. Komponenty EJB w JBoss ............................................................. 201
Komponenty EJB widziane z perspektywy klienta ...................................................... 201
Ustalenie konfiguracji pełnomocnika EJB ............................................................. 205
Komponenty EJB widziane z perspektywy serwera ..................................................... 210
Wydzielona usługa wywołująca — doręczyciel żądań ........................................... 210
Transport przy użyciu RMI/JRMP w środowisku klastrowym
— JRMPInvokerHA ............................................................................................ 214
Transport przy użyciu RMI/HTTP w środowisku klastrowym
— HTTPInvokerHA ............................................................................................ 214
Kontener EJB ............................................................................................................... 216
Komponent MBean EJBDeployer .......................................................................... 216
Struktura kontenera bazująca na modułach ............................................................ 231
Blokowanie komponentów encyjnych i wykrywanie zakleszczeń ............................... 243
Dlaczego blokowanie jest potrzebne ...................................................................... 244
Cykl życia komponentu encyjnego ........................................................................ 244
Domyślna strategia blokowania ............................................................................. 245
Dodatkowe obiekty przechwytujące i reguły blokowania ...................................... 245
Zakleszczenie ......................................................................................................... 246
Zaawansowana konfiguracja i optymalizacja ......................................................... 249
Uruchamianie komponentów w środowisku klastrowym ....................................... 251
Rozwiązywanie problemów ................................................................................... 251
6
JBoss 4.0. Podręcznik administratora
Rozdział 6. Usługa komunikatów JMS w JBoss ................................................ 253
Przykłady użycia JMS .................................................................................................. 253
Przykład komunikacji typu punkt-punkt ................................................................ 254
Przykład komunikacji typu wydawca-abonent ....................................................... 256
Przykład komunikacji wydawca-abonent z obsługą trwałego tematu .................... 261
Przykład komunikacji punkt-punkt połączonej
z użyciem komponentu sterowanego komunikatami (MDB) ............................... 264
Ogólna charakterystyka JBossMQ ............................................................................... 271
Usługi warstwy wywoływań .................................................................................. 271
Usługa SecurityManager ........................................................................................ 272
Usługa DestinationManager ................................................................................... 272
Usługa MessageCache ........................................................................................... 272
Usługa StateManager ............................................................................................. 273
Usługa PersistenceManager ................................................................................... 273
Miejsce docelowe komunikatów ............................................................................ 273
Konfiguracja komponentów MBean wchodzących w skład JBossMQ ........................ 274
Komponent org.jboss.mq.il.jvm.JVMServerILService .......................................... 275
Komponent org.jboss.mq.il.uil2.UILServerILService ............................................ 275
Komponent org.jboss.mq.il.http.HTTPServerILService ........................................ 278
Komponent org.jboss.mq.server.jmx.Invoker ........................................................ 279
Komponent org.jboss.mq.serwer.jmx.InterceptorLoader ....................................... 280
Komponent org.jboss.mq.sm.jdbc.JDBCStateManager ........................................... 280
Komponent org.jboss.mq.security.SecurityManager .............................................. 280
Komponent org.jboss.mq.server.jmx.DestinationManager .................................... 281
Komponent org.jboss.mq.server.MessageCache .................................................... 283
Komponent org.jboss.mq.pm.jdbc2.PersistenceManager ....................................... 284
Komponenty MBean reprezentujące miejsca docelowe ............................................. 286
Określanie dostawcy JMS dla kontenera MDB ............................................................ 290
Komponent org.jboss.jms.jndi.JMSProviderLoader .............................................. 291
Komponent org.jboss.jms.asf.ServerSessionPoolLoader ....................................... 293
Integracja z innymi dostawcami JMS ..................................................................... 293
Rozdział 7. JCA w JBoss ................................................................................. 295
Ogólna charakterystyka JCA ........................................................................................ 295
Architektura JBossCX .................................................................................................. 297
Komponent BaseConnectionManager2 .................................................................. 299
Komponent RARDeployment ................................................................................ 300
Komponent JBossManagedConnectionPool .......................................................... 301
Komponent CachedConnectionManager ................................................................ 302
Przykładowy szkielet adaptera zasobów JCA ........................................................ 303
Konfiguracja źródeł danych JDBC ............................................................................... 310
Konfiguracja ogólnych adapterów JCA ........................................................................ 319
Rozdział 8. Bezpieczeństwo ............................................................................ 323
Deklaratywny model obsługi bezpieczeństwa J2EE ..................................................... 323
Referencje — element security-role-ref ................................................................. 324
Tożsamość — element security-identity ................................................................ 325
Role — element security-role ................................................................................ 326
Uprawnienia wywoływania metod ......................................................................... 328
Uprawnienia dotyczące aplikacji sieciowych ......................................................... 331
Obsługa bezpieczeństwa deklaratywnego w serwerze JBoss ................................. 333
Wprowadzenie do JAAS .............................................................................................. 334
Czym jest JAAS? ................................................................................................... 334
Zgłoś jeśli naruszono regulamin