<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
xmlns:media="http://search.yahoo.com/mrss/"
> <channel><title>Commentaires sur : Revue de Presse Xebia</title> <atom:link href="http://blog.xebia.fr/2008/08/04/revue-de-presse-xebia-68/feed/" rel="self" type="application/rss+xml" /><link>http://blog.xebia.fr/2008/08/04/revue-de-presse-xebia-68/</link> <description>J2EE, Agilité et SOA</description> <lastBuildDate>Fri, 10 Feb 2012 09:50:25 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=</generator> <item><title>Par : Blog Xebia France - RIA Contest : Flex / Silverlight / GWT / Echo3 / JavaFX</title><link>http://blog.xebia.fr/2008/08/04/revue-de-presse-xebia-68/#comment-7536</link> <dc:creator>Blog Xebia France - RIA Contest : Flex / Silverlight / GWT / Echo3 / JavaFX</dc:creator> <pubDate>Fri, 03 Oct 2008 14:28:42 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=543#comment-7536</guid> <description>[...] à l&#8217;édition 2008, JavaFX se fait attendre. Pour nous faire patienter, Sun a sorti une pre-release, incluse avec NetBeans [...]</description> <content:encoded><![CDATA[<p>[...] à l&#8217;édition 2008, JavaFX se fait attendre. Pour nous faire patienter, Sun a sorti une pre-release, incluse avec NetBeans [...]</p> ]]></content:encoded> </item> <item><title>Par : Eric Siber</title><link>http://blog.xebia.fr/2008/08/04/revue-de-presse-xebia-68/#comment-6688</link> <dc:creator>Eric Siber</dc:creator> <pubDate>Fri, 08 Aug 2008 11:44:48 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=543#comment-6688</guid> <description>Sur le thème &quot;Grilles de calcul versus grilles de données&quot; et les produits traitant les deux problèmes, merci de m&#039;avoir fait connaître Websphere eXtreme Scale que je ne connaissais pas.
A noter qu&#039;un acteur majeur sur le datagrid+computing est GigaSpaces, société Israélienne http://www.gigaspaces.com/ qui anime également une communauté open source http://www.openspaces.org autour de son produit payant.</description> <content:encoded><![CDATA[<p>Sur le thème &laquo;&nbsp;Grilles de calcul versus grilles de données&nbsp;&raquo; et les produits traitant les deux problèmes, merci de m&#8217;avoir fait connaître Websphere eXtreme Scale que je ne connaissais pas.<br
/> A noter qu&#8217;un acteur majeur sur le datagrid+computing est GigaSpaces, société Israélienne <a
href="http://www.gigaspaces.com/" rel="nofollow">http://www.gigaspaces.com/</a> qui anime également une communauté open source <a
href="http://www.openspaces.org" rel="nofollow">http://www.openspaces.org</a> autour de son produit payant.</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2008/08/04/revue-de-presse-xebia-68/#comment-6684</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Thu, 07 Aug 2008 12:50:23 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=543#comment-6684</guid> <description>Bonjour Olivier,
Nous aimons l&#039;idée d&#039;avoir des classes immuables pour des entités accédées en lecture seule (données de référence, etc). Un objet avec des fields &lt;code&gt;final&lt;/code&gt;, uniquement des getters et un constructeur avec arguments a l&#039;avantage d&#039;être auto-documenté et sans ambiguité.
Cette approche est hélas délicate à mettre en oeuvre avec JPA (v1 comme v2):
&lt;ul&gt;
&lt;li&gt;L&#039;annotation &lt;code&gt;@Entity&lt;/code&gt; ne supporte pas l&#039;attribut &lt;code&gt;mutable&lt;/code&gt;, il faut utiliser l&#039;extension Hibernate &lt;code&gt;@org.hibernate.annotations.Entity(mutable = false)&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;JPA autorise le mapping de fields &lt;code&gt;final&lt;/code&gt; (e.g. &lt;code&gt;@Basic final String name;&lt;/code&gt;) mais exige un &lt;em&gt;no-arg constructor&lt;/em&gt; ; on peut y voir un paradoxe.&lt;/li&gt;
&lt;/ul&gt;
Nous avons donc trouvé l&#039;&lt;em&gt;arrangement&lt;/em&gt; suivant pour mapper des entités immuable :
[java]
@Entity
@org.hibernate.annotations.Entity(mutable = false)
public class Gender implements Serializable {
/**
* JPA requires a public or protected no-arg constructor
*/
protected Gender() {
this(null, null);
}
public Gender(Long id, String name) {
super();
this.id = id;
this.name = name;
}
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private final Long id;
@Basic
private final String name;
public String getName() {
return name;
}
@Override
public String toString() {
return new ToStringBuilder(this).append(&quot;id&quot;, this.id).
append(&quot;name&quot;, this.name).toString();
}
}
[/java]
Nicolas Lecoz et Cyrille Le Clerc (Xebia)</description> <content:encoded><![CDATA[<p>Bonjour Olivier,</p><p>Nous aimons l&#8217;idée d&#8217;avoir des classes immuables pour des entités accédées en lecture seule (données de référence, etc). Un objet avec des fields <code>final</code>, uniquement des getters et un constructeur avec arguments a l&#8217;avantage d&#8217;être auto-documenté et sans ambiguité.</p><p>Cette approche est hélas délicate à mettre en oeuvre avec JPA (v1 comme v2):</p><ul><li>L&#8217;annotation <code>@Entity</code> ne supporte pas l&#8217;attribut <code>mutable</code>, il faut utiliser l&#8217;extension Hibernate <code>@org.hibernate.annotations.Entity(mutable = false)</code>.</li><li>JPA autorise le mapping de fields <code>final</code> (e.g. <code>@Basic final String name;</code>) mais exige un <em>no-arg constructor</em> ; on peut y voir un paradoxe.</li></ul><p>Nous avons donc trouvé l&#8217;<em>arrangement</em> suivant pour mapper des entités immuable :</p><pre class="brush: java; title: ; notranslate">
@Entity
@org.hibernate.annotations.Entity(mutable = false)
public class Gender implements Serializable {
   /**
    * JPA requires a public or protected no-arg constructor
    */
   protected Gender() {
     this(null, null);
   }
   public Gender(Long id, String name) {
      super();
      this.id = id;
      this.name = name;
   }
   private static final long serialVersionUID = 1L;
   @Id
   @GeneratedValue(strategy = GenerationType.AUTO)
   private final Long id;
   @Basic
   private final String name;
   public String getName() {
     return name;
   }
   @Override
   public String toString() {
     return new ToStringBuilder(this).append("id", this.id).
      append("name", this.name).toString();
   }
}
</pre><p>Nicolas Lecoz et Cyrille Le Clerc (Xebia)</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2008/08/04/revue-de-presse-xebia-68/#comment-6668</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Tue, 05 Aug 2008 09:43:10 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=543#comment-6668</guid> <description>Bonjour Alexis,
Nous partageons votre intérêt pour les initiatives d&#039;Adobe autour de &lt;a href=&quot;http://www.adobe.com/products/air/ rel=&quot;nofollow&quot;&gt;AIR&lt;/a&gt; et nous sommes particulièrement frappés par la volonté d&#039;Adobe de nous faire évoluer d&#039;une approche &lt;em&gt;browser centric&lt;/em&gt; dans laquelle les RIA [1] sont encapsulées dans des pages HTML vers une approche &lt;em&gt;widget centric&lt;/em&gt; dans laquelle l&#039;utilisateur ne lance plus un browser web mais un widget qui est présent sur son &lt;em&gt;home screen&lt;/em&gt; (banal sur les téléphones mobiles, &lt;a href=&quot;http://vista.gallery.microsoft.com/&quot; rel=&quot;nofollow&quot;&gt;Gadget Windows Vista&lt;/a&gt;, &lt;a href=&quot;http://www.apple.com/downloads/dashboard/&quot; rel=&quot;nofollow&quot;&gt;Widget Mac OS X&lt;/a&gt;, etc).
Nous avions été très amusés, lors du &lt;a href=&quot;http://blog.xebia.fr/2008/07/09/soiree-mda-et-flex-au-paris-jug/&quot; rel=&quot;nofollow&quot;&gt;Paris JUG sur Flex&lt;/a&gt;, d&#039;entendre James Ward, évangéliste Flex et représentant d’Adobe au JCP, dire que le HTML était une technologie &lt;em&gt;legacy&lt;/em&gt; et montrer le widget AIR &lt;a href=&quot;http://desktop.ebay.com/&quot; rel=&quot;nofollow&quot;&gt;eBay Desktop&lt;/a&gt; qui se substitue à la version HTML du site d&#039;enchères !
Cyrille (Xebia)
[1] Flash, Applet avec Java SE Update 10, etc</description> <content:encoded><![CDATA[<p>Bonjour Alexis,</p><p>Nous partageons votre intérêt pour les initiatives d&#8217;Adobe autour de <a
href="http://www.adobe.com/products/air/ rel="nofollow">AIR</a> et nous sommes particulièrement frappés par la volonté d&#8217;Adobe de nous faire évoluer d&#8217;une approche <em>browser centric</em> dans laquelle les RIA [1] sont encapsulées dans des pages HTML vers une approche <em>widget centric</em> dans laquelle l&#8217;utilisateur ne lance plus un browser web mais un widget qui est présent sur son <em>home screen</em> (banal sur les téléphones mobiles, <a
href="http://vista.gallery.microsoft.com/" rel="nofollow">Gadget Windows Vista</a>, <a
href="http://www.apple.com/downloads/dashboard/" rel="nofollow">Widget Mac OS X</a>, etc).</p><p>Nous avions été très amusés, lors du <a
href="http://blog.xebia.fr/2008/07/09/soiree-mda-et-flex-au-paris-jug/" rel="nofollow">Paris JUG sur Flex</a>, d&#8217;entendre James Ward, évangéliste Flex et représentant d’Adobe au JCP, dire que le HTML était une technologie <em>legacy</em> et montrer le widget AIR <a
href="http://desktop.ebay.com/" rel="nofollow">eBay Desktop</a> qui se substitue à la version HTML du site d&#8217;enchères !</p><p>Cyrille (Xebia)</p><p>[1] Flash, Applet avec Java SE Update 10, etc</p> ]]></content:encoded> </item> <item><title>Par : Olivier Le Merdy</title><link>http://blog.xebia.fr/2008/08/04/revue-de-presse-xebia-68/#comment-6667</link> <dc:creator>Olivier Le Merdy</dc:creator> <pubDate>Mon, 04 Aug 2008 23:50:50 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=543#comment-6667</guid> <description>Intéressante revue de presse, tout particulièrement en ce qui concerne le feuilleton OSGI.
Je me permets de réagir au point 3 des conventions de nommage pour langage Java. Initialement, je ne saisis pas trop de l&#039;intérêt du postulat initial: si un objet suit la convention Javabean et propose des accesseurs en écriture, l&#039;objet n&#039;est par définition pas immuable.
Concernant le contre-exemple Hibernate, je pense qu&#039;il est tout à fait pertinent que les entités soient par défaut modifiables. Si le besoin se fait sentir de disposer directement d&#039;objet immuable depuis une requête Hibernate, il est tout à fait envisageable d&#039;exploiter l&#039;opérateur NEW, par exemple:
SELECT NEW samples.ProductImmutable(p.name, p.code, p.price) FROM samples.Product p
De même, même si Spring pousse à l&#039;utilisation de Beans, l&#039;approche par constructeur et l&#039;immuabilité restent possibles.</description> <content:encoded><![CDATA[<p>Intéressante revue de presse, tout particulièrement en ce qui concerne le feuilleton OSGI.</p><p>Je me permets de réagir au point 3 des conventions de nommage pour langage Java. Initialement, je ne saisis pas trop de l&#8217;intérêt du postulat initial: si un objet suit la convention Javabean et propose des accesseurs en écriture, l&#8217;objet n&#8217;est par définition pas immuable.</p><p>Concernant le contre-exemple Hibernate, je pense qu&#8217;il est tout à fait pertinent que les entités soient par défaut modifiables. Si le besoin se fait sentir de disposer directement d&#8217;objet immuable depuis une requête Hibernate, il est tout à fait envisageable d&#8217;exploiter l&#8217;opérateur NEW, par exemple:</p><p>SELECT NEW samples.ProductImmutable(p.name, p.code, p.price) FROM samples.Product p</p><p>De même, même si Spring pousse à l&#8217;utilisation de Beans, l&#8217;approche par constructeur et l&#8217;immuabilité restent possibles.</p> ]]></content:encoded> </item> <item><title>Par : Alexis MP</title><link>http://blog.xebia.fr/2008/08/04/revue-de-presse-xebia-68/#comment-6665</link> <dc:creator>Alexis MP</dc:creator> <pubDate>Mon, 04 Aug 2008 19:28:39 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=543#comment-6665</guid> <description>Merci pour tous ces liens ;)
Pour la partie RIA/JavaFX, je constate que Flex a une avance certaine mais que Adobe mise surtout sur AIR qui est une autre paire de manches (en particulier nouveau runtime à déployer).
Rich Hall comme nouveau collègue dans l&#039;équipe GlassFish c&#039;est une excellente nouvelle!</description> <content:encoded><![CDATA[<p>Merci pour tous ces liens <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p><p>Pour la partie RIA/JavaFX, je constate que Flex a une avance certaine mais que Adobe mise surtout sur AIR qui est une autre paire de manches (en particulier nouveau runtime à déployer).</p><p>Rich Hall comme nouveau collègue dans l&#8217;équipe GlassFish c&#8217;est une excellente nouvelle!</p> ]]></content:encoded> </item> </channel> </rss>
