<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>j2ee.pl - związani z javą &#187; recenzja</title>
	<atom:link href="http://j2ee.pl/tag/recenzja/feed/" rel="self" type="application/rss+xml" />
	<link>http://j2ee.pl</link>
	<description>związani z Javą</description>
	<lastBuildDate>Mon, 24 Aug 2009 11:45:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JBoss® Seam: Simplicity and Power Beyond Java EE</title>
		<link>http://j2ee.pl/2007/09/15/jboss%c2%ae-seam-simplicity-and-power-beyond-java-ee/</link>
		<comments>http://j2ee.pl/2007/09/15/jboss%c2%ae-seam-simplicity-and-power-beyond-java-ee/#comments</comments>
		<pubDate>Sat, 15 Sep 2007 11:15:58 +0000</pubDate>
		<dc:creator>Michał Porzożyński</dc:creator>
				<category><![CDATA[Książki (lub Czasopisma)]]></category>
		<category><![CDATA[jboss seam]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[recenzja]]></category>

		<guid isPermaLink="false">http://j2ee.pl/2007/09/15/jboss%c2%ae-seam-simplicity-and-power-beyond-java-ee/</guid>
		<description><![CDATA[JBoss Seam jest stosunkowo nowym framework&#8217;iem, wspomagającym tworzenie aplikacji Web 2.0, który integruje ze sobą takie technologie jak: AJAX, JSF, EJB3, Portlety, BPM i wiele innych. Po przeczytaniu paru artykułów na temat Seam doszedłem do wniosku, że rzecz jest na tyle dla mnie ciekawa, że zastosuje ją w mojej pracy magisterskiej. Abym mógł to zrobić [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://j2ee.pl/wp-content/uploads/2007/09/41vcxc6lgul_aa240_.jpg" alt="JBoss Seam" /><a href="http://www.jboss.com/products/seam" target="_blank">JBoss Seam</a> jest stosunkowo nowym framework&#8217;iem, wspomagającym tworzenie aplikacji Web 2.0, który integruje ze sobą takie technologie jak: AJAX, JSF, EJB3, Portlety, BPM i wiele innych. Po przeczytaniu paru artykułów na temat Seam doszedłem do wniosku, że rzecz jest na tyle dla mnie ciekawa, że zastosuje ją w mojej pracy magisterskiej. Abym mógł to zrobić musiałem albo zagłębić się w dokumentację, albo pochłonąć odpowiednią książkę. Kilka miesięcy temu ilość publikacji na temat JBoss Seam w księgarni Amazon.com nie była zachwycająca (o polskich wydawnictwach nawet nie warto wspominać) &#8211; wyszukiwanie znalazło dwie książki:  Beginning JBoss® Seam: From Novice to Professional oraz JBoss® Seam: Simplicity and Power Beyond Java EE. Po przejrzeniu spisów treści, wybór padł na tę drugą i właśnie JBoss® Seam: Simplicity and Power Beyond Java EE postaram się w tym miejscu pokrótce zrecenzować.</p>
<p><span id="more-86"></span>JBoss® Seam: Simplicity and Power Beyond Java EE została wydana nakładem wydawnictwa Prentice Hall, 26 kwietnia 2007 roku. Autorami książki są <a href="http://www.michaelyuan.com/blog/about/">Michael Juntao Yuan</a> oraz <a href="http://www.blogger.com/profile/03126814940255643660" target="_blank">Thomas Heute</a> &#8211; obydwaj pracują w <em>JBoss division of Red Hat Inc</em>. Publikacja składa sie z 27 krótkich rozdziałów (mniej więcej po 15 stron każdy), posegregowanych w 6 części. Druk czytelny, marginesy małe, papier bardzo dobrej jakości. Język nie jest tak prosty jak w <a href="http://j2ee.pl/2007/08/07/ejb-3-in-action/">EJB3 in Action</a>, którą recenzowałem kilka tygodni temu, jednak jestem pewien, że większość programistów Java nie będzie miało z nim większych problemów.</p>
<p>Przejdźmy do krótkiego opisu poszczególnych części..</p>
<p>Część pierwsza, zatytułowana GETTING STARTED, jest oczywiście wstępem do framework&#8217;a. Przeczytamy tutaj czym tak na prawdę jest JBoss Seam i jakie są jego zalety (o wadach nic nie było ;). Jest parę słów na temat programu Seam Gen, który służy do generowania szkieletu aplikacji oraz o IDE, które wspomagają tworzenie aplikacji z wykorzystaniem JBoss Seam. Dodam tutaj tylko, że niedawno pojawiła się pierwsza beta, opartego na Eclipsie, IDE ze stajni Red Hata: <a href="www.redhat.com/developers/rhds/index.html" target="_blank">Red Hat Developer Studio</a>, który to sprawdza się znakomicie przy tworzeniu aplikacji JBoss Seam. Oczywiście, w tej części książki, znajdziemy także nieśmiertelny <em>Hello World</em>. W tym momencie omawiana publikacja po raz pierwszy i ostatni doprowadziła mnie do furii :) Autorzy zapomnieli (a przynajmniej tak mi się wydaje) o drobnym szczególe: plik jar z klasami EJB3 musi zawierać plik seam.properties (choćby pusty) aby Seam mógł z niego korzystać. To przeoczenie kosztowało mnie wiele godzin poszukiwań błędu. Sam przykład jest dość ciekawy i jest rozwijany w niektórych, późniejszych rozdziałach.</p>
<p>STATEFUL APPLICATIONS MADE EASY to tytuł drugiej części. Opisywana jest tutaj esencja i główna siła JBoss Seam &#8211; <strong>Stateful Framework</strong>. Autorzy omawiają zalety jego stosowania (konwersacje, lepsza wydajnoś, mniej wycieków pamięci i inne). Wydaje mi się, że dokładne zrozumienie tej części jest podstawą do tworzenia dobrych aplikacji z wykorzystaniem Seam. Same konwersacje są na tyle innowacyjnym rozwiązaniem w świecie aplikacji webowych JEE, że dla nich samych warto bliżej przyjrzeć się temu framework&#8217;owi. Dodatkowo w tej części dowiadujemy się czym są Workspace&#8217;y i jak wykorzystywać transakcje dostępne w EJB3.</p>
<p>Część trzecia &#8211; INTEGRATING  WEB AND DATA COMPONENTS &#8211; to opis kilku ciekawych funkcji JBoss Seam: walidacja danych wejściowych, &#8220;klikalne&#8221; tabele z danymi (trzeba pamiętać, że w czystym JSF stworzenie takiej klikalnej Data Table, to nie lada wyzwanie) czy obsługa błędów. Dodatkowo poznajmy możliwość tworzenia adresów, które można dodawać do Ulubionych/Zakładek &#8211; taka opcja w aplikacjach wykorzystujących technologie AJAX jest bardzo przydatna. Na koniec autorzy opisują <strong>Seam CRUD Application Framework</strong> &#8211; API dzięki któremu proste aplikacje bazodanowe mogą powstać w kilka minut.</p>
<p>W części czwartej, zatytułowanej AJAX SUPPORT, dowiadujemy się wszystkiego co niezbędne o wykorzystaniu AJAX w naszej aplikacji.  Co ciekawe opisana jest m.in. integracja z <a href="www.icefaces.org/">ICEFaces</a>, którego użycie razem z JBoss Seam, w momencie powstawania książki, mogło prowadzić do błędów działania aplikacji. Dobra wiadomość jest taka, że od kilku tygodni możemy działać na ICEFaces w wersji 1.6 (najnowsza wersja to 1.6.1), która jest już w pełni kompatybilna z framework&#8217;iem.</p>
<p>Część piąta (BUSINESS PROCESSES AND RULES) opisuje integracje JBoss Seam z <a href="www.jboss.com/products/jbpm">jBPM</a> oraz <strong>Rule-Based Security Framework</strong>. W obecnie realizowanym przeze mnie projekcie wykorzystywany jest jBPM wraz ze Springiem. Muszę przyznać, że rozwiązanie proponowane w Seam jest o niebo prostsze i bardziej intuicyjne niż to, które w tym momencie wykorzystuje. Developerzy stanęli na wysokości zadania i jestem pewien, że dzięki tej funkcjonalności, w połączeniu z szybko rosnącą popularnością jBPM, JBoss Seam stanie się w przyszłości standardem pisania aplikacji webowych dla biznesu. Rule-Based Security Framework jest natomiast bardzo dobrym narzędziem zastępującym mechanizmy bezpieczeństwa proponowane przez EJB3, które to nadają się tylko do prostych aplikacji i w praktyce są rzadko wykorzystywane.</p>
<p>Ostatnia część książki to PRODUCTION DEPLOYMENT. Autorzy opisują konfiguracje JBoss Seam na serwerach aplikacyjnych JBoss AS 4.0.5, 4.2.x i 5.x i GlassFish oraz kontenerze serwletów Tomcat (tak.. Seam może działać bez EJB3). Dodatkowo opisane są zagadnienia związane z wydajnością oraz tworzeniem klastrów.</p>
<p>Lektura książki  JBoss® Seam: Simplicity and Power Beyond Java EE to bardzo dobry sposób na dość wnikliwe poznanie JBoss Seam w wersji 1.2.x. Autorzy koncentrują sie na praktycznych aspektach stosowania framework&#8217;a, dzięki czemu na 402 stronach znajdziecie dużą dawkę wiedzy, która niewątpliwie przyda się w trakcie tworzenia aplikacji. Książkę można zakupić m.in. w księgarni internetowej <a href="http://www.amazon.com/JBoss-Seam-Simplicity-Beyond-Prentice/dp/0131347969/ref=pd_bbs_sr_1/002-7043991-1795203?ie=UTF8&amp;s=books&amp;qid=1189847848&amp;sr=8-1" target="_blank">amazon.com</a> już od $20</p>
]]></content:encoded>
			<wfw:commentRss>http://j2ee.pl/2007/09/15/jboss%c2%ae-seam-simplicity-and-power-beyond-java-ee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EJB 3 in Action</title>
		<link>http://j2ee.pl/2007/08/07/ejb-3-in-action/</link>
		<comments>http://j2ee.pl/2007/08/07/ejb-3-in-action/#comments</comments>
		<pubDate>Tue, 07 Aug 2007 19:13:45 +0000</pubDate>
		<dc:creator>Michał Porzożyński</dc:creator>
				<category><![CDATA[EJB]]></category>
		<category><![CDATA[Książki (lub Czasopisma)]]></category>
		<category><![CDATA[ejb3]]></category>
		<category><![CDATA[jpa]]></category>
		<category><![CDATA[recenzja]]></category>

		<guid isPermaLink="false">http://j2ee.pl/2007/08/07/ejb-3-in-action/</guid>
		<description><![CDATA[ 11 maja 2006 roku JSR 244 i jego pochodne uzyskały status Final Release i pojawiło nam się JEE 5.0. Blisko rok później, ukazała się długo oczekiwana książka wydawnictwa Manning traktująca o trzonie &#8220;piątki&#8221;. EJB 3 in Action jest jedną z pierwszych książek o Enterprise JavaBeans w wersji trzeciej, a także o nowym sposobie dostępu [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://j2ee.pl/wp-content/uploads/2007/08/12543832.gif" alt="EJB 3 in Action" /> 11 maja 2006 roku JSR 244 i jego pochodne uzyskały status Final Release i pojawiło nam się JEE 5.0. Blisko rok później, ukazała się długo oczekiwana książka wydawnictwa <a href="http://www.manning.com/">Manning</a> traktująca o trzonie &#8220;piątki&#8221;. <em>EJB 3 in Action</em> jest jedną z pierwszych książek o Enterprise JavaBeans w wersji trzeciej, a także o nowym sposobie dostępu do baz danych &#8211; Java Persistence API 1.0.</p>
<p><span id="more-71"></span></p>
<p>Książka ukazała się na anglojęzycznych rynkach 15 kwietnia 2007 roku. Jest to całkiem obszerna &#8220;cegła&#8221; licząca 712 stron. Wydana prawie idealnie: świetna, dosyć duża czcionka; spore odstępy między liniami; dobrej jakości papier. Od razu rzuca nam się to w oczy, gdyż znacząco kontrastuje z polskimi wydawnictwami, gdzie literki są małe, a papier słaby. Książka podzielona została na 5 części:</p>
<ol>
<li>Overview of the EJB landscape</li>
<li>Building business logic with EJB 3</li>
<li>Diving into the Java Persistence API (JPA)</li>
<li>Putting EJB 3 into action</li>
<li>Migration and interoperability issues</li>
</ol>
<p>Razem daje nam to 16, na tyle krótkich, rozdziałów, że każdy z nich przeczytać można jednym tchem w przeciągu 2 &#8211; 3 godzin.</p>
<p>Część pierwsza to spojrzenie na EJB z wysokości 20000 stóp oraz pierwsza aplikacja. Krótki opis tego z czym właściwie mamy do czynienia, opis poszczególnych typów beanów oraz klas entity. Znajdziemy tutaj też różnice, jakie pojawiły sie w stosunku do wersji 2.1 oraz poznamy podstawowe wykorzystywane adnotacje.</p>
<p>Pierwsze dwa akapity książki, opowiadają nam historie chłopca imieniem Sadhu, któremu Bóg podarował trzy życzenia. Chłopiec poprosił o trzy reinkarnacje: w biedronkę (żeby każdy na świecie podziwiał go za jego piękno i wybaczył to, że nic nie robi); w słonia (aby mógł zjeść ogromną ilość jedzenia i nie zostać wyśmianym); w krowę (aby być kochanym przez wszystkich i dla wszystkich użytecznym). Okazało się, że autorzy EJB 3 in Action widzą analogię pomiędzy reinkarnacją chłopca i reinkarnacją Enterprise JavaBeans. Wszyscy zachwycali się innowacjami EJB 1, ale także narzekali na jego duże ograniczenia. EJB 2 jest ciężkie jak słoń, a EJB 3 jest użyteczne jak krowa, która karmi nas wszystkich swoim mlekiem. Fajne ! ;)</p>
<p>Druga część książki przenosi nas w głębiny komponentów sesyjnych (tych stateless i tych stateful) oraz komponentów sterowanych komunikatami (MDB). Poznajemy cykl życia beanów oraz szczegółowo wnikamy w adnotacje. Wkraczamy w zaawansowany świat EJB: wstrzykiwanie zależności, JNDI, interceptory (czyli AOP w świecie EJB), transakcje, bezpieczeństwo i timer&#8217;y. Pojawiają się także wzmianki o wydajności. Wszystko wytłumaczone bardzo przystępnym językiem. Tutaj należy też wspomnieć, że mimo, iż książka jest napisana w języku angielskim, to stosowane słownictwo będzie zrozumiałe dla każdego, kto choć kilkanaście godzin spędził nad jakąś dokumentacją techniczną z zakresu j2ee.</p>
<p>Część trzecia to meandry JPA. Znajdziemy w niej dokładny opis tego, co można osiągnąć w świecie odwzorowań obiektowo &#8211; relacyjnych (nowości w Java Enterprise Edition 5.0) oraz jak w jaki sposób tego dokonać. Krok po kroku poznajemy zasady tworzenia aplikacji bazodanowych: modelowanie dziedziny, mapowanie obiektowo &#8211; relacyjne, manipulowanie danymi za pomocą EntityManager i na sam koniec API zapytań oraz język JPQL. Książka przedstawia w sposób wyczerpujący poruszaną tutaj tematykę.</p>
<p>Czwarta część książki wydaje mi się najciekawsza i konieczność jej przeczytania jest właściwie niezbędna. To w tym właśnie miejscu nauczymy się &#8220;sklejać&#8221; wiadomości z dwóch poprzednich części w jedną spójną całość oraz przeistaczać ją w działającą(!) aplikację.</p>
<p>Z rozdziału 12. dowiadujemy się jak należy zintegrować EJB z innymi warstwami aplikacji. Poznajemy wzorce projektowe:</p>
<ul>
<li> Fasadę &#8211; pozwalającą ograniczyć ilość wywołań kierowanych z warstwy webowej do komponentów EJB, a co za tym  idzie zwiększyć wydajność całej aplikacji;</li>
<li>EAO &#8211; czyli stare dobre Data Access Object lecz w nowej wersji z której, ze względu na to, iż obiekty Entity mają teraz charakter POJO, usunięto DTO/VO.</li>
</ul>
<p>W tej  części książki poruszane są także tematy związane z wydajnością oraz skalowalnością (radzenie sobie z &#8220;lockami&#8221; na obiektach entity, tworzenie klastrów itp.). Mój entuzjazm związany z tą częścią publikacji wiąże się także z faktem, że w książce <em>Head First: EJB</em> brakowało tego typu informacji, co zawsze rodziło we mnie agresje ;)</p>
<p>Ostatnia część <em>EJB3 in Action</em> to informacje na temat migracji z EJB 2 do EJB 3, wystawianie metod EJB 3 w postaci WebSerwice&#8217;u oraz integracja EJB 3/JPA ze Spring&#8217;iem. Ze względu, że nie czytałem tego wszystkiego zbyt dokładnie pozwolę sobie porzucić dalsze dywagację na ten temat ;)</p>
<p>W książce znajdziemy także 5 &#8220;dodatków&#8221;:</p>
<ol>
<li>Omówienie RMI i JNDI</li>
<li>Wstęp do relacyjnych baz danych</li>
<li>Dokładny opis wszystkich adnotacji</li>
<li>Dokładny opis deskryptorów</li>
<li>Instalacja i konfiguracja serwera Glassfish</li>
</ol>
<p>Podsumowując z książki jestem zadowolony nawet bardziej niż bardzo. Cały czas przewijają się przez nią &#8220;Best practices&#8221;, które pomagają w rozwiązywaniu niejednego problemu napotkanego na naszej drodze. Książkę można nabyć poprzez serwis <a href="http://www.amazon.com/EJB-3-Action-Debu-Panda/dp/1933988347/" target="_blank">amazon.com</a> za $45, lub już za $25,49 od <a href="http://www.amazon.com/gp/offer-listing/1933988347/sr=/qid=/ref=olp_tab_new/102-9635913-9401734?ie=UTF8&amp;coliid=&amp;qid=&amp;sr=&amp;seller=&amp;colid=&amp;condition=new">jednego z partnerów</a>. Osobiście wybrałem drugą z wymienionych opcji i do tej pory cieszę się z zaoszczędzonych 20 dolarów :)</p>
<p>Moja ocena <em>EJB 3 in Action</em> to 9/10 !</p>
]]></content:encoded>
			<wfw:commentRss>http://j2ee.pl/2007/08/07/ejb-3-in-action/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
