Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00179 007592 13584762 na godz. na dobę w sumie
JBoss AS 7. Tworzenie aplikacji - książka
JBoss AS 7. Tworzenie aplikacji - książka
Autor: Liczba stron: 296
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-8664-3 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> serwery internetowe >> inne
Porównaj ceny (książka, ebook, audiobook).

Wykorzystaj potencjał serwera aplikacji!

JBoss to nieustannie rozwijany, popularny serwer aplikacji, wykorzystywany wszędzie tam, gdzie wymagane są najwyższa niezawodność, bezpieczeństwo i wydajność tworzonej aplikacji. Zapewnia kompletne wsparcie dla Javy Enterprise Edition (Java EE), czyli między innymi wstrzykiwanie zależności, EJB 3.1, JAX-WS czy JAX-RS. Ponadto możesz go mieć w każdej chwili za darmo! Ta książka wprowadzi Cię w jego tajniki i pokaże, jak używać go najefektywniej.

W trakcie lektury dowiesz się, jak przygotować Twój serwer do pracy, co musisz zainstalować oraz jak skonfigurować poszczególne elementy, żeby uniknąć typowych problemów. W kolejnych rozdziałach zapoznasz się z kluczowymi elementami Java EE - wstrzykiwaniem zależności (ang. Context Dependency Injection) oraz połączeniem CDI z JPA (ang. Java Persistence API). Testowanie zaawansowanych aplikacji korzystających z Java EE może stanowić nie lada wyzwanie - osobny rozdział został poświęcony projektowi Arquillian, który w znaczący sposób ułatwia to zadanie. Ponadto nauczysz się swobodnie korzystać z konsoli administracyjnej oraz łączyć serwery w klastry. Książka ta jest świetną lekturą dla wszystkich programistów Javy, korzystających z serwera aplikacji JBoss AS 7.

JBoss AS 7 zapewnia:

Poznaj moc lidera wśród serwerów aplikacyjnych!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Tytuł oryginału: JBoss AS 7 Development Tłumaczenie: Rafał Jońca ISBN: 978-83-246-8664-3 Copyright © Packt Publishing 2013. First published in the English language under the title „JBoss AS 7 Development”. Polish edition copyright © 2014 by Helion S.A. All rights reserved. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/jboas7 Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność Spis tre(cid:258)ci O autorze O recenzentach Wst(cid:218)p Zawarto(cid:258)(cid:202) tej ksi(cid:200)(cid:285)ki Co jest potrzebne przy czytaniu ksi(cid:200)(cid:285)ki? Do kogo kierowana jest ksi(cid:200)(cid:285)ka? Konwencje stosowane w ksi(cid:200)(cid:285)ce Pobranie przyk(cid:239)adów dla ksi(cid:200)(cid:285)ki Errata Piractwo Rozdzia(cid:239) 1. Zaczynamy przygod(cid:218) z JBoss AS 7 Krótkie omówienie Javy EE i JBoss AS 7 Witamy w Javie EE 6 Nowe funkcje wprowadzone w JBoss AS 7 Instalacja serwera i komponentów klienta Instalacja Javy SE Instalacja (cid:258)rodowiska Eclipse Alternatywne (cid:258)rodowiska programistyczne Instalacja narz(cid:218)dzia Maven Podsumowanie Rozdzia(cid:239) 2. Nowo(cid:258)ci w JBoss AS 7 Podstawowe koncepcje AS 7 System plików AS 7 Zarz(cid:200)dzanie serwerem aplikacji Zarz(cid:200)dzanie JBoss AS 7 przy u(cid:285)yciu interfejsu webowego Uruchomienie konsoli webowej 9 11 13 13 14 15 15 16 16 16 17 17 18 20 21 22 26 28 29 30 31 31 33 36 36 37 Kup książkęPoleć książkę Spis tre(cid:286)ci Wdro(cid:285)enie pierwszej aplikacji na serwerze JBoss AS 7 Zaawansowane opcje wdro(cid:285)enia w Eclipse Zarz(cid:200)dzanie wdro(cid:285)eniami z poziomu konsoli webowej Wdra(cid:285)anie aplikacji przy u(cid:285)yciu narz(cid:218)dzia CLI Podsumowanie Rozdzia(cid:239) 3. Wprowadzenie do Javy EE 6 — komponenty EJB EJB 3.1 — nowe funkcjonalno(cid:258)ci Tworzenie singletonowych komponentów EJB Konfiguracja pliku pom.xml Tworzenie kodu aplikacji EJB Sterowanie wspó(cid:239)bie(cid:285)no(cid:258)ci(cid:200) ziarna Przygotowanie ziaren sesyjnych Dodanie ziarna bezstanowego Dodanie ziarna sesyjnego Wdro(cid:285)enie aplikacji EJB Tworzenie zdalnego klienta EJB Konfiguracja pliku pom.xml projektu klienta Tworzenie kodu klienta EJB Uruchomienie aplikacji klienckiej U(cid:285)ycie us(cid:239)ugi czasomierza EJB Dodanie do komponentu EJB metod asynchronicznych Podsumowanie Rozdzia(cid:239) 4. Poznawanie CDI Wprowadzenie do CDI Ziarna nazwane Zakresy CDI Implementacja CDI w JBoss AS Przekszta(cid:239)cenie systemu rezerwacji biletów Tworzenie kodu ziaren Czy komponenty EJB i ziarna zarz(cid:200)dzane przez JSF s(cid:200) ju(cid:285) przestarza(cid:239)e? Podsumowanie Rozdzia(cid:239) 5. (cid:146)(cid:200)czenie trwa(cid:239)o(cid:258)ci z CDI Trwa(cid:239)o(cid:258)(cid:202) danych i standardy Korzystanie z JPA Dodanie trwa(cid:239)o(cid:258)ci do aplikacji Konfiguracja bazy danych Instalacja sterownika JDBC w JBoss AS 7 Tworzenie projektu Maven Dodanie konfiguracji Maven Tworzenie encji Dodanie walidacji ziarna Konfiguracja trwa(cid:239)o(cid:258)ci Dodanie klas produkuj(cid:200)cych Tworzenie kodu zapyta(cid:241) 6 39 42 43 46 48 49 49 50 54 55 57 58 59 60 61 64 67 68 71 75 77 81 83 83 85 86 87 88 91 107 107 109 109 110 111 111 112 114 115 116 118 119 120 123 Kup książkęPoleć książkę Spis tre(cid:286)ci Dodanie do aplikacji us(cid:239)ug Dodanie kontrolera steruj(cid:200)cego (cid:285)(cid:200)daniami u(cid:285)ytkowników Tworzenie widoków JSF Uruchomienie przyk(cid:239)adu Podsumowanie Rozdzia(cid:239) 6. Testowanie aplikacji Testy jednostkowe i integracyjne Narz(cid:218)dzia pomagaj(cid:200)ce w testach Korzystanie z narz(cid:218)dzia Arquillian Pisanie testu Arquillian Konfiguracja pliku pom.xml Napisanie pierwszego testu Uruchomienie testu TicketTest Uruchomienie testu w zarz(cid:200)dzanym kontenerze Rozbudowa testu Informacje dodatkowe Podsumowanie Rozdzia(cid:239) 7. Tworzenie aplikacji wykorzystuj(cid:200)cych JBoss JMS Provider Krótkie wprowadzenie do JMS Elementy sk(cid:239)adowe JMS Podsystem komunikatów w JBoss Tworzenie i wykorzystanie fabryk po(cid:239)(cid:200)cze(cid:241) U(cid:285)ycie celów JMS Dodanie do aplikacji ziaren sterowanych komunikatami U(cid:285)ycie JMS do integracji z innymi systemami Przyk(cid:239)ad z (cid:285)ycia wzi(cid:218)ty — integracja HornetQ i ActiveMQ Podsumowanie Rozdzia(cid:239) 8. Dodanie do aplikacji us(cid:239)ug sieciowych Tworzenie us(cid:239)ug sieciowych bazuj(cid:200)cych na SOAP Strategie tworzenia us(cid:239)ug sieciowych typu SOAP Stos us(cid:239)ug sieciowych SOAP w JBoss Krótki przegl(cid:200)d architektury JAX-WS Tworzenie us(cid:239)ugi sieciowej w JBoss AS 7 Tworzenie us(cid:239)ugi sieciowej bazuj(cid:200)cej na REST Dost(cid:218)p do zasobów typu REST Us(cid:239)uga sieciowa typu REST w JBoss Wybór mi(cid:218)dzy us(cid:239)ugami REST i SOAP Podsumowanie Rozdzia(cid:239) 9. Zarz(cid:200)dzanie serwerem aplikacji Wprowadzenie do interfejsu wiersza polece(cid:241) (CLI) Uruchomienie wiersza polece(cid:241) Konstrukcja polece(cid:241) CLI 123 126 128 132 134 135 135 136 137 137 139 141 143 144 145 148 148 149 150 151 152 153 155 156 165 165 169 171 172 172 173 174 175 185 186 187 193 193 195 195 196 197 7 Kup książkęPoleć książkę Spis tre(cid:286)ci Wdra(cid:285)anie aplikacji przy u(cid:285)yciu CLI Tworzenie skryptów CLI U(cid:285)ycie zaawansowanych j(cid:218)zyków do tworzenia wyrafinowanych skryptów CLI U(cid:285)ycie j(cid:218)zyków skryptowych do wykonywania operacji na CLI Bezpo(cid:258)rednie u(cid:285)ycie API zarz(cid:200)dzania do sterowania serwerem aplikacji Odczytywanie opisów modelu zarz(cid:200)dzania za pomoc(cid:200) API bezpo(cid:258)redniego Podsumowanie Rozdzia(cid:239) 10. Klastry aplikacji JBoss AS 7 Podstawy wiedzy o klastrach Klastry w JBoss AS 7 Uruchamianie klastra w(cid:218)z(cid:239)ów samodzielnych Uruchamianie klastra w(cid:218)z(cid:239)ów domenowych Wdra(cid:285)anie aplikacji klastrowych Klastry EJB Tworzenie klastrów aplikacji webowych Równowa(cid:285)enie obci(cid:200)(cid:285)enia w aplikacjach webowych Podsumowanie Rozdzia(cid:239) 11. Bezpiecze(cid:241)stwo aplikacji JBoss AS 7 API bezpiecze(cid:241)stwa w j(cid:218)zyku Java Podsystem bezpiecze(cid:241)stwa JBoss AS 7 Konfiguracja pierwszego modu(cid:239)u logowania U(cid:285)ycie modu(cid:239)u logowania w aplikacji systemu rezerwacji biletów Prze(cid:239)(cid:200)czenie na bezpiecze(cid:241)stwo bazuj(cid:200)ce na formularzu Tworzenie modu(cid:239)u logowania wykorzystuj(cid:200)cego baz(cid:218) danych Zabezpieczenie komponentów EJB Zabezpieczanie warstwy transportowej Uruchamianie komunikacji SSL w JBoss AS Podsumowanie Dodatek A. Szybkie tworzenie aplikacji przy u(cid:285)yciu JBoss Forge Instalacja Forge Uruchomienie Forge Tworzenie pierwszej aplikacji Javy EE 6 w JBoss Forge Budowanie i wdro(cid:285)enie aplikacji Aplikacja forge-demo w akcji Skorowidz 201 203 205 206 209 209 212 213 213 214 215 216 220 221 231 232 238 239 239 241 242 243 245 246 249 252 255 263 265 265 266 268 271 272 275 8 Kup książkęPoleć książkę 6 Testowanie aplikacji Przyk(cid:239)adowa aplikacja zawiera ju(cid:285) dosy(cid:202) dobr(cid:200) mieszank(cid:218) technologii — s(cid:200) w niej najbardziej kluczowe elementy Javy EE (poza systemem Java Messaging, który zostanie opisany w na- st(cid:218)pnym rozdziale). Jednym z zada(cid:241) programistów, poza tworzeniem aplikacji, jest równie(cid:285) wykonywanie testów aplikacji wdro(cid:285)onej lub uruchomionej zdalnie na serwerze. W tym roz- dziale omówimy framework JBoss AS o nazwie Arquillian, który stara si(cid:218) zas(cid:239)u(cid:285)y(cid:202) na miano standardowego frameworka testów integracyjnych aplikacji biznesowych. Oto tematy omówione w tym rozdziale. (cid:81) Wprowadzenie do testów aplikacji biznesowych — od obiektów na(cid:258)laduj(cid:200)cych do frameworka Arquillian. (cid:81) Integracja przypadków testowych narz(cid:218)dzia Arquillian z aplikacj(cid:200) rezerwacji biletów. (cid:81) Wykorzystanie IDE Eclipse oraz konsoli Maven do uruchamiania testów Arquillian. Testy jednostkowe i integracyjne S(cid:239)owo „testy” mo(cid:285)na interpretowa(cid:202) na wiele sposobów; najcz(cid:218)(cid:258)ciej oznacza ono weryfikacj(cid:218) podstawowych funkcjonalno(cid:258)ci aplikacji. Testy mo(cid:285)na jednak przeprowadza(cid:202) w ró(cid:285)ny sposób, w zale(cid:285)no(cid:258)ci od tego, co jest obiektem weryfikacji, a tak(cid:285)e w jakim (cid:258)rodowisku prowadzi si(cid:218) weryfikacj(cid:218). Najpowszechniejszym rodzajem testów jest tak zwany test jednostkowy, tworzony przez pro- gramist(cid:218), by sprawdzi(cid:202), czy pewien niewielki, dobrze wyizolowany fragment aplikacji wyko- nuje swoje zadanie zgodnie z przeznaczeniem. Testy jednostkowe maj(cid:200) bardzo w(cid:200)ski zasi(cid:218)g; mo(cid:285)na je (cid:239)atwo napisa(cid:202) i wykona(cid:202), a ich u(cid:285)yteczno(cid:258)(cid:202) w du(cid:285)ej mierze zale(cid:285)y od tego, co pro- gramista uzna za warte sprawdzenia. Testy tego rodzaju s(cid:200) definiowane tylko przez programi- st(cid:218) i nie s(cid:200) w sposób bezpo(cid:258)redni u(cid:285)yteczne dla innych osób. Oczywi(cid:258)cie, je(cid:258)li programista Kup książkęPoleć książkę JBoss AS 7. Tworzenie aplikacji wykonuje swoj(cid:200) prac(cid:218) w(cid:239)a(cid:258)ciwie, na ich stosowaniu skorzystaj(cid:200) zarówno testerzy, jak i zwykli u(cid:285)ytkownicy, bo ryzyko b(cid:239)(cid:218)dów zmniejszy si(cid:218) znacz(cid:200)co. Bardziej wyrafinowanym rodzajem testu jest test integracyjny. Taki test ma za zadanie sprawdzi(cid:202) wspó(cid:239)prac(cid:218) ró(cid:285)nych elementów systemu; poniewa(cid:285) obejmuje swym zasi(cid:218)giem ca(cid:239)(cid:200) aplikacj(cid:218), wymaga znacznie wi(cid:218)kszego nak(cid:239)adu pracy. Najcz(cid:218)(cid:258)ciej niezb(cid:218)dne jest przygotowanie bazy danych i sprz(cid:218)tu, na którym taki test b(cid:218)dzie uruchamiany. Testy integracyjne w zdecydowanie bardziej przekonuj(cid:200)cy sposób sprawdzaj(cid:200) dzia(cid:239)anie systemu jako ca(cid:239)o(cid:258)ci (szczególnie z punktu wi- dzenia osób niezajmuj(cid:200)cych si(cid:218) programowaniem), je(cid:258)li tylko (cid:258)rodowisko testowe przypomina (cid:258)rodowisko produkcyjne. Narz(cid:218)dzia pomagaj(cid:200)ce w testach Jak nietrudno sobie wyobrazi(cid:202), w ka(cid:285)dym rodzaju testu u(cid:285)ywa si(cid:218) innego podej(cid:258)cia. W testach jednostkowych najpopularniejszymi elementami pomocniczymi s(cid:200) obiekty na(cid:258)laduj(cid:200)ce. Je(cid:258)li obiekt poddawany testowi posiada metody, a metody te zale(cid:285)(cid:200) od innych obiektów, jako za- le(cid:285)no(cid:258)(cid:202) mo(cid:285)na przekaza(cid:202) spreparowany obiekt na(cid:258)laduj(cid:200)cy oryginaln(cid:200) zale(cid:285)no(cid:258)(cid:202). Dzi(cid:218)ki temu test mo(cid:285)na przeprowadzi(cid:202) w izolacji. Doskona(cid:239)ym przyk(cid:239)adem takiej sytuacji s(cid:200) aplikacje MVC, w których wyst(cid:218)puje warstwa do- st(cid:218)pu do danych DAO (Data Access Object) i kontroler zapewniaj(cid:200)cy logik(cid:218) biznesow(cid:200). Gdy chcemy przetestowa(cid:202) kontroler uzale(cid:285)niony do warstwy DAO, wystarczy utworzy(cid:202) obiekt na- (cid:258)laduj(cid:200)cy obiekt DAO i przekaza(cid:202) go do kontrolera. Takie podej(cid:258)cie, cho(cid:202) szybkie w realizacji i (cid:239)atwe do zrozumienia, ma kilka ogranicze(cid:241). Po pierwsze, integracja dotyczy sztucznego (cid:258)rodowiska, w którym mo(cid:285)na poczyni(cid:202) niew(cid:239)a(cid:258)ciwe za(cid:239)o(cid:285)enia na temat zachowania i stabilno(cid:258)ci rzeczywistego (cid:258)rodowiska. Po drugie, uzyskuje si(cid:218) trudn(cid:200) w utrzymaniu bibliotek(cid:218) obiektów na(cid:258)laduj(cid:200)cych, która daje to przyjemne uczucie dobrze spe(cid:239)nionego obowi(cid:200)zku, gdy wszystkie testy dzia(cid:239)aj(cid:200) poprawnie. Cho(cid:202) obiekty na(cid:258)laduj(cid:200)ce maj(cid:200) swoje zalety (szczególnie na etapie wst(cid:218)pnych prac nad sys- temem, gdy nie istnieje jeszcze pe(cid:239)na implementacja podsystemu), najlepiej pozosta(cid:202) tak bli- sko, jak to mo(cid:285)liwe, docelowego (cid:258)rodowiska, w którym dzia(cid:239)a(cid:202) ma finalna wersja kodu. Arquillian to platforma u(cid:239)atwiaj(cid:200)ca tworzenie testów integracyjnych dla aplikacji Javy. Odpowiada za przygotowanie kontenera, zarz(cid:200)dzanie nim, a tak(cid:285)e wdro(cid:285)eniem go, oraz za inicjalizacj(cid:218) frameworka, by programista móg(cid:239) si(cid:218) skupi(cid:202) na pisaniu testów — prawdziwych testów. Arquillian minimalizuje nak(cid:239)ad pracy programisty zwi(cid:200)zany z przygotowaniem (cid:258)rodowiska testowego, bo zajmuje si(cid:218) mi(cid:218)dzy innymi: (cid:81) zarz(cid:200)dzaniem cyklem (cid:285)ycia kontenera (jego uruchomieniem i zatrzymaniem), (cid:81) (cid:239)(cid:200)czeniem klas testów z klasami zale(cid:285)no(cid:258)ci i zasobami w jedno archiwum do natychmiastowego wdro(cid:285)enia, 136 Kup książkęPoleć książkę Rozdzia(cid:225) 6. • Testowanie aplikacji (cid:81) rozbudowywaniem klas testów (na przyk(cid:239)ad przez automatyczne rozwi(cid:200)zanie wstrzykni(cid:218)(cid:202) @Inject, @EJB i @Resource), (cid:81) wdro(cid:285)eniem archiwum na serwerze testowym (wdro(cid:285)eniem i usuni(cid:218)ciem wdro(cid:285)enia), a tak(cid:285)e przechwyceniem wyników testu. W nast(cid:218)pnym podrozdziale wska(cid:285)emy elementy niezb(cid:218)dne do uruchomienia testów integracyj- nych przy u(cid:285)yciu frameworka Arquillian. Korzystanie z narz(cid:218)dzia Arquillian Cho(cid:202) Arquillian nie jest zale(cid:285)ne od konkretnego narz(cid:218)dzia do budowania pakietów, najcz(cid:218)- (cid:258)ciej stosuje si(cid:218) je w po(cid:239)(cid:200)czeniu z narz(cid:218)dziem Maven, które zarz(cid:200)dza zale(cid:285)no(cid:258)ciami, wi(cid:218)c u(cid:239)atwia zadanie do(cid:239)(cid:200)czenia bibliotek Arquillian do aplikacji, bo znajduj(cid:200) si(cid:218) w centralnym re- pozytorium Maven. W zale(cid:285)no(cid:258)ci od archetypu u(cid:285)ytego do wygenerowania projektu, mo(cid:285)e istnie(cid:202) ró(cid:285)na struktura folderów, ale nie jest to (cid:285)adn(cid:200) przeszkod(cid:200). Istotne jest tylko, by w folderze src znalaz(cid:239)a si(cid:218) na- st(cid:218)puj(cid:200)ca struktura: (cid:81) main/ (cid:81) java/ — tu trzeba umie(cid:258)ci(cid:202) wszystkie pliki (cid:283)ród(cid:239)owe aplikacji Java (w odpowiednich pakietach), (cid:81) resources/ — tu trzeba umie(cid:258)ci(cid:202) wszystkie pliki konfiguracyjne aplikacji, (cid:81) test/ (cid:81) java/ — tu trzeba umie(cid:258)ci(cid:202) wszystkie pliki (cid:283)ród(cid:239)owe testów w j(cid:218)zyku Java (w odpowiednich pakietach), (cid:81) resources/ — tu trzeba umie(cid:258)ci(cid:202) wszystkie pliki konfiguracyjne testów (na przyk(cid:239)ad persistence.xml). Wi(cid:218)kszo(cid:258)(cid:202) prac odbywa si(cid:218) w folderze test/java, który zawiera klasy testów Arquillian. Pisanie testu Arquillian Je(cid:258)li kiedykolwiek tworzy(cid:239)e(cid:258) testy przy u(cid:285)yciu JUnit (http://www.junit.org), testy Arquillian b(cid:218)d(cid:200) wygl(cid:200)da(cid:239)y bardzo podobnie, ale z kilkoma istotnymi dodatkami. Do przygotowania testów, podobnie jak wcze(cid:258)niej, wykorzystamy Eclipse i Maven. Je(cid:258)li do projektu chce si(cid:218) doda(cid:202) klasy testów, nie trzeba tworzy(cid:202) nowego projektu. By jednak zapewni(cid:202) odpowiedni proces nauki, przyk(cid:239)ad znajduje si(cid:218) w osobnym projekcie, wi(cid:218)c b(cid:218)dzie wiadomo, co dok(cid:239)adnie doda(cid:202), by uruchomi(cid:202) testy Arquillian. 137 Kup książkęPoleć książkę JBoss AS 7. Tworzenie aplikacji Aby unikn(cid:200)(cid:202) ponownego tworzenia ca(cid:239)ego projektu od podstaw, mo(cid:285)na po prostu sklonowa(cid:202) projekt ticket-agency-jpa, nada(cid:202) mu nazw(cid:218) ticket-agency-test i przenie(cid:258)(cid:202) g(cid:239)ówny pakiet z com.packtpub.as7development.chapter5 na com.packtpub.as7development.chapter6. Je(cid:258)li to nadal za du(cid:285)o pracy, mo(cid:285)na równie(cid:285) zaimportowa(cid:202) projekt rozdzial06 z archiwum przyk(cid:239)adów dotycz(cid:200)- cych ksi(cid:200)(cid:285)ki. Z menu File wybieramy polecenie Import, a nast(cid:218)pnie Existing Maven Projects. Wskazujemy folder zawieraj(cid:200)cy przyk(cid:239)ady dla rozdzia(cid:239)u 6., a nast(cid:218)pnie zaznaczamy na li(cid:258)cie plik pom.xml. 138 Kup książkęPoleć książkę Rozdzia(cid:225) 6. • Testowanie aplikacji Klikamy przycisk Finish i sprawdzamy, czy w widoku Project Explorer struktura folderów od- powiada poni(cid:285)szej. Przyjrzyjmy si(cid:218) teraz podstawowym zale(cid:285)no(cid:258)ciom wymaganym do uruchomienia przypadków testowych Arquillian. Konfiguracja pliku pom.xml Pierwsz(cid:200) zale(cid:285)no(cid:258)ci(cid:200) niezb(cid:218)dn(cid:200) do dodania w celu uruchomienia testów Arquillian jest za- le(cid:285)no(cid:258)(cid:202) junit. dependency groupId junit /groupId artifactId junit /artifactId scope test /scope /dependency Warto zwróci(cid:202) uwag(cid:218), (cid:285)e w zale(cid:285)no(cid:258)ci tej (podobnie jak w kolejnych) stosuje si(cid:218) zakres test. Oznacza to, (cid:285)e Maven u(cid:285)yje jej tylko do uruchamiania testów i nie do(cid:239)(cid:200)czy do ko(cid:241)cowej wersji artefaktów. Zale(cid:285)no(cid:258)(cid:202) junit stanowi cz(cid:218)(cid:258)(cid:202) BOM (Bill of Materials) z JBoss, wi(cid:218)c nie trzeba wskazywa(cid:202) wersji za- le(cid:285)no(cid:258)ci. To samo dotyczy zale(cid:285)no(cid:258)ci zwi(cid:200)zanych z Arquillian. Aby testowa(cid:202) funkcje typu enterprise, takie jak EJB lub JTA (Java Transaction API), ko- nieczne jest do(cid:239)(cid:200)czenie zale(cid:285)no(cid:258)ci org.jboss.arquillian.junit. dependency groupId org.jboss.arquillian.junit /groupId artifactId arquillian-junit-container /artifactId scope test /scope /dependency 139 Kup książkęPoleć książkę JBoss AS 7. Tworzenie aplikacji Poniewa(cid:285) w testach Arquillian u(cid:285)ywa si(cid:218) specjalnego protoko(cid:239)u do komunikacji z serwerem aplikacji, konieczne jest dodanie zale(cid:285)no(cid:258)ci org.jboss.arquillian.protocol (jak wskazuje na- zwa, jest zgodna ze specyfikacj(cid:200) Servlet 2.5 i 3.0). dependency groupId org.jboss.arquillian.protocol /groupId artifactId arquillian-protocol-servlet /artifactId scope test /scope /dependency Ostatni(cid:200) zale(cid:285)no(cid:258)ci(cid:200) do dodania jest kontener weld. Musimy go doda(cid:202), poniewa(cid:285) b(cid:218)dziemy testowa(cid:202) pewne zaawansowane elementy CDI, takie jak komunikacja o zakresie konwersacji. dependency groupId org.jboss.weld /groupId artifactId weld-core-test-arquillian /artifactId version 1.1.9.Final /version /dependency Po ustaleniu zale(cid:285)no(cid:258)ci do konfiguracji musimy jeszcze doda(cid:202) dwa profile. Profil s(cid:239)u(cid:285)y do utworzenia innego (cid:258)rodowiska docelowego dla celów Maven. Oto krótki opis obu profilów. (cid:81) Pierwszy profil nosi nazw(cid:218) arq-jbossas-managed. Uruchomi on now(cid:200) instancj(cid:218) JBoss AS, wykona testy i wy(cid:239)(cid:200)czy instancj(cid:218). profile id arq-jbossas-managed /id dependencies dependency groupId org.jboss.as /groupId artifactId jboss-as-arquillian-containermanaged /artifactId scope test /scope /dependency /dependencies /profile (cid:81) Drugi profil nosi nazw(cid:218) arq-jbossas-remote i wykonuje testy, korzystaj(cid:200)c ze zdalnej instancji JBoss AS. profile id arq-jbossas-remote /id dependencies dependency groupId org.jboss.as /groupId artifactId jboss-as-arquillian-containerremote /artifactId scope test /scope /dependency /dependencies /profile 140 Kup książkęPoleć książkę Rozdzia(cid:225) 6. • Testowanie aplikacji Napisanie pierwszego testu Po zako(cid:241)czeniu konfiguracji mo(cid:285)na przyst(cid:200)pi(cid:202) do pisania kodu testu. Tworzymy klas(cid:218) o na- zwie TicketTest w pakiecie com.packtpub.as7development.chapter6.test. Pierwszym elementem, który nale(cid:285)y doda(cid:202) do klasy, jest adnotacja informuj(cid:200)ca JUnit, (cid:285)e sterowaniem testem powi- nien zaj(cid:200)(cid:202) si(cid:218) Arquillian. @RunWith(Arquillian.class) public class TicketTest { } Arquillian poszukuje w klasie testu metody statycznej oznaczonej adnotacj(cid:200) @Deployment, by utworzy(cid:202) mikrowdro(cid:285)enie zawieraj(cid:200)ce wszystkie zasoby, podobnie jak mia(cid:239)oby to miejsce w przypadku standardowego wdro(cid:285)enia za pomoc(cid:200) ulubionych narz(cid:218)dzi. @Deployment public static Archive ? createTestArchive() { return ShrinkWrap.create(WebArchive.class, ticket-agency-test.war ) .addPackage(SeatProducer.class.getPackage()) .addPackage(Seat.class.getPackage()) .addPackage(TicketService.class.getPackage()) .addPackage(DataManager.class.getPackage()) .addAsResource( META-INF/persistence.xml ) .addAsWebInfResource(EmptyAsset.INSTANCE, beans.xml ); } Przedstawione API umo(cid:285)liwiaj(cid:200)ce (cid:239)atwe tworzenie (cid:239)a(cid:241)cuchów wywo(cid:239)a(cid:241) zapewnia projekt ShrinkWrap (http://www.jboss.org/shrinkwrap). Metoda create przyjmuje jako parametry typ jednostki wdro(cid:285)enia (WebArchive) i nazw(cid:218) wdro(cid:285)enia (w tym przypadku ticket-agency-test.war), a nast(cid:218)pnie umo(cid:285)liwia wskazanie wszystkich zasobów do do(cid:239)(cid:200)czenia do archiwum. W pre- zentowanym przyk(cid:239)adzie, zamiast do(cid:239)(cid:200)cza(cid:202) wszystkie klasy, u(cid:285)ywamy metody pomocniczej addPackage, która dodaje wszystkie klasy znajduj(cid:200)ce si(cid:218) w wybranym pakiecie (przekazanie do metody wyniku wykonania metody Seat.class.getPackage() spowoduje dodanie wszystkich klas zawartych w tym samym pakiecie, co klasa Seat). Po tych wszystkich etapach przygotowawczych mo(cid:285)emy doda(cid:202) metod(cid:218) przeprowadzaj(cid:200)c(cid:200) test. @javax.inject.Inject TicketService ticketService; @Inject Logger log; @Test public void testTicketAgency () throws Exception { 141 Kup książkęPoleć książkę JBoss AS 7. Tworzenie aplikacji SeatType seatType = new SeatType(); seatType.setDescription( opis ); seatType.setPrice(30); seatType.setQuantity(5); ticketService.createSeatType(seatType); log.info( Utworzono typ miejsc +seatType.getDescription()); assertNotNull(seatType.getId()); } Metoda testTicketAgency utworzy nowy atrybut SeatType przy u(cid:285)yciu metody createSeat (cid:180)Type z klasy TicketService. Warto zwróci(cid:202) uwag(cid:218) na sposób wstrzykni(cid:218)cia TicketService — od- bywa si(cid:218) w ten sam sposób, jakby kod by(cid:239) uruchamiany po stronie serwera. Zako(cid:241)czyli(cid:258)my tworzenie pierwszego przypadku testowego. Musimy jeszcze doda(cid:202) konfiguracj(cid:218) Arquillian, umieszczaj(cid:200)c j(cid:200) w pliku arquillian.xml, w folderze src/test/resources. ?xml version= 1.0 encoding= UTF-8 ? arquillian xmlns= http://jboss.org/schema/arquillian xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation= http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd defaultProtocol type= Servlet 3.0 / container qualifier= jboss default= true configuration property name= managementAddress localhost /property property name= managementPort 9999 /property /configuration /container /arquillian Element defaultProtocol wymusza na frameworku Arquillian, by stosowa(cid:239) protokó(cid:239) Servlet 3.0 dla wszystkich kontenerów. To obecnie najlepiej obs(cid:239)ugiwany protokó(cid:239). Dodatkowo nale(cid:285)y wskaza(cid:202) adres i port systemu zarz(cid:200)dzania, je(cid:258)li nie jest dost(cid:218)pny pod do- my(cid:258)lnymi warto(cid:258)ciami (w prezentowanym przyk(cid:239)adzie u(cid:285)ywamy warto(cid:258)ci domy(cid:258)lnych, ale do(cid:239)(cid:200)czyli(cid:258)my elementy, by wskaza(cid:202) ich prawid(cid:239)ow(cid:200) lokalizacj(cid:218) w pliku konfiguracyjnym). Przed uruchomieniem testu nale(cid:285)y si(cid:218) upewni(cid:202), (cid:285)e wszystkie elementy projektu znajduj(cid:200) si(cid:218) we w(cid:239)a(cid:258)ciwych miejscach. 142 Kup książkęPoleć książkę Rozdzia(cid:225) 6. • Testowanie aplikacji Uruchomienie testu TicketTest Aby osi(cid:200)gn(cid:200)(cid:202) w(cid:239)a(cid:258)ciwy rezultat, warto wyczy(cid:258)ci(cid:202) i ponownie skompilowa(cid:202) ca(cid:239)y projekt, by usun(cid:200)(cid:202) ewentualne artefakty pochodz(cid:200)ce z wcze(cid:258)niejszego projektu ticket-agency-jpa (je(cid:258)li pliki by(cid:239)y kopiowane). Z tego wzgl(cid:218)du trzeba u(cid:285)y(cid:202) przedstawionego poni(cid:285)ej celu Maven, wykorzystuj(cid:200)c w tym celu wiersz polece(cid:241) lub IDE Eclipse. mvn clean install Nast(cid:218)pnie musimy wskaza(cid:202), czy testy maj(cid:200) by(cid:202) uruchamiane przy u(cid:285)yciu profilu zdalnego Arquillian (wykorzystana zostanie istniej(cid:200)ca instancja JBoss AS 7), czy te(cid:285) ma zosta(cid:202) uruchomiona nowa instancja JBoss wraz z zarz(cid:200)dzanym profilem. Je(cid:258)li serwer JBoss jest ju(cid:285) uruchomiony, przechodzimy do w(cid:239)a(cid:258)ciwo(cid:258)ci projektu, a potem do w(cid:239)a(cid:258)ciwo(cid:258)ci Maven. W polu Active Maven Profiles wpisujemy warto(cid:258)(cid:202) arq-jbossas-remote, która zosta(cid:239)a wcze(cid:258)niej zadeklarowana w pliku pom.xml. 143 Kup książkęPoleć książkę JBoss AS 7. Tworzenie aplikacji Teraz wystarczy ju(cid:285) tylko klikn(cid:200)(cid:202) klas(cid:218) TicketTest w oknie drzewa projektu prawym przyciskiem myszy i wybra(cid:202) polecenie Run As/JUnit Test. Framework Arquillian uruchomi si(cid:218) i wy(cid:258)wietli wynik testu w widoku JUnit (je(cid:258)li widok nie jest widoczny, wy(cid:258)wietlamy go poleceniem Window/ Show View/JUnit z menu Eclipse). Gratulacje! Konsola JUnit informuje o poprawnym wykonaniu pierwszego testu. Test wykonany poprawnie, ale gdzie znajduj(cid:200) si(cid:218) logi? Uruchamiaj(cid:200)c testy na zdalnym serwerze, zastanawiamy si(cid:218), dlaczego nie wida(cid:202) wyników wykonania polece(cid:241) System.out lub log. Wynika to z faktu, i(cid:285) test nie dzia(cid:239)a na tej samej maszynie wirtualnej Javy, co system uruchamiania testów. Po stronie serwera aplikacji powinny pojawi(cid:202) si(cid:218) w konsoli komunikaty: 17:40:14,728 INFO [com.packtpub.as7development.chapter6.test.TicketTest] (cid:180)(http--127.0.0.1-8080-2) Utworzono typ miejsc Balkon Uruchomienie testu w zarz(cid:200)dzanym kontenerze Kiedy u(cid:285)ywamy kontenera zdalnego (na przyk(cid:239)ad arq-jbossas-remote), Arquillian musi jedynie otrzyma(cid:202) informacj(cid:218), (cid:285)e kontener jest uruchomiony. Komunikacja odbywa si(cid:218) przy u(cid:285)yciu instrukcji steruj(cid:200)cych. Drugie z rozwi(cid:200)za(cid:241) polega na u(cid:285)yciu zarz(cid:200)dzanego kontenera. W tym celu nale(cid:285)y zmieni(cid:202) profil Maven na zgodny z poni(cid:285)szym zrzutem ekranu. 144 Kup książkęPoleć książkę Rozdzia(cid:225) 6. • Testowanie aplikacji Dodatkowo do narz(cid:218)dzia Arquillian trzeba przekaza(cid:202) informacj(cid:218), gdzie zosta(cid:239) zainstalowany serwer JBoss AS 7, by go uruchomi(cid:202). Lokalizacj(cid:218) g(cid:239)ównego folderu serwera definiuje si(cid:218) w pliku arquillian.xml. ?xml version= 1.0 encoding= UTF-8 ? arquillian xmlns= http://jboss.org/schema/arquillian xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation= http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd defaultProtocol type= Servlet 3.0 / container qualifier= jboss default= true configuration property name= jbossHome C:jboss-as-7.1.1.Final /property /configuration /container /arquillian To wszystko. Uruchomienie testu spowoduje automatyczne w(cid:239)(cid:200)czenie instancji serwera JBoss AS 7 i wdro(cid:285)enie na nim aplikacji. Po wykonaniu testu instancja zostanie wy(cid:239)(cid:200)czona w sposób automatyczny. Rozbudowa testu (cid:146)atwo zauwa(cid:285)y(cid:202), (cid:285)e przedstawiony wcze(cid:258)niej kod testu celowo nie by(cid:239) kompletny. Nie prze- prowadzili(cid:258)my wszystkich niezb(cid:218)dnych operacji, takich jak utworzenie miejsc i ich rezerwacja. Przypominamy równie(cid:285), (cid:285)e aplikacja rezerwacji biletów u(cid:285)ywa ConversationScope do (cid:258)ledze- nia poszczególnych u(cid:285)ytkowników. Warto wi(cid:218)c uwzgl(cid:218)dni(cid:202) ten element w testach. Na szcz(cid:218)(cid:258)cie, kontener weld zapewnia wszystko, czego potrzebujemy: org.jboss.weld.context. bound.BoundConversationContext musi zosta(cid:202) wstrzykni(cid:218)ty do klasy testu. @Inject BoundConversationContext conversationContext; @Before public void init() { conversationContext.associate( new MutableBoundRequest(new HashMap String, Object (), new HashMap String, Object ())); conversationContext.activate(); } 145 Kup książkęPoleć książkę JBoss AS 7. Tworzenie aplikacji Adnotacja @Before powoduje, (cid:285)e kod zostanie wykonany przed poszczególnymi metodami testowymi, ale po wstrzykni(cid:218)ciach. W przedstawionej sytuacji s(cid:239)u(cid:285)y do powi(cid:200)zania conversationContext z Mutable (cid:180)BoundRequest przed aktywacj(cid:200) za pomoc(cid:200) conversationContext.activate. To niezb(cid:218)dne, by uzyska(cid:202) symulacj(cid:218) konwersacji z poziomu (cid:258)rodowiska testowego Arquillian. Warto wyja(cid:258)ni(cid:202), (cid:285)e interfejsy BoundRequest s(cid:200) zdefiniowane w API weld i maj(cid:200) za zadanie przecho- wywa(cid:202) konwersacj(cid:218) obejmuj(cid:200)c(cid:200) kilka (cid:285)(cid:200)da(cid:241), ale krótsz(cid:200) ni(cid:285) sesja. Poni(cid:285)ej znajduje si(cid:218) pe(cid:239)na wersja klasy TicketTest zawieraj(cid:200)ca w metodzie testTicketAgency dodatkowo tworzenie obiektu Theatre i rezerwacj(cid:218) miejsca. @RunWith(Arquillian.class) public class TicketTest { @Inject BoundConversationContext conversationContext; @Before public void init() { conversationContext.associate( new MutableBoundRequest(new HashMap String, Object (), new HashMap String, Object ())); conversationContext.activate(); } @Deployment public static Archive ? createTestArchive() { return ShrinkWrap.create(WebArchive.class, ticket.war ) .addPackage(SeatProducer.class.getPackage()) .addPackage(Seat.class.getPackage()) .addPackage(TicketService.class.getPackage()) .addPackage(DataManager.class.getPackage()) .addAsResource( META-INF/persistence.xml ) .addAsWebInfResource(EmptyAsset.INSTANCE, beans.xml ); } @Inject TicketService ticketService; @Inject BookerService bookerService; @Inject Logger log; @Test public void testTicketAgency () throws Exception { SeatType seatType = new SeatType(); 146 Kup książkęPoleć książkę Rozdzia(cid:225) 6. • Testowanie aplikacji seatType.setDescription( Balkon ); seatType.setPrice(20); seatType.setQuantity(5); ticketService.createSeatType(seatType); log.info( Utworzono typ miejsc. ); assertNotNull(seatType.getId()); List SeatType listSeats = new ArrayList(); listSeats.add(seatType); ticketService.createTheatre(listSeats); log.info( Utworzono teatr ); log.info(seatType.getDescription() + zosta(cid:239)o utrwalone (cid:180)z identyfikatorem + seatType.getId()); bookerService.bookSeat(new Long(seatType.getId()), seatType.getPrice()); log.info( Dokonano rezerwacji ); log.info( Pozosta(cid:239)a kwota: +bookerService.getMoney()); assertTrue(bookerService.getMoney() 100); } } Wynik dzia(cid:239)ania metod logowania w konsoli serwera aplikacji powinien by(cid:202) podobny do po- ni(cid:285)szego. 147 Kup książkęPoleć książkę JBoss AS 7. Tworzenie aplikacji Informacje dodatkowe Projekt Arquillian ca(cid:239)y czas ewoluuje. Opis wszystkich jego mo(cid:285)liwo(cid:258)ci wykracza poza ramy tej ksi(cid:200)(cid:285)ki. Wi(cid:218)cej informacji na jego temat mo(cid:285)na znale(cid:283)(cid:202) w dokumentacji dost(cid:218)pnej pod ad- resem http://arquillian.org/guides/. Podsumowanie W tym rozdziale przyjrzeli(cid:258)my si(cid:218) dok(cid:239)adniej jednemu z najistotniejszych elementów syste- mów biznesowych — testom integracyjnym. Historycznie jednym z najtrudniejszych ele- mentów Javy EE by(cid:239)y w(cid:239)a(cid:258)nie testy, ale projekt Arquillian znakomicie to rozwi(cid:200)zuje. Stosowany jako rozszerzenie frameworka JUnit Arquillian zapewnia doskona(cid:239)e warunki do tworzenia testów integracyjnych logiki biznesowej aplikacji Javy EE. Arquillian pod(cid:239)(cid:200)cza si(cid:218) pod tryb (cid:285)ycia frameworka testów, zapewniaj(cid:200)c odpowiedni(cid:200) reakcj(cid:218) na zdarzenia i zarz(cid:200)dzanie kontenerem (jego uruchamianie i zatrzymywanie). Dodatkowo tworzy specjalne archiwum z mo(cid:285)liwo(cid:258)ci(cid:200) wdro(cid:285)enia, które zawiera klasy testów oraz wszystkie nie- zb(cid:218)dne zale(cid:285)no(cid:258)ci i zasoby. W nast(cid:218)pnym rozdziale omówimy tworzenie aplikacji przy u(cid:285)yciu dostawcy komunikatów JBoss (HornetQ), wprowadzaj(cid:200)c przyk(cid:239)ady wykorzystania ziaren sterowanych komunikatami. 148 Kup książkęPoleć książkę Skorowidz @javax.validation.constraints. @javax.validation.constraints. @javax.validation.constraints. NotNull, 119 Pattern, 119 Size, 119 @JoinColumn, 118 @Lock, 57 @ManyToOne, 118 @MessageDriven, 159 @Model, 93, 94, 126 @Named, 85, 92, 98, 122, 126, 127 @NotNull, 119 @OneToMany, 118 @OrderColumn, 19 @org.jboss.ejb3.annotation. Clustered, 220, 221, 224 @org.jboss.ejb3.annotation. SecurityDomain, 249, 252 @org.jboss.ws.api.annotation. Webcontext, 252 @Path, 186 @POST, 186 @PostConstruct, 60, 226 @Producer, 94 @Produces, 98 @Remote(TheatreInfo.class), 59 @RequestScoped, 84, 87 @Resource, 75, 121, 226 lookup, 226 @ResourceAdapter, 168 @RolesAllowed, 250, 262 @RunWith, 141 @Schedule, 76 @SecurityDomain, 250, 252 @SessionScoped, 87, 92, 236 @SessjionScoped, 235 @Stateful, 60, 222 @Stateless, 59, 221 @Table, 118 @Timeout, 75 @WebContext, 252 @WebMethod, 177 @WebParam, 177 @WebResult, 177 @WebService, 176, 251 @WebServlet, 41 A a4j:poll, 104 activeCount, 212 ActiveMQ, 165, 166 instalacja, 166 integracja z HornetQ, 165 konfiguracja serwera, 166 konsumpcja komunikatów, 168 opis atrybutów, 167 wdro(cid:285)enie, 168 activemq-rar-5.7.0.txt, 166 adapter JCA, 165 adapter zasobów, 163 ActiveMQ, 166 Javy, 165 addPackage, 141 add-user.bat, 36, 74, 217, 242 add-user.sh, 36, 74, 217, 242 admin, 247, 248 adres zasobu, 198 advertise-socket, 233 Adwords, 18 ./jboss-cli.sh, 196 ?stateful, 65 @ActivationConfigProperty, 164 @ApplicationPath, 187 @ApplicationScoped, 87 @Asynchronous, 78 @Before, 146 @Clustered, 221, 222, 224 @ConversationScoped, 87 @Dependent, 87 @Deployment, 141 @EJB TheatreBox, 59 @ElementCollection, 19 @Entity, 110, 118 @GeneratedValue, 118 @GET, 186 @Id, 110, 118 @Inject, 92, 93, 95 @javax.annotation.PostConstruct, 51 @javax.annotation.Resource, 226 @javax.annotation.security. DenyAll, 249 @javax.annotation.security. PermitAll, 249 @javax.annotation.security. RolesAllowed, 249 @javax.annotation.security.RunAs, 249 @javax.ejb. ConcurrencyManagement, 58 @javax.ejb.Singleton, 51 @javax.ejb.Startup, 51 @javax.jws.SOAPBinding, 176 @javax.persistence.Entity, 110 @javax.persistence.Id, 110 Kup książkęPoleć książkę Skorowidz affinity, 222 akcje CRUD, 186 algorytm MD5, 248 RSA, 256 SHA, 248 all-relevant-server-groups, 48 all-server-groups, 47, 202 Apache CXF, 173 klasy pomocnicze, 182 kod klienta, 183 mechanizmy dziennika zdarze(cid:241), 183 warstwa integracji, 173 API bezpiecze(cid:241)stwa, 239 Javy EE, 240 bezpo(cid:258)rednie, 209 CDI dla Javy, 90, 109 Common Annotations, 90 EJB, 90 EJB 3.1, 55 encji, 119 getCallerPrincipal(), 241 getUserPrincipal(), 241 HttpClient, 190 Java Persistence, 134 java.util.logging, 116 Javy dla us(cid:239)ug sieciowych, 20 bazuj(cid:200)cych na XML, 20 jawne wy(cid:239)(cid:200)czenie cz(cid:218)(cid:258)ci, 116 jboss-ejb-api, 67 JPA, 110 klienta RESTEasy, 192 logów JBoss, 90 org.jboss.marshalling, 67 org.jboss.xnio, 67 RichFaces, 103 SecurityDomain, 250 slf4j, 116 to(cid:285)samo(cid:258)ci u(cid:285)ytkownika, 241 transakcyjnego JBoss, 67 API zarz(cid:200)dzania bezpo(cid:258)rednie, 209 odczytywanie opisów modelu zarz(cid:200)dzania, 209 beztypowe, 209 jboss-as-controller-client, 209 jboss-dmr, 209 obiekt (cid:285)(cid:200)dania operacji, 210 u(cid:285)ycie do sterowania serwerem aplikacji, 209 276 aplikacja bezpiecze(cid:241)stwo, 239 Database, 249 modu(cid:239) logowania, 243 EJB adnotacje bezpiecze(cid:241)stwa, dodanie ziarna bezstanowego, 59 dodanie ziarna sesyjnego, 249 60 konfiguracja Maven, 61 konfiguracja pliku pom.xml, 54, 67 lista dowi(cid:200)za(cid:241) JNDI, 65 Maven, 51 miejsce zabezpiecze(cid:241), 255 ograniczenia bezpiecze(cid:241)stwa, 250 powi(cid:200)zania elementów konfiguracji, 251 przygotowanie ziaren sesyjnych, 58 rola bezpiecze(cid:241)stwa, 250 sterowanie wspó(cid:239)bie(cid:285)no(cid:258)ci(cid:200) ziarna, 57 tworzenie kodu, 55 wdro(cid:285)enie, 61 wdro(cid:285)enie z poziomu (cid:258)rodowiska Eclipse, 62 wyj(cid:200)tek sprawdzany, 61 wyj(cid:200)tek wykonania, 61 zg(cid:239)aszane wyj(cid:200)tki, 60 ziarno singletonowe, 57 zwi(cid:218)kszona przeno(cid:258)no(cid:258)(cid:202), 59 Java EE 6, 109 JBoss Forge, 268 budowanie i wdro(cid:285)enie, 271 demo, 272 interfejs graficzny, 270 JMS dodanie ziaren sterowanych komunikatami, 156 elementy, 151 generowanie wiadomo(cid:258)ci, informowanie o zmianach, 159 160 komunikat po rejestracji u(cid:285)ytkownika, 160 optymalizacja po(cid:239)(cid:200)cze(cid:241) JMS, 162 wdro(cid:285)enie, 161 JSF wersja klastrowa, 236 wysoka dost(cid:218)pno(cid:258)(cid:202), 235 klastrowa, 223 wdra(cid:285)anie, 220 wymuszenie u(cid:285)ycia bibliotek, 220 MVC, 136 testowanie, 135 trwa(cid:239)ego magazynu danych, 109 dodanie konfiguracji Maven, 115 dodanie kontrolera steruj(cid:200)cego (cid:285)(cid:200)daniami u(cid:285)ytkowników, 126 dodanie trwa(cid:239)o(cid:258)ci, 111 dodanie us(cid:239)ug, 123 dodanie walidacji ziarna, 118 111 132 instalacja sterownika JDBC, 112 klasy produkuj(cid:200)ce, 120 kod zapyta(cid:241), 123 konfiguracja bazy danych, konfiguracja trwa(cid:239)o(cid:258)ci, 119 projekt Maven, 114 tworzenie encji, 116 uruchomienie przyk(cid:239)adu, utworzenie nowego (cid:283)ród(cid:239)a danych, 113 warstwa sesyjna, 125 widoki JSF, 128 typu enterprise, 51 komponenty EJB, 49 us(cid:239)ugi sieciowe, 171 dodanie obs(cid:239)ugi REST, 187 dodanie us(cid:239)ugi SOAP, 172 testy, 185 usuwanie wdro(cid:285)enia, 201, 202, 203 wdra(cid:285)anie przy u(cid:285)yciu CLI, 201 do domeny JBoss AS 7, 202 do kilku w(cid:218)z(cid:239)ów JBoss AS 7, 203 Kup książkęPoleć książkę do pojedynczej grupy serwerów, 202 na wszystkich grupach serwerów, 202 wdro(cid:285)enie na serwerze, 39 dodanie do listy wdro(cid:285)onych zasobów, 41 dodanie klasy, 40 lokalizacja, 39 pe(cid:239)na publikacja, 42 przy u(cid:285)yciu narz(cid:218)dzia CLI, 46 wskazanie korzenia kontekstu, 41 z poziomu konsoli webowej, 43 zaawansowane opcje, 42 webowa, 88 dodanie strony pocz(cid:200)tkowej, 100 do(cid:239)(cid:200)czenie bibliotek, 103 do(cid:239)(cid:200)czenie harmonogramów, 102 do(cid:239)(cid:200)czenie zewn(cid:218)trznego systemu, 102 elementy strony g(cid:239)ównej, 98 g(cid:239)ówna struktura, 96 g(cid:239)ówny panel aplikacji, 96 instalacja RichFaces, 103 kod ziaren, 91 miejsce zabezpiecze(cid:241), 255 mod_cluster, 232 mod_jk, 232 mod_proxy, 232 niezb(cid:218)dne zale(cid:285)no(cid:258)ci, 90 obserwacja obiektów, 94 obs(cid:239)uga JSF 2, 99 przygotowanie do uruchomienia, 100 równowa(cid:285)enie obci(cid:200)(cid:285)enia, 232 stopka, 96 strona szablonu, 96 struktura projektu, 101 tworzenie klastrów, 231 tworzenie widoku, 95 uruchomienie, 106 wersja rozbudowana, 103 widok strony g(cid:239)ównej, 97 dotycz(cid:200)ce szybkiego startu, 115 Maven, 88 maven-archetype-quickstart, EJB, 50 atrybuty widok w przegl(cid:200)darce, 101 zgodna z klastrami, 235 zmiana na li(cid:258)cie miejsc, 94 wykorzystuj(cid:200)ca JBoss JMS Provider, 149 appclient, 34 ApplicationRealm, 74 application-roles.properties, 242 role u(cid:285)ytkowników, 243 application-users.properties, 242 nazwa u(cid:285)ytkownika, 243 app-name, 64 archetypy EJB, 52 ekran szczegó(cid:239)ów, 66 jboss-javaee6-webapp- archetype, 114 jboss-javaee6-webapp-ear- archetype, 114 71 65 webapp-javaee6, 88, 114, 175 Architektura Javy dla dowi(cid:200)za(cid:241) XML, 20 arq-jbossas-managed, 140 arq-jbossas-remote, 140, 143, 144 Arquillian, 134, 135, 136 adres i port systemu zarz(cid:200)dzania, 142 dodanie konfiguracji, 142 dzia(cid:239)anie, 136, 148 informacje dodatkowe, 148 konfiguracja pliku pom.xml, korzystanie z narz(cid:218)dzia, 137 lokalizacja serwera JBoss AS 7, 139 kontener weld, 140 zdalny, 144 145 pierwszy test, 141 pisanie testu, 137 profile, 140 protokó(cid:239) do komunikacji z serwerem, 140 Servlet 3.0, 142 Skorowidz struktura folderów, 137 stymulacja konwersacji z poziomu (cid:258)rodowiska testowego, 146 wynik testu, 144 arquillian.xml, 142, 145 artefakty forge-demo.var, 271 hibernate-validator, 115, 116 jboss-as-maven-plugin, 62 jboss-javaee-6.0-with- hibernate, 115 jboss-javaee-6.0-with-tools, maven-compiler-plugin, 62 maven-ejb-plugin, 62 ticket-agency-ejb, 67 as7 deploy, 271 as7 undeploy, 272 asInt, 209 asynchroniczne komponenty ?stateful, 65 activeCount, 212 Auto-deploy Exploded, 46 Auto-deploy Zipped, 46 Deployment timeout, 46 Enabled Path Relative to, 46 finalName, 62 hibernate.hbm2ddl.auto, 120 hibernate.show_sql, 120 name, 45, 120, 176 Path, 45 Scan Interval, 46 SeatType, 142 skanera, 45 value, 98 Auto-deploy Exploded, 46 Auto-deploy Zipped, 46 automaticCustomer, 77 automatyczne generowanie encji, 116 uzupe(cid:239)nianie, 200 autoryzacja, 240 metody EJB, 249 auto-start, 220 277 Kup książkęPoleć książkę automatyczne generowanie Skorowidz B -b, 215 Base64, 218, 243, 248 Base64Utils, 248 BASIC, 243 baza danych encji, 116 konfiguracja, 111 mysql, 111 MySQL, 111 tabela, 111 jeden do n, 111 klucz obcy, 111 schemat, 111 Bean Pools, 158 bean-name, 64 beans.xml, 88, 100 schemat XML, 88 begin(), 125 bezinterfejsowy komponent EJB, 50 bezpiecze(cid:241)stwo aplikacji, 239 adnotacje, 249 API bezpiecze(cid:241)stwa w j(cid:218)zyku Java, 239 autoryzacja, 240 bazuj(cid:200)ce na formularzu, 245 certyfikat, 254 deklaratywne, 240 deskryptor wdro(cid:285)enia webowego, 244 domena bezpiecze(cid:241)stwa, 242 formularz logowania, 249 generowanie certyfikatów, kontenery komponentów, 240 kryptografia asymetryczna, 259 253 miejsca zabezpiecze(cid:241), 255 modu(cid:239) logowania pierwszy, 242 u(cid:285)ycie, 243 wykorzustuj(cid:200)cy baz(cid:218) danych, 246 narz(cid:218)dzia do zarz(cid:200)dzania certyfikatami, 255 ograniczenia bezpiecze(cid:241)stwa, 244 278 opcje zarz(cid:200)dzania, 241 podsystem bezpiecze(cid:241)stwa JBoss AS 7, 241 programowe, 240 protokó(cid:239) szyfrowania informacji, 252 szyfrowanie symetryczne, uruchamianie komunikacji 253 SSL, 255 uwierzytelnienie, 240 zabezpieczenie hase(cid:239), 247 interakcji ze stronami WWW, 254 komponentów EJB, 249 komunikacji EJB, 258 komunikacji HTTP, 256, warstwy transportowej, 257 252 zasada bezpiecze(cid:241)stwa, 260 u(cid:285)ycie, 261 bezpiecze(cid:241)stwo us(cid:239)ug sieciowych, 251 bezpo(cid:258)rednie API zarz(cid:200)dzania, 209 bezstanowe ziarna sesyjne, 49 bezstanowy EJB, 223 beztypowe API zarz(cid:200)dzania, 209 narz(cid:218)dzie sta(cid:239)ej obserwacji zasobów, 210 u(cid:285)ycie, 209 biblioteka JAXB, 174 JGroups, 214 JSON.simple, 191 mysql-connector-java- 5.X.XX-bin.jar, 112 Netty, 152 obiektów na(cid:258)laduj(cid:200)cych, 136 RESTEasy, 187 RichFaces, 102 Bill of Materials, 54, 91, 103, 115 bin, 34 bin/client, 34 body, 172 BOM, 54, 91, 103, 115 junit, 139 book.xhtml, 128, 130 BookerService, 123, 125, 160 price, 169 seatId, 169 bookSeat, 99, 125, 182 zabezpieczenie, 250 bookSeatAsync, 78, 79 BoundRequest, 146 broker ActiveMQ, 168 komunikatów Apache, 165 Brontes, 22 Browse workspace, 62 build, 271 buyTicket, 57, 58, 77, 189, 191 C -c, 215 CA, 254 CacheContainer, 226 CacheLoader, 225 CacheManager, 225 calculatePower, 175 cancelTimers, 77 CASE, 19 cat, 269 cd, 199 CDI, 13, 17, 20, 83, 84, 107 implementacja w JBoss, 87 (cid:239)(cid:200)czenie trwa(cid:239)o(cid:258)ci, 109 podstawowy element, 84 przekszta(cid:239)cenie systemu rezerwacji biletów, 88 tworzenie kodu ziaren, 91 wprowadzenie, 83 zakresy, 86 ziarna nazwane, 85 cele JMS, 151, 155 dodawanie skrypty CLI, 205 konfiguracja, 155 okre(cid:258)lenie filtru, 156 ticketQueue, 159 Certificate Signing Requst, 257 Certification Authority, 254 certreq.csr, 257 certyfikat cyfrowy, 254 klienta generowanie, 259 Kup książkęPoleć książkę Skorowidz 259 CLI, 21, 24, 46, 195 klucza publicznego, 254 narz(cid:218)dzia do zarz(cid:200)dzania, 255 podpisanie, 257 podpisany przez CA zabezpieczenie komunikacji HTTP, 257 podpisany przez samego siebie, 256 zabezpieczenie komunikacji HTTP, 256 serwera generowanie, 259 zaimportowanie, 259 zaufany po stronie klienta, automatyczne uzupe(cid:239)nianie, 47, 48 fragmentów (cid:258)cie(cid:285)ek, 201 dodawanie zasobów JMS, 205 domy(cid:258)lny folder, 201 instalacja (cid:283)ród(cid:239)a danych jako modu(cid:239)u, 204 instrukcje warunkowe, 204 konstrukcja polece(cid:241), 197 automatyczne uzupe(cid:239)nianie, 200 okre(cid:258)lanie adresu zasobu, opreacje na zasobach, 198 198 lista aktualnie wdro(cid:285)onych aplikacji, 201 dost(cid:218)pnych typów w(cid:218)z(cid:239)ów, 200 nazw dost(cid:218)pnych dla danego typu w(cid:218)z(cid:239)a, 200 monitorowanie zasobów serwera, 210 operacje dost(cid:218)pne dla wybranego w(cid:218)z(cid:239)a, 200 parametry operacji, 200 restart w(cid:218)z(cid:239)ów aplikacji serwerowej, 204 tryb graficzny, 197 tworzenie skryptów, 203 u(cid:285)ycie zaawansowanych j(cid:218)zyków, 205 u(cid:285)ycie j(cid:218)zyków skryptowych do wykonywania operacji, 206 wdra(cid:285)anie aplikacji, 46, 201 do kilku w(cid:218)z(cid:239)ów JBoss AS 7, domy(cid:258)lne wdro(cid:285)enie, 47 na jednej grupie serwerów, 203 202 na wszystkich grupach serwerów, 202 ponowne wdro(cid:285)enie, 47 w domenie, 47 wskazywanie lokalizacji, 47 wykonywanie polece(cid:241) z poziomu wielu j(cid:218)zyków, 206 wykorzystanie, 199 wy(cid:258)wietlanie polece(cid:241), 46 zatrzymanie serwera, 25 (cid:285)(cid:200)danie wykonania operacji, 197 client.createRequest, 190 client.get, 190 clientPublicKey.cer, 259 ClientRequest, 190 elementy adresu, 190 ClientRequestFactory, 190 COALESCE, 19 com.mysql, 112 Command Line Interface, 24, 46 commandButton, 99 commit(), 125 Common Annotations API, 55 Community edition, 28 Company, 110 composition, 96 ConcurrencyManagementType. BEAN, 58 configuration, 34, 35 connect, 25, 196, 207 connection-url, 113 content, 35, 96 Context and Dependency Injection, 13, 17, 20, 83 ConversationScope w testach, 145 create, 141, 184 Create, Read, Update, Delete, 186 createSeatType, 125, 142 createTheatre, 125 CRON, 76 CRUD, 186, 270 odwzorowanie akcji na HTTP, 186 customNamedBean, 86 czasomierz, 75 automatyczny, 75 nietrwa(cid:239)y, 77 programowy, 75 tworzenie, 75 trwa(cid:239)y, 77 D dane trwa(cid:239)o(cid:258)(cid:202) i standardy, 109 u(cid:285)ytkowników, 36 DAO, 136 data, 35, 178 Data Access Object, 136 Database, 242, 246, 249 DataManager, 122, 123 dataTable, 98, 130 value, 98 default, 216 default.xhtml, 96, 131 defaultProtocol, 142 definicje instancji fabryki po(cid:239)(cid:200)cze(cid:241), 153 DELETE, 186 deleteAllData, 123 demouser, 242 Denial Of Service, 107 deploy, 46, 47, 199, 201 all-server-groups, 202 f, 201 projects as compressed archives, 43 deployment, 42, 201 Deployment Scanners, 45 Deployment timeout, 46 deployments, 35, 166 description, 119 deskryptor wdro(cid:285)enia EJB, 240 JCA, 166 deszyfracja, 252 disabled, 47 distinct-name, 64 distributable, 236 -Djava.endorsed.dirs, 226 279 Kup książkęPoleć książkę Skorowidz doCleanUp, 125 docs/example, 34 docs/schema, 34 DOCUMENT, 176 dodawanie encji, 116 u(cid:285)ytkowników, 36 (cid:283)ród(cid:239)a danych, 205 dokument WSDL, 172 domain, 34, 229 struktura zawarto(cid:258)ci, 35 domain.xml, 113, 216 full-ha, 216 mod_cluster, 233 domena bezpiecze(cid:241)stwa, 242 dla komponentów EJB, 262 dodanie referencji, 250 klasy lub metody, 249 modu(cid:239) logowania wykorzystuj(cid:200)cy baz(cid:218) danych, 246 mysqldomain, 252 okre(cid:258)lanie, 242 przyk(cid:239)ad definicji, 260 us(cid:239)ugi sieciowe bazuj(cid:200)ce na EJB, 251 elementy, 31 kontroler domeny, 31 kontroler hosta, 32 w(cid:218)z(cid:239)y serwerów aplikacyjnych, 32 domy(cid:258)lny mechanizm bezpiecze(cid:241)stwa, 36 dostarczanie komunikatów, 151 dost(cid:218)p do danych, 136 dowi(cid:200)zania JNDI, 64 dla komponentu EJB, 65 dziennik serwera, 65 JBoss, 65 utworzenie tekstu wyszukiwania w kliencie EJB, 65 driver, 113 Durable, 156 duration, 75 Dynamic web module version, 40 Dynamic Web Project, 51 dziennik zdarze(cid:241) interceptory, 183 klastry, 220 280 E EAI, 165 EAP, 22 EAR, 19 Eclipse, 26, 114 Browse workspace, 62 dodanie zale(cid:285)no(cid:258)ci do projektu, 115 instalacja, 26 dodatku JBoss AS, 27 narz(cid:218)dzie Maven, 51 pisanie testu Arquillian, 137 Project Properties, 117 Run Configuration, 62 soapUI, 179 wdro(cid:285)anie aplikacji, 62 pierwszej aplikacji, 39 Window/ Show View/JUnit, 144 zaawansowane opcje wdro(cid:285)enia, 42 zmiana ustawie(cid:241) domy(cid:258)lnych, 42 zdalny klient EJB, 73 EJB, 17, 20, 49, 107, 109 bezstanowe, 223 deskryptor wdro(cid:285)enia, 240 getCallerPrincipal(), 241 isCallerInRole(), 240 model bezpiecze(cid:241)stwa, 239 monitorowanie zasobów serwera, 210 rodzaje komponentów, 49 singleton, 223, 224 stanowe, 223 zabezpieczanie komunikacji, 258 zdalny klient, 227 metody asynchroniczne, 77 nowe funkcjonalno(cid:258)ci, 49 usprawnienia, 19 EJB 3.1 ejb-client, 67 ejbclientalias, 259 EJBException, 61 ejb-jar.xml, 240, 250, 252 ejb-javaee6, 53 EJBRealm, 260 ejb-roles.properties, 260 ejb-security-domain, 260 ejb-users.properties, 260 EL, 85 e-mail, 79 Enabled Path Relative to, 46 encja dodawanie, 116 EJB, 109 generowanie ze schematu bazy danych, 116 JPA, 110 producenty, 121 Seat, 118 SeatType, 119 tworzenie, 116 endpoint.name, 71 Enterprise Application Integration, 165 Enterprise ARchive, 19 Enterprise Java Persistance, 109 Enterprise JavaBeans, 17, 19, 49, 109 bezpiecze(cid:241)stwo deklaratywne, 240 Enterprise Platform, 22 Entity, 269 EntityManager, 121 envelope, 172 error.jsf, 245 exec-maven-plugin, 72 execute, 210 Executor, 79 F -f, 47 fabryka po(cid:239)(cid:200)cze(cid:241), 151 ActiveMQ, 167 definicje instancji, 153 InVmConnectionFactory, 153 optymalizacja po(cid:239)(cid:200)cze(cid:241), 162 RemoteConnectionFactory, 153 rodzaje, 153 stosuj(cid:200)ca pul(cid:218) po(cid:239)(cid:200)cze(cid:241) wewn(cid:200)trz producentów komunikatów, 163 tworzenie, 153 wstrzykiwanie, 154 wykorzystanie, 153 Kup książkęPoleć książkę Skorowidz wykorzystuj(cid:200)ca pul(cid:218) po(cid:239)(cid:200)cze(cid:241), 154 zmiana ustawienia dowi(cid:200)za(cid:241) JNDI, 154 facelety, 19, 95 budowanie, 96 FacesContext, 121 FacesMessages, 93 farm, 203 --file, 203 finalName, 62 findSeat, 77 finish, 130 foldery appclient, 34 bin, 34, 111 bin/client, 34 configuration, 34, 35 content, 35 data, 35, 178 deployment, 201 deployments, 35, 166 doc/as, 166 docs/example, 34 docs/schema, 34 domain, 34 farm, 203 g(cid:239)ówny folder serwera, 34 HelloWorld.war, 42 java, 137 JBOSS_HOME/bin, 201 JYTHON_HOME/bin, 207 lib/ext, 35 log, 35 main, 112, 137 META-INF, 88, 167, 240 modules, 34, 233 resources, 137 servers, 35 standalone, 34 target, 271 test, 137 test/java, 137 tmp, 35 views, 128 webapp, 90, 97 WEB-INF, 88, 100, 240 welcome-content, 34 footer, 96 forge install-plugin jboss-as-7, 271 forge.bat, 266 forge.sh, 266 FORGE_HOME, 265 forge-demo.war, 271 format x.509, 254 formularz logowania, 245 pola formularza, 245 wprowadzanie nowego rodzaju miejsc, 130 framework Arquillian, 134 Hibernate, 110, 112 kliencki JAX-RS, 187 ORM, 110 wstrzykiwania zale(cid:285)no(cid:258)ci, 121 full, 153, 216 Full Publish, 42 full-ha, 153, 216 fully-qualified-classname- of-the-remote-interface, 64 funkcja automatycznego uzupe(cid:239)niania, 47, 48 funkcje Apache CXF, 173 isCallerInRole(), 240 isUserInRole(), 240 skrótów, 248 funkcjonalno(cid:258)ci JAX-WS, 173 Future, 78 kod korzystaj(cid:200)cy z obiektu, 79 futureResult, 80 G generate-entities, 269 generowanie certyfikatów, 259 get, 226 GET, 186 getCallerPrincipal(), 241 getSeatList, 57, 189 getSeatPrice, 57 getSeats, 94, 182 getType(), 209 getUser, 187 getUserPrincipal(), 241 g(cid:239)ówny folder serwera, 34 Google Guice, 152 Google trends, 18 Google Web Toolkit, 36 grid, 104 grupa serwerów, 33 gui, 197 GWT, 36 H ha, 216 handleGETRequest, 186 handlePOSTRequest, 187 harmonogram wywo(cid:239)a(cid:241) metod zwrotnych, 76 has(cid:239)a aktualizacja, 248 algorytm MD5, 248 Base64, 248 szyfrowanie, 247 wstawianie do bazy danych, 248 header, 172 heap-memory-usage, 208 HelloWorld.war.dodeploy, 42 HelloWorld.war.failed, 42 help, 267 Hibernate, 19, 110 Persistence API, 115 procesor adnotacji, 116 sterownik JDBC, 112 hibernate.hbm2ddl.auto, 120 hibernate.show_sql, 120 hibernate-tools, 268 hibernate-validator, 115 HornetQ, 152 adapter zasobów, 163 integracja z ActiveMQ, 165 wspó(cid:239)praca z adapterem JCA, 152 zintegrowany z JBoss AS jako modu(cid:239), 152 auto - start, 220 dodanie has(cid:239)a, 219 host.xml, 218 -host-config, 218 jboss.domain.master.address, host 218 konfiguracja, 218 kontroler, 218 nazwa, 218 port-offset, 220 uruchamianie, 220 281 Kup książkęPoleć książkę host.xml, 216 interceptory dziennika zdarze(cid:241), Java API for RESTful Web Skorowidz konfiguracja, 218 w(cid:218)z(cid:239)ów serwera, 219 referencja do lokalnego kontrolera domeny, 217 -host-config, 218 HTTP, 149, 249 zabezpieczenie komunikacji certyfikatem podpisanym przez CA, 257 podpisanym przez samego siebie, 256 HTTP Digest, 36 HTTP load balancer, 231 httpd.conf, 234 Hypertext Transfer Protocol, 149 I IDE Eclipse pobieranie, 26 implementacja CDI w JBoss AS, 87 index.xhtml, 97, 100 przestrzenie nazw RichFaces, 103 Infinispan, 215, 224, 225, 229 InfoBean bookSeat, 182 inspekcja adaptera JMS, 166 instalacja adaptera zasobów ActiveMQ, 166 Forge, 265 Javy SE, 22 JBoss AS 7, 22 mod_cluster, 233 narz(cid:200)dzia Maven, 29 narz(cid:218)dzi JBoss, 27 RichFaces, 103 soapUI, 179 (cid:258)rodowiska Eclipse, 26 integracja aplikacji biznesowych, 165 HornetQ i ActiveMQ, 165 JMS i JCA a us(cid:239)ugi sieciowe, 165 obs(cid:239)uga adaptacji zasobów, 165 IntelliJ IDEA, 28 282 183 interfejs BoundRequest, 146 CacheLoader, 225 CLI, 24 Java Persistence API, 110 javax.cache.Cache, 225 javax.jms.MessageListener, ko(cid:241)cówki us(cid:239)ugi sieciowej, 151 180 logowania, 245 QueueReceiver, 152 QueueSender, 152 TimerService, 75 TopicPublisher, 152 TopicSubscriber, 152 us(cid:239)ugi sieciowej, 181 webowy, 36 wiersza polece(cid:241), 26, 46, 113, zarz(cid:200)dzania, 196, 218 z poziomu wiersza polece(cid:241), 195 21 InVmConnectionFactory, 153 IronJacamar, 166 IronJacamar 1.1, 166 ironjacamar.xml, 166 isCallerInRole(), 240 isDone, 80 isUserInRole(), 240 J j_password, 245 j_security_check, 245 j_username, 245 J2EE, 17 JAAS, 263 Jakarta Commons, 190 java, 137 java:/jaas/, 242 java:/jaas/other, 244 java:/JmsXA, 154, 162 java:app, 64 java:global, 64 java:jboss/ jms/queue/ticketQueue, 159 java:module, 64 Services, 17 Java API for XML Web Services, 17 Java Architecture for XML Binding, 174 Java Authentication and Authorization Service, 263 Java Beans komponenty, 118 Java Connector Architecture, 165 Java EE, 17 us(cid:239)ugi bezpiecze(cid:241)stwa, 239 Java EE 6 API Javy dla us(cid:239)ug sieciowych, 20 bazuj(cid:200)cych na XML, 20 Architektura Javy dla dowi(cid:200)za(cid:241) XML, 20 CDI, 83 Contexts and Dependency Injection for Java, 20 Enterprise JavaBeans, 19 Java Persistence API, 19 Java Servlet API 3.0, 20 JavaServer Faces, 18 JAX-RS, 20 komponenty EJB, 49 nowe usprawnienia, 18 zarz(cid:200)dzanie komponentami, 84 Java Enterprise Edition, 49 Java Message Service, 14, 149 Java Messaging Service, 17 Java Naming Directory Index, 153 Java Persistence API, 17, 19, 109 Java Persistence Query Language, 110 Java SE instalacja, 22 test, 22 Java Secure Socket Extension, 255 Java Server Faces, 17, 83 Java Server Pages, 17 Java Servlet API 3.0, 20 Java Transaction API, 139 java -version, 22 java.ejb.Schedule, 75 java.ejb.Schedules, 75 java.util.concurrent.Future, 78 Kup książkęPoleć książkę Skorowidz najcz(cid:218)(cid:258)ciej u(cid:285)ywany serwer podsystem bezpiecze(cid:241)stwa, java.util.CurrentMap, 225 java.util.Logger, 121, 159 JavaBeans Validation, 118 JavaServer Faces, 18 javax.activation, 87 javax.annotation, 87 javax.annotation.security. RolesAllowed, 250 javax.cache.Cache, 225 javax.ejb, 87 javax.ejb.LockType.READ, 57 javax.ejb.LockType.WRITE, 57 javax.ejb.Singleton, 50 javax.enterprise.context. Conversation, 87 javax.enterprise.event.Event, 94 javax.jms, 87 javax.jms.MessageListener, 151 javax.persistence, 87 javax.security, 87 javax.servlet.http.HttpSession, javax.transaction, 87 javax.xml, 87 jawne wy(cid:239)(cid:200)czenie cz(cid:218)(cid:258)ci API, JAXB, 174 JAXB 2.0 XML to Java Mapping, JAXB 2.2, 20 JAX-RS, 17, 20, 171, 185 importowanie API, 192 JAX-WS, 17, 20, 171 bezstanowe ziarna sesyjne, 180 dane uwierzytelnienia, 251 funkcjonalno(cid:258)ci, 173 JaxWsProxyFactoryBean, 182, 183 JBoss dodatek do Maven, 61 instalacja narz(cid:218)dzi, 27 JBoss AS, 13 definicja (cid:283)ród(cid:239)a danych, 113 instalacja sterownika JDBC, 112 deklaracja modu(cid:239)u, 112 instalacja modu(cid:239)u, 112 jako modu(cid:239), 112 integracja z Apache CXF, 173 JMS, 152 klastry aplikacji, 213 235 116 174 JBoss AS 7, 17 aplikacji, 18 podsystem komunikatów, 152 utworzenie (cid:283)ród(cid:239)a danych przy u(cid:285)yciu wiersza polece(cid:241), 113 adapter zasobów ActiveMQ, 168 alternatywne (cid:258)rodowiska programistyczne, 28 Bean Pools, 158 bezpiecze(cid:241)stwo, 23 aplikacji, 239 Command Line Interface, 24 dowi(cid:200)zywania w(cid:239)asnych nazw JNDI do konponentów EJB, 64 efektywno(cid:258)(cid:202), 21 implementacja CDI, 87 instalacja, 22 a systemy operacyjne, 23 narz(cid:218)dzia Maven, 29 serwera i komponentów klienta, 21 (cid:258)rodowiska Eclipse, 26 IntelliJ IDEA, 29 interfejs zarz(cid:200)dzania z poziomu wiersza polece(cid:241), 21 j(cid:200)dro, 21 kategorie modu(cid:239)ów, 87 klastry aplikacji, 214 Infinispan, 215 JGroups, 214 JSR - 107, 215 Multicast, 214 komunikacja SSL, 255 konfiguracja domen, 216 wdro(cid:285)enia bazuj(cid:200)cego na domenach, 32 konsola po uruchomieniu, 23 mechanizm wczytywania Modular Service Container, klas, 21 21 modu(cid:239)y logowania, 242 nowe funkcje, 20, 31, 206 omówienie, 17 podstawowe koncepcje, 31 po(cid:239)(cid:200)czenie z serwerem przy u(cid:285)yciu wiersza polece(cid:241), 24 profile domen, 216 Profile/Container/EJB 3, 158 Profile/Messaging Provider, 241 153 przygotowanie (cid:258)rodowiska, 21 instalacja Javy SE, 22 security-domain, 242 SSL, 255 system plików, 33 tryb domenowy, 31 samodzielny, 31 uruchomienie, 23 architektura modu(cid:239)owa, 23 dost(cid:218)pno(cid:258)(cid:202) przez interfejs sieciowy, 24 dostosowanie w(cid:239)a(cid:258)ciwo(cid:258)ci pocz(cid:200)tkowych, 24 konsoli webowej, 37 pami(cid:218)(cid:202) operacyjna, 24 ponowne, 26 us(cid:239)ugi sieciowe typu REST, 187 tworzenie, 175 usprawnienia zarz(cid:200)dzania serwerem, 20 wdra(cid:285)anie aplikacji przy u(cid:285)yciu CLI, 202 do kilku w(cid:218)z(cid:239)ów, 203 jako foldery, 42 pierwszej aplikacji, 39 webowa konsola zarz(cid:200)dzania, wymagania sprz(cid:218)towe, 21 wy(cid:258)wietlanie tajnego klucza, 21 218 zarz(cid:200)dzanie serwerem, 36 zasady bezpiecze(cid:241)stwa, 260 zatrzymnie serwera, 25 na zdalnym systemie, 26 niezale(cid:285)ny skrypt, 25 zdalne API dla CLI, 206 zestaw us(cid:239)ug, 220 JBoss Community, 28 283 Kup książkęPoleć książkę Skorowidz JBoss Forge, 117 aplikacja forge-demo, 272 Create New, 272 Search, 272 as7 deploy, 271 as7 undeploy, 272 budowanie i wdro(cid:285)enie aplikacji, 271 build, 271 cat, 269 dodatek AS 7 Forge, 271 forge.bat, 266 forge.sh, 266 forge-demo.var, 271 generate-entities, 269 help, 267 hibernate-tools, 268 instalacja, 265 konsola Forge, 266 list-commands, 266 new-project, 268 persistence.xml, 269 rozbudowa sk(cid:239)adni polece(cid:241), 268 scaffold, 270 from-entity, 270 tworzenie aplikacji pierwszej, 268 szybkie, 265 uruchamianie, 266 zalety, 268 JBoss Microcontainer, 152 JBoss Modules, 21, 34 JBoss security, 239 JBoss Tools, 27 instalacja manualna, 27 JBoss WS-CXF, 173 jboss. bind.address.management, dodanie producenta, 159 dostarczanie komunikatów, 151 218 jboss.domain.master.address, 218 jboss.keystore, 256 jboss.management. htp.port, 36 jboss.node.name, 215 jboss.socket.binding.port, 215 JBOSS_HOME, 34 JBOSS_HOME/bin, 47 jboss-as-controller-client, 209 jboss-as-maven-plugin, 62, 91 jboss-cli.bat, 24, 46, 114, 196 --file, 203 --gui, 197 tryb nietrwa(cid:239)y, 151 tryb trwa(cid:239)y, 151 elementy sk(cid:239)adowe, 151 kolejki, 150, 151 komunikat, 151 konsument komunikatów, 152 konsumpcja komunikatu, 150 sposób asynchroniczny, 151 sposób synchroniczny, 150 kontrola po(cid:239)(cid:200)cze(cid:241), 165 obiekt fabryki po(cid:239)(cid:200)cze(cid:241), 151 ogólna konfiguracja, 153 optymalizacja po(cid:239)(cid:200)cze(cid:24
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

JBoss AS 7. Tworzenie aplikacji
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: