<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Laurent Bouin's Blog</title>
	<atom:link href="http://laurentbouin.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://laurentbouin.wordpress.com</link>
	<description>Java/J2EE weblog to share experience, difficulties and solutions</description>
	<lastBuildDate>Wed, 09 Mar 2011 11:15:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='laurentbouin.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/2201107b8f3e7a9b9a1f1f0b23af00b4?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Laurent Bouin's Blog</title>
		<link>http://laurentbouin.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://laurentbouin.wordpress.com/osd.xml" title="Laurent Bouin&#039;s Blog" />
	<atom:link rel='hub' href='http://laurentbouin.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Template for Hibernate, Spring and CXF</title>
		<link>http://laurentbouin.wordpress.com/2009/05/04/template-for-hibernate-spring-and-cxf/</link>
		<comments>http://laurentbouin.wordpress.com/2009/05/04/template-for-hibernate-spring-and-cxf/#comments</comments>
		<pubDate>Mon, 04 May 2009 15:14:22 +0000</pubDate>
		<dc:creator>laurentbouin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[annotations]]></category>
		<category><![CDATA[Apache CXF]]></category>
		<category><![CDATA[cxf]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[hibernate]]></category>
		<category><![CDATA[Hibernate 3]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[java persistence api]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[Spring 2.5]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://laurentbouin.wordpress.com/?p=147</guid>
		<description><![CDATA[Web services are part of almost every projects, lots of frameworks help us to create it with more ease. One of the easiest Framework to create webservices is Apache CXF, the new version of XFire. The main difficulty is, as alway, to integrate many other frameworks. Personnaly i use Spring and Hibernate more than any [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=147&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Web services are part of almost every projects, lots of frameworks help us to create it with more ease.</p>
<p>One of the easiest Framework to create webservices is <a href="http://cxf.apache.org">Apache CXF</a>, the new version of <a href="http://xfire.codehaus.org">XFire</a>. The main difficulty is, as alway, to integrate many other frameworks.</p>
<p>Personnaly i use <a href="http://springsource.org">Spring</a> and <a href="http://hibernate.org">Hibernate</a> more than any others, here is an example showing how to make Spring, Hibernate and CXF working together, with annotations.</p>
<h2>Interesting parts of POM:</h2>
<h4>Version’s declaration :</h4>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="461" valign="top">
<pre>&lt;properties&gt;
    &lt;cxf.version&gt;[2,)&lt;/cxf.version&gt;
    &lt;spring.version&gt;2.5.6&lt;/spring.version&gt;
    &lt;servlet.version&gt;2.5&lt;/servlet.version&gt;
    &lt;hibernate-annotations.version&gt;3.4.0.GA&lt;/hibernate-annotations.version&gt;
    &lt;hibernate-commons-annotations.version&gt;3.3.0.ga&lt;/hibernate-commons-annotations.version&gt;
    &lt;hibernate-core.version&gt;3.3.1.ga&lt;/hibernate-core.version&gt;
    &lt;hsqldb.version&gt;1.8.0.7&lt;/hsqldb.version&gt;
    &lt;junit.version&gt;4.4&lt;/junit.version&gt;
&lt;/properties&gt;</pre>
</td>
</tr>
</tbody>
</table>
<h3>Exclude the incompatibles version of dependencies :</h3>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="461" valign="top">
<pre>&lt;dependency&gt;
           &lt;groupId&gt;org.hibernate&lt;/groupId&gt;
           &lt;artifactId&gt;hibernate&lt;/artifactId&gt;
           &lt;version&gt;3.2.1.ga&lt;/version&gt;
           &lt;exclusions&gt;
                    &lt;exclusion&gt;
                             &lt;groupId&gt;asm&lt;/groupId&gt;
                             &lt;artifactId&gt;asm&lt;/artifactId&gt;
                    &lt;/exclusion&gt;
                    &lt;exclusion&gt;
                             &lt;groupId&gt;asm&lt;/groupId&gt;
                             &lt;artifactId&gt;asm-attrs&lt;/artifactId&gt;
                    &lt;/exclusion&gt;
                    &lt;exclusion&gt;
                             &lt;groupId&gt;cglib&lt;/groupId&gt;
                             &lt;artifactId&gt;cglib&lt;/artifactId&gt;
                    &lt;/exclusion&gt;
           &lt;/exclusions&gt;
&lt;/dependency&gt;</pre>
</td>
</tr>
</tbody>
</table>
<h3>Replace by the compatible dependencies :</h3>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="461" valign="top">
<pre> &lt;dependency&gt;
               &lt;groupId&gt;cglib&lt;/groupId&gt;
               &lt;artifactId&gt;cglib-nodep&lt;/artifactId&gt;
               &lt;version&gt;2.1_3&lt;/version&gt;
 &lt;/dependency&gt;</pre>
</td>
</tr>
</tbody>
</table>
<h2>Define the Interface</h2>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="461" valign="top">import   java.util.List;import   javax.jws.WebService;</p>
<p>import   com.lb.jwitter.User;</p>
<p><strong>@WebService</strong><br />
public interface UserService {</p>
<p style="padding-left:30px;">Boolean exist(String username);</p>
<p style="padding-left:30px;">List&lt;User&gt; findAll();</p>
<p style="padding-left:30px;">void createUser(String username);</p>
<p style="padding-left:30px;">User findByUsername(String username);</p>
<p style="padding-left:30px;">User get(Long id);</p>
<p style="padding-left:30px;">void createUsers();</p>
<p>}</td>
</tr>
</tbody>
</table>
<p><strong>@WebService</strong> defines the interface as the <em>endpoint</em> of a web service. The endpoint will be used to generate the WSDL.</p>
<h2>Service’s implementation:</h2>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="768" valign="top">import javax.jws.WebService;<br />
import org.springframework.beans.factory.annotation.Autowired;<br />
import org.springframework.beans.factory.annotation.Qualifier;<br />
import org.springframework.stereotype.Service;<br />
import org.springframework.transaction.annotation.Transactional;import com.lb.jwitter.User;<br />
import com.lb.jwitter.hibernate.UserDao;</p>
<p>/**<br />
* @author lbouin<br />
*/<br />
@Service("userService")<br />
<strong>@WebService(endpointInterface   = "com.lb.jwitter.service.UserService")<br />
</strong>public class UserServiceImpl implements UserService,Serializable{</p>
<p><strong>@Autowired</strong><br />
<strong>@Qualifier("userHibernateDao")</strong><br />
private UserDao userDao;</p>
<p>...</td>
</tr>
</tbody>
</table>
<p>The annotation @WebService(endpointInterface = "com.lb.jwitter.service.UserService") defines  UserServiceImpl as the web service’s implémentation.</p>
<p>The other annotation @Service("userService") allow this class to be used as a classic Spring service. In this way the core logic of the service is not tied to the communication layer.<em> </em></p>
<h2>Webservice configuration :</h2>
<p>Use a separate XML file to declare your Web services :</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="768" valign="top">&lt;?xml   version="1.0" encoding="UTF-8"?&gt;<br />
&lt;beans xmlns="http://www.springframework.org/schema/beans"<br />
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />
xmlns:jaxws="http://cxf.apache.org/jaxws"<br />
xsi:schemaLocation="<a href="http://www.springframework.org/schema/beans">http://www.springframework.org/schema/beans</a> <a href="http://www.springframework.org/schema/beans/spring-beans.xsd">http://www.springframework.org/schema/beans/spring-beans.xsd</a> <a href="http://cxf.apache.org/jaxws">http://cxf.apache.org/jaxws</a> <a href="http://cxf.apache.org/schemas/jaxws.xsd">http://cxf.apache.org/schemas/jaxws.xsd</a> "&gt;&lt;import   resource="classpath:META-INF/cxf/cxf.xml" /&gt;<br />
&lt;import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"   /&gt;<br />
&lt;import resource="classpath:META-INF/cxf/cxf-servlet.xml" /&gt;</p>
<p>&lt;jaxws:endpoint   implementor="#userService"   implementorClass="com.lb.jwitter.service.UserServiceImpl"   address="/User" /&gt;</p>
<p>&lt;jaxws:endpoint     implementor="com.lb.jwitter.service.PingServiceImpl"<br />
address="/Marco" /&gt;</p>
<p>&lt;/beans&gt;</td>
</tr>
</tbody>
</table>
<p>By using implementor="#userService" you define a Spring Bean instead of a typical class.</p>
<p><a title="Download the source code" href="http://files.me.com/laurentbouin/93bzha">Download the source code [ZIP]</a></p>
<p>To import the project in Eclipse execute "mvn eclipse:eclipse" and import the project.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/laurentbouin.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/laurentbouin.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/laurentbouin.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/laurentbouin.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/laurentbouin.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/laurentbouin.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/laurentbouin.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/laurentbouin.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/laurentbouin.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/laurentbouin.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/laurentbouin.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/laurentbouin.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/laurentbouin.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/laurentbouin.wordpress.com/147/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=147&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://laurentbouin.wordpress.com/2009/05/04/template-for-hibernate-spring-and-cxf/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a7c38a7d8856f8fe06bb227dcaa7b1c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">laurentbouin</media:title>
		</media:content>
	</item>
		<item>
		<title>Flex pour les developpeurs Java</title>
		<link>http://laurentbouin.wordpress.com/2009/05/01/flex-pour-les-developpeurs-java/</link>
		<comments>http://laurentbouin.wordpress.com/2009/05/01/flex-pour-les-developpeurs-java/#comments</comments>
		<pubDate>Fri, 01 May 2009 20:29:52 +0000</pubDate>
		<dc:creator>laurentbouin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Builder]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[Richfaces]]></category>

		<guid isPermaLink="false">http://laurentbouin.wordpress.com/?p=103</guid>
		<description><![CDATA[La plupart des programmeurs ou architectes Java ont été, ou seront, amenés a travailler sur des applications de gestion traitant un grand volume de données métier. Les problèmes récurrents que l&#8217;on rencontre dans ces cas là sont: Trop de données présentées sur le même écran Le volume de données transmis via le réseau est trop [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=103&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>La plupart des programmeurs ou architectes Java ont été, ou seront, amenés a travailler sur des applications de gestion traitant un grand volume de données métier.</p>
<p>Les problèmes récurrents que l&#8217;on rencontre dans ces cas là sont:</p>
<ul>
<li>Trop de données présentées sur le même écran</li>
<li>Le volume de données transmis via le réseau est trop grand pour permettre de bonnes performances</li>
<li>Les incompatibilités entre les navigateurs induisent de nombreux bugs, allonge les phases de recette pour les différents navigateurs etc.</li>
</ul>
<p>En voyant arriver les technologies <acronym title="Asynchronous Javascript and Xml">AJAX</acronym> et <acronym title="Java Server Faces">JSF</acronym> je me suis dis que la solution commençait peut-être a se dessiner: des Taglibs générant le code client adapté aux navigateurs, des appels asynchrones n&#8217;envoyant et ne recevant que les données nécessaires&#8230;</p>
<p>Force est de constater que l&#8217;on est encore loin du compte.</p>
<p>L&#8217;année dernière j&#8217;ai eu a m&#8217;intéresser à la pertinence de Flex pour l&#8217;un des projets sur lequel je travaillais et depuis j&#8217;ai du mal a imaginer comment cela pourrait ne pas être l&#8217;avenir des <acronym title="Rich Internet Applications">RIA</acronym> Java.</p>
<p><a title="Flex" href="http://www.adobe.com/products/flex/">Flex </a>est à l&#8217;IHM ce que Java est au serveur:</p>
<ul>
<li>Multi-plateformes grâce à sa JVM</li>
<li>Multi-navigateurs grâce au plug-in Flash Player</li>
<li><em>Compile once &#8211; run everywhere</em></li>
</ul>
<p>Dans les prochaines semaines je partagerai quelques exemples de code, mais commençons par les bases, le tout sans utiliser le <a title="Flex Builder" href="http://tryit.adobe.com/fr/flex/?sdid=CCKQO">Flex Builder</a> (bientôt peut-être), mais simplement le Flex SDK et <a title="Eclipse" href="http://www.eclipse.prg">Eclipse</a>.</p>
<ol>
<li><a title="Flex SDK 3" href="http://www.adobe.com/products/flex/flexdownloads/index.html">Téléchargez le Flex SDK  (ZIP)</a></li>
<li>Une fois décompressé, ajout le répertoire du SDK au <em>path </em>de votre machine.</li>
<li>Exécutez la commande:  &#8220;<strong>amxmlc -version</strong>&#8221; afin de vérifier que l&#8217;installation est correcte.</li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/laurentbouin.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/laurentbouin.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/laurentbouin.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/laurentbouin.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/laurentbouin.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/laurentbouin.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/laurentbouin.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/laurentbouin.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/laurentbouin.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/laurentbouin.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/laurentbouin.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/laurentbouin.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/laurentbouin.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/laurentbouin.wordpress.com/103/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=103&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://laurentbouin.wordpress.com/2009/05/01/flex-pour-les-developpeurs-java/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a7c38a7d8856f8fe06bb227dcaa7b1c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">laurentbouin</media:title>
		</media:content>
	</item>
		<item>
		<title>Template for Spring,Hibernate and CXF</title>
		<link>http://laurentbouin.wordpress.com/2009/04/29/template-for-springhibernate-and-cxf/</link>
		<comments>http://laurentbouin.wordpress.com/2009/04/29/template-for-springhibernate-and-cxf/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 21:34:31 +0000</pubDate>
		<dc:creator>laurentbouin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[annotations]]></category>
		<category><![CDATA[Apache CXF]]></category>
		<category><![CDATA[cxf]]></category>
		<category><![CDATA[hibernate]]></category>
		<category><![CDATA[Hibernate 3]]></category>
		<category><![CDATA[hibernate-annotations]]></category>
		<category><![CDATA[HSQLDB]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[java persistence api]]></category>
		<category><![CDATA[POM]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[Web services]]></category>
		<category><![CDATA[WebServices]]></category>

		<guid isPermaLink="false">http://laurentbouin.wordpress.com/?p=121</guid>
		<description><![CDATA[Les Web Services sont omniprésents dans les projets actuels et de nombreux framework permettent de les créer rapidement. Une de ces framework est Apache CXF. En lui même assez simple d&#8217;utilisation la difficulté réside toujours dans l&#8217;intégration avec d&#8217;autre composants. A titre personnel les framework que j&#8217;utilise le plus sont Spring et Hibernate, voici donc [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=121&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Les Web Services sont omniprésents dans les projets actuels et de nombreux <em>framework </em>permettent de les créer rapidement.</p>
<p>Une de ces <em>framework </em>est <a title="Visit Apache CXF site" href="http://cxf.apache.org/">Apache CXF</a>. En lui même assez simple d&#8217;utilisation la difficulté réside toujours dans l&#8217;intégration avec d&#8217;autre composants.</p>
<p>A titre personnel les <em>framework</em> que j&#8217;utilise le plus sont <a href="http://www.springsource.com/">Spring </a>et <a href="www.hibernate.org">Hibernate</a>, voici donc un exemple intégrant les 3 <em>via </em>des annotations.</p>
<h2>Les parties intéressantes du POM:</h2>
<h4>Les versions:</h4>
<pre>&lt;properties&gt;
    &lt;cxf.version&gt;[2,)&lt;/cxf.version&gt;
    &lt;spring.version&gt;2.5.6&lt;/spring.version&gt;
    &lt;servlet.version&gt;2.5&lt;/servlet.version&gt;
    &lt;hibernate-annotations.version&gt;3.4.0.GA&lt;/hibernate-annotations.version&gt;
    &lt;hibernate-commons-annotations.version&gt;3.3.0.ga&lt;/hibernate-commons-annotations.version&gt;

    &lt;hibernate-core.version&gt;3.3.1.ga&lt;/hibernate-core.version&gt;
    &lt;hsqldb.version&gt;1.8.0.7&lt;/hsqldb.version&gt;
    &lt;junit.version&gt;4.4&lt;/junit.version&gt;
&lt;/properties&gt;</pre>
<h3>Exclusions des librairies incompatibles:</h3>
<pre>&lt;dependency&gt;
	&lt;groupId&gt;org.hibernate&lt;/groupId&gt;
	&lt;artifactId&gt;hibernate&lt;/artifactId&gt;
	&lt;version&gt;3.2.1.ga&lt;/version&gt;

	&lt;exclusions&gt;
		&lt;exclusion&gt;
			&lt;groupId&gt;asm&lt;/groupId&gt;
			&lt;artifactId&gt;asm&lt;/artifactId&gt;
		&lt;/exclusion&gt;
		&lt;exclusion&gt;
			&lt;groupId&gt;asm&lt;/groupId&gt;
			&lt;artifactId&gt;asm-attrs&lt;/artifactId&gt;
		&lt;/exclusion&gt;
		&lt;exclusion&gt;
			&lt;groupId&gt;cglib&lt;/groupId&gt;
			&lt;artifactId&gt;cglib&lt;/artifactId&gt;
		&lt;/exclusion&gt;
	&lt;/exclusions&gt;
&lt;/dependency&gt;</pre>
<pre>
<h3>Inclusions des librairies compatibles:</h3>
<pre> &lt;dependency&gt;
	    &lt;groupId&gt;cglib&lt;/groupId&gt;
    	&lt;artifactId&gt;cglib-nodep&lt;/artifactId&gt;
    	&lt;version&gt;2.1_3&lt;/version&gt;
 &lt;/dependency&gt;</pre>
</pre>
<h2>Le code:</h2>
<pre>import java.util.List;</pre>
<p>import javax.jws.WebService;</p>
<p>import com.lb.jwitter.User;</p>
<p>@WebService<br />
public interface UserService {</p>
<p>/**<br />
* Return true if the user already exist, false if not<br />
* @param username The username to search<br />
* @return<br />
*/<br />
Boolean exist(String username);</p>
<p>/**<br />
* Return a list containing all users<br />
* @return A list containing all users<br />
*/<br />
List&lt;User&gt; findAll();</p>
<p>/**<br />
* Create a User with the given username<br />
* @param username The user name<br />
*/<br />
void createUser(String username);</p>
<p>/**<br />
* Search a user with the given username<br />
* @param username The user name to search<br />
* @return The user with the given username, null if it doesn't exist<br />
*/<br />
User findByUsername(String username);</p>
<p>/**<br />
* Return a user with the given id<br />
* @param id The user id<br />
* @return A user if the id exist, null otherwise<br />
*/<br />
User get(Long id);</p>
<p>/**<br />
* Create 5 users with random user names<br />
*/<br />
void createUsers();</p>
<p>}</p>
<p>L'annotation @Webservice permet de définir l'interface comme <em>endpoint</em> d'un web service.</p>
<h2>L'implémentation du service:</h2>
<p>import javax.jws.WebService;</p>
<p>import org.apache.commons.logging.Log;<br />
import org.apache.commons.logging.LogFactory;<br />
import org.springframework.beans.factory.annotation.Autowired;<br />
import org.springframework.beans.factory.annotation.Qualifier;<br />
import org.springframework.stereotype.Service;<br />
import org.springframework.transaction.annotation.Transactional;</p>
<p>import com.lb.jwitter.User;<br />
import com.lb.jwitter.hibernate.UserDao;</p>
<p>/**<br />
* @author lbouin<br />
*/<br />
@Service("userService")<br />
@WebService(endpointInterface = "com.lb.jwitter.service.UserService")<br />
public class UserServiceImpl implements UserService,Serializable{</p>
<p>private Log log = LogFactory.getLog(UserServiceImpl.class);</p>
<p>private static final long serialVersionUID = -8740095022264495229L;</p>
<p>@Autowired<br />
@Qualifier("userHibernateDao")<br />
private UserDao userDao;</p>
<p>...</p>
<p>L'annotation @WebService(endpointInterface = "com.lb.jwitter.service.UserService") permet de définir la classe ci-dessus comme implémentation du web service déclaré par l'interface.</p>
<p>L'annotation @Service("userService") permet de définir la classe comme un service Spring, ce qui découple le service de la couche de protocole (le web service). Ce service pourra être utilisé comme un service <em>standalone. </em></p>
<h2>Configuration du service:</h2>
<p>Dans un fichier xml, autre que celui de Spring, il faut configurer les web services: &lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;beans xmlns="http://www.springframework.org/schema/beans"<br />
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />
xmlns:jaxws="http://cxf.apache.org/jaxws"<br />
xsi:schemaLocation="<br />
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd<br />
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"&gt;</p>
<p>&lt;import resource="classpath:META-INF/cxf/cxf.xml" /&gt;<br />
&lt;import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /&gt;<br />
&lt;import resource="classpath:META-INF/cxf/cxf-servlet.xml" /&gt;</p>
<p>&lt;jaxws:endpoint<br />
id="userWS" implementor="#userService"<br />
implementorClass="com.lb.jwitter.service.UserServiceImpl"<br />
address="/User" /&gt;</p>
<p>&lt;jaxws:endpoint<br />
id="pingWS" implementor="com.lb.jwitter.service.PingServiceImpl"<br />
address="/Marco" /&gt;</p>
<p>&lt;/beans&gt;</p>
<p>-----------------------------------------------------------------------</p>
<p>Dans la déclaration ci dessous on trouve les éléments d'interaction entre Spring et CXF:</p>
<p>&lt;jaxws:endpoint  id="userWS" implementor="#userService" implementorClass="com.lb.jwitter.service.UserServiceImpl" address="/User" /&gt;</p>
<p>---</p>
<p><strong>implementor="#userService" déclare que l'implémentation du web service est un bean Spring.</strong></p>
<p><strong><a title="Telecharger le code source complet" href="http://files.me.com/laurentbouin/93bzha">Telecharger le code source [ZIP]</a></strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/laurentbouin.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/laurentbouin.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/laurentbouin.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/laurentbouin.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/laurentbouin.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/laurentbouin.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/laurentbouin.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/laurentbouin.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/laurentbouin.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/laurentbouin.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/laurentbouin.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/laurentbouin.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/laurentbouin.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/laurentbouin.wordpress.com/121/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=121&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://laurentbouin.wordpress.com/2009/04/29/template-for-springhibernate-and-cxf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a7c38a7d8856f8fe06bb227dcaa7b1c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">laurentbouin</media:title>
		</media:content>
	</item>
		<item>
		<title>Template for JSF/Richfaces,Spring,Hibernate</title>
		<link>http://laurentbouin.wordpress.com/2009/02/05/template-for-jsfrichfacesspringhibernate/</link>
		<comments>http://laurentbouin.wordpress.com/2009/02/05/template-for-jsfrichfacesspringhibernate/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 10:49:48 +0000</pubDate>
		<dc:creator>laurentbouin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[annotations]]></category>
		<category><![CDATA[archetype]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[Facelets]]></category>
		<category><![CDATA[hibernate]]></category>
		<category><![CDATA[hibernate-annotations]]></category>
		<category><![CDATA[hsql]]></category>
		<category><![CDATA[HSQLDB]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[java persistence api]]></category>
		<category><![CDATA[Jboss]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[POM]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[Richfaces]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[tomcat]]></category>
		<category><![CDATA[war]]></category>

		<guid isPermaLink="false">http://laurentbouin.wordpress.com/?p=44</guid>
		<description><![CDATA[Next step, based on the previous post, adding some persistance with Hibernate. For this sample i will use HSQLDB for the &#8220;in memory&#8221; feature. The sample app allow you to create &#8220;Users&#8221; containing just a username and Id. Frameworks: Spring &#8211; 2.5.3 Hibernate &#8211; 3.2.1.ga Hibernate-annotations &#8211; 3.3.0.ga HSQLDB &#8211; 1.8.0.7 JSF &#8211; 1.2_04-p02 Richfaces [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=44&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Next step, based on the <a title="See the previous post" href="http://laurentbouin.wordpress.com/2009/01/05/template-for-jsfrichfaces-projects/" target="_blank">previous post</a>, adding some persistance with Hibernate.</p>
<p>For this sample i will use <a href="http://hsqldb.org/" target="_blank">HSQLDB</a> for the &#8220;in memory&#8221; feature.</p>
<p>The sample app allow you to create &#8220;Users&#8221; containing just a username and Id.</p>
<h4>Frameworks:</h4>
<ul>
<li>Spring &#8211; 2.5.3</li>
<li>Hibernate &#8211; 3.2.1.ga</li>
<li>Hibernate-annotations &#8211; 3.3.0.ga</li>
<li>HSQLDB &#8211; 1.8.0.7</li>
<li>JSF &#8211; 1.2_04-p02</li>
<li>Richfaces &#8211; 3.2.2.SR1</li>
<li>Facelets &#8211; 1.1.14</li>
</ul>
<h3>The Value Object:</h3>
<blockquote><p><strong>package</strong> com.lb.jwitter;</p>
<p><strong>import</strong> java.io.Serializable;</p>
<p><strong>import</strong> javax.persistence.Entity;</p>
<p><strong>import</strong> javax.persistence.GeneratedValue;</p>
<p><strong>import</strong> javax.persistence.Id;</p>
<p><strong>import</strong> javax.persistence.Table;</p>
<p><strong></strong></p>
<p><strong>@Entity</strong></p>
<p><strong>@Table (name=&#8221;UTILISATEURS&#8221;)</strong></p>
<p><strong>public class</strong> User <strong>implements</strong> Serializable {</p>
<p><strong>private static final long </strong>serialVersionUID = -1989579066723007050L;</p>
<p><strong>private</strong> Long id;</p>
<p><strong>private</strong> String username;</p>
<p><strong>@Id</strong></p>
<p><strong>@GeneratedValue</strong></p>
<p><strong>public</strong> Long getId() {</p>
<p>return id;</p>
<p>}</p>
<p><strong>public void</strong> setId(Long id) {</p>
<p>this.id = id;</p>
<p>}</p>
<p><strong>public</strong> String getUsername() {</p>
<p><strong>return</strong> username;</p>
<p>}</p>
<p><strong>public void</strong> setUsername(String username) {</p>
<p>this.username = username;</p>
<p>}</p>
<p>}</p></blockquote>
<p><code>@Entity</code> : Declares the value object as an entity managed by the persistance API.</p>
<p><code>@Table</code> : Defines the table&#8217;s name in which the entities will be stored.</p>
<p><code>@Id</code> : Declares the variable behind the getter as the primary key for the entity.</p>
<p><code>@GeneratedValue</code> : The primary key will be generated automaticaly.</p>
<h4>References</h4>
<ul>
<li><a href="http://hibernate.org/397.html" target="_blank">Hibernate Entity Manager</a></li>
<li><a href="http://java.sun.com/javaee/technologies/persistence.jsp" target="_blank">Sun &#8211; Java persistence API</a></li>
<li><a href="http://www.jcp.org/en/jsr/detail?id=220" target="_blank">JSR 220: EJB 3.0 </a></li>
</ul>
<h3>Writing the <acronym title="Data Access Object">DAO</acronym> :</h3>
<blockquote><p><strong>import</strong> java.util.List;</p>
<p><strong>import</strong> org.apache.commons.logging.Log;</p>
<p><strong>import</strong> org.apache.commons.logging.LogFactory;</p>
<p><strong>import</strong> org.hibernate.SessionFactory;</p>
<p><strong>import</strong> org.hibernate.criterion.Projections;</p>
<p><strong>import</strong> org.hibernate.criterion.Restrictions;</p>
<p><strong>import</strong> org.springframework.beans.factory.annotation.Autowired;</p>
<p><strong>import</strong> org.springframework.beans.factory.annotation.Qualifier;</p>
<p><strong>import</strong> org.springframework.stereotype.Repository;</p>
<p><strong>import</strong> com.lb.jwitter.User;</p>
<p><strong>import</strong> com.lb.utils.orm.hibernate.HibernateGenericDao;</p>
<p><strong>@Repository</strong></p>
<p><strong>public class</strong> UserHibernateDao extends HibernateGenericDao&lt;User, Long&gt; <strong>implements</strong> UserDaoInterface {</p>
<p><strong>private</strong> Log log = LogFactory.getLog(UserHibernateDao.class);</p>
<p><strong>@Autowired</strong></p>
<p><strong>public</strong> UserHibernateDao(<strong>@Qualifier(&#8220;sessionFactory&#8221;)</strong> SessionFactory sessionFactory) {</p>
<p><strong>super</strong>(sessionFactory);</p>
<p>}</p>
<p><strong>public</strong> List&lt;User&gt; findAll() {</p>
<p><strong>return</strong> getSession().createCriteria(User.<strong>class</strong>).list();</p>
<p>}</p>
<p>}</p></blockquote>
<p>I wrote a class HibernateGenericDao to implements the CRUD methods, you can find it in the source code.</p>
<h3>The Service with Autowired DAO</h3>
<blockquote><p><strong>import</strong> java.io.Serializable;</p>
<p><strong>import</strong> java.util.List;</p>
<p><strong>import</strong> org.apache.commons.logging.Log;</p>
<p><strong>import</strong> org.apache.commons.logging.LogFactory;</p>
<p><strong>import</strong> org.springframework.beans.factory.annotation.Autowired;</p>
<p><strong>import</strong> org.springframework.stereotype.Service;</p>
<p><strong>import</strong> org.springframework.transaction.annotation.Transactional;</p>
<p>import com.lb.jwitter.User;</p>
<p>import com.lb.jwitter.hibernate.UserDaoInterface;</p>
<p><strong>@Service</strong>(&#8220;userService&#8221;)</p>
<p><strong>@Transactional</strong></p>
<p><strong>public class </strong>UserService <strong>implements</strong> UserServiceInterface,Serializable{</p>
<p><strong>private</strong> Log log = LogFactory.getLog(UserService.class);</p>
<p><strong>@Autowired</strong></p>
<p><strong>private</strong> UserDaoInterface userDao;</p>
<p><strong>public</strong> List&lt;User&gt; findAll(){</p>
<p>List&lt;User&gt; result = getUserDao().findAll();</p>
<p>log.info(&#8220;Number of user in DB:: &#8220;+result.size());</p>
<p><strong>return</strong> result;</p>
<p>}</p>
<p><strong>public</strong> UserDaoInterface getUserDao() {</p>
<p><strong>return</strong> userDao;</p>
<p>}</p>
<p>/**</p>
<p>* @param userDao the userDao to set</p>
<p>*/</p>
<p><strong>public</strong> <strong>void</strong> setUserDao(UserDaoInterface userDao) {</p>
<p>this.userDao = userDao;</p>
<p>}</p>
<p>}</p></blockquote>
<h3>Writing the Managed Bean</h3>
<blockquote><p>import java.io.Serializable;<br />
import java.util.List;</p>
<p>import javax.faces.application.FacesMessage;<br />
import javax.faces.component.UIComponent;<br />
import javax.faces.context.FacesContext;<br />
import javax.faces.validator.ValidatorException;</p>
<p>import org.apache.commons.logging.Log;<br />
import org.apache.commons.logging.LogFactory;<br />
import org.springframework.beans.factory.annotation.Autowired;<br />
import org.springframework.beans.factory.annotation.Qualifier;<br />
import org.springframework.context.annotation.Scope;<br />
import org.springframework.stereotype.Component;</p>
<p>import com.lb.jwitter.User;<br />
import com.lb.jwitter.service.UserServiceInterface;</p>
<p><strong>@Component<br />
@Qualifier</strong>(&#8220;userBean&#8221;)<br />
<strong>@Scope</strong>(&#8220;session&#8221;)<br />
<strong>public class</strong> UserBean implements Serializable {</p>
<p>private Log log = LogFactory.getLog(UserBean.class);</p>
<p><strong>@Autowired<br />
private</strong> UserServiceInterface userService;</p>
<p><strong>public</strong> List&lt;User&gt; getAllUsers(){<br />
<strong>return</strong> this.userService.findAll();<br />
}</p>
<p><strong>public</strong> UserServiceInterface getUserService() {<br />
<strong>return</strong> userService;<br />
}</p>
<p>/**<br />
* @param userService the userService to set<br />
*/<br />
public void setUserService(UserServiceInterface userService) {<br />
this.userService = userService;<br />
}</p>
<p>}</p></blockquote>
<p><a href="http://web.me.com/laurentbouin/Mon_Mac_et_Moi/Blog/Entr%C3%A9es/2008/10/10_I%E2%80%99m_a_MAc,_so_i_live_in_NY_City_files/jwitter.zip">Download the source code</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/laurentbouin.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/laurentbouin.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/laurentbouin.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/laurentbouin.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/laurentbouin.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/laurentbouin.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/laurentbouin.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/laurentbouin.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/laurentbouin.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/laurentbouin.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/laurentbouin.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/laurentbouin.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/laurentbouin.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/laurentbouin.wordpress.com/44/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=44&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://laurentbouin.wordpress.com/2009/02/05/template-for-jsfrichfacesspringhibernate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a7c38a7d8856f8fe06bb227dcaa7b1c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">laurentbouin</media:title>
		</media:content>
	</item>
		<item>
		<title>Check your beans with an application listener</title>
		<link>http://laurentbouin.wordpress.com/2009/01/30/check-your-beans-with-an-application-listener/</link>
		<comments>http://laurentbouin.wordpress.com/2009/01/30/check-your-beans-with-an-application-listener/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 09:03:48 +0000</pubDate>
		<dc:creator>laurentbouin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Autowired]]></category>
		<category><![CDATA[hibernate]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[listener]]></category>
		<category><![CDATA[ServletContextListener]]></category>
		<category><![CDATA[Spring]]></category>

		<guid isPermaLink="false">http://laurentbouin.wordpress.com/?p=81</guid>
		<description><![CDATA[The main issue when you are using JSF + Spring + Hibernate is to figure out when one of your beans is missing. Sometimes the database is not available, so your DAO is not loaded which results in an exception in your managed bean because the Spring service can&#8217;t be autowired. Here is a simple [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=81&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The main issue when you are using JSF + Spring + Hibernate is to figure out when one of your beans is missing.</p>
<p>Sometimes the database is not available, so your DAO is not loaded which results in an exception in your managed bean because the Spring service can&#8217;t be autowired.</p>
<p>Here is a simple application listener looking for the beans created by Spring and JSF during the context&#8217;s initialization.</p>
<h3>CheckBeansListener.java:</h3>
<blockquote><p>import javax.servlet.ServletContext;<br />
import javax.servlet.ServletContextEvent;<br />
import javax.servlet.ServletContextListener;</p>
<p>import org.apache.commons.logging.Log;<br />
import org.apache.commons.logging.LogFactory;<br />
import org.springframework.beans.BeansException;<br />
import org.springframework.web.context.WebApplicationContext;<br />
import org.springframework.web.context.support.WebApplicationContextUtils;</p>
<p>/**<br />
* @author lbouin<br />
*/<br />
public class CheckBeansListener implements ServletContextListener {</p>
<p>private Log log = LogFactory.getLog(CheckBeansListener.class);</p>
<p>/**<br />
* @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)<br />
*/<br />
public void contextDestroyed(ServletContextEvent sce) {<br />
log.info(&#8220;CONTEXT DESTROYED&#8221;);</p>
<p>}</p>
<p>/**<br />
* @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)<br />
*/<br />
public void contextInitialized(ServletContextEvent sce) {<br />
log.info(&#8220;CONTEXT INITIALIZED&#8221;);</p>
<p>ServletContext servletContext = sce.getServletContext();<br />
sce.getServletContext().getAttributeNames();<br />
WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);</p>
<p>String[] beanDefinitionNames = wac.getBeanDefinitionNames();</p>
<p>for (int i = 0; i &lt; beanDefinitionNames.length; i++) {<br />
try {<br />
log.info(&#8220;Bean &#8221; + i + &#8221; : &#8221; + beanDefinitionNames[i] + &#8221; : &#8220;<br />
+ wac.getBean(beanDefinitionNames[i]));<br />
} catch (BeansException e) {<br />
log.warn(&#8220;If &#8216;session&#8217; scope message, ignore this: &#8220;+e.getMessage());<br />
}<br />
}<br />
}</p>
<p>}</p></blockquote>
<h3>Configure the listener:</h3>
<p>In your web.xml file:</p>
<blockquote><p><strong>&lt;listener&gt;</strong><br />
<strong>&lt;listener-class&gt;</strong>com.lb.front.util.CheckBeansListener<strong>&lt;/listener-class&gt;</strong><br />
<strong>&lt;/listener&gt;</strong></p></blockquote>
<h3>Result</h3>
<p>In your console, or log file, you should see this find of trace is the bean is correctly loaded:</p>
<p><code>INFO: Bean 0 : userService : com.lb.service.UserService@dafcbf</code></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/laurentbouin.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/laurentbouin.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/laurentbouin.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/laurentbouin.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/laurentbouin.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/laurentbouin.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/laurentbouin.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/laurentbouin.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/laurentbouin.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/laurentbouin.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/laurentbouin.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/laurentbouin.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/laurentbouin.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/laurentbouin.wordpress.com/81/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=81&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://laurentbouin.wordpress.com/2009/01/30/check-your-beans-with-an-application-listener/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a7c38a7d8856f8fe06bb227dcaa7b1c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">laurentbouin</media:title>
		</media:content>
	</item>
		<item>
		<title>JSF &#8211; Welcome page without the jsp:forward</title>
		<link>http://laurentbouin.wordpress.com/2009/01/29/jsf-welcome-page-without-the-jspforward/</link>
		<comments>http://laurentbouin.wordpress.com/2009/01/29/jsf-welcome-page-without-the-jspforward/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 09:49:33 +0000</pubDate>
		<dc:creator>laurentbouin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[faces]]></category>
		<category><![CDATA[forward]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[jsp:forward]]></category>
		<category><![CDATA[welcome file]]></category>

		<guid isPermaLink="false">http://laurentbouin.wordpress.com/?p=75</guid>
		<description><![CDATA[JSF app can&#8217;t have a faces welcome file, one of the most known workaround is a &#8220;default.jsp&#8221; page including a jsp:forward. I use another stuff, which is only basic HTML refresh meta and it doesn&#8217;t require you to configure in the web.xml. index.html: &#60;html&#62; &#60;head&#62; &#60;meta content=&#8221;text/html; charset=UTF-8&#8243; http-equiv=&#8221;content-type&#8221; /&#62; &#60;meta http-equiv=&#8221;refresh&#8221; content=&#8221;0; url=page1.faces&#8221; /&#62; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=75&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>JSF app can&#8217;t have a faces welcome file, one of the most known workaround is a &#8220;default.jsp&#8221; page including a jsp:forward.</p>
<p>I use another stuff, which is only basic HTML refresh meta and it doesn&#8217;t require you to configure in the web.xml.</p>
<h3>index.html:</h3>
<p></p>
<blockquote><p>&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;meta content=&#8221;text/html; charset=UTF-8&#8243; http-equiv=&#8221;content-type&#8221; /&gt;<br />
<strong>&lt;meta http-equiv=&#8221;refresh&#8221; content=&#8221;0; url=page1.faces&#8221; /&gt;</strong><br />
&lt;/head&gt;</p>
<p>&lt;body&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/laurentbouin.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/laurentbouin.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/laurentbouin.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/laurentbouin.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/laurentbouin.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/laurentbouin.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/laurentbouin.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/laurentbouin.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/laurentbouin.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/laurentbouin.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/laurentbouin.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/laurentbouin.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/laurentbouin.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/laurentbouin.wordpress.com/75/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=75&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://laurentbouin.wordpress.com/2009/01/29/jsf-welcome-page-without-the-jspforward/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a7c38a7d8856f8fe06bb227dcaa7b1c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">laurentbouin</media:title>
		</media:content>
	</item>
		<item>
		<title>Template for JSF/Richfaces projects</title>
		<link>http://laurentbouin.wordpress.com/2009/01/05/template-for-jsfrichfaces-projects/</link>
		<comments>http://laurentbouin.wordpress.com/2009/01/05/template-for-jsfrichfaces-projects/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 12:51:06 +0000</pubDate>
		<dc:creator>laurentbouin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Facelets]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Jboss]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[POM]]></category>
		<category><![CDATA[Richfaces]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://laurentbouin.wordpress.com/?p=35</guid>
		<description><![CDATA[First post of the year: Happy New Year !! I started this blog to share what i think usefull for other developers, here we are ! When i start a new project, or a simple POC, i spent time looking for the good configuration, the good JARs&#8230; I was so tired of this that i [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=35&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>First post of the year: Happy New Year !!</p>
<p>I started this blog to share what i think usefull for other developers, here we are !</p>
<p>When i start a new project, or a simple <acronym title="Proof of Concept">POC</acronym>, i spent time looking for the good configuration, the good JARs&#8230; I was so tired of this that i decided to make some <acronym title="Project Object Model">POM</acronym> to start quickly.</p>
<p>Inspired by my current mission i created a template for these APIs :</p>
<ul>
<li>JSF &#8211; 1.2_04-p02</li>
<li>Richfaces &#8211; 3.2.2.SR1</li>
<li>Facelets &#8211; 1.1.14</li>
<li>Spring &#8211; 2.5.3</li>
</ul>
<p>As many developers i&#8217;m not fan of <a href="http://maven.apache.org">maven</a> but it&#8217;s almost mandatory, i use <a href="http://www.eclipse.org/">Eclipse </a>as my <acronym title="Integrated development environment">IDE</acronym>. To be comfortable the POM integrates the configuration for the maven&#8217;s plugin. You can easily import these template in Eclipse.</p>
<p>How to use the template:</p>
<ul>
<li>unzip the the source code below</li>
<li>run   <code>mvn install</code> in the unzipped directory</li>
<li>if you installed the maven&#8217;s plugin for Eclipse run  <code> mvn eclipse:eclipse</code></li>
<li>in Eclipse choose: &#8220;File&gt;Import&gt;Existing projects into workspace&#8221; and select the project&#8217;s directory</li>
</ul>
<p><a title="Source code for this article" href="http://web.me.com/laurentbouin/Mon_Mac_et_Moi/Blog/Entr%C3%A9es/2008/10/10_I%E2%80%99m_a_MAc,_so_i_live_in_NY_City_files/basic-jsfSpringRichfaces.zip">download source code</a></p>
<p>You can deploy the WAR on Tomcat6 through Eclipse and run the project: <a href="http://localhost:8080/basic-richfaces-facelets-annotations/page1.faces">http://localhost:8080/basic-richfaces-facelets-annotations/page1.faces</a></p>
<p>This template include annotations with Spring, variables resolver for JSF+Spring and richfaces tags.</p>
<p><em>For JBoss, see the comments in the POM&#8217;s dependencies. </em></p>
<p><em>If this post was usefull just add a comment. Any problem ? Contact me.<br />
</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/laurentbouin.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/laurentbouin.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/laurentbouin.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/laurentbouin.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/laurentbouin.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/laurentbouin.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/laurentbouin.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/laurentbouin.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/laurentbouin.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/laurentbouin.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/laurentbouin.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/laurentbouin.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/laurentbouin.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/laurentbouin.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=35&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://laurentbouin.wordpress.com/2009/01/05/template-for-jsfrichfaces-projects/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a7c38a7d8856f8fe06bb227dcaa7b1c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">laurentbouin</media:title>
		</media:content>
	</item>
		<item>
		<title>JBoss &amp; GWT are engaged</title>
		<link>http://laurentbouin.wordpress.com/2008/12/12/jboss-gwt-are-engaged/</link>
		<comments>http://laurentbouin.wordpress.com/2008/12/12/jboss-gwt-are-engaged/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 17:36:12 +0000</pubDate>
		<dc:creator>laurentbouin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Jboss]]></category>
		<category><![CDATA[redhat]]></category>

		<guid isPermaLink="false">http://laurentbouin.wordpress.com/?p=32</guid>
		<description><![CDATA[RedHat announces support for GWT in JBoss 5 What could it mean for developers ? We will be able to develop GWT applications in a new way (not sure&#8230;), GWT for the UI, REST to communicate with the business logic ( in Spring, EJB&#8230; ) without spending one week configuring the environment. So maybe our [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=32&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://java.sys-con.com/node/775958">RedHat announces support for GWT in JBoss 5</a></p>
<p>What could it mean for developers ?</p>
<p>We will be able to develop GWT applications in a new way (not sure&#8230;), GWT for the UI, REST to communicate with the business logic ( in Spring, EJB&#8230; ) without spending one week configuring the environment.</p>
<p>So maybe our architecture department would open his mind, and our users could have benefit of truly RIA, i mean not a JSF/RichFaces/FLEX/Javascript/&#8230; stuff trying to look and behave like a web 2.0 webapp.</p>
<p>It just happened  but i&#8217;ll take a look at the JBoss&#8217;s team work on regular basis.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/laurentbouin.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/laurentbouin.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/laurentbouin.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/laurentbouin.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/laurentbouin.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/laurentbouin.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/laurentbouin.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/laurentbouin.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/laurentbouin.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/laurentbouin.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/laurentbouin.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/laurentbouin.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/laurentbouin.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/laurentbouin.wordpress.com/32/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=32&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://laurentbouin.wordpress.com/2008/12/12/jboss-gwt-are-engaged/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a7c38a7d8856f8fe06bb227dcaa7b1c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">laurentbouin</media:title>
		</media:content>
	</item>
		<item>
		<title>The interface &#8211; Some memories of Swing ?</title>
		<link>http://laurentbouin.wordpress.com/2008/12/09/the-interface-some-memories-of-swing/</link>
		<comments>http://laurentbouin.wordpress.com/2008/12/09/the-interface-some-memories-of-swing/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 22:58:15 +0000</pubDate>
		<dc:creator>laurentbouin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">http://laurentbouin.wordpress.com/?p=28</guid>
		<description><![CDATA[I assume, no&#8230;i know we all has nightmares of Swing Interfaces. Some projects where nothing fitted the requirements but Swing and we did it. How many days fighting with the layouts and the listener. If you remember that so you&#8217;ll be a little bit afraid of the first lines of GWT. To start simple see [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=28&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I assume, no&#8230;i know we all has nightmares of Swing Interfaces. Some projects where nothing fitted the requirements but Swing and we did it.</p>
<p>How many days fighting with the layouts and the listener.</p>
<p>If you remember that so you&#8217;ll be a little bit afraid of the first lines of GWT.</p>
<p>To start simple see the panel&#8217;s section of GWT web site <a title="Google Web Toolkit" href="http://code.google.com/intl/fr/docreader/#p=google-web-toolkit-doc-1-5&amp;s=google-web-toolkit-doc-1-5&amp;t=DevGuideWidgetsAndPanels" target="_blank">here</a>. For this sample i chose to reuse the <a title="Google's Mail Application" href="http://gwt.google.com/samples/Mail/Mail.html" target="_blank">Mail application</a> available in the &#8220;samples&#8221; directory of the GWT&#8217;s ditribution, a classical &#8220;header+left menu+right panel&#8221; layout.</p>
<p>By modifying the left menu, and a few minutes of Photoshop for the logo it looks like this :</p>
<div id="attachment_29" class="wp-caption aligncenter" style="width: 490px"><img class="size-full wp-image-29" title="First step laout" src="http://laurentbouin.files.wordpress.com/2008/12/image-2.png?w=480&#038;h=301" alt="First step Layout" width="480" height="301" /><p class="wp-caption-text">First step Layout</p></div>
<p>In your main class, the one extending EntryPoint declare your panels:</p>
<p><code><br />
private TopPanel topPanel = new TopPanel(images); //see the Mail application for implementation<br />
private VerticalPanel rightPanel = new VerticalPanel();<br />
private LeftMenu leftmenu = new LeftMenu(images);<br />
private MailList mailList;</code><code> //see the Mail application for implementation</code><br />
<code> private MailDetail mailDetail = new MailDetail();</code><code> //see the Mail application for implementation</code></p>
<p>The onModuleLoad() method should look like this:</p>
<p><code> public void onModuleLoad() {</code></p>
<p>singleton = this;</p>
<p>topPanel.setWidth(&#8220;100%&#8221;);</p>
<p>mailList = new MailList();<br />
mailList.setWidth(&#8220;100%&#8221;);</p>
<p>// Create the right panel, containing the email list &amp; details. See Mail application<br />
rightPanel.add(mailList);<br />
rightPanel.add(mailDetail);</p>
<p>mailList.setWidth(&#8220;100%&#8221;);</p>
<p>mailDetail.setWidth(&#8220;100%&#8221;);<br />
DockPanel outer = new DockPanel();<br />
outer.add(topPanel, DockPanel.NORTH);<br />
outer.add(leftmenu, DockPanel.WEST);<br />
outer.add(rightPanel, DockPanel.CENTER);<br />
outer.setWidth(&#8220;100%&#8221;);</p>
<p>outer.setSpacing(4);<br />
outer.setCellWidth(rightPanel, &#8220;100%&#8221;);</p>
<p>// Hook the window resize event</p>
<p>Window.addWindowResizeListener(this);<br />
Window.enableScrolling(false);</p>
<p>Window.setMargin(&#8220;0px&#8221;);</p>
<p>RootPanel.get().add(outer);</p>
<p>DeferredCommand.addCommand(new Command() {</p>
<p>public void execute() {<br />
onWindowResized(Window.getClientWidth(), Window.getClientHeight());<br />
}<br />
});</p>
<p>onWindowResized(Window.getClientWidth(), Window.getClientHeight());<br />
}</p>
<p><strong>Next step: </strong>To modify the right panel to put a form.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/laurentbouin.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/laurentbouin.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/laurentbouin.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/laurentbouin.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/laurentbouin.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/laurentbouin.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/laurentbouin.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/laurentbouin.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/laurentbouin.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/laurentbouin.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/laurentbouin.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/laurentbouin.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/laurentbouin.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/laurentbouin.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=28&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://laurentbouin.wordpress.com/2008/12/09/the-interface-some-memories-of-swing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a7c38a7d8856f8fe06bb227dcaa7b1c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">laurentbouin</media:title>
		</media:content>

		<media:content url="http://laurentbouin.files.wordpress.com/2008/12/image-2.png" medium="image">
			<media:title type="html">First step laout</media:title>
		</media:content>
	</item>
		<item>
		<title>Starting with GWT</title>
		<link>http://laurentbouin.wordpress.com/2008/12/07/starting-with-gwt/</link>
		<comments>http://laurentbouin.wordpress.com/2008/12/07/starting-with-gwt/#comments</comments>
		<pubDate>Sun, 07 Dec 2008 21:58:24 +0000</pubDate>
		<dc:creator>laurentbouin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://laurentbouin.wordpress.com/?p=21</guid>
		<description><![CDATA[Some month ago i tried GWT to develop a POC for one of my customers, quickly GWT has been rejected, &#8220;not compliant with the company&#8217;s architecture&#8221;. Since this time i think about how this POC could have been a great experience, cause we all know how good are the Google&#8217;s stuff. So let&#8217;s try again. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=21&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Some month ago i tried GWT to develop a POC for one of my customers, quickly GWT has been rejected, &#8220;not compliant with the company&#8217;s architecture&#8221;.</p>
<p>Since this time i think about how this POC could have been a great experience, cause we all know how good are the Google&#8217;s stuff.</p>
<p>So let&#8217;s try again.</p>
<p>For this first personal project i decide to create a webapp able to help me in my current project, which is using the <a title="Scrum in Wikipedia" href="http://en.wikipedia.org/wiki/Scrum_(development)" target="_blank">Scrum methodology</a>.</p>
<p><strong>Product Backlog:</strong></p>
<p>- The app will help me to manage: Projects, Sprints, backlogs &amp; Programmers.</p>
<p>- the app will allow programmers to log into and see all User Stories and tasks for a given sprint.</p>
<p><strong>Starting project: </strong></p>
<p>Nothing to say, just <a title="GWWT Guide by Google" href="http://code.google.com/webtoolkit/gettingstarted.html" target="_blank">Getting Started ! </a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/laurentbouin.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/laurentbouin.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/laurentbouin.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/laurentbouin.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/laurentbouin.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/laurentbouin.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/laurentbouin.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/laurentbouin.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/laurentbouin.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/laurentbouin.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/laurentbouin.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/laurentbouin.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/laurentbouin.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/laurentbouin.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=laurentbouin.wordpress.com&amp;blog=5693532&amp;post=21&amp;subd=laurentbouin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://laurentbouin.wordpress.com/2008/12/07/starting-with-gwt/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a7c38a7d8856f8fe06bb227dcaa7b1c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">laurentbouin</media:title>
		</media:content>
	</item>
	</channel>
</rss>
