<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>Histoire d&#039;une mise en oeuvre SOA - Démarche category</title>
  <link>http://www.leuville.com/soablog/categories/Demarche/</link>
  <description>Journal de bord de notre démarche de mise en oeuvre d&#039;une Architecture Orientée Service</description>
  <language>ff</language>
  <copyright>Richard Lecomte</copyright>
  <lastBuildDate>Wed, 16 Jun 2010 06:52:00 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  
  <item>
    <title>Quel processus de développement ?</title>
    <link>http://www.leuville.com/soablog/2009/11/27/1259337916530.html</link>
    
      
        <description>
          &lt;p&gt;On lit &amp;ccedil;a et la qu&#039;une architecture SOA n&#039;est pas classique, et que sa mise en place ne s&#039;appr&amp;eacute;hende pas comme celle d&#039;un projet de d&amp;eacute;veloppement informatique habituel.&amp;nbsp;Nous devons donc faire face &amp;agrave; plusieurs difficult&amp;eacute;s simultan&amp;eacute;ment, d&#039;ordre technique (XML,&amp;nbsp;MOM, Web Services, ...) d&#039;une part&amp;nbsp;et d&#039;ordre organisationnel et m&amp;eacute;thodologique d&#039;autre part.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Un des objectifs de l&#039;approche SOA est de permettre &amp;agrave; une entreprise/organisation de pr&amp;eacute;senter &amp;agrave; ses partenaires, clients et fournisseurs (en interne et en externe)&amp;nbsp;une vitrine technique homog&amp;egrave;ne d&#039;acc&amp;egrave;s &amp;agrave; ses services m&amp;eacute;tier.&lt;/p&gt;
&lt;p&gt;D&#039;une fa&amp;ccedil;on g&amp;eacute;n&amp;eacute;rale, un projet d&#039;envergure est men&amp;eacute; en deux phases distinctes, l&#039;une conduite par la MOA, la seconde par la MOE. Dans un cadre SOA, la responsabilit&amp;eacute; de la MOA est d&#039;&amp;eacute;tablir &amp;agrave; destination de la MOE la liste des services &amp;agrave; rendre disponibles, ces services correspondant&amp;nbsp;&amp;agrave; tout ou partie des&amp;nbsp;processus m&amp;eacute;tier de l&#039;organisation. Cela peut repr&amp;eacute;senter un aspect strat&amp;eacute;gique qui d&amp;eacute;passe largement le p&amp;eacute;rim&amp;egrave;tre d&#039;une DSI. Dans un premier temps, nous ne nous int&amp;eacute;resserons pas &amp;agrave; cet aspect du processus, pour nous concentrer sur les activit&amp;eacute;s essentiellement du ressort de la MOE.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Rappelons quand m&amp;ecirc;me que du c&amp;ocirc;t&amp;eacute; MOA, la d&amp;eacute;marche d&#039;&amp;eacute;tablissement de l&#039;expression des besoins comporte une premi&amp;egrave;re &amp;eacute;tape consistant en une &amp;eacute;tude de faisabilit&amp;eacute;, suivie d&#039;une seconde &amp;eacute;tape d&#039;&amp;eacute;laboration du cahier des charges qui sera transmis &amp;agrave; la MOE:&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#034;&#034; src=&#034;http://www.leuville.com/soablog/images/processus/MOA.gif&#034; /&gt;&lt;/p&gt;
&lt;p&gt;Dans un cadre SOA, il semble important de se concentrer sur la d&amp;eacute;finition des processus et des objets m&amp;eacute;tier, qui alimenteront la MOE.&lt;/p&gt;
&lt;p&gt;C&amp;ocirc;t&amp;eacute; MOE, il peut &amp;ecirc;tre int&amp;eacute;ressant de tenter d&#039;appliquer au projet une d&amp;eacute;marche de type UP, dont on particularisera les sorties de certaines phases:&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#034;&#034; width=&#034;670&#034; height=&#034;393&#034; src=&#034;http://www.leuville.com/soablog/images/processus/MOE.gif&#034; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
De fa&amp;ccedil;on g&amp;eacute;n&amp;eacute;rale, chacune de ces phases produira un ensemble de sorties de ce type:&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#034;&#034; width=&#034;613&#034; height=&#034;364&#034; src=&#034;http://www.leuville.com/soablog/images/processus/UP_UML.gif&#034; /&gt;&lt;/p&gt;
&lt;p&gt;La phase de conception pr&amp;eacute;liminaire permet de rapprocher les points de vue &amp;quot;fonctionnel&amp;quot; (&amp;eacute;l&amp;eacute;ments issus de l&#039;analyse) et &amp;quot;techniques&amp;quot; (choix effectu&amp;eacute;s par l&#039;&amp;eacute;quipe d&#039;architecture).&amp;nbsp;Il s&#039;agit notamment de &amp;quot;plaquer&amp;quot; sur les objets m&amp;eacute;tier issus de la branche gauche du Y les choix techniques effectu&amp;eacute;s au long du d&amp;eacute;roulement de la branche droite.&lt;/p&gt;
&lt;p&gt;Pour un projet SOA, nous pourrions envisager d&#039;y ajouter:&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#034;&#034; width=&#034;613&#034; height=&#034;359&#034; src=&#034;http://www.leuville.com/soablog/images/processus/UP_SOA_UML.gif&#034; /&gt;&lt;/p&gt;
&lt;p&gt;Qu&#039;en pensez-vous ?&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>Démarche</category>
    
    <comments>http://www.leuville.com/soablog/2009/11/27/1259337916530.html#comments</comments>
    <guid isPermaLink="true">http://www.leuville.com/soablog/2009/11/27/1259337916530.html</guid>
    <pubDate>Fri, 27 Nov 2009 16:05:16 GMT</pubDate>
  </item>
  
  <item>
    <title>Démarche générale</title>
    <link>http://www.leuville.com/soablog/2009/11/19/1258625640000.html</link>
    
      
        <description>
          Les architectures orient&amp;eacute;es services (SOA) sont actuellement tr&amp;egrave;s &amp;agrave; la mode. Elles facilitent l&#039;impl&amp;eacute;mentation des processus m&amp;eacute;tiers au sein de l&#039;entreprise, favorisent l&#039;&amp;eacute;volution des dits processus et permettent d&#039;homog&amp;eacute;n&amp;eacute;iser et de mieux contr&amp;ocirc;ler les communications entre syst&amp;egrave;mes informatiques.&lt;br /&gt;
&lt;br /&gt;
A la base de ces architectures, on trouve un certain nombre de technologies et de concepts d&amp;eacute;j&amp;agrave; plus ou moins ma&amp;icirc;tris&amp;eacute;es dans nos entreprises : XML (description, validation, transformation, ...), les services Web (SOAP, WSDL), le faible couplage , ... Cependant, si les principes sont relativement simples &amp;agrave; comprendre et les technologies d&amp;eacute;j&amp;agrave; connues, il appara&amp;icirc;t que la mise en place d&#039;une SOA reste complexe. Cette complexit&amp;eacute; est essentiellement caus&amp;eacute;e par l&#039;absence d&#039;une d&amp;eacute;marche adapt&amp;eacute;e aux objectifs des SOA. Trop souvent, on cherche &amp;agrave; mener &amp;agrave; bien un projet SOA de la m&amp;ecirc;me mani&amp;egrave;re qu&#039;on le ferait pour un d&amp;eacute;veloppement logiciel. Or, les deux probl&amp;eacute;matiques sont totalement diff&amp;eacute;rentes. Un d&amp;eacute;veloppement logiciel consiste &amp;agrave; d&amp;eacute;velopper un syst&amp;egrave;me r&amp;eacute;pondant &amp;agrave; un certain nombre de fonctionnalit&amp;eacute;s, sous forme de composants, s&#039;articulant autour d&#039;une architecture technique solide et adapt&amp;eacute;e aux contraintes techniques impos&amp;eacute;es. Une architecture orient&amp;eacute;e service, quant &amp;agrave; elle, doit permettre de faciliter la mise en oeuvre de processus m&amp;eacute;tiers (business process). Un processus n&#039;est pas une fonctionnalit&amp;eacute;, c&#039;est un ensemble de t&amp;acirc;ches (activit&amp;eacute;s), men&amp;eacute; par des acteurs au sein de l&#039;entreprise (personnes physiques ou syst&amp;egrave;mes informatiques), initi&amp;eacute; par un &amp;eacute;v&amp;egrave;nement (commande, contact client, ...) et aboutissant &amp;agrave; un r&amp;eacute;sultat apportant une plus-value pour l&#039;entreprise. Durant ce processus, des informations (messages) sont v&amp;eacute;hicul&amp;eacute;es, transform&amp;eacute;es, rout&amp;eacute;es, valid&amp;eacute;es ou enrichies (pattern VETRO).&lt;br /&gt;
&lt;br /&gt;
L&#039;essence des SOA est donc constitu&amp;eacute; des processus, des messages et des interactions (contrats des services) avec chaque participant. La d&amp;eacute;marche doit donc se concentrer sur ces trois aspects.&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;u&gt;Processus&lt;/u&gt; : on commence par mod&amp;eacute;liser les processus existant au sein de l&#039;entreprise. On d&amp;eacute;termine les activit&amp;eacute;s, les acteurs ainsi que le moyens existant et les proc&amp;eacute;dures adapt&amp;eacute;s &amp;agrave; chaque &amp;eacute;tape. Une fois l&#039;existant mod&amp;eacute;lis&amp;eacute;, il ne reste plus qu&#039;&amp;agrave; (sic ?) d&amp;eacute;terminer comment am&amp;eacute;liorer le processus, mettre en avant les &amp;eacute;tapes n&amp;eacute;cessitant une communication avec un autre syst&amp;egrave;me ou avec un &amp;ecirc;tre humain. Cette mod&amp;eacute;lisation peut &amp;ecirc;tre bas&amp;eacute;e sur les langages UML (diagrammes d&#039;activit&amp;eacute;s, SOAML, ...) ou BPMN.&lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;u&gt;Contrats&lt;/u&gt; : apr&amp;egrave;s avoir mod&amp;eacute;lis&amp;eacute; les processus et identifier les besoins de communication, on peut en d&amp;eacute;terminer les contrats associ&amp;eacute;s. Pour cela, on liste les op&amp;eacute;rations n&amp;eacute;cessaires et on les regroupe en tant que service. Encore une fois UML nous aidera dans cette phase, mais il sera &amp;eacute;galement possible de pr&amp;eacute;senter les contrats sous la forme de descriptions WSDL. &lt;/li&gt;
    &lt;li&gt;&lt;u&gt;Messages&lt;/u&gt; : les donn&amp;eacute;es v&amp;eacute;hicul&amp;eacute;es lors du d&amp;eacute;roulement du processus, ou &amp;eacute;chang&amp;eacute;es durant l&#039;invocation des services doivent &amp;eacute;galement &amp;ecirc;tre mod&amp;eacute;lis&amp;eacute;es. Il est important de standardiser la repr&amp;eacute;sentation des donn&amp;eacute;es m&amp;eacute;tiers au sein de l&#039;entreprise si l&#039;on souhaite faire des SOA. En effet, si tous les syst&amp;egrave;mes utilisent les m&amp;ecirc;mes descriptions de donn&amp;eacute;es, la communication entre eux n&#039;en sera que plus simple. Diagrammes de classes UML et sch&amp;eacute;mas XML (XSD) sont les &amp;eacute;l&amp;eacute;ments r&amp;eacute;sultant de cette mod&amp;eacute;lisation. &lt;/li&gt;
&lt;/ul&gt;
Une fois tous ces &amp;eacute;l&amp;eacute;ments d&amp;eacute;finis, on voit d&amp;eacute;j&amp;agrave; plus clairement le travail &amp;agrave; fournir, et on peut alors commencer &amp;agrave; r&amp;eacute;fl&amp;eacute;chir aux &amp;eacute;l&amp;eacute;ments techniques qui permettront de faire fonctionner tout &amp;ccedil;a.&lt;br /&gt;
&lt;br /&gt;
R&amp;eacute;f&amp;eacute;rences : &lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&#034;javascript:void(0);/*1258710027493*/&#034;&gt;SOA sur wikipedia&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#034;javascript:void(0);/*1258710144101*/&#034;&gt;Business Process sur wikipedia&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#034;javascript:void(0);/*1258710176685*/&#034;&gt;BPMN sur wikipedia&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
        </description>
      
      
    
    
    
    <category>Démarche</category>
    
    <comments>http://www.leuville.com/soablog/2009/11/19/1258625640000.html#comments</comments>
    <guid isPermaLink="true">http://www.leuville.com/soablog/2009/11/19/1258625640000.html</guid>
    <pubDate>Thu, 19 Nov 2009 10:14:00 GMT</pubDate>
  </item>
  
  </channel>
</rss>

