<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.benois.fr/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Jérôme BENOIS's Weblog &quot;MDE 2.0 :)&quot;</title>
  <link>http://blog.benois.fr/</link>
  <atom:link href="http://blog.benois.fr/feed/rss2" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>fr</language>
  <pubDate>Wed, 30 Jun 2010 12:18:41 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>DSL à l'aide des technologies Eclipse Modeling</title>
    <link>http://blog.benois.fr/post/2010/06/30/DSL-a-l-aide-des-technologies-Eclipse-Modeling</link>
    <guid isPermaLink="false">urn:md5:75e89fc5d08a7bd2e7fa04f6a91e0a15</guid>
    <pubDate>Wed, 30 Jun 2010 11:10:00 +0200</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>IDM/MDE...</category>
        <category>DSL</category><category>Obeo</category><category>Open-Source</category>    
    <description>    &lt;p&gt;Hier soir, j'ai présenté une session sur les DSL à l'aide des technologies
Eclipse Modeling au Poitou-Charentes JUG. L'idée était d'expliquer les
fondements d'un MDA de nouvelle génération basé sur les langages de domaines.
Voici mes slides :&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&lt;strong style=&quot;margin: 12px 0 4px; display: block;&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/jerome.benois/20100629-dslpoitoucharentesjug&quot; title=&quot;20100629 dsl-poitou-charentes-jug&quot;&gt;20100629
dsl-poitou-charentes-jug&lt;/a&gt;&lt;/strong&gt; &lt;object id=&quot;__sse4649085&quot; height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;about:blank&quot; /&gt;
&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;
&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot; /&gt;
&lt;div style=&quot;padding: 5px 0 12px;&quot;&gt;View more &lt;a href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/jerome.benois&quot;&gt;jerome.benois&lt;/a&gt;.&lt;/div&gt;
&lt;/object&gt;&lt;/div&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2010/06/30/DSL-a-l-aide-des-technologies-Eclipse-Modeling#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2010/06/30/DSL-a-l-aide-des-technologies-Eclipse-Modeling#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/530518</wfw:commentRss>
      </item>
    
  <item>
    <title>Vidéo de la soirée Easyant et Ivy</title>
    <link>http://blog.benois.fr/post/2010/03/26/Video-soiree-Easyant-et-Ivy</link>
    <guid isPermaLink="false">urn:md5:be7aa7cf80e2c838470e71e1beb85c63</guid>
    <pubDate>Fri, 26 Mar 2010 17:31:00 +0100</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>Ivy</category>
        <category>EasyAnt</category><category>Ivy</category>    
    <description>    &lt;p&gt;La vidéo de la soirée Easyant et Ivy au Poitou-Charentes JUG est disponible
sur parleys :&lt;/p&gt;
&lt;p&gt;&lt;object data=&quot;http://www.parleys.com/share/parleysshare2.swf?pageId=1887&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;474&quot; height=&quot;443&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.parleys.com/share/parleysshare2.swf?pageId=1887&quot; /&gt;
&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;
&lt;param name=&quot;pageId&quot; value=&quot;1887&quot; /&gt;&lt;/object&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2010/03/26/Video-soiree-Easyant-et-Ivy#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2010/03/26/Video-soiree-Easyant-et-Ivy#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/502804</wfw:commentRss>
      </item>
    
  <item>
    <title>2nd Birthday of ParisJUG</title>
    <link>http://blog.benois.fr/post/2010/02/11/2nd-Birthday-of-ParisJUG</link>
    <guid isPermaLink="false">urn:md5:f9b7bf594f4c0063aa67714c331160f7</guid>
    <pubDate>Thu, 11 Feb 2010 20:45:00 +0100</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>IDM/MDE...</category>
        <category>Acceleo</category><category>Eclipse</category><category>Open-Source</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/ParisJUG/.juggyannif02_s.jpg&quot; alt=&quot;juggyannif02.jpg&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; title=&quot;juggyannif02.jpg, fév. 2010&quot; /&gt; I just back in my Home Office from a two days
trip to Paris.I went to the &lt;strong&gt;second birthday of &lt;a href=&quot;http://www.parisjug.org&quot;&gt;ParisJUG&lt;/a&gt;&lt;/strong&gt;. Thanks and bravo to &lt;a href=&quot;http://www.antoniogoncalves.org/&quot;&gt;Antonio&lt;/a&gt; and all the ParisJUG team for
the organization! It was a special event about the Open-Source
revolution.&lt;br /&gt;
All French JUG leaders are came specially for this event. &lt;a href=&quot;http://twitter.com/oriannetisseuil&quot;&gt;Orianne&lt;/a&gt; and &lt;a href=&quot;http://twitter.com/jeromepetit&quot;&gt;Jerome Petit&lt;/a&gt;, the &lt;a href=&quot;http://blog.benois.fr/post/2010/02/11/www.poitoucharentesjug.org/&quot;&gt;Poitou-Charentes JUG&lt;/a&gt; leaders, announced that
we would organize an event &lt;strong&gt;in September: The Beach JUG&lt;/strong&gt; (aka Le
JUG de la Plage!) &lt;img src=&quot;/themes/default/smilies/wink.png&quot; alt=&quot;;-)&quot; class=&quot;smiley&quot; /&gt; The event will take place in La Rochelle on the French
west coast. This will be an opportunity for me to talk about &lt;strong&gt;Model
Driven&lt;/strong&gt;. If you are interested to come and talk, ping me, I will
redirect.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
The evening starting by an excellent Keynote presented by &lt;strong&gt;&lt;a href=&quot;http://sacha.labourey.com/&quot;&gt;Sacha Labourey&lt;/a&gt;&lt;/strong&gt;. He shares with us his
experience as Open-Source committer on JBoss, then CTO and co-GM of the RedHat
/ JBoss company. And he detailed some best practices for creating an
Open-Source and succeed in life (in Open-Source world ;)) I liked this phrase:
&lt;strong&gt;&amp;quot;We are free and we don't suck ! &amp;quot;&lt;/strong&gt;&lt;br /&gt;
Then there is a surprise, a mystery guest, the buzz turned the whole day on
Twitter, tracks from &lt;a href=&quot;http://www.claramorgane.com/&quot;&gt;Clara Morgane&lt;/a&gt;
to &lt;a href=&quot;http://www.elysee.fr/&quot;&gt;Nicolas Sarkozy&lt;/a&gt;:&lt;/p&gt;
&lt;div&gt;&lt;object width=&quot;560&quot; height=&quot;340&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/9xOgImJXUA8&amp;amp;hl=fr_FR&amp;amp;fs=1&amp;amp;&quot; /&gt;
&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;
&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot; /&gt;
&lt;/object&gt;&lt;/div&gt;
&lt;p&gt;And finally, it's &lt;strong&gt;Marc Fleury&lt;/strong&gt;, the JBoss Founder who
became!&lt;br /&gt;
I had the honor to discuss with Marc around a glass of French wine! Marc has a
really cool life, since it sold JBoss. He came back to Europe, in Madrid and
spend full time with his children and used his free time to study Economy... a
huge topic to me...&lt;br /&gt;
&lt;img src=&quot;http://blog.benois.fr/public/ParisJUG/.400people_m.jpg&quot; alt=&quot;400people.jpg&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; title=&quot;400people.jpg, fév. 2010&quot; /&gt;
&lt;img src=&quot;http://blog.benois.fr/public/ParisJUG/eclipse-membership-strategic.jpg&quot; alt=&quot;eclipse_built on_neg_logo_fc_xsm.ai&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;eclipse_built on_neg_logo_fc_xsm.ai, fév. 2010&quot; /&gt;Just after the
Keynote, &lt;strong&gt;&lt;a href=&quot;http://www.mda4eclipse.com/&quot;&gt;Etienne
Juliot&lt;/a&gt;&lt;/strong&gt; presented a quickie before almost 400 people. It explain
how &lt;strong&gt;&lt;a href=&quot;http://www.obeo.fr&quot;&gt;Obeo&lt;/a&gt;&lt;/strong&gt; joined the
&lt;strong&gt;&lt;a href=&quot;http://blog.benois.fr/post/2010/02/11/www.eclipse.org/&quot;&gt;Eclipse Foundation&lt;/a&gt;&lt;/strong&gt; as a
&lt;strong&gt;Strategic Member&lt;/strong&gt; and how to build a viable Business Model
based on the Eclipse ecosystem.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/ParisJUG/.bisounours_s.jpg&quot; alt=&quot;bisounours.jpg&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; title=&quot;bisounours.jpg, fév. 2010&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I remember two messages: &lt;strong&gt;&amp;quot;Do it!&amp;quot;&lt;/strong&gt; and &lt;strong&gt;&amp;quot;Professional
Open-Source is not a Bisounours World&amp;quot;&lt;/strong&gt;, which reaches the Sacha
opinion. Indeed, Etienne told us that it is very difficult to monetize open
source technologies in order to build a solid software company. He explained
how Obeo has managed to build a clear strategy and build a solid business
model.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
The evening then continued with a third half-time with almost 120 people, the
moment to talk with many good Open-Source Guys!&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2010/02/11/2nd-Birthday-of-ParisJUG#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2010/02/11/2nd-Birthday-of-ParisJUG#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/483866</wfw:commentRss>
      </item>
    
  <item>
    <title>Building an Enterprise Repository with EMF, CDO and EEF Technologies</title>
    <link>http://blog.benois.fr/post/2010/01/13/Building-an-Enterprise-Repository-with-EMF-CDO-and-EEF</link>
    <guid isPermaLink="false">urn:md5:ae5747e0286c551b5c57b72fd8950cf2</guid>
    <pubDate>Wed, 13 Jan 2010 15:48:00 +0100</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>IDM/MDE...</category>
        <category>Acceleo</category><category>Eclipse</category><category>Open-Source</category>    
    <description>    &lt;p&gt;Last week, we have delivered a prototype of an enterprise repository for a
big french insurance company.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;What's an enterprise repository?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;An enterprise repository can create a multi-dimensionnal space involving all
components of an information system. The implementation of such a tool is part
of a governance policy on a large scale information system.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Enterprise-Repository/.enterprise-repository_m.jpg&quot; alt=&quot;Enterprise Repository&quot; title=&quot;Enterprise Repository, janv. 2010&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The figure above illustrates how a repository is used to align the IT vision
on the Business dimension. This tool aggregates all the foundations of the
Information System and can easily navigate to this logical view in order to
study changes impacts, and define transformations and modernization plans,
...&lt;/p&gt;
&lt;p&gt;In our case most of the information already existed, so we decided to create
connectors to feed the repository. Existing information are generally collected
from :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Existing tools : in fact several tools are used to manage information
system, but each tools are isolate. In example we have develop a connector to
extract the content of &lt;a href=&quot;http://mega.com&quot; hreflang=&quot;en&quot;&gt;MEGA
Repository&lt;/a&gt; and add the capability to reference this content with other
contents.&lt;/li&gt;
&lt;li&gt;Legacy systems : Database schemas, existing application (Cobol,
Natural, Java,...)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Technically, we use the Eclipse Modeling technologies:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://www.eclipse.org/modeling/emf/&quot;&gt;EMF&lt;/a&gt;&lt;/strong&gt;: to
define metamodels&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://www.eclipse.org/modeling/emf/?project=cdo&quot;&gt;CDO&lt;/a&gt;&lt;/strong&gt;: to store
and share our big model&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://www.eclipse.org/modeling/emft/?project=eef&quot;&gt;EEF&lt;/a&gt;&lt;/strong&gt;: to
provide editor and sexy properties views&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;So, A great opportunity for the &lt;a href=&quot;http://www.obeo.fr/&quot;&gt;Obeo&lt;/a&gt;
Guys to contribute to the &lt;a href=&quot;http://www.eclipse.org/modeling/emf/?project=cdo&quot;&gt;CDO&lt;/a&gt; project!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In fact, with Gonzague we developed a new feature, the &amp;quot;push mode&amp;quot; aka the
local transaction support. We have carried out in collaboration with Eike, our
&lt;a href=&quot;http://www.eclipse.org/modeling/emf/?project=cdo&quot;&gt;CDO&lt;/a&gt; mentor
&lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Some details about this feature:&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In CDO, the publishing workflow in the repository is:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open CDO editor&lt;/li&gt;
&lt;li&gt;Add some changes&lt;/li&gt;
&lt;li&gt;Save your editor&lt;/li&gt;
&lt;li&gt;CDO sends changes in the repository&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Our contribution introduces the concept of Local Transaction. It adds a step
to this worflow:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open CDO editor&lt;/li&gt;
&lt;li&gt;Add some changes&lt;/li&gt;
&lt;li&gt;Save your editor&lt;/li&gt;
&lt;li&gt;CDO store all deltas in a local binary file&lt;/li&gt;
&lt;li&gt;When the user invokes the &amp;quot;Push&amp;quot; action, CDO sends all changes in the
repository.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;With this feature, we can also restart eclipse, and restore your local
changes later on a new session.&lt;/p&gt;
&lt;p&gt;Special thanks for Gonzague and Eike for their works! (&lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=298055&quot;&gt;#298055&lt;/a&gt;,&lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=298178&quot;&gt;#298178&lt;/a&gt;,&lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=298568&quot;&gt;#298568&lt;/a&gt;,&lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=297967&quot;&gt;#297967&lt;/a&gt;,&lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=298334&quot;&gt;#298334&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;The next step, is use GMF with Obeo Designer facilities to provide dedicated
viewpoints for each kind of actors.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2010/01/13/Building-an-Enterprise-Repository-with-EMF-CDO-and-EEF#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2010/01/13/Building-an-Enterprise-Repository-with-EMF-CDO-and-EEF#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/475294</wfw:commentRss>
      </item>
    
  <item>
    <title>Soirée EasyAnt et Ivy</title>
    <link>http://blog.benois.fr/post/2009/12/14/Soiree-EasyAnt-et-Ivy</link>
    <guid isPermaLink="false">urn:md5:a7cc74235f99082659383f1f8480bd74</guid>
    <pubDate>Mon, 14 Dec 2009 13:50:00 +0100</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>Ivy</category>
        <category>EasyAnt</category><category>Ivy</category><category>Open-Source</category>    
    <description>    &lt;p&gt;Jeudi 17 Décembre je présenterai avec Xavier Hanin (Project Lead d'Apache
Ivy) et Jean-Louis Boudard (Project Lead d'EasyAnt) une session consacrée à
EasyAnt et Ivy,&lt;/p&gt;
&lt;p&gt;Pour vous mettre l'eau à la bouche, voici le plan :&lt;/p&gt;
&lt;p&gt;Nous introduirons les principales problématiques liées :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;à la gestion de dépendances dans les projets&lt;/li&gt;
&lt;li&gt;et au processus de construction d'application&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Nous présenterons la solution EasyAnt basée sur les standards Apache Ant et
Apache Ivy afin de répondre aux questions suivantes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Qu'attend-t-on d'un outil de build ?&lt;/li&gt;
&lt;li&gt;La gestion de dépendances logicielles à quoi ça sert ?&lt;/li&gt;
&lt;li&gt;Est-ce que ça peut vraiment me faire gagner du temps sur mes
projets ?&lt;/li&gt;
&lt;li&gt;Et quelle est la réponse apportée par EasyAnt dans ce contexte ?&lt;/li&gt;
&lt;li&gt;Est-ce difficile à mettre en oeuvre ?&lt;/li&gt;
&lt;li&gt;Comment cela s'intègre t'il dans les outils (IDE, outil d'intégration
continue ...)&lt;/li&gt;
&lt;li&gt;Quid du débat EasyAnt vs Maven ?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;C'est autant de questions auxquelles nous essayerons de répondre à travers
un panel de démonstrations et de retours d'expérience, en s'attardant sur le
fonctionnement d'EasyAnt et d'Ivy, leurs forces et faiblesses, mais aussi en
donnant des indications pratiques et pragmatiques sur leurs mise en oeuvre.&lt;/p&gt;
&lt;p&gt;Date et lieu :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;jeudi 17 décembre 2009 à 18h30&lt;/li&gt;
&lt;li&gt;Lieu : Pépinière d'entreprises du Niortais&lt;/li&gt;
&lt;li&gt;Adresse : 3 rue Archimède 79000 Niort&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour s'inscrire : envoyer un mail à :
team@poitoucharentesjug.org.&lt;/p&gt;
&lt;p&gt;La conférence sera suivie d'un buffet pour terminer la soirée par un moment
de convivialité offert par SERLI. Puis comme d'habitude, nous finirons la
soirée en centre-ville pour partager quelques bières entre juggers &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Venez nombreux !&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2009/12/14/Soiree-EasyAnt-et-Ivy#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2009/12/14/Soiree-EasyAnt-et-Ivy#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/467861</wfw:commentRss>
      </item>
    
  <item>
    <title>Quelques news Spring et Acceleo</title>
    <link>http://blog.benois.fr/post/2009/07/01/Quelques-news-Spring-et-Acceleo</link>
    <guid isPermaLink="false">urn:md5:1b8a36fb5a3a4604602be92073b6d75a</guid>
    <pubDate>Wed, 01 Jul 2009 12:00:00 +0200</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>Spring</category>
        <category>Acceleo</category><category>Open-Source</category><category>Spring</category><category>UML</category>    
    <description>    &lt;p&gt;Je suis très heureux d'annonçer la sortie imminente de la nouvelle édition
de &lt;strong&gt;&amp;quot;Spring par la pratique&amp;quot;&lt;/strong&gt;. La parution en librairie est
prévu pour &lt;strong&gt;le 9 Juillet 2009&lt;/strong&gt; et la version ebook est d'ores et
déjà disponible.&lt;/p&gt;
&lt;p&gt;Un grand bravo à Thierry Templier, Arnaud Cogoluègnes et Julien Dubois qui
ont fait un travail de titan sur cette nouvelle version. Vous y trouverez
toutes les nouveautés de Spring 2.5 et Spring 3.0 ainsi que des nouveaux
chapitres sur Spring Batch ou encore Spring DM.&lt;/p&gt;
&lt;p&gt;J'ai eu l'occasion de participer modestement à cette aventure et de
contribuer une annexe traitant de l'industrialisation des développements Spring
dans Eclipse. Vous devez vous doutez que cette industrialisation est basée sur
une approche dirigée par les modèles et utilise le générateur Acceleo &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Cette nouvelle version atteignant pas moins de 680 pages, les annexes ne
seront pas inclus dans l'édition. Mais elles seront bientôt disponibles pour
tous en téléchargement sur le site dédié créé pour l'occasion : &lt;a href=&quot;http://www.springparlapratique.org&quot; hreflang=&quot;fr&quot;&gt;http://www.springparlapratique.org&lt;/a&gt;. La listes des annexes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Annexe A : SpringIDE&lt;/li&gt;
&lt;li&gt;Annexe B : Développement OSGi dans Eclipse&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Annexe C : Industrialisation des développements Spring dans
Eclipse&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Aussi, je profite de ce billet pour relayer l'annonçe de Freddy sur un
événement à ne pas manquer &lt;strong&gt;&amp;quot;Eclipse Acceleo Day&amp;quot;&lt;/strong&gt;. La
communauté Acceleo se retrouvera le &lt;strong&gt;10 Juillet 2009 à Nantes&lt;/strong&gt;.
Cette événement se déroulera pendant les 10ème RMLL. Vous trouverez toutes les
informations ainsi que le programme complet &lt;a href=&quot;http://www.acceleo.org/wiki/index.php/EclipseAcceleoDay&quot; hreflang=&quot;en&quot;&gt;ici&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Inscrivez-vous vite, il ne reste que peu de temps avant la clôture des
inscriptions !&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2009/07/01/Quelques-news-Spring-et-Acceleo#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2009/07/01/Quelques-news-Spring-et-Acceleo#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/414627</wfw:commentRss>
      </item>
    
  <item>
    <title>Salon Solutions Linux / Open-Source 2009</title>
    <link>http://blog.benois.fr/post/2009/04/10/Salon-Solutions-Linux-Open-Source-2009</link>
    <guid isPermaLink="false">urn:md5:e0602deff989c2d860012eb8b75c561d</guid>
    <pubDate>Fri, 10 Apr 2009 07:34:00 +0200</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>Acceleo</category><category>Open-Source</category><category>Papyrus</category><category>UML</category>    
    <description>    Il y a maintenant une semaine que je suis rentré du salon Solution Linux /
Open-Source 2009. Cette dixième édition se déroulait cette année Porte de
Versailles. Après 5 années en tant que visiteur, ce fut l'occasion pour moi de
passer de l'autre coté de la &amp;quot;barrière&amp;quot; pour devenir exposant et conférencier
aux cotés de mes collègues &lt;a href=&quot;http://www.mda4eclipse.com/&quot;&gt;Etienne&lt;/a&gt; et
&lt;a href=&quot;http://dev.eclipse.org/blogs/sdrapeau/&quot;&gt;Stéphane&lt;/a&gt;. Nous étions
localisé sur le stand d'&lt;a href=&quot;http://www.alliance-libre.org&quot;&gt;Alliance
Libre&lt;/a&gt;, le pôle d'expertise en logiciels libres Nantais auquel nous sommes
membres.&lt;br /&gt;
Durant ces 3 jours, j'ai pu présenter les produits &lt;a href=&quot;http://www.obeo.fr/&quot;&gt;Obeo&lt;/a&gt;, échanger avec différents acteurs du libre. Mais
aussi voir quelques autres membres de l'&lt;a href=&quot;http://www.ossgtp.org&quot;&gt;OSSGTP&lt;/a&gt;, ainsi que mes anciens collègues qui ont
lancés en direct leur nouvelle plateforme de Cloud Computing &lt;a href=&quot;http://www.faascape.org&quot;&gt;Faascape&lt;/a&gt;. Ce fut aussi l'occasion de faire le
plein de T-Shirts Geek, outil indispensable au télétravailleur que je suis
&lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Mardi dernier, j'ai présenté pour la première fois le projet Eclipse Papyrus,
le nouveau modeleur UML de la fondation Eclipse sur lequel je contribue. Voici
les slides de la présentation :&lt;br /&gt;
&lt;br /&gt;
&lt;object data=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=eclipsepapyrus-solutionslinux2009-090410005043-phpapp01&amp;amp;stripped_title=eclipse-papyrus-solutions-linux-2009&quot; type=&quot;application/x-shockwave-flash&quot; height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=eclipsepapyrus-solutionslinux2009-090410005043-phpapp01&amp;amp;stripped_title=eclipse-papyrus-solutions-linux-2009&quot; /&gt;
&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;
&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot; /&gt;&lt;/object&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2009/04/10/Salon-Solutions-Linux-Open-Source-2009#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2009/04/10/Salon-Solutions-Linux-Open-Source-2009#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/392359</wfw:commentRss>
      </item>
    
  <item>
    <title>JavaEE Productivity Tour à Nantes</title>
    <link>http://blog.benois.fr/post/2009/03/12/JavaEE-Productivity-Tour-a-Nantes</link>
    <guid isPermaLink="false">urn:md5:feeabec32e730c3332209d3add335b55</guid>
    <pubDate>Thu, 12 Mar 2009 09:08:00 +0100</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>Spring</category>
        <category>Acceleo</category><category>Open-Source</category><category>Spring</category>    
    <description>    &lt;p&gt;Un évènement dans l'Ouest à ne pas manquer !&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/logos/.logoObeo_t.jpg&quot; alt=&quot;logoObeo.png&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;logoObeo.png&quot; /&gt;&lt;strong&gt;JavaEE
Productivity Tour&lt;/strong&gt; co-organisé par &lt;em&gt;&lt;a href=&quot;http://www.obeo.fr&quot; hreflang=&quot;fr&quot;&gt;Obeo&lt;/a&gt;&lt;/em&gt;, &lt;em&gt;&lt;a href=&quot;http://www.proxiad.fr&quot; hreflang=&quot;fr&quot;&gt;ProxiAD&lt;/a&gt;&lt;/em&gt; et &lt;em&gt;&lt;a href=&quot;http://www.springsource.com/fr&quot; hreflang=&quot;fr&quot;&gt;SpringSource&lt;/a&gt;&lt;/em&gt; s'arrête à Nantes, au Stade de la Beaujoire le
&lt;strong&gt;mardi 7 avril, de 9h00 à 13h00.&lt;/strong&gt; &lt;img src=&quot;http://blog.benois.fr/public/logos/.springsource_logo_t.jpg&quot; alt=&quot;springsource_logo.gif&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; title=&quot;springsource_logo.gif&quot; /&gt;&lt;/p&gt;
&lt;p&gt;A cette occasion, nous partagerons avec vous notre vision commune de la
problématique plus que jamais actuelle de la &lt;strong&gt;productivité des
développements JavaEE&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;La grande plus value de cet évènement tient dans l’association autour d’un
même fil rouge de &lt;strong&gt;3 spécialistes de la productivité&lt;/strong&gt; qui vous
apporteront une vision complémentaire et intégrée des enjeux et solutions de la
productivité en JavaEE. &lt;img src=&quot;http://blog.benois.fr/public/logos/.proxiad_logo_t.jpg&quot; alt=&quot;proxiad_logo.gif&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;proxiad_logo.gif&quot; /&gt; Les intervenants lors de cette matinée vous dresseront
une vision globale et homogène de leviers de productivité d’un projet JavaEE.
Ils se concentreront ensuite sur les bénéfices d’une cible technique
performante et d’un environnement de développement adapté.&lt;/p&gt;
&lt;p&gt;Nous aurons enfin le plaisir de nous retrouver autour d’un buffet à l’heure
du déjeuner.&lt;/p&gt;
&lt;p&gt;C’est &lt;strong&gt;gratuit&lt;/strong&gt;, les places sont limitées et les inscriptions
se passent &lt;strong&gt;&lt;a href=&quot;http://nantes-javaeeproductivitytour.eventbrite.com/&quot;&gt;Ici&lt;/a&gt;&lt;/strong&gt; !&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2009/03/12/JavaEE-Productivity-Tour-a-Nantes#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2009/03/12/JavaEE-Productivity-Tour-a-Nantes#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/336035</wfw:commentRss>
      </item>
    
  <item>
    <title>Eclipse Commiter Nomination and First Commit!</title>
    <link>http://blog.benois.fr/post/2009/02/19/Eclipse-Commiter-Nomination-and-First-Commit</link>
    <guid isPermaLink="false">urn:md5:9440622d682dc005fc2d080059d1c2a9</guid>
    <pubDate>Thu, 19 Feb 2009 23:50:00 +0100</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>Papyrus</category>
        <category>Acceleo</category><category>Eclipse</category><category>Open-Source</category><category>Papyrus</category><category>UML</category>    
    <description>    &lt;p&gt;Since six month ago, I have been within &lt;a href=&quot;http://www.obeo.fr&quot;&gt;Obeo&lt;/a&gt; in order to work on Model Driven technologies.
Indeed I manage &lt;a href=&quot;http://www.obeo.fr&quot;&gt;Obeo&lt;/a&gt;'s contributions to the
&lt;strong&gt;&lt;a href=&quot;http://www.eclipse.org/modeling/mdt/?project=papyrus#papyrus&quot;&gt;Eclipse
Papyrus&lt;/a&gt;&lt;/strong&gt; project.&lt;/p&gt;
&lt;p&gt;During this period I worked on the &lt;a href=&quot;http://www.eclipse.org/modeling/mdt/?project=papyrus#papyrus&quot;&gt;Papyrus&lt;/a&gt; to
improve wizards, properties views and the usability of class Diagram. I'm also
participated to the preparation of the IP Process checking.&lt;/p&gt;
&lt;p&gt;Since one month, The source code of &lt;a href=&quot;http://www.eclipse.org/modeling/mdt/?project=papyrus#papyrus&quot;&gt;Papyrus&lt;/a&gt; was
hosted on Eclipse SVN repository &lt;a href=&quot;http://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.papyrus&quot;&gt;here&lt;/a&gt;.&lt;img src=&quot;http://blog.benois.fr/public/Eclipse/mem_eclipse_pos_logo_fc_sm.jpg&quot; alt=&quot;Eclipse Foundation Member&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; title=&quot;Eclipse Foundation Member&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And Now, since Tuesday, I'm proud to announce that I have been
&lt;strong&gt;nominated Eclipse Commiter&lt;/strong&gt; for &lt;a href=&quot;http://www.eclipse.org/modeling/mdt/?project=papyrus#papyrus&quot;&gt;Eclipse
Papyrus&lt;/a&gt; project! It is a great honor in my hacker's life &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt; And I will put
best efforts to provide quality contributions.&lt;/p&gt;
&lt;p&gt;Also I will talk about my work on &lt;a href=&quot;http://www.eclipse.org/modeling/mdt/?project=papyrus#papyrus&quot;&gt;Eclipse
Papyrus&lt;/a&gt; project or other Eclipse technologies on this &lt;strong&gt;&lt;a href=&quot;http://blog.benois.fr&quot;&gt;Blog&lt;/a&gt;&lt;/strong&gt; or on my &lt;strong&gt;Twitter &lt;a href=&quot;http://www.twitter.com/jeromebenois&quot;&gt;Micro-Blog&lt;/a&gt;&lt;/strong&gt; (Don't hesitate
to follow me!).&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;After this news, I commited my &lt;strong&gt;first official contribution as a
commiter&lt;/strong&gt; &lt;a href=&quot;https://bugs.eclipse.org/263431&quot;&gt;#263431&lt;/a&gt;. I
refactored the Papyrus Outline and implemented a first version of the Model
Explorer view in order allow the navigation in resources, model and diagrams.
This view is based on the powerful &lt;strong&gt;&lt;a href=&quot;http://wiki.eclipse.org/index.php/Common_Navigator_Framework&quot;&gt;Common Navigator
Framework&lt;/a&gt;&lt;/strong&gt; (aka CNF) :&lt;/p&gt;
&lt;p&gt;The result here :&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Eclipse/.Papyrus_ME_NewDiagram_m.jpg&quot; alt=&quot;Papyrus_ME_NewDiagram.png&quot; title=&quot;Papyrus_ME_NewDiagram.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;More screenshots &lt;a href=&quot;http://wiki.eclipse.org/Papyrus_User_Guide#Model_Explorer_View&quot;&gt;on the Papyrus
Wiki&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;CNF is very generic and extensive framework. Indeed, it allow to provide
with the eclipse extension mechanism:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;content providers,&lt;/li&gt;
&lt;li&gt;label providers,&lt;/li&gt;
&lt;li&gt;filters,&lt;/li&gt;
&lt;li&gt;actions,&lt;/li&gt;
&lt;li&gt;sorters&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I read some great articles to learn the CNF :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://scribbledideas.blogspot.com/2006/05/building-common-navigator-based-viewer.html&quot;&gt;
Building a Common Navigator based viewer, Part I: Defining the viewer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://scribbledideas.blogspot.com/2006/05/building-common-navigator-based-viewer_22.html&quot;&gt;
Building a Common Navigator based viewer, Part II: Adding Content&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://scribbledideas.blogspot.com/2006/06/what-does-common-navigator-framework.html&quot;&gt;
What does the Common Navigator Framework (CNF) help me do?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://scribbledideas.blogspot.com/2006/06/building-common-navigator-based-viewer.html&quot;&gt;
Building a Common Navigator based viewer, Part III: Configuring Menus&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://scribbledideas.blogspot.com/2006/06/building-common-navigator-based-viewer_18.html&quot;&gt;
Building a Common Navigator based viewer, Part IV: Object
Contributions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://scribbledideas.blogspot.com/2006/06/building-common-navigator-_115067357450703178.html&quot;&gt;
Building a Common Navigator based viewer, Part V: Action Providers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://scribbledideas.blogspot.com/2006/07/label-decorators-in-common-navigator.html&quot;&gt;
Label Decorators in a Common Navigator Framework viewer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2009/02/19/Eclipse-Commiter-Nomination-and-First-Commit#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2009/02/19/Eclipse-Commiter-Nomination-and-First-Commit#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/328994</wfw:commentRss>
      </item>
    
  <item>
    <title>Minute of Papyrus Pre-Committing meeting!</title>
    <link>http://blog.benois.fr/post/2008/11/09/Minute-of-Papyrus-Pre-Committing-meeting</link>
    <guid isPermaLink="false">urn:md5:43627622d709a92634d64c7b41a469c3</guid>
    <pubDate>Sun, 09 Nov 2008 22:01:00 +0100</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>IDM/MDE...</category>
        <category>Acceleo</category><category>Eclipse</category><category>Open-Source</category><category>Papyrus</category><category>UML</category>    
    <description>    Wednesday, I met the others commiters of the Eclipse Papyrus project. We have
prepared an action plan to prepare the IPZilla process. As you can see a great
week of work ahead! You can see the minute here:&lt;br /&gt;
&lt;br /&gt;
&lt;object data=&quot;http://static.slideshare.net/swf/ssplayer2.swf?doc=minutepapyrusprecommitting-1226263928050261-8&amp;amp;rel=0&amp;amp;stripped_title=minute-of-eclipse-papyrus-precommitting-presentation&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slideshare.net/swf/ssplayer2.swf?doc=minutepapyrusprecommitting-1226263928050261-8&amp;amp;rel=0&amp;amp;stripped_title=minute-of-eclipse-papyrus-precommitting-presentation&quot; /&gt;
&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;
&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot; /&gt;&lt;/object&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2008/11/09/Minute-of-Papyrus-Pre-Committing-meeting#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2008/11/09/Minute-of-Papyrus-Pre-Committing-meeting#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/296201</wfw:commentRss>
      </item>
    
  <item>
    <title>One month in Obeo, The Model Driven Company!</title>
    <link>http://blog.benois.fr/post/2008/10/23/One-month-in-Obeo</link>
    <guid isPermaLink="false">urn:md5:ac88337f3f04dc611b0040a4bd87f0d3</guid>
    <pubDate>Thu, 23 Oct 2008 23:58:00 +0200</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>IDM/MDE...</category>
        <category>Acceleo</category><category>Open-Source</category><category>UML</category>    
    <description>    &lt;p&gt;I have been within &lt;em&gt;&lt;a href=&quot;http://www.obeo.fr/index.php?lang=en&quot; hreflang=&quot;en&quot;&gt;Obeo&lt;/a&gt;&lt;/em&gt; for almost one month now. As expected, it is crazy,
and exciting!&lt;/p&gt;
&lt;p&gt;Exciting for several reasons, first because it's a new job with new
challenges, and then for the followings:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Working at home&lt;/strong&gt;: I begin my fifth year of work at home,
with zero transport time, no tie.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I like this way of working! It's an ideal way to reconcile family life and
work, we will see it when my son/daughter will be born in February &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Working on Open-Source softwares&lt;/strong&gt;: Some of you know that I
have been working for the Hervé Group as Project Manager, and lately for
Argia-Engineering as CTO. This latest experience was focused on software
architecture, and scalability design of big e-commerce platform and MDA
consulting,...&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As I am an intensive user of Open standards and Open-source softwares such
as GNU/Linux, Apache, Tomcat, Java, PostgreSQL, Spring, Eclipse, Ant, Ivy,
Hudson,... I think that Open-Source must a win-win model. Thus, I am an active
contributor to mailing-list, forum, documentation, experience sharing , bug
reporting, or even more source code contribution. It is this approach that led
me to interest me to severals Open-Source project like Acceleo, on which I
contributed actively and became commiter. This great diving phase in the
Open-Source world offers me an opportunity to capitalize in depth experience.
As shifting to the Open source world became obvious in my mind, Moving to Obeo
was a great opportunity for me!&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Since one month, I am pleased to work on a new big Open-Source
project : the &lt;strong&gt;new UML2 the new UML2 modeler&lt;/strong&gt; hosted by
Eclipse Foundation called &lt;strong&gt;&lt;a href=&quot;http://www.eclipse.org/modeling/mdt/?project=papyrus#papyrus&quot; hreflang=&quot;en&quot;&gt;Eclipse Papyrus&lt;/a&gt;&lt;/strong&gt; . This big rebuild of Papyrus project
(http://papyrusuml.org) is aimed at integrating several contributions on a
solid and flexible BackBone. In this project, Standards is another important
point, we want support and respect 100% of the OMG standards. In the first
sprint to give a first version of code source for the IPZilla incubation
process, we focused on implementing the Class Diagram. Thus I discover and
start to use the Graphical Modeling Framework (see the first screenshot of this
collective work) to improve Class Diagram:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Papyrus/.PapyrusII-ClassDiagram_m.jpg&quot; alt=&quot;Eclipse Papyrus Class Diagram&quot; title=&quot;Eclipse Papyrus Class Diagram, oct 2008&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I promise you to communicate about this on this blog!&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Yesterday, it was the &lt;strong&gt;Acceleo JEE Module Sprint'08&lt;/strong&gt;. It was
an opportunity to meet members of the community and define the roadmap of this
module. It was as deep dive meeting, we worked on severals tracks by small
team. And you can see the Minute &lt;a href=&quot;http://acceleo.org/wiki/index.php/Acceleo_JEE_Module_Sprint_%2708&quot; hreflang=&quot;en&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;In the coming months, i think meet some famous Eclipse committers like Ed
Merks,Tom Schindl,... and participate to important event like Solution Linux,
eclipse DemoCamp, maybe Eclipse Summit Europe or EclipseCon ...&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Working in an innovative and visionary team&lt;/strong&gt;: I met the
team consists of thirty persons including 4 project leaders and 8 official
commiters on Eclipse projects: ATL, QVT, MTL, M2M, EMF-Compare, STP, SCA-Tools,
...&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And I discovered the offer of Obeo. I known Acceleo since two or three years
ago, it's a very cool technology. But it's only a portion of the Iceberg. I
enjoyed to discover a big Model Driven Platform called Agility. It can help you
to build complete software factories and migration factories. It provide very
impressive features!&lt;/p&gt;
&lt;p&gt;In conclusion, I just invite you to take a look to Obeo and contact me if
you have any question about product portfolio.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2008/10/23/One-month-in-Obeo#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2008/10/23/One-month-in-Obeo#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/290342</wfw:commentRss>
      </item>
    
  <item>
    <title>Bug Day on Hibernate Module !</title>
    <link>http://blog.benois.fr/post/2008/08/20/Bug-Day-on-Hibernate-Module</link>
    <guid isPermaLink="false">urn:md5:339009df2eb3ff013e59b6816b5c643a</guid>
    <pubDate>Wed, 20 Aug 2008 13:57:00 +0200</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>IDM/MDE...</category>
        <category>Acceleo</category><category>Hibernate</category><category>Open-Source</category><category>UML</category>    
    <description>    &lt;p&gt;This morning, i tracked strange bug on the Acceleo Hibernate
module :&lt;/p&gt;
&lt;pre&gt;
 __________________                 ______________________
| CLASS_MANY_01_BI |&amp;lt;-- * {-} 1 --&amp;gt;| CLASS_MANY_01_BI_END |
|__________________|               |______________________|
&lt;/pre&gt;
&lt;p&gt;The generator created this bloc in Class_Many_01_BI_END.hbm.xml :&lt;/p&gt;
&lt;pre&gt;
&amp;lt;set name=&amp;quot;source&amp;quot; inverse=&amp;quot;true&amp;quot;&amp;gt;
        &amp;lt;key column=&amp;quot;FK__TARGET_ID&amp;quot;/&amp;gt;            
        &amp;lt;one-to-many class=&amp;quot;org.acceleo.hibernate.bug.entities.Class_Many_01_BI&amp;quot;/&amp;gt;
&amp;lt;/set&amp;gt;
&lt;/pre&gt;
&lt;p&gt;But the correct mapping seems to be :&lt;/p&gt;
&lt;pre&gt;
&amp;lt;set name=&amp;quot;source&amp;quot; inverse=&amp;quot;true&amp;quot;&amp;gt;       
        &amp;lt;key column=&amp;quot;FK_CLASS_MANY_01_BI_END_TARGET_ID&amp;quot;/&amp;gt;            
        &amp;lt;one-to-many class=&amp;quot;org.acceleo.hibernate.bug.entities.Class_Many_01_BI&amp;quot;/&amp;gt;
&amp;lt;/set&amp;gt;
&lt;/pre&gt;
&lt;p&gt;I wrote a basic unit test to detect the problem :&lt;/p&gt;
&lt;pre&gt;
@Test public void testMany_01_BI() throws Exception{
        Class_Many_01_BI_END target = new Class_Many_01_BI_END();
        getSession().save(target);
                
        Class_Many_01_BI source = new Class_Many_01_BI();
        source.setTarget(target);
        getSession().save(source);
                
        getSession().flush();
        getSession().clear();
                
        target = (Class_Many_01_BI_END)getSession().load(Class_Many_01_BI_END.class, target.getId());
        assertNotNull(target);
        assertNotNull(target.getSource());
        assertEquals(&amp;quot;Bad mapping detected!&amp;quot;, 1, target.getSource().size());
}
&lt;/pre&gt;
&lt;p&gt;And after short debate on #acceleo IRC channel, thanks Gougou, i added my
fix on trunk here :&lt;/p&gt;
&lt;pre&gt;
svn diff -r1655:1656 svn://svn.forge.objectweb.org/svnroot/acceleo/trunk/modules/community/uml21/jee/trunk
&lt;/pre&gt;
&lt;p&gt;This problem gives me to think how to improve this module. The
&amp;quot;org.acceleo.module.pim.uml21.gen.jee.tests&amp;quot; non-regression plan is a good
point to guarantee stability and the module consistency. Indeed, it's good
tools but i think we could add a unit test suite to check all uses cases
defines by the non-regression plan. And, we could detect others problems like
my bug of the day &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2008/08/20/Bug-Day-on-Hibernate-Module#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2008/08/20/Bug-Day-on-Hibernate-Module#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/269849</wfw:commentRss>
      </item>
    
  <item>
    <title>SpringOne 2008 coming soon ...</title>
    <link>http://blog.benois.fr/post/2008/06/06/SpringOne-2008-coming-soon</link>
    <guid isPermaLink="false">urn:md5:f2add994789870154152f708378bdef5</guid>
    <pubDate>Fri, 06 Jun 2008 12:37:00 +0200</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>Spring</category>
        <category>Acceleo</category><category>Open-Source</category><category>Spring</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.springone.com&quot;&gt;&lt;img src=&quot;http://blog.benois.fr/public/SpringOne2008/.springone2008-logo_m.jpg&quot; alt=&quot;SpringOne 2008&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;SpringOne coming soon, I'm impatient!&lt;/p&gt;
&lt;p&gt;I made a first difficult choice because there is many interesting
topics :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Day One&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Keynote by Rod Johnson&lt;/li&gt;
&lt;li&gt;Spring 2.5 on the Way to 3.0 by Juergen Hoeller&lt;/li&gt;
&lt;li&gt;OSGi Programming Model by Adrian Colyer&lt;/li&gt;
&lt;li&gt;Spring Dynamic Modules for OSGi by Costin Leau&lt;/li&gt;
&lt;li&gt;Five Aspects You Don't Know About by Alef Arendsen&lt;/li&gt;
&lt;li&gt;Enterprise Integration Patterns with Spring by Mark Fisher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Day Two&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Keynote by Adrian Colyer&lt;/li&gt;
&lt;li&gt;Introduction to the Springsource Application Platform by Andy
Wilkinson&lt;/li&gt;
&lt;li&gt;Applying the Spring Frameworks for Model-Driven Architecture by Jan
Ypma&lt;/li&gt;
&lt;li&gt;Inside SpringSource Application Platform by Rob Harrop&lt;/li&gt;
&lt;li&gt;Classloading in OSGi by Frederik Santens or JavaServerFaces - The Biggest
Loser of Java Web Frameworks? by Jeremy Grelle&lt;/li&gt;
&lt;li&gt;Spring Architecture and Best Practices by Eberhard Wolff or Spring Web Flow
2.0 Deep Dive by Keith Donald&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The &amp;quot;&lt;strong&gt;Applying the Spring Frameworks for Model-Driven
Architecture&lt;/strong&gt;&amp;quot; session will provide an opportunity to exchange around
the &lt;strong&gt;Spring Acceleo module&lt;/strong&gt; &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2008/06/06/SpringOne-2008-coming-soon#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2008/06/06/SpringOne-2008-coming-soon#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/248151</wfw:commentRss>
      </item>
    
  <item>
    <title>Spring Application Platform based on OSGi</title>
    <link>http://blog.benois.fr/post/2008/05/06/Spring-Application-Platform</link>
    <guid isPermaLink="false">urn:md5:04942fcf63aab423ff20984c129b231f</guid>
    <pubDate>Tue, 06 May 2008 13:45:00 +0200</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>Spring</category>
        <category>Open-Source</category><category>Spring</category>    
    <description>    &lt;p&gt;After the next release announcement &lt;a href=&quot;http://www.springframework.org/node/646&quot; hreflang=&quot;fr&quot;&gt;here&lt;/a&gt; of the
excellent Spring Dynamic Modules (Spring OSGi), Spring Source announce the new
Application Server based on OSGi (on Spring-DM). It based on the Eclipse
Equinox and Apache Tomcat technologies. It's very good news, this further
confirms the position of Spring as a same level of IBM, Oracle/BEA,
JBoss...&lt;/p&gt;
&lt;p&gt;I think OSGi technology is the best to build next generation of enterprise
application !&lt;/p&gt;
&lt;p&gt;Announcements :&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.infoq.com/news/2008/04/springsource-app-platform&quot; hreflang=&quot;en&quot;&gt;on infoQ&lt;/a&gt; &lt;a href=&quot;http://www.springframework.org/node/647&quot; hreflang=&quot;en&quot;&gt;on SpringFramework.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Many interesting blog post :&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.springsource.com/main/2008/04/30/introducing-the-springsource-application-platform/&quot; hreflang=&quot;en&quot;&gt;introducing-the-springsource-application-platform&lt;/a&gt; &lt;a href=&quot;http://blog.springsource.com/main/2008/05/01/completing-the-picture-spring-osgi-and-the-springsource-application-platform/&quot; hreflang=&quot;en&quot;&gt;completing-the-picture-spring-osgi-and-the-springsource-application-platform&lt;/a&gt;
&lt;a href=&quot;http://blog.springsource.com/main/2008/05/02/running-spring-applications-on-osgi-with-the-springsource-application-platform/&quot; hreflang=&quot;en&quot;&gt;running-spring-applications-on-osgi-with-the-springsource-application-platform&lt;/a&gt;
&lt;a href=&quot;http://static.springsource.com/projects/s2ap/1.x/programmer-guide/htmlsingle/programmer-guide.html&quot; hreflang=&quot;en&quot;&gt;programmer-guide&lt;/a&gt; &lt;a href=&quot;http://blog.springsource.com/main/2008/05/06/springsource-application-platform-deployment-options/&quot; hreflang=&quot;en&quot;&gt;application-platform-deployment-options&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Also, Spring source continues its development in france ... perhaps soon
training and support to french around Spring Application Platform. Two in
interviews of &lt;a href=&quot;http://www.jroller.com/julien.dubois&quot; hreflang=&quot;en&quot;&gt;Julien&lt;/a&gt; here :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;on TV4IT :&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;object data=&quot;http://storage02.brainsonic.com/webtv/tv4itv2/player.swf?&amp;amp;paramXml=http://storage02.brainsonic.com/webtv/tv4itv2/param_player.xml&amp;amp;itemId=5208&amp;amp;autostart=false&amp;amp;mute=false&amp;amp;rollover=true%20quality=&quot; type=&quot;application/x-shockwave-flash&quot; height=&quot;280&quot; width=&quot;320&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://storage02.brainsonic.com/webtv/tv4itv2/player.swf?&amp;amp;paramXml=http://storage02.brainsonic.com/webtv/tv4itv2/param_player.xml&amp;amp;itemId=5208&amp;amp;autostart=false&amp;amp;mute=false&amp;amp;rollover=true%20quality=&quot; /&gt;&lt;/object&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;on ArchitectesIT &lt;a href=&quot;http://www.architectes.it/index.php/post/2008/04/27/Interview-de-lequipe-francaise-de-SpringSource&quot; hreflang=&quot;fr&quot;&gt;here&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2008/05/06/Spring-Application-Platform#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2008/05/06/Spring-Application-Platform#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/236521</wfw:commentRss>
      </item>
    
  <item>
    <title>JEE-Spring Acceleo Module Screencast</title>
    <link>http://blog.benois.fr/post/2008/03/26/JEE-Spring-Acceleo-Module-Screencast</link>
    <guid isPermaLink="false">urn:md5:0f8e4fb64934d0939ee210d8267a5c64</guid>
    <pubDate>Wed, 26 Mar 2008 18:12:00 +0100</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>IDM/MDE...</category>
        <category>Acceleo</category><category>Hessian</category><category>Hibernate</category><category>Open-Source</category><category>Spring</category><category>UML</category>    
    <description>    &lt;p&gt;I created four screencast about last enhancements in JEE-Spring Acceleo
Module :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://www.benois.fr/AcceleoSpringDemo/CreateProject.html&quot;&gt;Here&lt;/a&gt;&lt;/strong&gt;
you can discover how to create an empty project based on Maven directory
layout. It contains a default UML model with Acceleo Business Profile already
applied, and an &lt;a href=&quot;http://ant.apache.org/ivy&quot;&gt;Ivy&lt;/a&gt; configuration file
used to define required dependencies.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You must install my IvyDE and JEE Acceleo Module snapshots from this
&lt;a href=&quot;http://sharengo.org/update/europa&quot;&gt;update-site&lt;/a&gt;. And you must add
&lt;a href=&quot;http://www.benois.fr/AcceleoSpringDemo/ivysettings.xml&quot;&gt;ivysettings.xml&lt;/a&gt; in
your home directory and define reference in Ivy eclipse preferences.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://www.benois.fr/AcceleoSpringDemo/Modeling.html&quot;&gt;Here&lt;/a&gt;&lt;/strong&gt; You
can learn how to use &lt;a href=&quot;http://blog.benois.fr/post/2008/03/26/www.topcased.org&quot;&gt;Topcased&lt;/a&gt; UML modeler to
create &amp;lt;&amp;lt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Service_%28systems_architecture%29&quot;&gt;Service&lt;/a&gt;&amp;gt;&amp;gt;,
&amp;lt;&amp;lt;&lt;a href=&quot;http://en.wikipedia.org/wiki/DTO&quot;&gt;Dto&lt;/a&gt;&amp;gt;&amp;gt;,
&amp;lt;&amp;lt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Business_object_(computer_science)&quot;&gt;Entity&lt;/a&gt;&amp;gt;&amp;gt;
and &amp;lt;&amp;lt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Dao&quot;&gt;Dao&lt;/a&gt;&amp;gt;&amp;gt;
artefacts.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://www.benois.fr/AcceleoSpringDemo/Generate.html&quot;&gt;Here&lt;/a&gt;&lt;/strong&gt; You
can learn how to use JEE-Spring Acceleo Module in order to generate java source
code, unit test, spring and hibernate configuration files. This target server
platform is based on &lt;a href=&quot;http://www.springframework.org/&quot;&gt;Spring
Framework&lt;/a&gt;, &lt;a href=&quot;http://www.hibernate.org&quot;&gt;Hibernate&lt;/a&gt; and the
&lt;a href=&quot;http://hessian.caucho.com&quot;&gt;Hessian&lt;/a&gt; Remoting protocol.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://www.benois.fr/AcceleoSpringDemo/Coding.html&quot;&gt;Here&lt;/a&gt;&lt;/strong&gt; How to
develop unit tests and fill user code blocks &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2008/03/26/JEE-Spring-Acceleo-Module-Screencast#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2008/03/26/JEE-Spring-Acceleo-Module-Screencast#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/224234</wfw:commentRss>
      </item>
    
  <item>
    <title>View dependency graph with IvyDE</title>
    <link>http://blog.benois.fr/post/2008/03/07/View-dependency-graph-with-IvyDE</link>
    <guid isPermaLink="false">urn:md5:7e6d1381d017ab6bb5f10ce6d9f40259</guid>
    <pubDate>Fri, 07 Mar 2008 00:13:00 +0100</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>Ivy</category>
        <category>Acceleo</category><category>Open-Source</category>    
    <description>    &lt;p&gt;At the moment I am working on a new eclipse project creation wizard to
facilitate collaborative development of business services. The goal is provide
a default project layout, with basic UML model, and pre-configured build
system. I use Topcased for UML modeling and the JEE Spring Acceleo module to
generate source code.&lt;/p&gt;
&lt;p&gt;And I'm interesting to configure a dependency manager. But i'm not really
satisfied by Maven, because is too unstable... (I plan to explain my point of
view in another post)&lt;/p&gt;
&lt;p&gt;Thus, I began to explore several alternatives. I think I will go on a
solution based on &lt;strong&gt;&lt;a href=&quot;http://ant.apache.org/ivy/&quot; hreflang=&quot;en&quot;&gt;Apache Ivy&lt;/a&gt;&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;Indeed, after reading and testing &lt;strong&gt;EasyAnt Proof Of Concept&lt;/strong&gt;,
here I am fan. I advise you to read the following &lt;strong&gt;&lt;a href=&quot;http://xhab.blogspot.com/2008/01/easyant-ant-based-pre-packaged-build.html&quot; hreflang=&quot;en&quot;&gt;post on Xavier's Weblog&lt;/a&gt;&lt;/strong&gt;, the creator of Ivy.&lt;/p&gt;
&lt;p&gt;I like Ivy because it is easy to use and very powerful, and it provides a
plug eclipse &lt;strong&gt;&lt;a href=&quot;http://ant.apache.org/ivy/ivyde/&quot; hreflang=&quot;en&quot;&gt;IvyDE&lt;/a&gt;&lt;/strong&gt; which is really nice and very practical!&lt;/p&gt;
&lt;p&gt;Tonight, I decided to make a modest participation in the project by creating
a dependency view that allows you to view the dependencies graph. I was
inspired by source code of the &lt;a href=&quot;http://code.google.com/p/q4e&quot; hreflang=&quot;en&quot;&gt;Q4E&lt;/a&gt; Maven plugin. I discovered the Eclipse &lt;strong&gt;&lt;a href=&quot;http://www.eclipse.org/mylyn/zest.php&quot; hreflang=&quot;en&quot;&gt;Zest&lt;/a&gt;&lt;/strong&gt; Apis,
it's a marvel to make layouting, the result below &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.benois.fr/public/IvyDE/ivyDE-dependencyGraph.png&quot;&gt;&lt;img src=&quot;http://blog.benois.fr/public/IvyDE/.ivyDE-dependencyGraph_m.jpg&quot; alt=&quot;ivyDE-dependencyGraph.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2008/03/07/View-dependency-graph-with-IvyDE#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2008/03/07/View-dependency-graph-with-IvyDE#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/217530</wfw:commentRss>
      </item>
    
  <item>
    <title>JEE-Spring Acceleo Module [EN]</title>
    <link>http://blog.benois.fr/post/2008/01/10/Acceleo-Module-JEE-Spring/en</link>
    <guid isPermaLink="false">urn:md5:604139525f0eb5f47a9d4d6b3289f359</guid>
    <pubDate>Thu, 10 Jan 2008 13:16:00 +0100</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>IDM/MDE...</category>
        <category>Acceleo</category><category>Open-Source</category>    
    <description>    &lt;p&gt;I'm proud to announce the first official release of Acceleo module generator
for &amp;quot;Spring Framework&amp;quot;. It is available with the latest version of
&lt;strong&gt;Acceleo 2.2&lt;/strong&gt;.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;JEE / Spring&amp;quot; Acceleo module uses &lt;a href=&quot;http://en.wikipedia.org/wiki/Unified_Modeling_Language&quot; hreflang=&quot;en&quot;&gt;UML2&lt;/a&gt;
models with stereotypes in order to generate applications based on the Spring
Framework.&lt;/p&gt;
&lt;p&gt;It generates applications with multi-tiers architecture with the following
layers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;User Interface layer&lt;/li&gt;
&lt;li&gt;Data Transfert Objects layer&lt;/li&gt;
&lt;li&gt;Business Services layer&lt;/li&gt;
&lt;li&gt;Data Acces Objects layer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h3&gt;Presentation of the target technology:&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://www.springframework.org/&quot; hreflang=&quot;en&quot;&gt;Spring&lt;/a&gt; is a
lightweight container, which provides similar infrastructure than the Java EE
platform. It provides the ability to create / instanciate objects and manage
their dependencies. The major advantage of this approach is the possibility to
exclusively use POJO (Plain Old Java Objects, objects without any reference of
specifics Java interfaces). It also offers the ability to realize loosely
coupled between all application layers by using together the dependency
injection and the programming with interface. Several features such as security
or transactions can be declaratively specified in the XML configuration file,
... Even with the new features of the version 2 of Spring, the major drawback
of this framework is the usage of XML files in order to specify dependencies.
These files, seems sometimes to be complex to write and maintain.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.hibernate.org/&quot; hreflang=&quot;en&quot;&gt;Hibernate&lt;/a&gt; Hibernate is
a framework used with the Java EE platform to manage object / relational
mapping. This paradigm defines how to persist objects in a relational
database.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;h3&gt;Modeling :&lt;/h3&gt;
&lt;p&gt;&lt;br /&gt;
The JavaEE-Spring generator allows to use UML 2.1 models with specifics
stereotypes in order to identify artefacts of the different application layers.
You must use a modeler supporting by this standard. Topcased is this kind of
this tool and The Acceleo website provides a bundle containing Acceleo and
Topcased.&lt;/p&gt;
&lt;h5&gt;Simplified Architecture&lt;/h5&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Acceleo/SpringModule/SpringModule.png&quot; alt=&quot;SpringModule&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The figure above shows the stereotypes that would specify a semantic on UML
elements. According to the Java EE architecture, various stereotypes are
provided:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &amp;lt;&amp;lt;Entity&amp;gt;&amp;gt; stereotype applies on business domain
classes;&lt;/li&gt;
&lt;li&gt;The &amp;lt;&amp;lt;Dao&amp;gt;&amp;gt; stereotype applies on data access classes and, it
provides read and write methods for business entities;&lt;/li&gt;
&lt;li&gt;The &amp;lt;&amp;lt;Service&amp;gt;&amp;gt; stereotype applies on business service
classes;&lt;/li&gt;
&lt;li&gt;The &amp;lt;&amp;lt;Transactional&amp;gt;&amp;gt; stereotype applies on operations of
business services in order to specify transactional aspect. Both properties:
&amp;quot;isolation&amp;quot; and &amp;quot;propagation&amp;quot; can be use to define the transaction
strategy;&lt;/li&gt;
&lt;li&gt;The &amp;lt;&amp;lt;Remote&amp;gt;&amp;gt; stereotype applies on business services
operations in order to publish as Web Service;&lt;/li&gt;
&lt;li&gt;The &amp;lt;&amp;lt;Dto&amp;gt;&amp;gt; stereotype applies on data transfert objects
classes, often used as return parameter operation of business service.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h3&gt;Features generator&lt;/h3&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h5&gt;In service layer:&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Generate all Spring configuration files&lt;/li&gt;
&lt;li&gt;Easy to use data transfert object in order to provide mediation layer&lt;/li&gt;
&lt;li&gt;Transaction Management with aspect-oriented programming&lt;/li&gt;
&lt;li&gt;Lazy loading support for all objects in the same transaction (design
pattern &amp;quot;ThreadLocal Session&amp;quot;)&lt;/li&gt;
&lt;li&gt;Can publish operation of business service as a Web service using &lt;a href=&quot;http://blog.benois.fr/post/2008/01/10/Acceleo-Module-JEE-Spring/xfire.codehaus.org&quot; hreflang=&quot;en&quot;&gt;XFire&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;JUnit tests&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;In persistence layer:&lt;/h5&gt;
&lt;p&gt;The generator applies Hibernate best practices to provide a better
productivity and great performance.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Easy browsing on business objects&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Subclassing&lt;/li&gt;
&lt;li&gt;1-1, 1-*, *-* associations&lt;/li&gt;
&lt;li&gt;Unidirectional and bidirectional navigability&lt;/li&gt;
&lt;li&gt;Optimisations&lt;/li&gt;
&lt;li&gt;Usage of POJOs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Relational Mapping&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cache handling on persisted data&lt;/li&gt;
&lt;li&gt;3NF SQL&lt;/li&gt;
&lt;li&gt;Integrity constraints&lt;/li&gt;
&lt;li&gt;Concurrent accesses&lt;/li&gt;
&lt;li&gt;Technical identifier&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Date access layer&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No dependency between DTOs and Hibernate&lt;/li&gt;
&lt;li&gt;Advanced search methods&lt;/li&gt;
&lt;li&gt;Transaction handling&lt;/li&gt;
&lt;li&gt;JUnit tests&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h3&gt;Demonstration :&lt;/h3&gt;
&lt;p&gt;The installation of generator is detailed on the pages &lt;a href=&quot;http://www.acceleo.org/pages/installing-a-generator/en&quot; hreflang=&quot;en&quot;&gt;installation of modules&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Install the demonstration project using the menu &amp;quot;Project ..&amp;quot;, then select
&amp;quot;JEE-Spring Demo&amp;quot; from the menu &amp;quot;Examples / Acceleo&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Acceleo/SpringModule/.demo-1_m.jpg&quot; alt=&quot;demo-1&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The wizard creates a new project &amp;quot;org.acceleo.sample.demo.spring&amp;quot; in your
workspace.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The directory &lt;em&gt;src&lt;/em&gt; contains the generated sources;&lt;/li&gt;
&lt;li&gt;The directory &lt;em&gt;resources&lt;/em&gt; contains spring and hibernate
configurations files;&lt;/li&gt;
&lt;li&gt;The directory &lt;em&gt;tests&lt;/em&gt; contains unit tests;&lt;/li&gt;
&lt;li&gt;The directory &lt;em&gt;lib&lt;/em&gt; contains required libraries;&lt;/li&gt;
&lt;li&gt;The directory &lt;em&gt;model&lt;/em&gt; contains :
&lt;ul&gt;
&lt;li&gt;The files &lt;em&gt;conception.uml&lt;/em&gt; and &lt;em&gt;conception.umldi&lt;/em&gt; are the
application model;&lt;/li&gt;
&lt;li&gt;The files &lt;em&gt;profile.uml&lt;/em&gt; and &lt;em&gt;profile.umldi&lt;/em&gt; are UML profile
used to extend UML and handle the generation process;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The file &lt;em&gt;spring.chain&lt;/em&gt; used to launch generation process;&lt;/li&gt;
&lt;li&gt;The file &lt;em&gt;spring.properties&lt;/em&gt; used to specify generation
properties;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Acceleo/SpringModule/demo-2.png&quot; alt=&quot;demo-2&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The &lt;em&gt;conception.umldi&lt;/em&gt; model described below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &amp;lt;&amp;lt;Entity&amp;gt;&amp;gt; &lt;em&gt;Product&lt;/em&gt; defines the concept of
products, it contains the properties &lt;em&gt;name&lt;/em&gt; and &lt;em&gt;color&lt;/em&gt;,&lt;/li&gt;
&lt;li&gt;The &amp;lt;&amp;lt;Dao&amp;gt;&amp;gt; &lt;em&gt;ProductsDao&lt;/em&gt; is responsible for reading and
updating of product objects. The DAOs systematically implements &lt;a href=&quot;http://en.wikipedia.org/wiki/Create,_read,_update_and_delete&quot; hreflang=&quot;en&quot;&gt;CRUD&lt;/a&gt; (Create-Read-Update-Delete) methods. Thus you should not model
these methods. However, it is possible to add operations such
as&lt;em&gt;findProductByColor&lt;/em&gt;;&lt;/li&gt;
&lt;li&gt;The &amp;lt;&amp;lt;Service&amp;gt;&amp;gt; &lt;em&gt;ProductsServices&lt;/em&gt; contains the
following operations:
&lt;ul&gt;
&lt;li&gt;getListOfProducts : returns the list of all products;&lt;/li&gt;
&lt;li&gt;getProduct : returns one product from given identifier. As this method
is &amp;lt;&amp;lt;Remote&amp;gt;&amp;gt; and will be published as a Web service;&lt;/li&gt;
&lt;li&gt;addProduct : addes given product. This method is
&amp;lt;&amp;lt;Transactional&amp;gt;&amp;gt;, if an error occured the database will not be
updated and will be therefore incorporates;&lt;/li&gt;
&lt;li&gt;updateProduct : updates a given product;&lt;/li&gt;
&lt;li&gt;removeProduct : deletes a given product;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The Dependencies modelled means:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;From &amp;lt;&amp;lt;Service&amp;gt;&amp;gt; to &amp;lt;&amp;lt;Dao&amp;gt;&amp;gt; : the
&amp;lt;&amp;lt;Dao&amp;gt;&amp;gt; object must be injected in service object.&lt;/li&gt;
&lt;li&gt;From &amp;lt;&amp;lt;Dao&amp;gt;&amp;gt; to &amp;lt;&amp;lt;Entity&amp;gt;&amp;gt; : the
&amp;lt;&amp;lt;Dao&amp;gt;&amp;gt; must be responsible for managing the dependent
&amp;lt;&amp;lt;Entity&amp;gt;&amp;gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Acceleo/SpringModule/.demo-3_m.jpg&quot; alt=&quot;demo-3&quot; /&gt;&lt;/p&gt;
&lt;h5&gt;Some examples of generated files:&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;The file
&lt;em&gt;src/org/acceleo/sample/demo/spring/services/I_ProductsServices.java&lt;/em&gt; is
the Java interface of service:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Acceleo/SpringModule/demo-4.png&quot; alt=&quot;demo-4&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The file
&lt;em&gt;src/org/acceleo/sample/demo/spring/services/I_ProductsServicesWebService.java&lt;/em&gt;
is the Java interface of Web service and publishes only operations stereotypes
with the &amp;lt;&amp;lt;Remote&amp;gt;&amp;gt; stereotype;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Acceleo/SpringModule/demo-5.png&quot; alt=&quot;demo-5&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The file
&lt;em&gt;src/org/acceleo/sample/demo/spring/services/impl/ProductsServicesImpl.java&lt;/em&gt;
is the Java class of service which implements both interfaces of service:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Acceleo/SpringModule/.demo-6_m.jpg&quot; alt=&quot;demo-6&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The file &lt;em&gt;resources/META-INF/spring/component.xml&lt;/em&gt; is the main
Spring configuration file. It includes configuration files used by all
application layers:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Acceleo/SpringModule/demo-7.png&quot; alt=&quot;demo-7.png&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The file
&lt;em&gt;resources/META-INF/spring/org.acceleo.sample.demo.spring/layer-services.xml&lt;/em&gt;
is the Spring configuration file used to describe beans of business services
layer:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Acceleo/SpringModule/demo-8.png&quot; alt=&quot;demo-8.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h3&gt;It remains to be done &amp;amp; Contribute! :&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Navigation layer based on &lt;a href=&quot;http://static.springframework.org/spring/docs/2.5.x/reference/mvc.html&quot; hreflang=&quot;en&quot;&gt;Spring MVC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.springframework.org/webflow&quot; hreflang=&quot;en&quot;&gt;Spring Web
Flow&lt;/a&gt; Support&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://code.google.com/webtoolkit&quot; hreflang=&quot;en&quot;&gt;GWT&lt;/a&gt;
Support&lt;/li&gt;
&lt;li&gt;Generation &lt;a href=&quot;http://www.springframework.org/osgi&quot; hreflang=&quot;en&quot;&gt;Spring Dynamic Modules&lt;/a&gt; (ex spring-osgi) configuration files to use all
the power of &lt;a href=&quot;http://en.wikipedia.org/wiki/OSGI&quot; hreflang=&quot;en&quot;&gt;OSGI&lt;/a&gt;
platform&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2008/01/10/Acceleo-Module-JEE-Spring/en#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2008/01/10/Acceleo-Module-JEE-Spring/en#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/195132</wfw:commentRss>
      </item>
    
  <item>
    <title>Module Acceleo JEE-Spring [FR]</title>
    <link>http://blog.benois.fr/post/2008/01/08/Acceleo-Module-JEE-Spring/fr</link>
    <guid isPermaLink="false">urn:md5:34edaf7977122513f55f85ff79950401</guid>
    <pubDate>Tue, 08 Jan 2008 19:26:00 +0100</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>IDM/MDE...</category>
        <category>Acceleo</category><category>Open-Source</category>    
    <description>    &lt;p&gt;J'ai le plaisir de vous annoncer la première version officielle du module de
génération Acceleo pour &amp;quot;Spring Framework&amp;quot;. Il est disponible avec la toute
nouvelle version d'&lt;strong&gt;Acceleo 2.2&lt;/strong&gt;.&lt;br /&gt;
&lt;br /&gt;
Le module &lt;a href=&quot;http://www.acceleo.org&quot; hreflang=&quot;fr&quot;&gt;Acceleo&lt;/a&gt;
&amp;quot;JEE/Spring&amp;quot; se base sur une modélisation &lt;a href=&quot;http://fr.wikipedia.org/wiki/Unified_Modeling_Language&quot; hreflang=&quot;fr&quot;&gt;UML2&lt;/a&gt;
stéréotypée afin de générer des applications basée sur le socle technique
Spring.&lt;/p&gt;
&lt;p&gt;Il génère des applications respectant une architecture en couches :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Interface utilisateur&lt;/li&gt;
&lt;li&gt;Objets de transferts&lt;/li&gt;
&lt;li&gt;Services métiers&lt;/li&gt;
&lt;li&gt;Accès au données&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h3&gt;Présentation de la cible technique :&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://www.springframework.org/&quot; hreflang=&quot;fr&quot;&gt;Spring&lt;/a&gt; est un
conteneur dit « léger », c'est-à-dire une infrastructure similaire à un
serveur d'application JEE. Il assure la logique de création des objets et la
gestion leurs dépendances. L'intérêt majeur d'un tel conteneur réside
essentiellement dans la possibilité de n'utiliser exclusivement que des POJO
(objets java simple n'implémentant aucunes interfaces spécifiques). Il offre
aussi la possibilité de réaliser un coupable faible entre les couches
applicatives avec le programmation par interface tout en permettant de
spécifier des traitements par déclaration au niveau de l'assemblage des
dépendances; traitements tels que la sécurité, les transactions,...
L'inconvénient majeur souvent avançé par ses détracteurs reste néanmoins
l'utilisation de fichiers XML parfois complexes à maintenir afin de définir les
dépendances.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.hibernate.org/&quot; hreflang=&quot;fr&quot;&gt;Hibernate&lt;/a&gt; est un
framework utilisable avec la plateforme JEE et permettant de gérer le mapping
objet / relationnel, paradigme consistant à persister des objets dans une base
de données relationelle.&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;h3&gt;Modélisation :&lt;/h3&gt;
&lt;p&gt;&lt;br /&gt;
Le générateur JEE-Spring permet l'exploitation de modèles UML 2.1 enrichis d'un
certain nombre de stéréotypes spécifiques et correspondant aux couches
applicatives. Vous devez utiliser un modeleur compatible avec cette norme,
Topcased correspondant à un outil de ce type et étant fournit avec la version
bundle d'Acceleo.&lt;/p&gt;
&lt;h5&gt;Schéma d'architecture simplifié&lt;/h5&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Acceleo/SpringModule/SpringModule.png&quot; alt=&quot;SpringModule&quot; /&gt;&lt;/p&gt;
&lt;p&gt;La figure ci-dessus illustre les stéréotypes permettant de définir une
sémantique particulière aux éléments UML. Dans le contexte d'architecture JEE,
sont mis à disposition les différents stéréotypes suivants :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le stéréotype &amp;lt;&amp;lt;Entity&amp;gt;&amp;gt; s'applique aux classes du domaine
métier;&lt;/li&gt;
&lt;li&gt;Le stéréotype &amp;lt;&amp;lt;Dao&amp;gt;&amp;gt; s'applique aux classes d'accès aux
données implémentant la logique de sauvegarde et de restauration des entités du
domaine;&lt;/li&gt;
&lt;li&gt;Le stéréotype &amp;lt;&amp;lt;Service&amp;gt;&amp;gt; s'applique aux classes dîtes service
métier ou encore traitement métier;&lt;/li&gt;
&lt;li&gt;Le stéréotype &amp;lt;&amp;lt;Transactionnal&amp;gt;&amp;gt; s'applique aux opérations des
services métiers afin de leur spécifier un comportement transactionnel. Les
deux propriétés &amp;quot;isolation&amp;quot; et &amp;quot;propagation&amp;quot; sont offertes afin de préciser la
stratégie de gestions des transactions;&lt;/li&gt;
&lt;li&gt;Le stéréotype &amp;lt;&amp;lt;Remote&amp;gt;&amp;gt; s'applique aux opérations des services
métiers afin de les exposer en tant que service web;&lt;/li&gt;
&lt;li&gt;Le stéréotype &amp;lt;&amp;lt;Dto&amp;gt;&amp;gt; s'applique aux classes de transferts de
données souvent utilisées en tant que paramètres de retour des méthodes de
services.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h3&gt;Fonctionnalités du générateur&lt;/h3&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h5&gt;Au niveau de la couche de service :&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Génération de l'ensemble des fichiers de configuration Spring&lt;/li&gt;
&lt;li&gt;Possibilité d'utiliser des objets de transferts afin de constituer une
couche de médiation&lt;/li&gt;
&lt;li&gt;Gestion des transactions avec la programmation orientée aspect&lt;/li&gt;
&lt;li&gt;Chargement paresseux des objets tout au long d'une même transaction (patron
de conception &amp;quot;ThreadLocal Session&amp;quot;)&lt;/li&gt;
&lt;li&gt;Support de l'exposition de méthodes de services en tant que service Web à
l'aide de l'outil &lt;a href=&quot;http://blog.benois.fr/post/2008/01/08/Acceleo-Module-JEE-Spring/xfire.codehaus.org&quot; hreflang=&quot;en&quot;&gt;XFire&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tests JUnit&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;Au niveau de la persistance :&lt;/h5&gt;
&lt;p&gt;Le générateur intègre les meilleures pratiques Hibernate afin de fournir une
meilleure productivité et des performances optimales.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Navigation transparente entre les objets métiers&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Héritage&lt;/li&gt;
&lt;li&gt;Associations 1-1, 1-*, *-*&lt;/li&gt;
&lt;li&gt;Navigabilité unidirectionnelle et bidirectionnelle&lt;/li&gt;
&lt;li&gt;Optimisations&lt;/li&gt;
&lt;li&gt;Utilisation de simples fichiers Java de type POJO&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Mapping vers la base de données&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gestion du cache sur les données persistées&lt;/li&gt;
&lt;li&gt;SQL en 3NF&lt;/li&gt;
&lt;li&gt;Contraintes d'intégrité&lt;/li&gt;
&lt;li&gt;Concurrence d'accès&lt;/li&gt;
&lt;li&gt;Clef technique&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Couche d'accès applicatif sur les données DAO&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Couche dédiée à l'accès aux données et au requêtage&lt;/li&gt;
&lt;li&gt;Pas de dépendance directe entre les objets métiers et Hibernate&lt;/li&gt;
&lt;li&gt;Méthodes de recherche évoluées&lt;/li&gt;
&lt;li&gt;Gestion des transactions&lt;/li&gt;
&lt;li&gt;Tests JUnit&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h3&gt;Démonstration :&lt;/h3&gt;
&lt;p&gt;L'installation du générateur est détaillée sur la page d'&lt;a href=&quot;http://www.acceleo.org/pages/installation-d-un-module/fr&quot; hreflang=&quot;fr&quot;&gt;installation des modules&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Installez le projet de démonstration à l'aide du menu &amp;quot;Project ..&amp;quot;, puis
sélectionnez &amp;quot;JEE-Spring Demo&amp;quot; dans le menu &amp;quot;Examples/Acceleo&amp;quot; :&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Acceleo/SpringModule/.demo-1_m.jpg&quot; alt=&quot;demo-1&quot; /&gt;&lt;/p&gt;
&lt;p&gt;L'assistant crée un nouveau projet &amp;quot;org.acceleo.sample.demo.spring&amp;quot; dans
votre espace de travail.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le répertoire &lt;em&gt;src&lt;/em&gt; contient les sources générés;&lt;/li&gt;
&lt;li&gt;Le répertoire &lt;em&gt;resources&lt;/em&gt; contient les fichiers de configuration de
Spring et d'Hibernate;&lt;/li&gt;
&lt;li&gt;Le répertoire &lt;em&gt;tests&lt;/em&gt; contient les tests unitaires;&lt;/li&gt;
&lt;li&gt;Le répertoire &lt;em&gt;lib&lt;/em&gt; contient les librairies utiles au bon
fonctionnement du projet;&lt;/li&gt;
&lt;li&gt;Le répertoire &lt;em&gt;model&lt;/em&gt; contient :
&lt;ul&gt;
&lt;li&gt;Les fichiers &lt;em&gt;conception.uml&lt;/em&gt; et &lt;em&gt;conception.umldi&lt;/em&gt;
correspondant au modèle de l'application;&lt;/li&gt;
&lt;li&gt;Les fichiers &lt;em&gt;profile.uml&lt;/em&gt; et &lt;em&gt;profile.umldi&lt;/em&gt; correspondant
au profile UML utilisé pour la génération;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Le fichier &lt;em&gt;spring.chain&lt;/em&gt; permettant de lancer les opérations de
génération;&lt;/li&gt;
&lt;li&gt;Le fichier &lt;em&gt;spring.properties&lt;/em&gt; permettant de spécifier les options
de génération;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Acceleo/SpringModule/demo-2.png&quot; alt=&quot;demo-2&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Le modèle &lt;em&gt;conception.umldi&lt;/em&gt; ci-dessous décrit :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un &amp;lt;&amp;lt;Entity&amp;gt;&amp;gt; &lt;em&gt;Product&lt;/em&gt; représentant la notion de
produits, est composé des propriétés &lt;em&gt;name&lt;/em&gt; et &lt;em&gt;color&lt;/em&gt;,&lt;/li&gt;
&lt;li&gt;Un &amp;lt;&amp;lt;Dao&amp;gt;&amp;gt; &lt;em&gt;ProductsDao&lt;/em&gt; chargé des opérations de
lecture et mise à jour des instance de produits. Les DAOs proposent
systématiquement les méthodes &lt;a href=&quot;http://en.wikipedia.org/wiki/Create,_read,_update_and_delete&quot; hreflang=&quot;en&quot;&gt;CRUD&lt;/a&gt; (Create-Read-Update-Delete), ces dernières ne devant pas être
modélisées. Il est toutefois possible d'ajouter des opérations tels que
&lt;em&gt;findProductByColor&lt;/em&gt;;&lt;/li&gt;
&lt;li&gt;Un &amp;lt;&amp;lt;Service&amp;gt;&amp;gt; &lt;em&gt;ProductsServices&lt;/em&gt; proposant les
opérations métiers suivantes :
&lt;ul&gt;
&lt;li&gt;getListOfProducts : fournit la liste complète des produits&lt;/li&gt;
&lt;li&gt;getProduct : retourne un produit à partir d'un identifiant donné. On
notera que cette méthode est &amp;lt;&amp;lt;Remote&amp;gt;&amp;gt; et sera donc publiée en
tant que service Web.&lt;/li&gt;
&lt;li&gt;addProduct : ajoute un produit. On notera que cette méthode est
&amp;lt;&amp;lt;Transactional&amp;gt;&amp;gt;, en cas d'erreur de traitement la base de donnée
ne sera pas modifiée et restera donc intègre.&lt;/li&gt;
&lt;li&gt;updateProduct : met à jour un produit&lt;/li&gt;
&lt;li&gt;removeProduct : supprime un produit&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les dépendances modélisées représentent :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Du &amp;lt;&amp;lt;Service&amp;gt;&amp;gt; vers le &amp;lt;&amp;lt;Dao&amp;gt;&amp;gt; : l'instance du
&amp;lt;&amp;lt;Dao&amp;gt;&amp;gt; doit être injectée dans le service.&lt;/li&gt;
&lt;li&gt;Du &amp;lt;&amp;lt;Dao&amp;gt;&amp;gt; vers l'&amp;lt;&amp;lt;Entity&amp;gt;&amp;gt; : le
&amp;lt;&amp;lt;Dao&amp;gt;&amp;gt; a la responsabilité de gérer l'&amp;lt;&amp;lt;Entity&amp;gt;&amp;gt;
dépendante.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Acceleo/SpringModule/.demo-3_m.jpg&quot; alt=&quot;demo-3&quot; /&gt;&lt;/p&gt;
&lt;h5&gt;Quelques exemples de fichiers générés :&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Le fichier
&lt;em&gt;src/org/acceleo/sample/demo/spring/services/I_ProductsServices.java&lt;/em&gt;
constitue l'interface Java du service :&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Acceleo/SpringModule/demo-4.png&quot; alt=&quot;demo-4&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le fichier
&lt;em&gt;src/org/acceleo/sample/demo/spring/services/I_ProductsServicesWebService.java&lt;/em&gt;
constitue l'interface Java du service Web chargée d'exposer uniquement les
méthodes &amp;lt;&amp;lt;Remote&amp;gt;&amp;gt; du service :&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Acceleo/SpringModule/demo-5.png&quot; alt=&quot;demo-5&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le fichier
&lt;em&gt;src/org/acceleo/sample/demo/spring/services/impl/ProductsServicesImpl.java&lt;/em&gt;
constitue la classe Java chargée d'implémenter les deux interfaces du
service :&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Acceleo/SpringModule/.demo-6_m.jpg&quot; alt=&quot;demo-6&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le fichier &lt;em&gt;resources/META-INF/spring/component.xml&lt;/em&gt; correspond au
fichier principal de configuration de Spring. Ce dernier inclut l'ensemble des
fichiers de configuration des différentes couches applicatives :&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Acceleo/SpringModule/demo-7.png&quot; alt=&quot;demo-7.png&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le fichier
&lt;em&gt;resources/META-INF/spring/org.acceleo.sample.demo.spring/layer-services.xml&lt;/em&gt;
correspond au fichier de configuration de Spring définissant les objets de la
couche de services métiers :&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.benois.fr/public/Acceleo/SpringModule/demo-8.png&quot; alt=&quot;demo-8.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h3&gt;Reste à faire &amp;amp; Contribuez ! :&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Couche de navigation basée sur &lt;a href=&quot;http://static.springframework.org/spring/docs/2.5.x/reference/mvc.html&quot; hreflang=&quot;en&quot;&gt;Spring MVC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Support de &lt;a href=&quot;http://www.springframework.org/webflow&quot; hreflang=&quot;fr&quot;&gt;Spring Web Flow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Support de la technologie &lt;a href=&quot;http://code.google.com/webtoolkit&quot; hreflang=&quot;en&quot;&gt;GWT&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Génération des fichiers de configuration pour &lt;a href=&quot;http://www.springframework.org/osgi&quot; hreflang=&quot;en&quot;&gt;Spring Dynamic Modules&lt;/a&gt;
(ex spring-osgi)&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2008/01/08/Acceleo-Module-JEE-Spring/fr#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2008/01/08/Acceleo-Module-JEE-Spring/fr#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/194904</wfw:commentRss>
      </item>
    
  <item>
    <title>Sharengo Summer University 2007</title>
    <link>http://blog.benois.fr/post/2007/07/18/Sharengo-Summer-University</link>
    <guid isPermaLink="false">urn:md5:774da952c989ab3c51bab94ce12140cc</guid>
    <pubDate>Thu, 19 Jul 2007 08:07:00 +0200</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>IDM/MDE...</category>
        <category>Acceleo</category><category>Open-Source</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://sharengo.org&quot; hreflang=&quot;fr&quot;&gt;Sharen'Go&lt;/a&gt; is the community
project initiated by Argia-Engineering, aiming to organize, explain and work on
principles of sharing between differents companies in the context of IT but
oriented on the core business (not IT related). In this context, we intensely
use models to build the reference frame of Sharen'Go business components.&lt;/p&gt;
&lt;p&gt;Last week, during &lt;em&gt;Sharen'Go Summer University&lt;/em&gt;, i was speaker during
3 days on workshop to present tools used to build new components and
projects.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;The sharen'Go tools stack used by our developments teams are as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;ABS&lt;/em&gt; means &lt;em&gt;Advanced Build System&lt;/em&gt; is a component oriented
toolchain. It's an ant script generator from project model representation.
(similar to Maven POM)
&lt;ul&gt;
&lt;li&gt;Presentation goals:
&lt;ul&gt;
&lt;li&gt;Describe what we know about ABS&lt;/li&gt;
&lt;li&gt;Introduce ABS usage for development&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Agenda:
&lt;ul&gt;
&lt;li&gt;Introduce ABS usage for development&lt;/li&gt;
&lt;li&gt;What's ABS?&lt;/li&gt;
&lt;li&gt;How to use ABS?&lt;/li&gt;
&lt;li&gt;Short demonstration&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can see slides: &amp;quot;&lt;a href=&quot;http://blog.benois.fr/public/SSU2007/Sharengo-SSU-UseABSToBuildProject-Part-I.pdf&quot; hreflang=&quot;en&quot;&gt;Use ABS to Build project Part I&lt;/a&gt;&amp;quot;:&lt;/p&gt;
&lt;hr /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Sharen'Go MDE tools&lt;/em&gt; (the next generation after PragMaTic): This
presentation show usage of &lt;a href=&quot;http://www.topcased.org/&quot; hreflang=&quot;en&quot;&gt;Topcased&lt;/a&gt; and &lt;a href=&quot;http://www.acceleo.org&quot; hreflang=&quot;en&quot;&gt;Acceleo&lt;/a&gt; to develop simple application based on Spring / XFire /
Hibernate / Velocity architecture.
&lt;ul&gt;
&lt;li&gt;Presentation goals:
&lt;ul&gt;
&lt;li&gt;Describe what we know about Model Driven Engineering features&lt;/li&gt;
&lt;li&gt;Develop a useful application&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Agenda :
&lt;ul&gt;
&lt;li&gt;How to use UML model?&lt;/li&gt;
&lt;li&gt;How to generate code?&lt;/li&gt;
&lt;li&gt;How to develop useful application?&lt;/li&gt;
&lt;li&gt;Dealing with Web Services!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can see slides: &amp;quot;&lt;a href=&quot;http://blog.benois.fr/public/SSU2007/Sharengo-SSU-UseABSToBuildProject-Part-II.pdf&quot; hreflang=&quot;en&quot;&gt;Use ABS to Build project Part II&lt;/a&gt;&amp;quot;:&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Another slides of others workshop about project management and methodology
are here: &lt;a href=&quot;http://www.sharengo.org/Wiki?Sharengo+NEWS&quot; hreflang=&quot;en&quot;&gt;SSU2007&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2007/07/18/Sharengo-Summer-University#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2007/07/18/Sharengo-Summer-University#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/134345</wfw:commentRss>
      </item>
    
  <item>
    <title>Acceleo Feedbacks</title>
    <link>http://blog.benois.fr/post/2007/05/18/Retours-dexperience-IDM</link>
    <guid isPermaLink="false">urn:md5:a03920479cd1db78308794bc63da1113</guid>
    <pubDate>Fri, 18 May 2007 11:02:00 +0200</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>IDM/MDE...</category>
        <category>Acceleo</category><category>Open-Source</category>    
    <description>    &lt;p&gt;MDE evangelist by nature, convinced by Models Centric Approach, I use in an
intensive way the tools of modelings and generations since 2000 year.&lt;/p&gt;
&lt;p&gt;After used &lt;a href=&quot;http://www.andromda.org&quot; hreflang=&quot;fr&quot;&gt;AndroMDA&lt;/a&gt;, I
created my own tool &lt;a href=&quot;http://www.sharengo.org/Wiki?PragMaTic&quot; hreflang=&quot;fr&quot;&gt;PragMaTic&lt;/a&gt; in order to offer a more flexible solution and more simpler
to apprehend. And to finish, &lt;a href=&quot;http://www.acceleo.org&quot; hreflang=&quot;fr&quot;&gt;Acceleo&lt;/a&gt; appeared in the Open-Source landscape !&lt;/p&gt;
&lt;p&gt;Convinced by the power of this new platform, and the dynamism of Acceleo
Team, I decided to join this community. I rewrote with ease the majority of my
generators towards this platform. I appreciate the richness of documentation,
as well as the quality of integration to the Eclipse platform. I use &lt;a href=&quot;http://topcased-mm.gforge.enseeiht.fr/website/index.html&quot; hreflang=&quot;fr&quot;&gt;Topcased&lt;/a&gt; and Acceleo for UML2 modeling &amp;amp; generation. I also use it
to generate code from &lt;a href=&quot;http://en.wikipedia.org/wiki/Domain_Specific_Language&quot; hreflang=&quot;fr&quot;&gt;DSL&lt;/a&gt;,
but i prefer usage of concrete syntax (see &lt;a href=&quot;http://wiki.eclipse.org/index.php/TCS&quot; hreflang=&quot;fr&quot;&gt;TCS&lt;/a&gt;) than graphic
modeler like &lt;a href=&quot;http://www.eclipse.org/gmf&quot; hreflang=&quot;fr&quot;&gt;GMF&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.benois.fr/post/2007/05/18/Retours-dexperience-IDM#comment-form</comments>
      <wfw:comment>http://blog.benois.fr/post/2007/05/18/Retours-dexperience-IDM#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.benois.fr/feed/atom/comments/113467</wfw:commentRss>
      </item>
    
</channel>
</rss>