<?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>Flex i AIR &#187; Java</title>
	<atom:link href="http://flex.imrahil.com/category/serwer-side/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://flex.imrahil.com</link>
	<description>Wiadomości ze świata RIA oraz moje zmagania z programowaniem w Flex/AIR</description>
	<lastBuildDate>Fri, 18 Jun 2010 20:40:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Flex + Java w jednym projekcie w Flex Builderze &#8211; część II</title>
		<link>http://flex.imrahil.com/2009/07/31/flex-java-w-jednym-projekcie-w-flex-builderze-czesc-ii/</link>
		<comments>http://flex.imrahil.com/2009/07/31/flex-java-w-jednym-projekcie-w-flex-builderze-czesc-ii/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 20:41:32 +0000</pubDate>
		<dc:creator>Jarek</dc:creator>
				<category><![CDATA[BlazeDS]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Builder]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://flex.imrahil.com/?p=260</guid>
		<description><![CDATA[Czas na stworzenie prostej aplikacji wykorzystującej Jave (BlazeDS) i Flex w jednym projekcie Flex Buildera. Będzie to klasyczne &#8222;Hello World&#8221; Wymagane oprogramowanie: Flex Builder 3.0.2 – dostępny do ściągnięcia w wersji trial ze stron Adobe lub w specjalnej wersji dla studentów lub bezrobotnych programistów ze strony Free RIA Tools, BlazeDS 3.2.0.3978 &#8211; dostępny na stronach [...]]]></description>
			<content:encoded><![CDATA[<p>Czas na stworzenie prostej aplikacji wykorzystującej Jave (<a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/"  class="alinks_links" onclick="return alinks_click(this);" title="BlazeDS"  rel="external">BlazeDS</a>) i <a href="http://www.adobe.com/products/flex/"  class="alinks_links" onclick="return alinks_click(this);" title="Adobe Flex"  rel="external">Flex</a> w jednym projekcie Flex Buildera. Będzie to klasyczne &#8222;Hello World&#8221; <img src='http://flex.imrahil.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Wymagane oprogramowanie:</strong></p>
<ul>
<li><strong>Flex Builder 3.0.2</strong> – dostępny do ściągnięcia w wersji trial ze <a href="http://www.adobe.com/go/flex_trial" target="_blank">stron Adobe</a> lub w specjalnej wersji dla studentów lub bezrobotnych programistów ze <a href="https://freeriatools.adobe.com/" target="_blank">strony Free RIA Tools</a>,</li>
<li><strong>BlazeDS 3.2.0.3978</strong> &#8211; dostępny na <a href="http://flexorg.wip3.adobe.com/blazeds/3.0.x/milestone/3978/blazeds-bin-3.2.0.3978.zip" target="_blank">stronach Adobe Open Source</a> (jest to wersja z samymi binariami &#8211; dostępna jest także wersja z zintegrowanym Tomcatem) &#8211; rozpakowujemy w dowolne miejsce, np.: <em>C:\Work\BlazeDS</em></li>
<li><strong>Tomcat 6.0.20</strong> &#8211; dostępny na <a href="http://tomcat.apache.org/download-60.cgi" target="_blank">stronach Apache Software Foundation</a> &#8211; rozpakowujemy w dowolne miejsce, np.: <em>C:\apache-tomcat-6.0.20</em></li>
<li><strong>BlazeMonster</strong> &#8211; bardzo przydatne narzędzie do testowania świeżo stworzonych metod BlazeDS &#8211; do ściągnięcia <a href="http://sujitreddyg.wordpress.com/2009/05/07/blazemonster/" target="_blank">z bloga Sujit Reddy G</a>.</li>
</ul>
<p>Do dzieła!</p>
<p><span id="more-260"></span></p>
<p>Po odpaleniu Flex Buildera tworzymy nowy projekt wybierając w sekcji &#8222;Server technology&#8221; opcję &#8222;J2EE&#8221; i zaznaczając &#8222;Create combined <a href="http://java.sun.com/javase/downloads/index.jsp"  class="alinks_links" onclick="return alinks_click(this);" title="Java"  rel="external">Java</a>/Flex project using WTP&#8221;:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/07/FlexJava01.jpg" rel="lightbox[260]"><img class="size-medium wp-image-268  aligncenter" title="FlexJava01" src="http://flex.imrahil.com/files/2009/07/FlexJava01-300x292.jpg" alt="FlexJava01" width="300" height="292" /></a></p>
<p>Następnym krokiem jest stworzenie lokalnej instancji serwera Tomcat &#8211; wskazujemy katalog z rozpakowanymi binariami Tomcata:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/07/FlexJava02.jpg" rel="lightbox[260]"><img class="size-medium wp-image-269  aligncenter" title="FlexJava02" src="http://flex.imrahil.com/files/2009/07/FlexJava02-266x300.jpg" alt="FlexJava02" width="266" height="300" /></a></p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/07/FlexJava03.jpg" rel="lightbox[260]"><img class="size-medium wp-image-270  aligncenter" title="FlexJava03" src="http://flex.imrahil.com/files/2009/07/FlexJava03-266x300.jpg" alt="FlexJava03" width="266" height="300" /></a></p>
<p>oraz wskazanie lokalizacji pliku <em>blazeds.war</em>:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/07/FlexJava04.jpg" rel="lightbox[260]"><img class="size-medium wp-image-271 aligncenter" title="FlexJava04" src="http://flex.imrahil.com/files/2009/07/FlexJava04-300x292.jpg" alt="FlexJava04" width="300" height="292" /></a></p>
<p>Następny ekran i projekt jest już utworzony:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/07/FlexJava05.jpg" rel="lightbox[260]"><img class="size-medium wp-image-272 aligncenter" title="FlexJava05" src="http://flex.imrahil.com/files/2009/07/FlexJava05-277x300.jpg" alt="FlexJava05" width="277" height="300" /></a></p>
<p>Struktura nowego projektu powinna przedstawiać się następująco:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/07/FlexJava06.jpg" rel="lightbox[260]"><img class="size-full wp-image-267 aligncenter" src="http://flex.imrahil.com/files/2009/07/FlexJava06.jpg" alt="FlexJava06" width="280" height="451" /></a></p>
<p style="text-align: left;">Katalog <em>flex_src</em> to nasz główny katalog ze kodem Flexa, <em>src</em> z kodem Java, a <em>WebContent</em> to nasz lokalny serwer WWW.<br />
Aby upewnić się czy wszystko działa dodajmy do kodu Flexa kawałek prostego kodu:</p>
<div class="codecolorer-container mxml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="mxml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000;">&lt;?xml version=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #7400FF;">&gt;</span></span><br />
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Application</span> xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #ff0000;">&quot;absolute&quot;</span><span style="color: #7400FF;">&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Label</span> text=<span style="color: #ff0000;">&quot;Hello World!&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;0&quot;</span> verticalCenter=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #7400FF;">/&gt;</span></span><br />
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Application</span><span style="color: #7400FF;">&gt;</span></span></div></td></tr></tbody></table></div>
<p>i odpalmy całą aplikację na serwerze &#8211; klikamy prawym klawiszem myszy na projekcie wybieramy <em>Run</em> -&gt; <em>Run on Server</em>, a następnie Next, Next, Finish:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/07/FlexJava07.jpg" rel="lightbox[260]"><img class="size-medium wp-image-284   aligncenter" title="FlexJava07" src="http://flex.imrahil.com/files/2009/07/FlexJava07-292x300.jpg" alt="FlexJava07" width="292" height="300" /></a></p>
<p style="text-align: left;">W oknie konsoli Flex Buildera widzimy logi uruchamianego Tomcata, a na koniec otrzymujemy przepiękny error <em>HTTP Status 404</em> <img src='http://flex.imrahil.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Jednak nie ma się co zrażać! Wracamy do Flex Buildera i wciskamy klawisz F11 (<em>Run debug</em>) w efekcie czego otwiera nam się domyślna przeglądarka, a w niej nasza mikro-aplikacja:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/07/FlexJava08.jpg" rel="lightbox[260]"><img class="size-medium wp-image-285 aligncenter" src="http://flex.imrahil.com/files/2009/07/FlexJava08-300x252.jpg" alt="FlexJava08" width="300" height="252" /></a></p>
<p>Taadaa! Serwer śmiga aż miło. Czas przystąpić do stworzenia czegoś bardziej konkretnego! Do dzieła!<br />
Na początek tworzymy nową klasę w Javie &#8211; <em>File -&gt; New -&gt; Other -&gt; Class</em>:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/07/FlexJava09.jpg" rel="lightbox[260]"><img class="size-medium wp-image-298 aligncenter" title="FlexJava09" src="http://flex.imrahil.com/files/2009/07/FlexJava09-250x300.jpg" alt="FlexJava09" width="250" height="300" /></a></p>
<p>i dodajemy do niej dwie metody: <em>helloWorld</em> i <em>repeatAfterMe</em>:</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br /></div></td><td><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">com.imrahil.tutorial</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> HelloWorld <br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> helloWorld<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #0000ff;">&quot;Server said: Hello World!&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> repeatAfterMe<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> sayHello<span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #0000ff;">&quot;You said: &quot;</span> <span style="color: #339933;">+</span> sayHello<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>Skompilowana klasa powinna znaleźć się w katalogu<em> <strong>/WebContent/WEB-INF/classes/com/imrahil/tutorial</strong></em>.<br />
Żeby jednak BlazeDS potrafił z niej skorzystać trzeba ją dodać do pliku <strong><em>remoting-config.xml</em></strong>, który powinien wyglądać następująco:</p>
<div class="codecolorer-container xml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br /></div></td><td><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;service</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;remoting-service&quot;</span> </span><br />
<span style="color: #009900;"> &nbsp; &nbsp;<span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;flex.messaging.services.RemotingService&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
<br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;adapters<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;adapter-definition</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;java-object&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;flex.messaging.services.remoting.adapters.JavaAdapter&quot;</span> <span style="color: #000066;">default</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/adapters<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;default-channels<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;channel</span> <span style="color: #000066;">ref</span>=<span style="color: #ff0000;">&quot;my-amf&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/default-channels<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;destination</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;HelloWorld&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;properties<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;source<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>com.imrahil.tutorial.HelloWorld<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/source<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/properties<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/destination<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/service<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></div></td></tr></tbody></table></div>
<p>Przy okazji można wywalić pliki: <strong><em>messaging-config.xml</em></strong> oraz <em><strong>proxy-config.xml</strong> </em>bo z tych opcji nie będziemy wogóle korzystać. Trzeba jednak zmodyfikować wtedy plik <strong><em>services-config.xml</em></strong>, który powinien wyglądać tak:</p>
<div class="codecolorer-container xml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br /></div></td><td><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;services-config<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;services<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;service-include</span> <span style="color: #000066;">file-path</span>=<span style="color: #ff0000;">&quot;remoting-config.xml&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/services<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;security<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;login-command</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;flex.messaging.security.TomcatLoginCommand&quot;</span> <span style="color: #000066;">server</span>=<span style="color: #ff0000;">&quot;Tomcat&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/security<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;channels<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;channel-definition</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;my-amf&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;mx.messaging.channels.AMFChannel&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;endpoint</span> <span style="color: #000066;">url</span>=<span style="color: #ff0000;">&quot;http://{server.name}:{server.port}/{context.root}/messagebroker/amf&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;flex.messaging.endpoints.AMFEndpoint&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/channel-definition<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/channels<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;logging<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;target</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;flex.messaging.log.ConsoleTarget&quot;</span> <span style="color: #000066;">level</span>=<span style="color: #ff0000;">&quot;Debug&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;properties<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;prefix<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>[BlazeDS] <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/prefix<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;includeDate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>false<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/includeDate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;includeTime<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>false<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/includeTime<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;includeLevel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>false<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/includeLevel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;includeCategory<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>false<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/includeCategory<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/properties<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;filters<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pattern<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Endpoint.*<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/pattern<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pattern<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Service.*<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/pattern<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pattern<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Configuration<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/pattern<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/filters<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/target<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/logging<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;system<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;redeploy<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;enabled<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>false<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/enabled<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/redeploy<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/system<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/services-config<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></div></td></tr></tbody></table></div>
<p>Cenną zmianą jest zwłaszcza opcja <strong>target=&#8221;Debug&#8221;</strong> w sekcji <strong>&lt;logging /&gt;</strong> &#8211; pozwoli nam ona obserwować odpowiedzi BlazeDS w konsoli serwera Tomcat.</p>
<p>Czas zatem stworzyć aplikację Flex komunikującą się z nowo stworzonymi metodami Javy.</p>
<p>Tworzymy nową <em>MXML Application</em> i piszemy:</p>
<div class="codecolorer-container mxml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br /></div></td><td><div class="mxml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000;">&lt;?xml version=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #7400FF;">&gt;</span></span><br />
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Application</span> xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #ff0000;">&quot;vertical&quot;</span> horizontalAlign=<span style="color: #ff0000;">&quot;left&quot;</span><span style="color: #7400FF;">&gt;</span></span><br />
<br />
&nbsp; &nbsp; <span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:RemoteObject</span> id=<span style="color: #ff0000;">&quot;myservice&quot;</span> fault=<span style="color: #ff0000;">&quot;faultHandler(event)&quot;</span> showBusyCursor=<span style="color: #ff0000;">&quot;true&quot;</span> destination=<span style="color: #ff0000;">&quot;HelloWorld&quot;</span><span style="color: #7400FF;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:method</span> name=<span style="color: #ff0000;">&quot;helloWorld&quot;</span> result=<span style="color: #ff0000;">&quot;resultHandler(event)&quot;</span> <span style="color: #7400FF;">/&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:method</span> name=<span style="color: #ff0000;">&quot;repeatAfterMe&quot;</span> result=<span style="color: #ff0000;">&quot;resultHandler(event)&quot;</span> <span style="color: #7400FF;">/&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:RemoteObject</span><span style="color: #7400FF;">&gt;</span></span><br />
<br />
&nbsp; &nbsp; <span style="color: #339933;">&lt;mx:Script&gt;</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp;&lt;![CDATA[</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;import mx.rpc.events.ResultEvent;</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;import mx.rpc.events.FaultEvent;</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;private function resultHandler(evt:ResultEvent):void</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;outputTxt.text += evt.message.body.toString() + &quot;\n&quot;;</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</span><br />
<br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;private function faultHandler(fault:FaultEvent):void</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;outputTxt.text = &nbsp;&quot;Code: &quot; + fault.fault.faultCode + &quot;\n&quot;;</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;outputTxt.text += &quot;Message: &quot; + fault.fault.faultString + &quot;\n&quot;;</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;outputTxt.text += &quot;Detail: &quot; + fault.fault.faultDetail + &quot;\n&quot;;</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp;]]&gt;</span><br />
<span style="color: #339933;">&nbsp; &nbsp; &lt;/mx:Script&gt;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Label</span> text=<span style="color: #ff0000;">&quot;Output:&quot;</span><span style="color: #7400FF;">/&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:TextArea</span> width=<span style="color: #ff0000;">&quot;500&quot;</span> height=<span style="color: #ff0000;">&quot;100&quot;</span> id=<span style="color: #ff0000;">&quot;outputTxt&quot;</span><span style="color: #7400FF;">/&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Button</span> label=<span style="color: #ff0000;">&quot;Hello World!&quot;</span> click=<span style="color: #ff0000;">&quot;myservice.getOperation('helloWorld').send();&quot;</span><span style="color: #7400FF;">/&gt;</span></span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:HBox</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Button</span> label=<span style="color: #ff0000;">&quot;Repeat After Me:&quot;</span> click=<span style="color: #ff0000;">&quot;myservice.getOperation('repeatAfterMe').send(myText.text);&quot;</span><span style="color: #7400FF;">/&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:TextInput</span> id=<span style="color: #ff0000;">&quot;myText&quot;</span> text=<span style="color: #ff0000;">&quot;Sent to Server&quot;</span><span style="color: #7400FF;">/&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:HBox</span><span style="color: #7400FF;">&gt;</span></span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Button</span> label=<span style="color: #ff0000;">&quot;Invoke wrong method&quot;</span> click=<span style="color: #ff0000;">&quot;myservice.getOperation('wrongMethod').send();&quot;</span><span style="color: #7400FF;">/&gt;</span></span><br />
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Application</span><span style="color: #7400FF;">&gt;</span></span></div></td></tr></tbody></table></div>
<p><strong>Uwaga!</strong> Jeśli po odpaleniu w przeglądarce (klawisz F11 lub CTRL+F11 w Flex Builderze) i wywołaniu metody helloWorld wyskakuje nam błąd <em>Client.Error.MessageSend</em> (a konkretniej: <em>Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Failed: url: &#8216;http://localhost:8080/WebContent/messagebroker/amf&#8217;</em>) to  prawdopodobnie trzeba zmodyfikować parametr <strong><em>Context root</em></strong> w opcjach projektu: <strong><em>Preferences -&gt; Flex Server -&gt; Context root</em></strong>.<br />
Właściwą wartością jest nazwa projektu, czyli w naszym przypadku: <em>BlazeDS-Hello-World.</em> Trzeba jeszcze zrestartować serwer (lub wyczyścić mu cache: prawy klawisz myszy na serwerze w zakładce <em>Servers</em> i opcja <em>Clean</em>)</p>
<p>Gdy już wszystko ustawimy jak trzeba to pod adresem: <strong><em>http://localhost:8080/BlazeDS-Hello-World/hello_world.html</em></strong> znajdziemy naszą śliczną aplikację:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/07/FlexJava10.jpg" rel="lightbox[260]"><img class="size-medium wp-image-301 aligncenter" title="FlexJava10" src="http://flex.imrahil.com/files/2009/07/FlexJava10-300x209.jpg" alt="FlexJava10" width="300" height="209" /></a></p>
<p>Jeśli ktoś nie miał tyle czasu, żeby samemu stworzyć powyższą aplikację ten może <a href="http://flex.imrahil.com/tutorials/flex-java/BlazeDS-Hello-World.zip">ściągnąć pełen kod wraz z plikami projektu Flex Buildera</a>.</p>
<p>ps.: kod Flexowy bazuje w pewnej części na kodzie Wade&#8217;a Arnolda z <a href="http://wadearnold.com/blog/flash/blazeds-worth-figuring-out-helloworld-example" target="_blank">tego wpisu</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://flex.imrahil.com/2009/07/31/flex-java-w-jednym-projekcie-w-flex-builderze-czesc-ii/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flex + Java w jednym projekcie w Flex Builderze &#8211; część I</title>
		<link>http://flex.imrahil.com/2009/04/11/flex-java-w-jednym-projekcie-w-flex-builderze-czesc-i/</link>
		<comments>http://flex.imrahil.com/2009/04/11/flex-java-w-jednym-projekcie-w-flex-builderze-czesc-i/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 12:10:39 +0000</pubDate>
		<dc:creator>Jarek</dc:creator>
				<category><![CDATA[BlazeDS]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://flex.imrahil.com/?p=147</guid>
		<description><![CDATA[Chciałbym przedstawić w jaki sposób można przygotować środowisko deweloperskie Flex Builder do kodowania Flex + Java. Chodzi oto, żeby móc tworzyć jednocześnie część aplikacji widoczną dla użytkownika (frontend) jak i backend, czyli kod Javy odpowiedzialny np.: za komunikację z bazami danych i obróbkę tych danych. Uwaga! Poniższy sposób tworzenia aplikacji sprawdza się tylko w przypadku [...]]]></description>
			<content:encoded><![CDATA[<p>Chciałbym przedstawić w jaki sposób można przygotować środowisko deweloperskie <a href="http://www.adobe.com/products/flex/"  class="alinks_links" onclick="return alinks_click(this);" title="Adobe Flex"  rel="external">Flex</a> Builder do kodowania Flex + <a href="http://java.sun.com/javase/downloads/index.jsp"  class="alinks_links" onclick="return alinks_click(this);" title="Java"  rel="external">Java</a>. Chodzi oto, żeby móc tworzyć jednocześnie część aplikacji widoczną dla użytkownika (frontend) jak i backend, czyli kod Javy odpowiedzialny np.: za komunikację z bazami danych i obróbkę tych danych.</p>
<p>Uwaga! Poniższy sposób tworzenia aplikacji sprawdza się tylko w przypadku kodowania przez jedną osobę.</p>
<p>Kod Javy będzie docelowo wykorzystywał <a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/"  class="alinks_links" onclick="return alinks_click(this);" title="BlazeDS"  rel="external">BlazeDS</a>/LiveCycle Data Services &#8211; będzie to jednak zagadnieniem następnego tutoriala.</p>
<p><strong>Wymagane oprogramowanie:</strong> Flex Builder 3.0.2 &#8211; dostępny do ściągnięcia w wersji trial ze <a href="http://www.adobe.com/go/flex_trial" target="_blank">stron Adobe</a> lub w specjalnej wersji dla studentów lub bezrobotnych programistów ze <a href="https://freeriatools.adobe.com/" target="_blank">strony Free RIA Tools</a>.</p>
<p><span id="more-147"></span></p>
<p>Zaczynamy od uruchomienia Flex Buildera:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds00.jpg" rel="lightbox[147]"><img class="size-medium wp-image-222 aligncenter" title="flex_builder_blazeds00" src="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds00-300x141.jpg" alt="flex_builder_blazeds00" width="300" height="141" /></a></p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds01.jpg" rel="lightbox[147]"><img class="size-medium wp-image-223 aligncenter" title="flex_builder_blazeds01" src="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds01-300x225.jpg" alt="flex_builder_blazeds01" width="300" height="225" /></a></p>
<p style="text-align: left;">Wybieramy menu <strong>Help -&gt; Software Updates -&gt; Find and Install</strong>:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds02.jpg" rel="lightbox[147]"><img class="aligncenter size-medium wp-image-237" title="flex_builder_blazeds02" src="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds02-300x225.jpg" alt="flex_builder_blazeds02" width="300" height="225" /></a></p>
<p style="text-align: left;">Zaznaczamy opcję &#8222;<strong>Search for new features to install</strong>&#8222;:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds03.jpg" rel="lightbox[147]"><img class="aligncenter size-medium wp-image-238" title="flex_builder_blazeds03" src="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds03-296x300.jpg" alt="flex_builder_blazeds03" width="296" height="300" /></a></p>
<p style="text-align: left;">Na liście zaznaczamy <strong>Europa Discovery Site</strong> i klikamy <strong>Finish</strong>:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds04.jpg" rel="lightbox[147]"><img class="aligncenter size-medium wp-image-239" title="flex_builder_blazeds04" src="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds04-296x300.jpg" alt="flex_builder_blazeds04" width="296" height="300" /></a></p>
<p style="text-align: left;">Po wczytaniu listy aplikacji wybieramy ostatnią pozycję &#8222;<strong>Web and JEE Development</strong>&#8222;:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds05.jpg" rel="lightbox[147]"><img class="aligncenter size-medium wp-image-227" title="flex_builder_blazeds05" src="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds05-272x300.jpg" alt="flex_builder_blazeds05" width="272" height="300" /></a></p>
<p style="text-align: left;">oraz wybieramy &#8222;<strong>Select required</strong>&#8222;, żeby dodać wszystkie wymagane zależności:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds06.jpg" rel="lightbox[147]"><img class="aligncenter size-medium wp-image-228" title="flex_builder_blazeds06" src="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds06-272x300.jpg" alt="flex_builder_blazeds06" width="272" height="300" /></a></p>
<p style="text-align: left;">Następny krok to zgoda licencyjna:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds07.jpg" rel="lightbox[147]"><img class="aligncenter size-medium wp-image-229" title="flex_builder_blazeds07" src="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds07-272x300.jpg" alt="flex_builder_blazeds07" width="272" height="300" /></a></p>
<p style="text-align: left;">oraz wybór komponentów opcjonalnych &#8211; wybieramy &#8222;<strong>Select All</strong>&#8221; (lub nie ruszamy nic, jeśli wszystko jest już zaznaczone):</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds08.jpg" rel="lightbox[147]"><img class="aligncenter size-medium wp-image-230" title="flex_builder_blazeds08" src="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds08-272x300.jpg" alt="flex_builder_blazeds08" width="272" height="300" /></a></p>
<p style="text-align: left;">Jeszcze tylko ekran podsumowujący i klikamy <strong>Finish</strong>:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds09.jpg" rel="lightbox[147]"><img class="aligncenter size-medium wp-image-231" title="flex_builder_blazeds09" src="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds09-272x300.jpg" alt="flex_builder_blazeds09" width="272" height="300" /></a></p>
<p style="text-align: left;">Chwila czekania, aż wszystkie ściągną się na dysk:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds10.jpg" rel="lightbox[147]"><img class="aligncenter size-medium wp-image-236" title="flex_builder_blazeds10" src="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds10-300x132.jpg" alt="flex_builder_blazeds10" width="300" height="132" /></a></p>
<p style="text-align: left;"><a href="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds11.jpg" rel="lightbox[147]"><img class="alignleft size-medium wp-image-250" style="display: none;" title="flex_builder_blazeds11" src="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds11-300x250.jpg" alt="flex_builder_blazeds11" width="300" height="250" /></a></p>
<p style="text-align: left;">Po ściągnięciu plików jeszcze raz zatwierdzamy chęć instalacji wybierając &#8222;<strong>Install all</strong>&#8222;.</p>
<p style="text-align: left;">Po pozytywej i całkowitej instalacji pojawia się monit do restartu Flex Buildera:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds12.jpg" rel="lightbox[147]"><img class="aligncenter size-medium wp-image-221" title="flex_builder_blazeds12" src="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds12-300x99.jpg" alt="flex_builder_blazeds12" width="300" height="99" /></a></p>
<p style="text-align: left;">Efektem powyższych kroków będzie nowa opcja &#8222;<strong>Create combined Flex/Java project using WTP</strong>&#8221; w momencie tworzenia nowego projektu:</p>
<p style="text-align: center;"><a href="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds13.jpg" rel="lightbox[147]"><img class="aligncenter size-medium wp-image-256" title="flex_builder_blazeds13" src="http://flex.imrahil.com/files/2009/04/flex_builder_blazeds13-300x292.jpg" alt="flex_builder_blazeds13" width="300" height="292" /></a></p>
<p style="text-align: left;">Czas na Flex + Java w jednym projekcie w Flex Builderze &#8211; część II !</p>
]]></content:encoded>
			<wfw:commentRss>http://flex.imrahil.com/2009/04/11/flex-java-w-jednym-projekcie-w-flex-builderze-czesc-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
