<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Christian Fauré &#187; Architecture</title> <atom:link href="http://www.christian-faure.net/tag/architecture/feed/" rel="self" type="application/rss+xml" /><link>http://www.christian-faure.net</link> <description>Hypomnemata : supports de mémoire</description> <lastBuildDate>Wed, 08 Feb 2012 13:01:47 +0000</lastBuildDate> <language>fr</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Sens et enjeux des modèles de stockage et d&#8217;accès aux données</title><link>http://www.christian-faure.net/2011/04/18/sens-et-enjeux-des-modeles-de-stockage-et-dacces-aux-donnees/</link> <comments>http://www.christian-faure.net/2011/04/18/sens-et-enjeux-des-modeles-de-stockage-et-dacces-aux-donnees/#comments</comments> <pubDate>Mon, 18 Apr 2011 19:42:51 +0000</pubDate> <dc:creator>Christian</dc:creator> <category><![CDATA[Défaut]]></category> <category><![CDATA[Architecture]]></category> <category><![CDATA[CoSQL]]></category> <category><![CDATA[Métadataware]]></category> <category><![CDATA[métastabilité]]></category> <category><![CDATA[Meijer]]></category> <category><![CDATA[programmation]]></category><guid
isPermaLink="false">http://www.christian-faure.net/?p=2165</guid> <description><![CDATA[C&#8217;est typiquement le genre d&#8217;article qui nécessite des corrections, des remarques et peut-être un débat. Alors n&#8217;hésitez pas. Code et data Pas de code sans données, car le but d’un code est de tourner et de produire des résultats et, pour ce faire, le code doit “manger” des données. On peut voir le code dans [...]
Related posts:<ol><li><a
href='http://www.christian-faure.net/2008/12/17/sens-et-enjeux-des-ria/' rel='bookmark' title='Sens et enjeux des RIA'>Sens et enjeux des RIA</a> <small>Je suis donc intervenu au RIA 2008 d&#8217;Adobe en insistant...</small></li><li><a
href='http://www.christian-faure.net/2008/09/13/prendre-soin-des-donnees/' rel='bookmark' title='Prendre soin des données'>Prendre soin des données</a> <small>Sur le blog d&#8217;Atos Origin je reviens sur les enjeux...</small></li><li><a
href='http://www.christian-faure.net/2011/02/11/les-enjeux-de-la-grammatisation-des-relations/' rel='bookmark' title='Les enjeux de la grammatisation des relations'>Les enjeux de la grammatisation des relations</a> <small>(Les illustrations sont de Pavel.K, dessinateur, caricaturiste et illustrateur, que...</small></li></ol>]]></description> <content:encoded><![CDATA[<p></p><p><em>C&#8217;est typiquement le genre d&#8217;article qui nécessite des corrections, des remarques et peut-être un débat. Alors n&#8217;hésitez pas.</em></p><p><img
class="aligncenter" title="Data model" src="http://www.christian-faure.net/wp-images/datamodel2.jpg" alt="" width="498" height="239" /></p><h2>Code et data</h2><p
style="text-align: justify;">Pas  de code sans données, car le but d’un code est de tourner et de  produire des résultats et, pour ce faire, le code doit “<em>manger</em>” des  données.</p><p
style="text-align: justify;">On peut voir le code dans sa forme la plus abstraite comme un algorithme dont le rôle serait de <strong>produire des preuves</strong>. Mais on peut aussi voir le code comme un algorithme qui ne fait pas simplement que valider et prouver mais également qui <strong>produit des changements d’états</strong> et des évènements qui, au sens littéral du terme, <em>changent le monde</em>.</p><p
style="text-align: justify;">On a ici un parallèle avec les “<a
href="http://en.wikipedia.org/wiki/Speech_act" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Speech_act?referer=');">speech acts</a>” de Searle et Austin dont Henry Story avait parlé dans <a
href="../2011/03/01/videos-du-meetup-web-social-avec-henry-story/">son intervention au MeetUp Semantic Web</a> de Février 2011.</p><p
style="text-align: justify;">Quiconque  écrit un programme s’attend en effet à “changer le monde”, ne serait-ce  que pour écrire “Hello World” sur un terminal. Changer le monde avec  des algorithmes et du code, Microsoft, Google,  Facebook et d’autres  l’on fait, et l’ensemble des développements en Open Source peut-être  plus encore.</p><p
style="text-align: justify;">Pas  de code sans données donc.  Or <strong>ces données sont stockées dans des  supports de mémoires différents</strong> selon qu’elles sont en mémoire vive, sur  un système de fichier, ou dans une base de donnée. Et chaque support de  mémoire utilise <strong>un modèle de données</strong> qui n’est pas forcément le même.  Ce qui nous ramène à la difficile collaboration entre les développeurs  et les gestionnaires de base de données.</p><p
style="text-align: justify;">Si  les développeurs et les administrateurs de base de données doivent  collaborer, la réalité est parfois toute autre : les développeurs ne  comprennent pas toujours le SQL et les RDB (bases de données  relationnelles), et les DBA (administrateurs de base de données) ne  voient les développeurs que comme de <em>dangereux cowboys</em> qui veulent  massacrer l’intégrité de leur données (“mon précieux …”).</p><div
class="wp-caption aligncenter" style="width: 304px"> <img
src="https://lh6.googleusercontent.com/CNm7ykYs_gWtCS5mQGpyDPLQmE3OB_p6MHhRsTTbgGqeEyhT62ef7KWnt-UfHhQO1QiBaK-TwyDLWo42kZwY_pzPA2sdxz75SWbQ74YjdVK3axLF5Q" alt="" width="304" height="434" /><p
class="wp-caption-text">Le DBA</p></div><div
class="wp-caption aligncenter" style="width: 306px"> <img
src="https://lh5.googleusercontent.com/vmptzFb3tAargOjaR8TkSrY2zbLhJmzwG85gvCbgXqqpEc16QrkvNUtNBB20uRzTzzHUghUgcdkQlDPu5cYrDssbOd5WUwMQBp6yaWIRd6eioGZBxw" alt="" width="306" height="286" /><p
class="wp-caption-text">Le développeur</p></div><p><span
id="more-2165"></span></p><h2 style="text-align: justify;">“Impedance mismatch”</h2><p
style="text-align: justify;">La  réalité est que les modèles de données utilisés dans les langages  développement et dans les systèmes de stockage des données ne sont pas  les mêmes : <strong>modèle objet et modèle tableau</strong>.</p><p
style="text-align: justify;">C’est <a
href="http://blog.pondaven.net/2009/01/27/la-develocratie/" onclick="pageTracker._trackPageview('/outgoing/blog.pondaven.net/2009/01/27/la-develocratie/?referer=');">ce qu’écrivait Yves-Marie Pondaven</a>, que je citais également dans <a
href="../2011/01/07/meetup-semantic-web-comment-reconcilier-le-si-legacy-et-le-web-par-le-web-semantique/">mon intervention au MeetUp Semantic Web de Décembre 2010</a>,  et dont je reproduis ci-après le schéma qu’il avait fait et dans lequel on  voit que l’on passe son temps à <strong>basculer du modèle relationnel au  modèle objet puis au modèle document et inversement</strong>.</p><p
style="text-align: justify;">Aussi  disais-je que la plupart des CPUs de la planète sont occupés à faire  des transformation et re-transformation entre des modèles de données  différents. On peut donc au moins dire que cela a un impact en terme de  performance mais aussi en terme environnemental non négligeable (de  l’ordre de l’impact carbone sur la planète de toute l’industrie du  transport aérien).</p><p
style="text-align: justify;"><img
src="https://lh3.googleusercontent.com/VSL2qIRfqsNswO8zNIGnqWKO66L0ZobPedTTWDPkTSl65_WIjp8FiSKi1UktE5qbpcGHKjKoC-en2t_idCa_JDBkbd1Fhb0OdWhsmjcMZD2xdNPNLQ" alt="" width="548px;" height="378px;" /><br
/> Cette question des différences entre les modèles de données n’est pas nouvelle, et elle a d’ailleurs fait l’objet d’une <a
href="http://laurentbloch.org/spip.php?article163" onclick="pageTracker._trackPageview('/outgoing/laurentbloch.org/spip.php?article163&amp;referer=');">discussion intéressante entre Michel Volle et Laurent Bloch</a>. Plus généralement, elle fait référence à <em><strong>“l’impedance mismatch” </strong></em>de George Copeland &amp; David Maier 1984:</p><blockquote><p>The problem with having two languages is“impedance mismatch ” One mismatch is conceptual &#8211; the data language and the programming languages might support widely different programming paradigms. [...]</p><p>The other mismatch is structural -thelanguages don’t support the same data types, [...]</p></blockquote><h2 style="text-align: justify;">Objets versus Tables</h2><p
style="text-align: justify;">Avec les travaux d’<a
href="http://research.microsoft.com/en-us/um/people/emeijer/" onclick="pageTracker._trackPageview('/outgoing/research.microsoft.com/en-us/um/people/emeijer/?referer=');">Erik Meijer</a>,  de chez Microsoft Research, on peut essayer d’aller plus loin dans  l’analyse de la situation, et je vais suivre à présent son  argumentation, telle qu’il a exposé lors du WebWorkers Camp parisien du  16 avril 2011, et en faisant référence au papier qu’il a publié en Mars  2011 : <a
href="http://queue.acm.org/detail.cfm?id=1961297" onclick="pageTracker._trackPageview('/outgoing/queue.acm.org/detail.cfm?id=1961297&amp;referer=');">A co-Relational Model of Data for Large Shared Data Banks</a>.</p><h3 style="text-align: justify;">L’objet-graphe et le stockage par clé/valeur (Key/Value)</h3><p
style="text-align: justify;">Tout commence par une citation de <strong>Donald Knuth</strong> :</p><blockquote><p>“I do consider assignment statements and pointer variables to be among computer science&#8217;s most valuable treasures.”</p></blockquote><p
style="text-align: justify;">Pourquoi  Meijer souligne-t-il ainsi l’importance des pointeurs  pour ensuite assimiler l’équivalence entre le modèle objet et le  stockage par clé-valeur ? :</p><blockquote><p>“In the rest of this article we conveniently confuse the words object (graph) and key-value store.”</p></blockquote><p
style="text-align: justify;">Deux choses ici :</p><ol
style="text-align: justify;"><li>D’une part, l’équivalence entre objet et graphe.</li><li>D’autre part, l’assimilation du modèle objet au mécanismes de stockage par clé-valeur.</li></ol><p
style="text-align: justify;">Si  l’objet est assimilé à un graphe c’est parce qu’une des  caractéristiques de l’objet est d’avoir <strong>la structure d’un graphe</strong>, à  savoir que les objets sont reliés entre eux par des relations qui, en  l’occurence, sont dirigées (d’où la flèche) :</p><p
style="text-align: center;"><img
class="aligncenter" title="Graphe" src="http://www.christian-faure.net/wp-images/o2.png" alt="" width="236" height="90" /></p><p
style="text-align: justify;">Référons-nous à wikipedia (article sur <a
href="http://en.wikipedia.org/wiki/Object_graph" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Object_graph?referer=');">Object Graph</a>) pour comprendre l’assimilation de l’objet-graphe à un mécanisme de stockage des données clé-valeur :</p><blockquote><p>“An object graph is a<a
href="http://en.wikipedia.org/wiki/Directed_graph" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Directed_graph?referer=');"> directed graph</a>, which might be<a
href="http://en.wikipedia.org/wiki/Cycle_graph" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Cycle_graph?referer=');"> cyclic</a>. When stored in<a
href="http://en.wikipedia.org/wiki/Random_access_memory" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Random_access_memory?referer=');"> RAM</a>,  objects occupy different segments of the memory with their attributes  and function table, while relationships are represented by<a
href="http://en.wikipedia.org/wiki/Pointer_%28computing%29" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Pointer_28computing_29?referer=');"> pointers</a> or a different type of global handler in higher-level languages.”</p></blockquote><p
style="text-align: justify;">Un Objet est donc stocké en mémoire en encapsulant avec lui avec tout ce qui le caractérise (attributs et fonctions). Si cet objet-graphe  est stocké dans différentes parties &#8211; ou segments &#8211; de la mémoire, <strong>les  relations entre ces différentes parties,</strong> elles, sont représentés par des <strong>pointeurs </strong>(ou par des mécanismes plus généraux embarqués dans les  langages de plus haut niveaux). Les pointeurs étant des types de données  dont la valeur est l’adresse vers un autre objet stocké en mémoire.</p><p
style="text-align: justify;">Paradoxalement, le concept de pointeur rebute souvent les  étudiants en informatique alors que l’<strong>architecture du web</strong> qu’ils  utilisent tous les jours en est exactement la mise en oeuvre avec des  ressources stockées qui sont accessibles via des relations qui sont  représentées par des adresses, les URLs.</p><p
style="text-align: justify;">Voilà  donc pour le côté “stockage en mémoire” des objets manipulés par les  programmes. Basiquement, il s’agit d’un<strong> mode de stockage de type Key -Value</strong> qui représente une part importante de l’utilisation des bases  NoSQL et sur lequel, je l’ai dit, repose l’architecture du web (de là à  justifier le NoSQL comme mouvement surdéterminé par l’architecture du  web, comme son milieu technologique d’émergence, il n’a qu’un pas).</p><h3 style="text-align: justify;">Le stockage de données par tables</h3><p
style="text-align: justify;">Passons maintenant au modèle utilisé par les bases de données relationnelles, représenté non plus par des objets mais par des tables.</p><p
style="text-align: justify;">Par rapport au modèle objet, la table va <strong>fractionner les données pour les lier d’une manière différente </strong>du modèle avec pointeur utilisé pour l’objet-graphe.</p><p
style="text-align: justify;">Alors  que la manipulation des donnés en mémoire sous forme de graphe était au  plus proche de leur mode de stockage physique en RAM, le modèle  relationnel va “plaquer” un mode de stockage et de requêtage qui repose  sur le modèle des tables. D’ailleurs, la première chose que l’on fait  pour créer une base de données c’est d’écrire :</p><blockquote><p>CREATE TABLE.</p></blockquote><p
style="text-align: justify;">Ici  il n’y a plus seulement une adresse pour une valeur (Key-Value), mais  une valeur ( la <em>primary key</em>) dans plusieurs lignes. C’est la raison pour laquelle le  modèle relationnel est aussi appelé Primary/Foreign Key.</p><h2 style="text-align: justify;">Les contournements du modèle relationnel</h2><p
style="text-align: justify;">Le  modèle relationnel n’est pas évident dans sa compréhension et dans son  utilisation. Meijer souligne tout cela par un raccourcit ironique :</p><ol
style="text-align: justify;"><li>Le  concepteur de base de données <strong>enlève</strong> la structure originairement  hiérarchique et objet pour lui appliquer un modèle normalisé par Tables ;</li><li>Le  développeur doit ensuite <strong>retrouver</strong> la forme objet-graphe originale pour  son développement. On a ainsi eu une vague d’ORM (Mapping  Objet/Relationnel) qui, comme leur nom l’indique ajoutent une sur-couche  objet au modèle relationnel afin que le programmeur puisse utiliser le  stockage relationnel sans en connaître toutes les subtilités ;</li><li>Même  du côté de la base de données, celui qui l’implémente doit<strong> rajouter une  couche</strong> de stockage objet-graphe et Clé-Valeur en construisant un index  de la base de données, en marge du modèle par Tables, pour pré-calculer  des réponses à des requêtes.</li></ol><p
style="text-align: justify;">A  croire que, dès qu’on veut utiliser les bases de données  relationnelles, il faille changer de modèle de données pour en revenir  au modèle objet-graphe et le stockage par Clé-Valeur.</p><h2 style="text-align: justify;">Sortir de l’aporie</h2><p
style="text-align: justify;">Jusqu’ici rien de bien nouveau dans le “dysfonctionnement relatif” entre modèle Objet et modèle Relationnel, si ce n’est la montée en puissance des base NoSQL.  Mais celles-ci n’ont pas vraiment de modèle de requêtage très élaboré  (<strong>pas de modèle mathématique</strong>) : en effet il y a plutôt des recettes de requêtage dans le monde NoSQL.</p><p
style="text-align: justify;">Là  où Meijer est intéressant, c’est dans la manière dont il formule le  problème pour dépasser la vision d’opposition entre SQL et NoSQL. De la <strong>logique d’opposition</strong> on bascule alors dans une <strong>logique de composition</strong>, et les choses deviennent beaucoup plus claires.</p><p
style="text-align: justify;">Meijer, tel <a
href="http://fr.wikipedia.org/wiki/M%C3%A9non" onclick="pageTracker._trackPageview('/outgoing/fr.wikipedia.org/wiki/M_C3_A9non?referer=');">Ménon</a>, fait son petit schéma (<em>fig. 6</em> pour le modèle objet, et<em> fig.7 </em>pour le modèle en tables) et constate que :</p><ul><li
style="text-align: justify;">le modèle objet est défini par intension</li><li
style="text-align: justify;">le modèle table est défini par extension.</li><li
style="text-align: justify;">et surtout, on voit bien sur le schéma que le sens des flèches est inversé.</li></ul><p><img
src="https://lh6.googleusercontent.com/7WUiYY1YlSQyNtKhPe0o4LOdQ0gSxyZkTItN35_JANcUsn2IQSG6ExFZnFdN50VajiQUc1hBLH4ymfoJuWVcedQ7I7rHzKnx-9dtRa_nrWZs0UsNQg" alt="" width="640px;" height="370px;" /></p><p><img
src="https://lh4.googleusercontent.com/NaogRHFyFHL4L7IMSseM-J5XjpxsGQmRFaOn9zbBg7MHUOitYtdGDWMMMB-riOyroFlFlVxA---buUpc36Nx9WRf6Y-eQ7DFG2ZvXuCtw2uZ2fkV8w" alt="" width="640px;" height="397px;" /></p><p
style="text-align: justify;">Je  rappelle brièvement qu’une <strong>définition par intension</strong> décrit la liste des  propriétés qui doivent être vérifiées pour qu’un élément appartienne à  l’ensemble ainsi défini. Dans la <strong>définition par extension</strong> c’est la liste  des éléments qui définit l’identité de l’ensemble :</p><blockquote><p>“Toute  classe d&#8217;éléments peut être définie en extension (en nommant ou en  désignant chaque individu qui en fait partie) ou en intension, par une  description (spécification d&#8217;un certain nombre de prédicats) qui définit  la classe. L&#8217;intension s&#8217;identifie ainsi au concept.&nbsp;&raquo;</p><p>Par  exemple, la classe des rois de France peut être désigné  extensionnellement en donnant une liste de noms, ou intensionnellement  par le concept « roi de France » (c&#8217;est-à-dire le prédicat, la propriété  « être un roi de France »).” <a
href="http://fr.wikipedia.org/wiki/Intension_et_extension" onclick="pageTracker._trackPageview('/outgoing/fr.wikipedia.org/wiki/Intension_et_extension?referer=');">Intension et Extension, Wikipedia</a>.</p></blockquote><p
style="text-align: justify;">En  informatique, toute donnée doit être porteuse d’une identité qui la  distingue de toute autre donnée. Toute donnée, c’est à dire toute  information disponible pour un calcul, doit disposer d’une identité. Et  celle-ci passe par un référent (par exemple un identifiant), qui n’est  autre qu’une <strong>métadonnée</strong> (Cf. <a
href="../2011/03/09/sur-les-metadonnees/">Sur les métadonnées</a>).</p><p
style="text-align: justify;">Il se trouve qu’avec le modèle objet-graphe, la métadonnée qui sert de référent pour l’identité de l’objet n’<strong>est pas une valeur</strong> mais l’<strong>adresse d’une valeur</strong> (le pointeur). Alors qu’avec le modèle en Tables, <strong>la métadonnée est une valeur</strong> (c’est la clé primaire).</p><p
style="text-align: justify;">La métadonnée qui sert de référent peut donc être définie par intension ou part extension :</p><ul
style="text-align: justify;"><li>par intension, on a une clé qui est une adresse</li><li>par  extension, on a une valeur (clé primaire) qui est présente dans toutes  les lignes des tables qui constituent l’identité de l’objet.</li></ul><p
style="text-align: justify;">On  comprend aisément la forte contrainte d’intégrité requise pour les  bases de données relationnelles : <strong>une modification doit se déployer sur  l’ensemble du système</strong>, de manière extensive, pour en garantir  l’intégrité. Avantage à la maîtrise des données mais difficultés à  passer à l’échelle du web.</p><p
style="text-align: justify;">Mais  avec son petit schéma, Meijer, remarque que le modèle Objet et le  modèle Table sont fort <strong>similaires</strong> : ce sont des <strong>graphes orientés</strong>, mais  avec une <strong>orientation inverse </strong>:</p><p
style="text-align: center;"><img
class="aligncenter" src="http://www.christian-faure.net/wp-images/o1.png" alt="" width="359" height="183" /></p><p
style="text-align: justify;">Ne manque plus qu’à Erik Meijer de chercher <em>“Mathematics arrow reverse”</em> dans Google pour tomber sur la page Wikipedia de la <a
href="http://fr.wikipedia.org/wiki/Th%C3%A9orie_des_cat%C3%A9gories" onclick="pageTracker._trackPageview('/outgoing/fr.wikipedia.org/wiki/Th_C3_A9orie_des_cat_C3_A9gories?referer=');">théorie mathématique des catégories</a>.</p><h2 style="text-align: justify;">Théorie mathématique des catégories et le concept de dualité : “NoSQL is CoSQL”</h2><p
style="text-align: justify;">De la <a
href="http://fr.wikipedia.org/wiki/Th%C3%A9orie_des_cat%C3%A9gories" onclick="pageTracker._trackPageview('/outgoing/fr.wikipedia.org/wiki/Th_C3_A9orie_des_cat_C3_A9gories?referer=');">théorie mathématique des catégories</a>, Meijer retient le <a
href="http://fr.wikipedia.org/wiki/Th%C3%A9orie_des_cat%C3%A9gories#Cat.C3.A9gorie_duale" onclick="pageTracker._trackPageview('/outgoing/fr.wikipedia.org/wiki/Th_C3_A9orie_des_cat_C3_A9gories_Cat.C3.A9gorie_duale?referer=');">concept de dualité</a>, ou catégorie duale :</p><blockquote><p>À partir d&#8217;une catégorie <img
src="https://lh3.googleusercontent.com/6lEgCiZByb8er8IY7Tob1vh9mx_ihCaxzEw1HbmiVa8cI-oRfVAFZXsl4VC7xphlOzYxKoXeJF3BniGVuBEQsoqjIR5qPCttLZoIBhYyK9xCyXYgxQ" alt="" width="11px;" height="14px;" /><img
src="https://lh3.googleusercontent.com/5KfFOiByi4aj0_dQkL5-8ue3BHiOYZh0CbWOiMlPqHpU1o5lFeEVn_rCZcsHz7aAfvoGGNo_TrD4LCyRtXVHRRWD4JaO2Dqo2KOpA7Pg52k8YL2KvQ" alt="" width="26px;" height="15px;" /><img
src="https://lh3.googleusercontent.com/d2eBs1PNLhBs3Jv7gVUJ645LfjtesCLv9tqT5fQJpLJzVlW0uYXrMeolYqBIf915RmxMzAXRGjm7q6cEUTOAlMWVyh11dbi2lt3AQoUQsW1KwaQM8Q" alt="" width="19px;" height="15px;" />opposée ou duale, en prenant les mêmes objets, mais en inversant le sens des flèches.</p><p>Plus précisément : <img
src="https://lh4.googleusercontent.com/FLk5Etn3Y05bVwlpmWFfxerYCVDp5EQ8nX0ffdSttWvxN4L8Harq1pOVyx1KCb3Ld-5nzgq7crSmPUQMPzA7JP4tAOWGhqfyuT2vT71iIh6zq6JTsA" alt="" width="254px;" height="21px;" /><img
src="https://lh3.googleusercontent.com/1NebnTxl1JwjrdhgVkLT6NR6jn-tXdDsNCkDky7nvsJUIc_STpctSi0C6AjczRGH8T1Z7pk0cB8SGMcRrmke-Smdpul9uolOtSCmwOETNt9Y08YZMA" alt="" width="166px;" height="21px;" /></p><p>Il est clair que la catégorie duale de la catégorie duale est la catégorie de départ : <img
src="https://lh6.googleusercontent.com/k9S1i-A0mPHly5QhbgxMVuM8oTEyZ-ufi7dYqAn6XNtyJd773Qc58cZuq6VBPbzjkHEj6USjIw1wuvmzaIY5Qv2BohOaWDX7ED2EIBgZmqvw-Y2sQA" alt="" width="93px;" height="21px;" /></p><p>Cette  dualisation extrêmement simple permet de symétriser la plupart des  énoncés, ce qui peut être douloureux pour les débutants&#8230;</p></blockquote><p
style="text-align: justify;">Ce “détour” par les mathématiques permet finalement à Meijer d’affirmer que :</p><ul
style="text-align: justify;"><li>SQL et NoSQL ne sont pas incommensurables et incompatibles ;</li><li>NoSQL  s’appuie en fait sur un modèle de donnée qui reléve d’une catégorie  duale où l’on a les mêmes objets mais en inversant le sens des flèches ;</li><li>Donc NoSQL est en fait CoSQL ;</li><li>A  partir de là, on peut fonder les modes de requêtes NoSQL sur une  théorie mathématique, comme s’était le cas pour SQL, ce qui permettra  non seulement de standardiser les requêtes pour différentes bases NoSQL  mais aussi de fonctionner pour les bases SQL.</li></ul><p
style="text-align: justify;">Le  rôle d’une <strong>interface</strong> est précisément de faire cohabiter des modèles  différents, qui ne sont certes pas opposé et incompatibles sans quoi  l’existence même d’interface ne saurait être possible.</p><p
style="text-align: justify;">Avec  son <strong>langage de requêtage “universel” LINK</strong>, Meijer ne fait rien d’autre  que d’avoir trouvé, via le recours aux théories mathématiques, une  interface entre des modèles qui étaient présentés comme apparemment  opposés. <strong>L’interface est à ce tire une composition</strong>.</p><p
style="text-align: justify;">Bien  qu’étant universel sur le papier, LINK reste toutefois implémenté dans  le monde .NET. Il faudrait donc une implémentation de cette démarche <strong> pour chaque langage</strong> pour parler vraiment d’un langage de requête  universel.</p><h2 style="text-align: justify;">Langage fonctionnels purs et monades</h2><p
style="text-align: justify;">On  connaît l’implication de Meijer dans la valorisation, la promotion des<strong> langages fonctionnels et notamment de Haskell</strong> (je vous renvoie à mon  article <a
href="../2010/10/17/apprendre-haskell/">Apprendre Haskell </a>dans lequel je donnais les liens vers les tutoriels video de Meijer sur Haskell).</p><p
style="text-align: justify;">En fait, l’approche qu’il a implémenté avec LINK lui a été soufflé par <strong>les monades en Haskell</strong>. Pourquoi celà ?</p><p
style="text-align: justify;"><em>Rendre  compatible ce qui est incompatible</em> est précisément le rôle des monades  en Haskell. Puisque le langage est pur et fonctionnel (aucun effet de  bord et immutabilité) il ne peut interagir avec le monde et le changer,  il faut <strong>définir un lieu d’où les effets de bord (comme l’impression sur  un terminal) seront quand même possibles.</strong></p><p
style="text-align: justify;">Les  effets de bord sont souvent dûs à des erreurs <em>du point de vue des  Types</em> des données manipulés. Par exemple la fonction qui affiche l’heure  n’est pas pure car à chaque fois qu’on demande la valeur, la fonction  produit un résultat différent (l’heure tourne). Donc, <strong>un travail sur le  Type System</strong> peut contourner la difficulté en considérant que la fonction  ne revoie pas un INT mais un CHAR : <strong>on a contourné l’effet de bord en  maîtrisant la définition par intension de la fonction dans la  configuration des types.</strong></p><p
style="text-align: justify;">Pour  bien comprendre l’intérêt de cette question, on peut y retrouver un  usage dans<strong> les architectures RESTful</strong>. Ainsi &laquo;&nbsp;Idempotence&nbsp;&raquo; en REST  signifie &laquo;&nbsp;Pureté&nbsp;&raquo; en langage fonctionnel : la valeur d&#8217;une fonction ne  change pas dans le temps (pas d&#8217;effet de bord). Par où l’on voit que le style d’architecture REST est un style qui s’appuie sur une architecture fonctionnelle pure <em>par défaut</em> : POST n’est pas une fonction idempotente (pure) car elle va modifier l’état du système.</p><p
style="text-align: justify;">Mais  toute approche fonctionnelle pure doit composer avec le non-pur. Les  programmes sont faits pour changer les états de systèmes et pour <em>changer  le monde</em>. Les monades sont faîtes pour effectuer cette composition <strong>en  créant des Types qui vont décrire ces effets de bord</strong> (<em>IO</em>, <em>Exception</em>, <em> Animation</em>, <em>Collection</em>). Les exceptions sont<strong> intégrées et gérées par le  système </strong>qui conserve ainsi sa pureté grâce à son Type System (il n’y a  pas que Haskell qui utilise cette approche par monades, Java aussi avec  “<em>throws Exceptions”</em>).</p><p
style="text-align: justify;"><strong>Les monades transforment ce qui est mutable en quelque chose d’immutable</strong> (<em>mutable</em> et <em>immutable</em> étant les termes informatiques anglais utilisés).</p><p
style="text-align: justify;">En  fait, je me demande si la modification que l’on fait avec les monades  ne consisterait pas à définir de nouveaux Types non plus par <em>intension</em> mais par <em>extension</em>.</p><h2 style="text-align: justify;">SQL et CoSQL à la lumière du concept de métastabilité.</h2><p
style="text-align: justify;">Meijer rapproche l’articulation, qui est composition, entre SQL et NoSQL à celle du <strong>Ying et du Yang chinois</strong>, l’un désignant l’<em>ouvert</em> et l’autre le <em>fermé</em>. Puis il expose la dualité, au sens mathématique du terme, entre SQL et CoSQL, entre le fermé et l’ouvert :</p><p><img
src="https://lh5.googleusercontent.com/j9Hj59NEuMji8oJTz46YvdUP0hQoBZT0Ru1BJHfeYfBB4awMqK0oV8lwplwrzWWmTlqCUHtRTlXDaSgWY20-B-eSDekOlVIQnav8W19ctxN-ecuy3zU" alt="" width="640px;" height="253px;" /></p><p
style="text-align: justify;">On reconnaît dans cette distinction celle que j’avais essayé de faire entre <strong>technologies de gestion</strong> et <strong>technologies relationnelles</strong>, c’est à dire entre <strong>stabilité</strong> et <strong>métastabilité</strong> (Cf. <a
href="../2010/10/04/les-technologies-relationnelles-dans-les-systemes-dinformation/">Les technologies relationnelles dans les systèmes d’information</a> et <a
href="../2010/12/02/metastabilite-et-architectures-logicielles/">Métastabilité et archtitectures logicielles</a> )</p><h2 style="text-align: justify;">Le sens des flèches : des flèches du web au PageRank de l’index de Google.</h2><h3 style="text-align: justify;">Ouverture et métastabilité du web.</h3><p
style="text-align: justify;">J’ai  déjà rappelé l’anecdote à propos de Tim Berners Lee qui n’avait pas  trouvé d’investisseur lors du Symposium sur les systèmes hypertextes en  venant présenter son invention : le web.<br
/> Ceux  qui pensaient en matière de technologies de gestion et de système clos  et stable <strong>ne comprenaient pas l’intérêt d’un système métastable comme le  web</strong> qui ne garantissait pas l’intégrité du système. Par exemple <strong>on peut  faire des liens vers des ressources qui n’existent pas</strong> et provoquer une  erreur. Seulement voilà, cet effet de bord est prévu dans le web, c’est  précisément l’<em>erreur 404</em> que connaît et intègre le système (utilisation  du principe de la monade) et qui fait qu’un lien brisé n’a jamais  empêché le web de fonctionner.</p><h3 style="text-align: justify;">Google : à rebrousse-poils du web</h3><p
style="text-align: justify;">Le  projet backrub, qui fut l’ancêtre de Google et du PageRank, prenait le  web à rebrousse-poil en se proposant d’identifier les pages HMTL qui  lient une page donnée (Cf. <a
href="http://www.christian-faure.net/2005/11/26/lide-qui-fonda-google/">L&#8217;idée qui fonda Google</a>). C’est prendre le web à rebrousse-poil car les  liens HTML sont <strong>reconstitués à l’envers</strong> : dans un cas la page HTML est  le “parent” qui contient les liens vers les pages “enfants”, dans  l’autre c’est les pages “enfants” qui lient vers la page “parent” pour  lui donner un poids (un ranking).</p><p
style="text-align: justify;">A  ce titre, on peut dire que le modèle d’affaire de Google s’est  constitué mathématiquement comme une dualité du web, selon la théorie  des catégories : <strong>Google = Co(Web).</strong></p><p
style="text-align: center;">*</p><p
style="text-align: justify;">Il  serait intéressant de rejouer ce raisonnement en y intégrant ce  qu’écarte Meijer, à savoir les bases NoSQL qui ne sont pas sur le modèle  document clé-valeur mais sous une forme d’un graphe <em><strong>typé</strong></em>. C’est à dire en prenant en compte les éléments de la présentation (slides) <a
href="http://www.slideshare.net/slidarko/an-overview-of-data-management-paradigms-relational-document-and-graph-3880059" onclick="pageTracker._trackPageview('/outgoing/www.slideshare.net/slidarko/an-overview-of-data-management-paradigms-relational-document-and-graph-3880059?referer=');">An Overview of Data Management Paradigms: Relational, Document, and Graph</a>, de Marko Rodriguez.</p> <span
class="post-twitter" ><a
href="http://twitter.com/home?status=Chez%20%40ChristianFaure%20%3A%20%22Sens%20et%20enjeux%20des%20mod%C3%A8les%20de%20stockage%20et%20d%27acc%C3%A8s%20aux%20donn%C3%A9es%22%20http%3A%2F%2Ftinyurl.com%2F5ttd2s8" title="Signaler sur Twitter" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=Chez_20_40ChristianFaure_20_3A_20_22Sens_20et_20enjeux_20des_20mod_C3_A8les_20de_20stockage_20et_20d_27acc_C3_A8s_20aux_20donn_C3_A9es_22_20http_3A_2F_2Ftinyurl.com_2F5ttd2s8&amp;referer=');">Signaler sur Twitter</a></span><p>Related posts:<ol><li><a
href='http://www.christian-faure.net/2008/12/17/sens-et-enjeux-des-ria/' rel='bookmark' title='Sens et enjeux des RIA'>Sens et enjeux des RIA</a> <small>Je suis donc intervenu au RIA 2008 d&#8217;Adobe en insistant...</small></li><li><a
href='http://www.christian-faure.net/2008/09/13/prendre-soin-des-donnees/' rel='bookmark' title='Prendre soin des données'>Prendre soin des données</a> <small>Sur le blog d&#8217;Atos Origin je reviens sur les enjeux...</small></li><li><a
href='http://www.christian-faure.net/2011/02/11/les-enjeux-de-la-grammatisation-des-relations/' rel='bookmark' title='Les enjeux de la grammatisation des relations'>Les enjeux de la grammatisation des relations</a> <small>(Les illustrations sont de Pavel.K, dessinateur, caricaturiste et illustrateur, que...</small></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.christian-faure.net/2011/04/18/sens-et-enjeux-des-modeles-de-stockage-et-dacces-aux-donnees/feed/</wfw:commentRss> <slash:comments>17</slash:comments> </item> <item><title>Transfert ou transport ?</title><link>http://www.christian-faure.net/2009/11/28/transfert-ou-transport/</link> <comments>http://www.christian-faure.net/2009/11/28/transfert-ou-transport/#comments</comments> <pubDate>Sat, 28 Nov 2009 12:58:26 +0000</pubDate> <dc:creator>Christian</dc:creator> <category><![CDATA[Défaut]]></category> <category><![CDATA[Architecture]]></category><guid
isPermaLink="false">http://www.christian-faure.net/?p=1391</guid> <description><![CDATA[L&#8217;emploi de ces deux synonymes que sont &#171;&#160;transfert&#160;&#187; et &#171;&#160;transport&#160;&#187; a attiré mon attention après avoir constaté que, même si parfois les deux termes sont utilisés de manière quasi interchangeable (&#171;&#160;transfert ou transport&#160;&#187;), il y avait aussi des cas d&#8217;usages dans lesquels prédominait l&#8217;utilisation d&#8217;un des termes plutôt que de l&#8217;autre. Qu&#8217;en est-il donc ? [...]
Related posts:<ol><li><a
href='http://www.christian-faure.net/2009/05/08/rest-en-image/' rel='bookmark' title='REST en image'>REST en image</a> <small>On a beau dire, parler de &laquo;&nbsp;Representational State Transfert&nbsp;&raquo; reste...</small></li><li><a
href='http://www.christian-faure.net/2011/10/25/le-propre-du-transfert-et-le-tranfert-du-propre/' rel='bookmark' title='Le propre du transfert et le tranfert du propre (infrastructure studies)'>Le propre du transfert et le tranfert du propre (infrastructure studies)</a> <small>Transport et Transfert Parler d’infrastructure du numérique c’est toujours prendre...</small></li><li><a
href='http://www.christian-faure.net/2006/11/11/la-culpabilit-du-lecteur/' rel='bookmark' title='La culpabilit&#233; du lecteur'>La culpabilit&#233; du lecteur</a> <small>La lecture, en tant qu&#8217;activité, est toujours un peu suspecte....</small></li></ol>]]></description> <content:encoded><![CDATA[<p></p><p>L&#8217;emploi de ces deux synonymes que sont &laquo;&nbsp;transfert&nbsp;&raquo; et &laquo;&nbsp;transport&nbsp;&raquo; a attiré mon attention après avoir constaté que, même si parfois les deux termes sont utilisés de manière quasi interchangeable (<a
href="http://www.google.fr/#hl=en&amp;q=%22transfer+or+transport%22&amp;aq=f&amp;oq=%22transfer+or+transport%22&amp;fp=8b1ab3bb1a729b0c" onclick="pageTracker._trackPageview('/outgoing/www.google.fr/_hl=en_amp_q=_22transfer+or+transport_22_amp_aq=f_amp_oq=_22transfer+or+transport_22_amp_fp=8b1ab3bb1a729b0c?referer=');">&laquo;&nbsp;transfert ou transport&nbsp;&raquo;</a>), il y avait aussi des cas d&#8217;usages dans lesquels prédominait l&#8217;utilisation d&#8217;un des termes plutôt que de l&#8217;autre.</p><p>Qu&#8217;en est-il donc ?<span
id="more-1391"></span></p><h4>Les cas d&#8217;usages de &laquo;&nbsp;Transport&nbsp;&raquo; :</h4><ul><li>Il semble y avoir prédominance du déplacement physique et matériel ;</li><li>La logistique s&#8217;occupe de transport ;</li><li>Déplacement entre deux lieux (dimension topologique) ;</li></ul><h4>Les cas d&#8217;usages de &laquo;&nbsp;Transfert&nbsp;&raquo; :</h4><ul><li>Implique la notion de propriété, il y a l&#8217;idée de transfert de droit sur ce qui est potentiellement transporté.</li><li>Le Littré dit ainsi que <a
id="qmk2" title="transfert" href="http://francois.gannaz.free.fr/Littre/xmlittre.php?requete=transfert&amp;submit=Rechercher" onclick="pageTracker._trackPageview('/outgoing/francois.gannaz.free.fr/Littre/xmlittre.php?requete=transfert_amp_submit=Rechercher&amp;referer=');">transfert</a> est un &nbsp;&raquo; <span>terme de finance et de commerce. Acte par lequel on déclare transporter à un autre la propriété d&#8217;une rente sur l&#8217;État, d&#8217;une action, d&#8217;une marchandise en entrepôt.&nbsp;&raquo;</span></li><li><span>Avec le transfert, on passe d&#8217;une sphère (d&#8217;influence, de pouvoir, de droit) à une autre, cela peut s&#8217;accompagner d&#8217;un transport (ie. physique), mais pas nécessairement.<br
/> </span></li></ul><p>Dans l&#8217;informatique et technologies en réseau, ces deux termes sont bien sûr très utilisés. Pourtant, je n&#8217;ai pas réussi à trouver, que ce soit à l&#8217;<a
id="psz6" title="IETF" href="http://www.ietf.org/" onclick="pageTracker._trackPageview('/outgoing/www.ietf.org/?referer=');">IETF</a> ou au <a
id="owuj" title="W3C" href="http://www.w3.org/" onclick="pageTracker._trackPageview('/outgoing/www.w3.org/?referer=');">W3C</a>, une définition explicite qui distinguerait les deux termes. Il sont parfois utilisés de manière équivalente mais, la plupart du temps, et selon le sujet évoqué, on constate que c&#8217;est un des termes qui prédomine. C&#8217;est donc qu&#8217;il y a à minima une distinction implicite.</p><p>Au niveau de la couche des protocoles applicatifs, on constate <strong>un primat du <em>transfert</em> sur le <em>transport</em></strong>, on y parle exclusivement de transfert :</p><ul><li>Simple Mail <strong>Tranfer</strong> Protocol</li><li>File <strong>Transfer</strong> Protocol</li><li>Hypertext <strong>Transfert</strong> Protocol</li></ul><p>Le terme de transport, quant à lui, n&#8217;est présent que sur la couche qui porte son nom, par exemple au niveau TCP/UDP :</p><div
id="y.eg" style="text-align: left;"><img
src="https://docs.google.com/a/christian-faure.net/File?id=dgc94t4h_167ck22ckd6_b" alt="" width="495" height="371" /></div><p>Cette distinction d&#8217;usage, même s&#8217;il elle n&#8217;est jamais thématisée en tant que telle, nous conduirait à affirmer que là où les protocoles de transports <strong>transportent des données</strong>, les protocoles applicatifs <strong>transfèrent des représentations</strong>.</p><p>Ainsi, c&#8217;est parce qu&#8217;il y a une <strong>sémantique applicative</strong> qui est transférée que l&#8217;on parlera de transfert. Il apparaît alors que c&#8217;est <strong>le niveau de sémantique</strong> qui nous force à utiliser <em>transfert</em> plutôt que <em>transport</em>. C&#8217;est un transfert parce que il y a du sens, celui d&#8217;un langage applicatif avec des représentations spéficiques associées (des types de fichiers et de documents, mais aussi des actions sur ces représentations).</p><p>Je dis un &laquo;&nbsp;niveau&nbsp;&raquo; de sémantique car il y a toujours un langage, une sémantique, dans chaque couche, puisqu&#8217;on parle de <strong>protocole</strong>. Mais les protocoles de transport ne &laquo;&nbsp;discutent pas&nbsp;&raquo; avec le contenu qu&#8217;ils transfèrent ; le dialogue avec le contenu commence au niveau du protocole applicatif. Dans le transport, il est juste question d&#8217;émettre et de recevoir (SEND et RECEIVE), dans le transfert on écrit, on lit, on modifie, on ajoute : il y a une richesse des actions plus importante que dans un protocole de transport (sans dire pour autant que les protocoles de transport soient &laquo;&nbsp;simples&nbsp;&raquo;).</p><p>C&#8217;est <strong>le modèle en couche</strong> qui permet d&#8217;articuler le transfert et le transport : le protocole de niveau applicatif travaille sans avoir à gérer le transport des données. Du coup, on a bien toujours du transport là ou il y a du transfert : <strong>pas de transfert sans transport</strong> (sauf peut-être lorsque l&#8217;on fait appel à des données en <em>cache</em>).</p><div
style="text-align: center;">*</div><p>Il se trouve que <strong>la psychanalyse utilise également le terme de transfert</strong>. On peut même dire que la psychanalyse se constitue autour de la question du transfert pour en faire la cheville ouvrière de l&#8217;analyse (ie. le transfert n&#8217;est pas simplement un obstacle à l&#8217;analyse, il doit lui-même faire l&#8217;objet d&#8217;une analyse pour constituer le discours psychanalytique).</p><p>Or ce sont des représentations qui sont transférées par l&#8217;analysé vers l&#8217;analysant. Et le transfert est également qualifié de <strong>projection</strong> : c&#8217;est l&#8217;analysé qui projette sur l&#8217;analysant des représentations.</p><p>En ce sens, on est frappé de voir à quel point le style d&#8217;architecture du web peut avoir de fortes similarités avec la théorie psychanalytique.</p> <span
class="post-twitter" ><a
href="http://twitter.com/home?status=Chez%20%40ChristianFaure%20%3A%20%22Transfert%20ou%20transport%20%3F%22%20http%3A%2F%2Ftinyurl.com%2Fybxarjn" title="Signaler sur Twitter" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=Chez_20_40ChristianFaure_20_3A_20_22Transfert_20ou_20transport_20_3F_22_20http_3A_2F_2Ftinyurl.com_2Fybxarjn&amp;referer=');">Signaler sur Twitter</a></span><p>Related posts:<ol><li><a
href='http://www.christian-faure.net/2009/05/08/rest-en-image/' rel='bookmark' title='REST en image'>REST en image</a> <small>On a beau dire, parler de &laquo;&nbsp;Representational State Transfert&nbsp;&raquo; reste...</small></li><li><a
href='http://www.christian-faure.net/2011/10/25/le-propre-du-transfert-et-le-tranfert-du-propre/' rel='bookmark' title='Le propre du transfert et le tranfert du propre (infrastructure studies)'>Le propre du transfert et le tranfert du propre (infrastructure studies)</a> <small>Transport et Transfert Parler d’infrastructure du numérique c’est toujours prendre...</small></li><li><a
href='http://www.christian-faure.net/2006/11/11/la-culpabilit-du-lecteur/' rel='bookmark' title='La culpabilit&#233; du lecteur'>La culpabilit&#233; du lecteur</a> <small>La lecture, en tant qu&#8217;activité, est toujours un peu suspecte....</small></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.christian-faure.net/2009/11/28/transfert-ou-transport/feed/</wfw:commentRss> <slash:comments>12</slash:comments> </item> <item><title>REST en image</title><link>http://www.christian-faure.net/2009/05/08/rest-en-image/</link> <comments>http://www.christian-faure.net/2009/05/08/rest-en-image/#comments</comments> <pubDate>Fri, 08 May 2009 12:18:49 +0000</pubDate> <dc:creator>Christian</dc:creator> <category><![CDATA[Défaut]]></category> <category><![CDATA[Architecture]]></category> <category><![CDATA[REST]]></category><guid
isPermaLink="false">http://www.christian-faure.net/?p=1089</guid> <description><![CDATA[On a beau dire, parler de &#171;&#160;Representational State Transfert&#160;&#187; reste souvent un terme auquel il est difficile d&#8217;associer une représentation imagée. Pourquoi parle-t-on d&#8217;état ? De représentation ? Et de transfert ? Cette image peut aider : Signaler sur TwitterRelated posts: Re-designer le web : &#171;&#160;back to http&#160;&#187; Le web est une architecture de service. [...]
Related posts:<ol><li><a
href='http://www.christian-faure.net/2007/06/17/a/' rel='bookmark' title='Re-designer le web : &laquo;&nbsp;back to http&nbsp;&raquo;'>Re-designer le web : &laquo;&nbsp;back to http&nbsp;&raquo;</a> <small>Le web est une architecture de service. Pourtant, nous continuons...</small></li><li><a
href='http://www.christian-faure.net/2007/04/17/pour-aider-les-indecis/' rel='bookmark' title='Pour aider les indécis'>Pour aider les indécis</a> <small>Pour aider les indécis, voici quelques raccourcis sur le choix...</small></li><li><a
href='http://www.christian-faure.net/2009/11/28/transfert-ou-transport/' rel='bookmark' title='Transfert ou transport ?'>Transfert ou transport ?</a> <small>L&#8217;emploi de ces deux synonymes que sont &laquo;&nbsp;transfert&nbsp;&raquo; et &laquo;&nbsp;transport&nbsp;&raquo;...</small></li></ol>]]></description> <content:encoded><![CDATA[<p></p><p>On a beau dire, parler de &laquo;&nbsp;Representational State Transfert&nbsp;&raquo; reste souvent un terme auquel il est difficile d&#8217;associer une représentation imagée.</p><p>Pourquoi parle-t-on d&#8217;état ? De représentation ? Et de transfert ?</p><p>Cette image peut aider :</p><p><img
class="alignnone" src="http://www.christian-faure.net/wp-images/REST.jpg" alt="" width="538" height="403" /></p> <span
class="post-twitter" ><a
href="http://twitter.com/home?status=Chez%20%40ChristianFaure%20%3A%20%22REST%20en%20image%22%20http%3A%2F%2Ftinyurl.com%2Fyb6f5h4" title="Signaler sur Twitter" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=Chez_20_40ChristianFaure_20_3A_20_22REST_20en_20image_22_20http_3A_2F_2Ftinyurl.com_2Fyb6f5h4&amp;referer=');">Signaler sur Twitter</a></span><p>Related posts:<ol><li><a
href='http://www.christian-faure.net/2007/06/17/a/' rel='bookmark' title='Re-designer le web : &laquo;&nbsp;back to http&nbsp;&raquo;'>Re-designer le web : &laquo;&nbsp;back to http&nbsp;&raquo;</a> <small>Le web est une architecture de service. Pourtant, nous continuons...</small></li><li><a
href='http://www.christian-faure.net/2007/04/17/pour-aider-les-indecis/' rel='bookmark' title='Pour aider les indécis'>Pour aider les indécis</a> <small>Pour aider les indécis, voici quelques raccourcis sur le choix...</small></li><li><a
href='http://www.christian-faure.net/2009/11/28/transfert-ou-transport/' rel='bookmark' title='Transfert ou transport ?'>Transfert ou transport ?</a> <small>L&#8217;emploi de ces deux synonymes que sont &laquo;&nbsp;transfert&nbsp;&raquo; et &laquo;&nbsp;transport&nbsp;&raquo;...</small></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.christian-faure.net/2009/05/08/rest-en-image/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Atomiser son Système d&#8217;Information</title><link>http://www.christian-faure.net/2009/02/24/atomiser-son-systeme-dinformation/</link> <comments>http://www.christian-faure.net/2009/02/24/atomiser-son-systeme-dinformation/#comments</comments> <pubDate>Mon, 23 Feb 2009 22:09:19 +0000</pubDate> <dc:creator>Christian</dc:creator> <category><![CDATA[Défaut]]></category> <category><![CDATA[Architecture]]></category> <category><![CDATA[REST]]></category><guid
isPermaLink="false">http://www.christian-faure.net/?p=981</guid> <description><![CDATA[S&#8217;il y a un des mérites qu&#8217;il faut reconnaitre à la mode des architecture RESTful c&#8217;est bien celui d&#8217;avoir rappelé cette évidence : HTTP est un protocole applicatif, et donc que le web est une application. Et à qui me demande aujourd&#8217;hui &#171;&#160;qu&#8217;est ce que REST ?&#160;&#187;, je réponds simplement que c&#8217;est d&#8217;abord un principe [...]
Related posts:<ol><li><a
href='http://www.christian-faure.net/2007/02/23/powder-protocol-for-web-description-resources/' rel='bookmark' title='POWDER : Protocol for Web Description Resources'>POWDER : Protocol for Web Description Resources</a> <small>Un nouveau groupe de travail vient de se cr&eacute;er au...</small></li><li><a
href='http://www.christian-faure.net/2007/06/22/restful-web-services/' rel='bookmark' title='RESTful Web Services'>RESTful Web Services</a> <small>RESTful Web Services est peut-être l&#8217;ouvrage informatique de l&#8217;année. Je...</small></li><li><a
href='http://www.christian-faure.net/2008/06/01/dataware-et-metadataware/' rel='bookmark' title='DataWare et MetaDataWare'>DataWare et MetaDataWare</a> <small>Nous sommes en train de vivre une quatrième révolution dans...</small></li></ol>]]></description> <content:encoded><![CDATA[<p></p><p><img
class="alignleft" style="margin: 10px; width: 75px; height: 75px;" src="https://docs.google.com/a/christian-faure.net/File?id=dgc94t4h_55mpzbxm3q_b" alt="" width="75" height="75" /></p><p>S&#8217;il y a un des mérites qu&#8217;il faut reconnaitre à la mode des architecture RESTful c&#8217;est bien celui d&#8217;avoir rappelé cette évidence : HTTP est un protocole applicatif, et donc que le web est une application.</p><p>Et à qui me demande aujourd&#8217;hui &laquo;&nbsp;qu&#8217;est ce que REST ?&nbsp;&raquo;, je réponds simplement que c&#8217;est d&#8217;abord un principe d&#8217;architecture dans lequel les données et les informations ont des adresses (URI), ce qui est déjà énorme quand on doit traiter des problématiques d&#8217;accès à l&#8217;information et d&#8217;interopérabilité entre des systèmes d&nbsp;&raquo;informations. On peut donc faire beaucoup de choses dans un système d&#8217;information en considérant HTTP comme un véritable protocole applicatif, et pas seulement comme un protocole de transport.</p><p>Dans une architecture RESTful, la plupart des échanges via les APIs se font en utilisant des messages XML. On peut donc construire des Architectures RESTful pourvu que des APIs soient RESTful, c&#8217;est à dire qu&#8217;elles respectent <a
href="http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven" onclick="pageTracker._trackPageview('/outgoing/roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven?referer=');">un certain nombre de principes</a>. On peut même enrichir la démarche en s&#8217;appuyant à la fois sur un vocabulaires XML, c&#8217;est que l&#8217;on fait en utilisant le vocabulaire XML ATOM, et en utilisant un protocole applicatif qui s&#8217;appuie sur &#8211; et respecte &#8211; HTTP, c&#8217;est ce que fait le protocole de publication Atom (ATOMPUB). Ainsi, au dessus de HTTP/XML on peut utilsier ATOMPUB/ATOM, tout en respectant les principes REST.<br
/> <span
id="more-981"></span><br
/> <a
id="o2hf" title="RFC ATOMPUB" href="ftp://ftp.rfc-editor.org/in-notes/rfc5023.txt">ATOMPUB</a> permet de :</p><ul><li>constituer des collections : c&#8217;est à dire de constituer un ensemble de ressources, qui peuvent ensuite être récupérées en entier ou en partie ;</li><li>offrir des services : pour découvrir et décrire des collections ;</li><li>éditer : pour créer, modifier et supprimer des ressources.</li></ul><p>De fait, ATOM est largement connu en tant que vocabulaire XML, puisque c&#8217;est celui qui est utilisé pour restituer les publications des blogs sous forme de fils ( feeds) auxquels on peut s&#8217;abonner.</p><p>Ce qu&#8217;apporte le protocole ATOMPUB, c&#8217;est une certaine façon de considérer &#8211; voire de reconsidérer &#8211; les stratégies d&#8217;intégration et d&#8217;inter-opérabilité au sein d&#8217;un système d&#8217;information. En l&#8217;occurrence, la stratégie repose sur <strong>un protocole universel de cataloguage temporel des ressources du système d&#8217;information</strong>, puisque le vocabulaire ATOM  permet de proposer des agrégations de ressources associées à des métadonnées dont une est le <strong>timestamp</strong>, une étiquette temporelle. Cette dernière autorisant une vision de l&#8217;ensemble des ressources de l&#8217;entreprise selon leur date de mise à jour et en fonction de qui a fait cette mise-à-jour. Je me permets de souligner le terme de <strong>cataloguage</strong>, car cela induit mécaniquement <strong>une vision documentaire du système d&#8217;information</strong>.<br
/> Ce que je suis en train de décrire, n&#8217;est rien d&#8217;autre que la panacée pour un moteur de recherche qui doit pouvoir collecter aisément des ressources structurées selon une vision informationnelle et documentaire des données du système d&#8217;information, et ceci au moins à triple titre :</p><ul><li>D&#8217;abord parce que les ressources sont exposées, elles ont une URI ;</li><li>Ensuite parce que les APIs étant RESTFul elles doivent respecter le principe &laquo;&nbsp;d&#8217;hypermedia en tant que moteur de l&#8217;état des applications&nbsp;&raquo; qui facilite le travail du crawler du moteur de recherche ;</li><li>Enfin parce que les métadonnées de collection et d&#8217;étiquette temporelle permettent à la fois de faciliter l&#8217;indexation incrémentale des ressources ainsi que la restitution structurée des réponses.</li></ul><p>Dans la configuration ou les applications offrent des APIs ATOMPUB, chacun comprendra que la stratégie de moteur de recherche dans le système d&#8217;information prend une toute autre dimension.</p><p>Avec la mise en place d&#8217;APIs ATOMPUB RESTful, il s&#8217;agit ni plus ni moins que de proposer un fil de news universel du système d&#8217;information qui peut donc être utilisé pour la consultation ( notamment via le moteur de recherche ou via des lecteurs de flux ATOM), mais également pour l&#8217;écriture et la modification des ressources (et c&#8217;est là que les vertus d&#8217;intégration et d&#8217;interopérabilité d&#8217;ATOMPUB s&#8217;expriment).</p><p>Pour la partie implémentation technique on peut utiliser des framework comme <a
id="ma6e" title="Snaplogic" href="http://www.snaplogic.com/main" onclick="pageTracker._trackPageview('/outgoing/www.snaplogic.com/main?referer=');">Snaplogic</a> , <a
id="dj06" title="Twinsoft" href="http://www.twinsoft.com/" onclick="pageTracker._trackPageview('/outgoing/www.twinsoft.com/?referer=');">Twinsoft</a> (pour les mainframe), <a
id="xpgn" title="Kapov" href="http://www.kapowtech.com/" onclick="pageTracker._trackPageview('/outgoing/www.kapowtech.com/?referer=');">Kapov</a>, etc. Voire même utiliser un serveur ATOM grâce à <a
id="azgq" title="AtomServer" href="http://atomserver.codehaus.org/" onclick="pageTracker._trackPageview('/outgoing/atomserver.codehaus.org/?referer=');">AtomServer</a>, qui utilise <span
style="text-decoration: underline;"><a
href="http://incubator.apache.org/abdera/" onclick="pageTracker._trackPageview('/outgoing/incubator.apache.org/abdera/?referer=');">Abdera</a>, </span>le projet Apache d&#8217;implémentation du protocole AtomPub.</p><p>Pour ceux qui se disent &laquo;&nbsp;mais cela ressemble à WebDav, non ? &nbsp;&raquo; je reprends <a
id="op39" title="les propos de Tim Bray" href="http://www.imc.org/atom-protocol/mail-archive/msg11273.html" onclick="pageTracker._trackPageview('/outgoing/www.imc.org/atom-protocol/mail-archive/msg11273.html?referer=');">les propos de Tim Bray</a> qui précise que :</p><blockquote><p
style="margin: 0em;"><span
style="font-family: Verdana;">AtomPub is different from DAV in two key respects:</span></p><ul><li><span
style="font-family: Verdana;">The client doesn&#8217;t control where things go, the server does;</span></li><li><span
style="font-family: Verdana;">It is allowed and expected that an AtomPub server will look at the  incoming information and change it (generate ID, timestamps, sanitize  HTML, etc</span>.</li></ul></blockquote><p>Maintenant, si vous vous posez la question de savoir quand est-il intéressant de mettre en place une architecture ATOMPUB, je pense qu&#8217;il faut simplement regarder du côté du vocabulaire XML qu&#8217;est ATOM : si les données manipulées ont des titres, des auteurs, des localisations et des dates de mise à jour, alors vous avez votre réponse.</p> <span
class="post-twitter" ><a
href="http://twitter.com/home?status=Chez%20%40ChristianFaure%20%3A%20%22Atomiser%20son%20Syst%C3%A8me%20d%27Information%22%20http%3A%2F%2Ftinyurl.com%2Fyzmpcsh" title="Signaler sur Twitter" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=Chez_20_40ChristianFaure_20_3A_20_22Atomiser_20son_20Syst_C3_A8me_20d_27Information_22_20http_3A_2F_2Ftinyurl.com_2Fyzmpcsh&amp;referer=');">Signaler sur Twitter</a></span><p>Related posts:<ol><li><a
href='http://www.christian-faure.net/2007/02/23/powder-protocol-for-web-description-resources/' rel='bookmark' title='POWDER : Protocol for Web Description Resources'>POWDER : Protocol for Web Description Resources</a> <small>Un nouveau groupe de travail vient de se cr&eacute;er au...</small></li><li><a
href='http://www.christian-faure.net/2007/06/22/restful-web-services/' rel='bookmark' title='RESTful Web Services'>RESTful Web Services</a> <small>RESTful Web Services est peut-être l&#8217;ouvrage informatique de l&#8217;année. Je...</small></li><li><a
href='http://www.christian-faure.net/2008/06/01/dataware-et-metadataware/' rel='bookmark' title='DataWare et MetaDataWare'>DataWare et MetaDataWare</a> <small>Nous sommes en train de vivre une quatrième révolution dans...</small></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.christian-faure.net/2009/02/24/atomiser-son-systeme-dinformation/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Une certaine conception de la souveraineté s&#8217;exprime aussi dans les choix d&#8217;architecture</title><link>http://www.christian-faure.net/2009/02/05/une-certaine-conception-de-la-souverainnete-sexprime-aussi-dans-les-choix-darchitecture/</link> <comments>http://www.christian-faure.net/2009/02/05/une-certaine-conception-de-la-souverainnete-sexprime-aussi-dans-les-choix-darchitecture/#comments</comments> <pubDate>Wed, 04 Feb 2009 23:25:53 +0000</pubDate> <dc:creator>Christian</dc:creator> <category><![CDATA[Défaut]]></category> <category><![CDATA[Architecture]]></category> <category><![CDATA[Intelligence]]></category> <category><![CDATA[milieu_associé]]></category> <category><![CDATA[milieu_dissocié]]></category> <category><![CDATA[REST]]></category> <category><![CDATA[SOA]]></category><guid
isPermaLink="false">http://www.christian-faure.net/?p=930</guid> <description><![CDATA[Dans son Post-scriptum sur les sociétés de contrôle (1990), Deleuze commence par rappeler le travail fait par Foucault qui a décrit l&#8217;avènement des sociétés de disciplinaires des 18° et 19° siècles, qui atteignent leur apogée au 20° siècle : Elles [les sociétés disciplinaires] procèdent à l&#8217;organisation des grands milieux d&#8217;enfermement. L&#8217;individu ne cesse de passer [...]
Related posts:<ol><li><a
href='http://www.christian-faure.net/2008/04/13/il-faut-plus-quun-homme-et-une-femme-pour-faire-un-enfant/' rel='bookmark' title='Il faut plus qu&#8217;un homme et une femme pour faire un enfant'>Il faut plus qu&#8217;un homme et une femme pour faire un enfant</a> <small>La psychanalyse freudienne porte en elle une certaine vision dans...</small></li><li><a
href='http://www.christian-faure.net/2009/03/15/reponse-a-une-objection-sur-la-proletarisation-dans-les-societes-informatiques/' rel='bookmark' title='Réponse à une objection sur &laquo;&nbsp;la prolétarisation dans les sociétés informatiques&nbsp;&raquo;'>Réponse à une objection sur &laquo;&nbsp;la prolétarisation dans les sociétés informatiques&nbsp;&raquo;</a> <small>Didier Girard, sur Application Servers , fait une remarque intéressante...</small></li><li><a
href='http://www.christian-faure.net/2007/11/19/limplicite-et-lexplicite-dans-les-reseaux-sociaux/' rel='bookmark' title='L&#8217;implicite et l&#8217;explicite dans les réseaux sociaux'>L&#8217;implicite et l&#8217;explicite dans les réseaux sociaux</a> <small>On peut dégager deux tendances dans la constitution des réseaux...</small></li></ol>]]></description> <content:encoded><![CDATA[<p></p><p>Dans son <a
href="http://aejcpp.free.fr/articles/controle_deleuze.htm" onclick="pageTracker._trackPageview('/outgoing/aejcpp.free.fr/articles/controle_deleuze.htm?referer=');"><em>Post-scriptum</em> sur les </a><em><a
href="http://aejcpp.free.fr/articles/controle_deleuze.htm" onclick="pageTracker._trackPageview('/outgoing/aejcpp.free.fr/articles/controle_deleuze.htm?referer=');">sociétés de contrôle</a> (1990), </em>Deleuze commence par rappeler le travail fait par Foucault qui a décrit l&#8217;avènement des sociétés de disciplinaires des 18° et 19° siècles, qui atteignent leur apogée au 20° siècle :</p><blockquote><p>Elles [les sociétés disciplinaires] procèdent à l&#8217;organisation des  grands milieux d&#8217;enfermement. L&#8217;individu ne cesse de passer d&#8217;un milieu clos à  un autre, chacun ayant ses lois : d&#8217;abord la famille, puis l&#8217;école (« tu n&#8217;es  plus dans ta famille »), puis la caserne (« tu n&#8217;es plus à l&#8217;école »), puis  l&#8217;usine, de temps en temps l&#8217;hôpital, éventuellement la prison qui est le milieu  d&#8217;enfermement par excellence.</p></blockquote><p><span
id="more-930"></span>Cette logique est à présent arrivée à terme et vit une importante période de crise:</p><blockquote><p>Nous sommes dans une crise généralisée de tous les milieux d&#8217;enfermement,  prison, hôpital, usine, école, famille. La famille est un « intérieur », en  crise comme tout autre intérieur, scolaire, professionnel, etc. Les ministres  compétents n&#8217;ont cessé d&#8217;annoncer des réformes supposées nécessaires. Réformer  l&#8217;école, réformer l&#8217;industrie, l&#8217;hôpital, l&#8217;armée, la prison ; mais chacun sait  que ces institutions sont finies, à plus ou moins longue échéance. Il s&#8217;agit  seulement de gérer leur agonie et d&#8217;occuper les gens, jusqu&#8217;à l&#8217;installation de  nouvelles forces qui frappent à la porte.</p></blockquote><p>Ce qui frappe à la porte, c&#8217;est l&#8217;avènement des sociétés de contrôle :</p><blockquote><p>Ce sont les sociétés de contrôle qui  sont en train de remplacer les sociétés disciplinaires. « Contrôle », c&#8217;est le  nom que Burroughs propose pour désigner le nouveau monstre, et que Foucault  reconnaît comme notre proche avenir.</p></blockquote><p>Le <em>contrôle</em> dont parle Deleuze n&#8217;est pas tant le fait d&#8217;une logique de la &laquo;&nbsp;manipulation&nbsp;&raquo; que d&#8217;une logique de &laquo;&nbsp;modulation&nbsp;&raquo;. Celle-ci passe par <strong>le protocole</strong> d&#8217;un réseau. Or, sur le réseau, comment se redéfinit <strong>la souveraineté</strong> ? Si le réseau est l&#8217;instrument d&#8217;un contrôle, comment s&#8217;exerce-t-il et par qui, maintenant que les frontières au sein des institutions des sociétés disciplinaires se délabrent et deviennent poreuses ?</p><p>On pourrait ici rappeler le titre du livre de Jeremy Rifkin sur l<a
href="http://www.amazon.fr/L%C3%A2ge-lacc%C3%A8s-nouvelle-culture-capitalisme/dp/2707146080/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1233785541&amp;sr=8-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.fr/L_C3_A2ge-lacc_C3_A8s-nouvelle-culture-capitalisme/dp/2707146080/ref=sr_1_1?ie=UTF8_amp_s=books_amp_qid=1233785541_amp_sr=8-1&amp;referer=');">&#8216;Âge de l&#8217;accès</a>, car la souveraineté sur le réseau passe en partie par le contrôle de l&#8217;accès aux informations (en l&#8217;occurrence <em>numériques</em>). On peut être dans le réseau sans pour autant jouir de toutes les modalités d&#8217;accès et de navigation : il faut des passes, des <em>logins</em> et des <em>passwords</em>. Il faut s&#8217;identifier et être identifié pour qu&#8217;une topologie du réseau s&#8217;instancie pour nous, pour qu&#8217;une connexion s&#8217;établisse et qu&#8217;une porte s&#8217;ouvre.</p><p>Parlant de réseaux, il faut différencier certaines typologies de réseaux, et donc de protocoles. Une des spécificités du protocole web est sa topologie de <strong>milieu associé</strong> qui fait de lui le réseau sur lequel les logiques dissociées &#8211; qui continuent à exercer une forme de souveraineté sur des réseaux de distribution dissociés &#8211; sont inopérantes.</p><p>Cette longue introduction, et je m&#8217;en excuse, n&#8217;était là que pour tenter d&#8217;expliciter les motivations qui peuvent &#8211; inconsciemment ou non &#8211; pousser une entreprise à faire <strong>certains choix engageant en matière d&#8217;architecture</strong> de son système d&#8217;information. Par exemple en choisissant de faire un projet SOA (Service Oriented Archtitecture) en privilégiant une archtiecture technique s&#8217;appuyant sur <a
href="http://www.christian-faure.net/2008/10/08/le-style-darchitecture-soa/">SOAP et les Web Services</a> plutôt que sur un <a
href="http://opikanoba.org/tr/fielding/rest/" onclick="pageTracker._trackPageview('/outgoing/opikanoba.org/tr/fielding/rest/?referer=');">style d&#8217;archtiecture REST</a>.</p><p>Bien souvent le choix se portera sur SOAP si l&#8217;entreprise veut faire de son projet <strong>la (re)conquête d&#8217;une souveraineté</strong> : mettre au pas une organisation éclatée avec des processus différents, dans différentes branches ou différents pays. L&#8217;intérêt de l&#8217;architecture SOAP étant qu&#8217;elle propose une architecture distribuée tout en maintenant des règles strictes et centralisées d&#8217;accès et de diffusion des informations.</p><p>Dans le cas de SOAP on utilisera le protocole <strong>HTTP uniquement comme protocole de transport</strong>, c&#8217;est à dire que l&#8217;ensemble des méthodes et des informations seront placées dans des enveloppes remises au &laquo;&nbsp;facteur HTTP&nbsp;&raquo;. On se refuse donc à exploiter HTTP en tant que protocole applicatif (avec son interface uniforme), ce qu&#8217;il est pourtant, et qui est précisément ce sur quoi met l&#8217;emphase le style REST.</p><p>Que SOAP ne marche pas techniquement, qu&#8217;il soit une aberration architecturale puisqu&#8217;il utilise le protocole HTTP pour distribuer ses objets en <strong>traitant une ressource distante sur le réseau comme une ressource locale</strong>, bref tout les arguments techniques (et financiers) ne pèseront pas dans la balance. Le style REST ne sera pas retenu car il ouvre la porte à la totalité de la logique du protocole applicatif HTTP, c&#8217;est à dire à la logique d&#8217;un milieu associé dans lequel la gouvernance induit de penser à nouveau frais la question d&#8217;une souveraineté du système d&#8217;information. Celle-ci passera nécessairement par une politique basée sur la participation qui, <em>de facto</em>, impose que l&#8217;on croit en la possibilité d&#8217;une <strong>intelligence collective </strong>au sein de l&#8217;entreprise.</p><p>Maîtriser l&#8217;accès et la sécurité (en tout cas le croire), forcer des usages et imposer des pratiques sont <em>infine</em> les arguments explicites ou implicites qui persuadent les décideurs, et ce au moins autant que la viabilité technologique et la pertinence des solutions qu&#8217;ils doivent implémenter. <strong>Le web, peu d&#8217;entreprises en veulent vraiment derrière leur</strong> <strong><em>f</em><em>irewalls</em> :</strong> on veut bien &laquo;&nbsp;webiser&nbsp;&raquo; des écrans d&#8217;applications, utiliser HTTP mais uniquement comme protocole de transport et se donner l&#8217;illusion que l&#8217;on fait du web parce que l&#8217;on a des &laquo;&nbsp;<em>Web</em> Services&nbsp;&raquo;, mais accepter le web, le vrai, cela impliquerait de revoir ses conceptions de la souveraineté ainsi que la force avec laquelle on croit aux mots que l&#8217;on prononce lorsque l&#8217;on dit que &laquo;&nbsp;les salariés sont la première richesse de l&#8217;entreprise&nbsp;&raquo;.</p> <span
class="post-twitter" ><a
href="http://twitter.com/home?status=Chez%20%40ChristianFaure%20%3A%20%22Une%20certaine%20conception%20de%20la%20souverainet%C3%A9%20s%27exprime%20aussi%20dans%20les%20choix%20d%27architec%22%20http%3A%2F%2Ftinyurl.com%2Fyc6h24h" title="Signaler sur Twitter" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=Chez_20_40ChristianFaure_20_3A_20_22Une_20certaine_20conception_20de_20la_20souverainet_C3_A9_20s_27exprime_20aussi_20dans_20les_20choix_20d_27architec_22_20http_3A_2F_2Ftinyurl.com_2Fyc6h24h&amp;referer=');">Signaler sur Twitter</a></span><p>Related posts:<ol><li><a
href='http://www.christian-faure.net/2008/04/13/il-faut-plus-quun-homme-et-une-femme-pour-faire-un-enfant/' rel='bookmark' title='Il faut plus qu&#8217;un homme et une femme pour faire un enfant'>Il faut plus qu&#8217;un homme et une femme pour faire un enfant</a> <small>La psychanalyse freudienne porte en elle une certaine vision dans...</small></li><li><a
href='http://www.christian-faure.net/2009/03/15/reponse-a-une-objection-sur-la-proletarisation-dans-les-societes-informatiques/' rel='bookmark' title='Réponse à une objection sur &laquo;&nbsp;la prolétarisation dans les sociétés informatiques&nbsp;&raquo;'>Réponse à une objection sur &laquo;&nbsp;la prolétarisation dans les sociétés informatiques&nbsp;&raquo;</a> <small>Didier Girard, sur Application Servers , fait une remarque intéressante...</small></li><li><a
href='http://www.christian-faure.net/2007/11/19/limplicite-et-lexplicite-dans-les-reseaux-sociaux/' rel='bookmark' title='L&#8217;implicite et l&#8217;explicite dans les réseaux sociaux'>L&#8217;implicite et l&#8217;explicite dans les réseaux sociaux</a> <small>On peut dégager deux tendances dans la constitution des réseaux...</small></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.christian-faure.net/2009/02/05/une-certaine-conception-de-la-souverainnete-sexprime-aussi-dans-les-choix-darchitecture/feed/</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>De l&#8217;intérêt d&#8217;un Portail d&#8217;Entreprise</title><link>http://www.christian-faure.net/2009/01/31/de-linteret-dun-portail-dentreprise/</link> <comments>http://www.christian-faure.net/2009/01/31/de-linteret-dun-portail-dentreprise/#comments</comments> <pubDate>Sat, 31 Jan 2009 13:45:16 +0000</pubDate> <dc:creator>Christian</dc:creator> <category><![CDATA[Défaut]]></category> <category><![CDATA[Architecture]]></category> <category><![CDATA[système_d'information]]></category><guid
isPermaLink="false">http://www.christian-faure.net/?p=919</guid> <description><![CDATA[Dans tout projet d&#8217;intégration d&#8217;entreprise visant à agréger des services provenant de différents silos applicatifs, le serveur d&#8217;application centralisé semble être une évidence, et l&#8217;on parle alors de Portail d&#8217;Entreprise. On écoutera patiemment les arguments des éditeurs de telles solutions ainsi que ceux des DSI qui vantent les qualités du portail d&#8217;entreprise comme point d&#8217;entrée [...]
Related posts:<ol><li><a
href='http://www.christian-faure.net/2009/08/09/apie-agence-pour-lincurie-de-letat/' rel='bookmark' title='APIE : Agence Pour l&#8217;Incurie de l&#8217;État'>APIE : Agence Pour l&#8217;Incurie de l&#8217;État</a> <small>Créée en 2007, juste après la publication du rapport « Lévy-Jouyet »(PDF)...</small></li></ol>]]></description> <content:encoded><![CDATA[<p></p><p><img
class="alignleft" style="border: 2px solid grey; margin: 10px;" title="Portail" src="http://www.museumsinsel-berlin.de/images/X_highlights/02_ischtartor.jpg" alt="" width="215" height="161" />Dans tout projet d&#8217;intégration d&#8217;entreprise visant à agréger des services provenant de différents silos applicatifs, le serveur d&#8217;application centralisé semble être une évidence, et l&#8217;on parle alors de <strong>Portail d&#8217;Entreprise</strong>.</p><p>On écoutera patiemment les arguments des éditeurs de telles solutions ainsi que ceux des DSI qui vantent les qualités du portail d&#8217;entreprise comme point d&#8217;entrée centralisé (maîtrisé, personnalisable, sécurisé, etc.) pour l&#8217;ensemble d&#8217;un porte-feuille applicatif.</p><p><a
href="http://soa.dzone.com/articles/so-what-are-enterprise-portals#comment-10027" onclick="pageTracker._trackPageview('/outgoing/soa.dzone.com/articles/so-what-are-enterprise-portals_comment-10027?referer=');">Allons donc !</a></p><p><span
id="more-919"></span></p><ul><li>Un point d&#8217;accès centralisé ? Pas besoin, j&#8217;ai des bookmarks dans n&#8217;importe quel navigateur qui me permettent d&#8217;accéder aux applications (web ou &laquo;&nbsp;webisées&nbsp;&raquo;) avec lesquelles je travaille.</li><li>Plusieurs écrans d&#8217;application en même temps ? A quoi bon puisque de toute manière je peux ouvrir une nouvelle fenêtre de navigateur ou un nouvel onglet pour avoir plusieurs interfaces d&#8217;applications.</li><li>Un seul point d&#8217;authentification ? Un <em>Active Directory</em> ou n&#8217;importe quel <em>LDAP</em> fait cela tout aussi bien.</li><li>Le portail offre des vues personnalisées ? Mais qui se sert de çà et qui en a besoin ?</li><li>Une intégration applicative de haut niveau dans une seule page ? Mais qui *travaille* dans un portail ! Une simple page web personnalisée avec des <em>widgets</em> me donnera un bon petit tableau de bord personnalisé pour gérer mon activité, avant de basculer sur de pleines pages si nécessaire.</li></ul><p>Un grand portail d&#8217;infrastructure d&#8217;entreprise n&#8217;a aujourd&#8217;hui plus <strong>aucun intérêt</strong> (s&#8217;il en a jamais eu) si les services applicatifs qu&#8217;il centralise sont des services web  : la mise en place de flux RSS et ATOM, plus quelques widgets ont beaucoup plus de valeur que ces projets de centralisation de l&#8217;accès à l&#8217;information et aux applications.</p><p>Ici avec le portail, mais comme avec l&#8217;ensemble des démarches d&#8217;intégration (SOA, MDM, ESB), il faut se poser la question : <strong>mais pourquoi vouloir tout centraliser ?</strong> Dans les démarches d&#8217;architecture des SI en entreprise, trop souvent le choix de centraliser l&#8217;architecture est un axiome, donc un a priori, rarement la conséquence d&#8217;un choix raisonné, d&#8217;une conception.</p><p>Je comprend que les grand éditeurs poussent l&#8217;idée de centralisation car plus le Système d&#8217;information devient centralisé, plus le pactole à ramasser est important (&laquo;&nbsp;bingo ! <em>Untel</em> a pris mon ESB, tout son SI repose sur mon produit&nbsp;&raquo;). Mais pour les DSI, et derrière eux les utilisateurs du SI, cela n&#8217;a aucun sens.</p> <span
class="post-twitter" ><a
href="http://twitter.com/home?status=Chez%20%40ChristianFaure%20%3A%20%22De%20l%27int%C3%A9r%C3%AAt%20d%27un%20Portail%20d%27Entreprise%22%20http%3A%2F%2Ftinyurl.com%2Fydu3fef" title="Signaler sur Twitter" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=Chez_20_40ChristianFaure_20_3A_20_22De_20l_27int_C3_A9r_C3_AAt_20d_27un_20Portail_20d_27Entreprise_22_20http_3A_2F_2Ftinyurl.com_2Fydu3fef&amp;referer=');">Signaler sur Twitter</a></span><p>Related posts:<ol><li><a
href='http://www.christian-faure.net/2009/08/09/apie-agence-pour-lincurie-de-letat/' rel='bookmark' title='APIE : Agence Pour l&#8217;Incurie de l&#8217;État'>APIE : Agence Pour l&#8217;Incurie de l&#8217;État</a> <small>Créée en 2007, juste après la publication du rapport « Lévy-Jouyet »(PDF)...</small></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.christian-faure.net/2009/01/31/de-linteret-dun-portail-dentreprise/feed/</wfw:commentRss> <slash:comments>9</slash:comments> </item> <item><title>Qu&#8217;est-ce qu&#8217;une &#171;&#160;URI déréférençable&#160;&#187; ?</title><link>http://www.christian-faure.net/2008/11/02/quest-ce-quune-uri-dereferencable/</link> <comments>http://www.christian-faure.net/2008/11/02/quest-ce-quune-uri-dereferencable/#comments</comments> <pubDate>Sun, 02 Nov 2008 15:56:29 +0000</pubDate> <dc:creator>Christian</dc:creator> <category><![CDATA[Défaut]]></category> <category><![CDATA[Architecture]]></category> <category><![CDATA[Web-Sémantique]]></category><guid
isPermaLink="false">http://www.christian-faure.net/?p=796</guid> <description><![CDATA[Manue vient de publier quelques bons billets suite à sa participation à la 7ième conférence internationale sur le web sémantique (ISWC 2008). Dans un de ces billets, intitulé ISWC 2008 (3) &#8211; être visible sur le Web : linked data, elle rappelle une règle de base pour publier ses données en RDF sur Linked Data [...]
Related posts:<ol><li><a
href='http://www.christian-faure.net/2008/02/21/designez-vos-uris-en-rdf/' rel='bookmark' title='Designez vos URIs en RDF'>Designez vos URIs en RDF</a> <small>Mon hypothèse : plutôt que d&#8217;encoder les données en RDF,...</small></li><li><a
href='http://www.christian-faure.net/2008/02/22/designez-vos-uris-en-rdf-2/' rel='bookmark' title='Designez vos URIs en RDF (2)'>Designez vos URIs en RDF (2)</a> <small>Suite à une petite discussion de couloir avec Got, je...</small></li><li><a
href='http://www.christian-faure.net/2007/12/07/uri-design/' rel='bookmark' title='URI design'>URI design</a> <small>Je regarde une note de Yves-Marie Pondaven dans laquelle il...</small></li></ol>]]></description> <content:encoded><![CDATA[<p></p><p><img
class="alignleft" title="Linked" src="http://www.christian-faure.net/wp-images/linked.jpg" alt="" width="202" height="167" /><a
href="http://www.figoblog.org/" onclick="pageTracker._trackPageview('/outgoing/www.figoblog.org/?referer=');">Manue</a> vient de publier quelques bons billets suite à sa participation à la 7ième conférence internationale sur le web sémantique (<a
href="http://iswc2008.semanticweb.org/" onclick="pageTracker._trackPageview('/outgoing/iswc2008.semanticweb.org/?referer=');">ISWC 2008</a>).</p><p>Dans un de ces billets, intitulé <a
href="http://www.figoblog.org/node/1939" onclick="pageTracker._trackPageview('/outgoing/www.figoblog.org/node/1939?referer=');">ISWC 2008 (3) &#8211; être visible sur le Web : linked data</a>, elle rappelle une règle de base pour publier ses données en RDF sur <a
href="http://linkeddata.org/" onclick="pageTracker._trackPageview('/outgoing/linkeddata.org/?referer=');">Linked Data</a> :</p><blockquote><p>Une consigne de base : mettre le plus possible de liens (je veux dire, d&#8217;<strong>URIs déréférençables</strong>) dans les triples, pour faciliter la navigation dans le Web of data.</p></blockquote><p>Je pense que l&#8217;expression &laquo;&nbsp;URI déréférençables&nbsp;&raquo; est <strong>loin d&#8217;être évidente pour tout le monde</strong>. Qui plus est, derrière ses faux airs, le verbe déréférencer fait immanquablement penser à autre chose : notamment à l&#8217;action de supprimer une référence, ou de ne plus référencer, ce qu&#8217;il ne signifie pas du tout dans ce contexte.</p><p>Alors, avant que nos bibliothécaires ne se méprennent et commencent à enlever les références de leur catalogue pour faire du web sémantique, une petite clarification s&#8217;impose.</p><p><span
id="more-796"></span></p><p>Comme le suggère Manue, la façon la plus courante de comprendre une URI déréférençable c&#8217;est de l&#8217;assimiler à un <strong>lien hypertexte</strong>. Ce n&#8217;est pas faux ; mais alors, pourquoi tout çà pour dire çà ?</p><p>Le terrain est <strong>miné par de sourdes polémiques </strong>(notamment entre HTTP et RDF) que je tenterai de masquer en m&#8217;en tenant à une présentation consensuelle.</p><p>En effet, l&#8217;expression de &laquo;&nbsp;deferencing an URI&nbsp;&raquo; n&#8217;est pas simple, elle est même au coeur d&#8217;une vive discussion lors des travaux préparatoire du <a
href="http://www.w3.org/2001/tag/" onclick="pageTracker._trackPageview('/outgoing/www.w3.org/2001/tag/?referer=');">Technical Architecture Group (TAG)</a> du W3C pour la <a
href="http://www.w3.org/TR/webarch/" onclick="pageTracker._trackPageview('/outgoing/www.w3.org/TR/webarch/?referer=');">recommandation sur l&#8217;archtitecture du world wide web</a>. Cette discussion (<em>issue</em> en anglais) a perduré pendant cinq années, de 2002 à 2007. Elle est référencé sous l&#8217;appellation : <a
href="http://www.w3.org/2001/tag/issues.html#httpRange-14" onclick="pageTracker._trackPageview('/outgoing/www.w3.org/2001/tag/issues.html_httpRange-14?referer=');">httpRange-14: What is the range of the HTTP dereference function?</a> Elle a été soulevé par Tim Berners Lee dans un <a
href="http://lists.w3.org/Archives/Public/www-tag/2002Mar/0092" onclick="pageTracker._trackPageview('/outgoing/lists.w3.org/Archives/Public/www-tag/2002Mar/0092?referer=');">message de la mailing-list du TAG le 19 Mars 2002</a>.</p><p>Les URIs sont utilisées selon différents schèmes. <strong>Le schème d&#8217;URI étant la syntaxe associée à un protocole</strong> de la couche &laquo;&nbsp;application&nbsp;&raquo; du modèle OSI : le plus connu étant le schème des URIs HTTP. Initialement,  le &laquo;&nbsp;déréférencement d&#8217;URI&nbsp;&raquo; était assimilé à la fonction HTTP GET, c&#8217;est à dire à la fonction qui permet de demander la représentation d&#8217;une ressource :</p><blockquote><p>To <dfn>dereference a URI</dfn> means to request a representation of the resource designated by the URI. The dereference mechanism varies according to URI scheme and must be defined by each scheme where dereferencing is a goal. See &laquo;&nbsp;Guidelines for new URL Schemes&nbsp;&raquo; [<a
href="http://www.w3.org/2001/tag/2002/0701-intro.html#RFC2718" onclick="pageTracker._trackPageview('/outgoing/www.w3.org/2001/tag/2002/0701-intro.html_RFC2718?referer=');">RFC2718</a>]. The dereference mechanism for the HTTP URI scheme is GET [<a
href="http://www.w3.org/2001/tag/ilist#whenToUseGet-7" onclick="pageTracker._trackPageview('/outgoing/www.w3.org/2001/tag/ilist_whenToUseGet-7?referer=');">TAG issue whenToUseGet-7</a>].</p></blockquote><p>Le déréférencement est donc l&#8217;<strong>action qui s&#8217;enquiert de la représentation</strong> (jpg, xml, html, RDF, etc.) d&#8217;une ressource.</p><p>Si les URIs référencent des représentations, il n&#8217;est pas pour autant nécessaire qu&#8217;elles impliquent systématiquement le déréférencement de cette URI. C&#8217;est d&#8217;ailleurs un des principes de l&#8217;architecture du web, en vertu duquel il y a lieu de <strong>ne pas systématiquement déréférencer les URIs</strong> car cela a un coût en calcul, en utilisation de la bande passante et potentiellement en sécurité. Donc, si toutes les ressources ont des représentations, toutes ne font pas de déréférencement des URIs, c&#8217;est à dire d&#8217;accès aux représentations :</p><p
class="boxedtext"><blockquote><p
id="implied-dereference" class="principle"><span
class="principlelab"><a
id="pr-implied-dereference" name="pr-implied-dereference"></a></span>Principle : Reference does not imply dereference</p><p
class="principle">An application developer or specification author SHOULD NOT require networked retrieval of representations each time they are referenced.</p></blockquote><p
class="principle">Par la suite, le <a
href="http://www.w3.org/TR/webarch/" onclick="pageTracker._trackPageview('/outgoing/www.w3.org/TR/webarch/?referer=');">document de référérence sur l&#8217;architecture du world wide web</a> stabilise et étend la définition de l&#8217;expression &laquo;&nbsp;déréférencer une URI&nbsp;&raquo; de la manière suivante :</p><blockquote><p
class="principle">Accéder à la représentation d&#8217;une ressource identifiée par une URI</p></blockquote><p
class="principle"><strong>Cette dernière définition élargie donc les toutes premières</strong> qui assimilaient l&#8217;action de déréférencer une URI à celle d&#8217;un agent performant un HTTP GET pour récupérer une représentation. Il y avait donc initialement un primat aux action des agents qui était en mode &laquo;&nbsp;Safe&nbsp;&raquo; et &laquo;&nbsp;Indempotent&nbsp;&raquo; (les méthodes GET et HEAD en HTTP) dans la compréhension du déréférencement. Ce <strong>primat a disparu </strong>puisque, désormais, l&#8217;utilisation de toutes les méthodes HTTP (GET, HEAD, POST, PUT, DELETE) relèvent pleinement du déréférencement d&#8217;URI.</p><p
class="principle">On trouve l&#8217;embrion de de cette généralisation dans <a
href="http://lists.w3.org/Archives/Public/www-tag/2002Jul/0169.html" onclick="pageTracker._trackPageview('/outgoing/lists.w3.org/Archives/Public/www-tag/2002Jul/0169.html?referer=');">un message de Stuart Williams sur la mailing list du W3C </a>en juillet 2002 dans lequel il précise :</p><blockquote><p
id="body"><strong>URI Resolution: </strong><br
/> The process of determining the access mechanism and<br
/> appropriate parameters necessary to dereference a<br
/> URI. e.g. in the case of an HTTP URI, this process<br
/> resolves the URI into an IP address, a port number,<br
/> a host name (possibly optional) and a request URI.</p><p>Resolution may require several iterations.</p><p><strong>URI Dereference: </strong><br
/> The process of using the access mechanism and<br
/> parameters generated by URI resolution to create,<br
/> inspect or modify resource state.</p><p><strong>URI Retrieval: </strong><br
/> The use of URI dereference to retrieve<br
/> representations of resource state.<br
/> [On the Web Retrival is always safe].</p></blockquote><div
class="boxedtext">A quoi Tim Berners Lee répond en soulignant &#8211; non sans humour &#8211; le caractère très imagé de &laquo;&nbsp;retrieve&nbsp;&raquo; :</div><div
class="boxedtext"><blockquote><p
id="body">[...] &#8216;retrieve&nbsp;&raquo; indicates motion of something (as in a Labrador trotting back with a duck).</p></blockquote></div><p
class="principle">Je termine en rappelant les <a
href="http://www.w3.org/DesignIssues/LinkedData.html" onclick="pageTracker._trackPageview('/outgoing/www.w3.org/DesignIssues/LinkedData.html?referer=');">quatres règles pour produire des Linked Data</a> proposées par Tim Berners Lee :</p><ol><li>Utiliser les URIs pour nommer les choses ;</li><li>Utiliser le schéma des URIs HTTP ;</li><li>Faites en sorte que les URIs délivrent des informations : <strong>c&#8217;est ici que l&#8217;on parle donc d&#8217;URI déréférençables </strong>;</li><li>Faites des liens ailleurs, vers d&#8217;autres corpus de données ;</li></ol><p
class="principle">Vous pouvez aller plus loin en consultant le document du W3C qui indique <a
href="http://www4.wiwiss.fu-berlin.de/bizer/pub/LinkedDataTutorial/" onclick="pageTracker._trackPageview('/outgoing/www4.wiwiss.fu-berlin.de/bizer/pub/LinkedDataTutorial/?referer=');">comment publier des données liées (Linked Data) sur le Web</a>.</p><p
class="principle"> <span
class="post-twitter" ><a
href="http://twitter.com/home?status=Chez%20%40ChristianFaure%20%3A%20%22Qu%27est-ce%20qu%27une%20%22URI%20d%C3%A9r%C3%A9f%C3%A9ren%C3%A7able%22%20%3F%22%20http%3A%2F%2Ftinyurl.com%2Fyakuglp" title="Signaler sur Twitter" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=Chez_20_40ChristianFaure_20_3A_20_22Qu_27est-ce_20qu_27une_20_22URI_20d_C3_A9r_C3_A9f_C3_A9ren_C3_A7able_22_20_3F_22_20http_3A_2F_2Ftinyurl.com_2Fyakuglp&amp;referer=');">Signaler sur Twitter</a></span><p>Related posts:<ol><li><a
href='http://www.christian-faure.net/2008/02/21/designez-vos-uris-en-rdf/' rel='bookmark' title='Designez vos URIs en RDF'>Designez vos URIs en RDF</a> <small>Mon hypothèse : plutôt que d&#8217;encoder les données en RDF,...</small></li><li><a
href='http://www.christian-faure.net/2008/02/22/designez-vos-uris-en-rdf-2/' rel='bookmark' title='Designez vos URIs en RDF (2)'>Designez vos URIs en RDF (2)</a> <small>Suite à une petite discussion de couloir avec Got, je...</small></li><li><a
href='http://www.christian-faure.net/2007/12/07/uri-design/' rel='bookmark' title='URI design'>URI design</a> <small>Je regarde une note de Yves-Marie Pondaven dans laquelle il...</small></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.christian-faure.net/2008/11/02/quest-ce-quune-uri-dereferencable/feed/</wfw:commentRss> <slash:comments>8</slash:comments> </item> <item><title>Le style d&#8217;architecture SOA</title><link>http://www.christian-faure.net/2008/10/08/le-style-darchitecture-soa/</link> <comments>http://www.christian-faure.net/2008/10/08/le-style-darchitecture-soa/#comments</comments> <pubDate>Wed, 08 Oct 2008 12:46:46 +0000</pubDate> <dc:creator>Christian</dc:creator> <category><![CDATA[Défaut]]></category> <category><![CDATA[Architecture]]></category> <category><![CDATA[Entreprise-2.0]]></category> <category><![CDATA[REST]]></category> <category><![CDATA[SOA]]></category><guid
isPermaLink="false">http://www.christian-faure.net/?p=706</guid> <description><![CDATA[Invité comme conférencier à la réunion annuelle des directions informatiques du Ministère de l&#8217;Éducation Nationale qui se tenait à Cannes, j&#8217;ai pu mesurer &#8211; une fois de plus &#8211; le fossé qui se creuse entre d&#8217;une part la manière dont on parle des systèmes d&#8217;information, dont on vend des projets informatiques, et d&#8217;autre part la [...]
Related posts:<ol><li><a
href='http://www.christian-faure.net/2008/09/23/la-verite-sur-le-soa/' rel='bookmark' title='La vérité sur la SOA'>La vérité sur la SOA</a> <small>Roy Fielding, a propos des SOA, des &laquo;&nbsp;Service Oriented Architecture&nbsp;&raquo;...</small></li><li><a
href='http://www.christian-faure.net/2008/02/14/cest-quel-editeur-qui-fait-ca/' rel='bookmark' title='C&#8217;est quel éditeur qui fait çà ?'>C&#8217;est quel éditeur qui fait çà ?</a> <small>Je croise un consultant qui travaille sur les architectures de...</small></li><li><a
href='http://www.christian-faure.net/2009/02/05/une-certaine-conception-de-la-souverainnete-sexprime-aussi-dans-les-choix-darchitecture/' rel='bookmark' title='Une certaine conception de la souveraineté s&#8217;exprime aussi dans les choix d&#8217;architecture'>Une certaine conception de la souveraineté s&#8217;exprime aussi dans les choix d&#8217;architecture</a> <small>Dans son Post-scriptum sur les sociétés de contrôle (1990), Deleuze...</small></li></ol>]]></description> <content:encoded><![CDATA[<p></p><p>Invité comme conférencier à la réunion annuelle des directions informatiques du Ministère de l&#8217;Éducation Nationale qui se tenait à Cannes, j&#8217;ai pu mesurer &#8211; une fois de plus &#8211; le fossé qui se creuse entre d&#8217;une part la manière dont on parle des systèmes d&#8217;information, dont on vend des projets informatiques, et d&#8217;autre part la manière dont on réalise les projets informatiques.</p><p><span
id="more-706"></span><br
/> Le conférencier externe qui me précédait lors de cet événement venait parler de la SOA (Service Oriented Architecture). Quant à moi, je parlais juste après lui des architectures ROA, de REST et du Cloud Computing. Autant dire que, sur beaucoup de points, nos discours étaient dissonants voire contradictoires pour l&#8217;auditoire.<br
/> Aussi, la question qui revenait au moment du déjeuner était :</p><blockquote><p>&laquo;&nbsp;Mais alors, faut-il faire de la SOA ou pas ?&nbsp;&raquo;</p></blockquote><p>Ma conviction est que la seule chose que propose une démarche SOA c&#8217;est <strong>un dessin</strong>, celui des sempiternels blocs qui s&#8217;agencent sur un socle EAI ou ESB, avec un moteur de règle magique qui traîne dans un coin. Ce dessin est une sorte de <strong>fantasme récurrent depuis plus d&#8217;une décennie dans le mode de l&#8217;informatique de gestion d&#8217;entreprise</strong>. L&#8217;illusion repose sur ce principe très simple que, pour masquer une complexité, il faut la mettre dans une boîte. Bien sûr, cela ne résout rien, mais cela repose l&#8217;œil de voir toutes ces petites cases qui s&#8217;agencent à merveille dans le format d&#8217;un slide de power point. A un tel point que je ne suis pas loin de penser que la SOA, qui n&#8217;est pas une architecture au sens strict, relève plutôt d&#8217;une &laquo;&nbsp;architecture power point&nbsp;&raquo; : <strong>comme si le support et le format de communication conditionnait l&#8217;avenir d&#8217;un système d&#8217;information</strong>.</p><p>Je suis donc de plus en plus convaincu que <strong>la SOA est finalement un style d&#8217;architecture</strong>, pour reprendre l&#8217;expression de Fielding, mais dont les contraintes qui s&#8217;expriment n&#8217;ont rien à voir avec la réalité d&#8217;un système d&#8217;information mais bien plutôt avec les contraintes du support de présentation qu&#8217;est le slide de power point.</p><p>Pour éclairer ce point, il faut jeter un regard en arrière sur les schèmes utilisés par les vendeurs de logiciels, et qui sont toujours utilisés, encore aujourd&#8217;hui.</p><p>Ainsi, lorsqu&#8217;il y a plusieurs années, les premiers éditeurs proposant des solutions d&#8217;EAI (Entreprise Application Integration) venaient présenter les bénéfices de leur logiciel aux Directions des Systèmes d&#8217;information, voici ci-après les schémas qu&#8217;ils utilisaient.</p><p>Tout d&#8217;abord ils présentaient les flux de données que s&#8217;échangent les applications entre elles :</p><div
id="o_-l" style="padding: 1em 0pt; text-align: left;"><img
style="width: 482px; height: 337px;" src="http://docs.google.com/a/christian-faure.net/File?id=dgc94t4h_26csd8zhdt_b" alt="" /></div><p>Forcément, ce plat de spaghetti est le cauchemar des responsables des systèmes d&#8217;information : çà part de tous les côtés et, pour maintenir en état et gérer tous ces échanges, ce n&#8217;est pas une sinécure.<br
/> Mais tout çà c&#8217;était avant ! Avant que les solutions d&#8217;EAI (aujourd&#8217;hui marketée en ESB : Enterprise Service Bus, dans le cadre des démarches SOA) n&#8217;arrivent en vous présentant cette formidable image :</p><div
id="ycot" style="padding: 1em 0pt; text-align: left;"><img
style="width: 495px; height: 326px;" src="http://docs.google.com/a/christian-faure.net/File?id=dgc94t4h_27g4vw7fcz_b" alt="" /></div><p><em>(j&#8217;ai pris ces images au hasard, il y en a des milliers similaires sur le Web)</em></p><p>Avec une telle représentation c&#8217;est le calme, l&#8217;apaisement et la rationnalité qui s&#8217;imposent enfin. Le bus d&#8217;entreprise (ESB) permet &laquo;&nbsp;simplement&nbsp;&raquo; de brancher (<em>to plug</em>, comme <em>plug and play</em>) chaque application du système d&#8217;information afin qu&#8217;elle puisse dialoguer simplement avec le reste du système d&#8217;information.</p><p>Le couple formé par <strong>ces deux images possède un pouvoir de conviction et d&#8217;adhésion</strong> qui me surprend toujours. Il semble inusable. Il a été décliné initialement avec Tuxedo pour les middleware orientés transactionnel, puis avec MQseries pour les Middleware orientés Message, puis avec les solutions d&#8217;EAI, et après par les Solutions de SOA, il est en train d&#8217;être repris au niveau des données avec les démarches de Master Data Management, on le retrouve dans l&#8217;UIMA de IBM pour le Text Mining et, pour finir, Google vient de nous le resservir avec son API (<em>pas</em>) OPEN Social :</p><div
id="qkxa" style="padding: 1em 0pt; text-align: left;"><img
style="width: 331px; height: 306px;" src="http://docs.google.com/a/christian-faure.net/File?id=dgc94t4h_28c96nfbd5_b" alt="" /></div><p>Mais, en vérité, le fondement de l&#8217;interopérabilité, dans un système d&#8217;information, ce n&#8217;est pas tant que les applications ou les services se parlent, c&#8217;est que <strong>les données soient ouvertes</strong>. Si les données n&#8217;étaient pas encapsulées dans les applications, l&#8217;image magique du Bus et des démarches orientées services perdraient tout leur intérêt.</p><p>Le principe de ce schéma est toujours le même : placer à la périphérie les éléments du système d&#8217;informations (applications, services, données, réseaux sociaux, etc), puis <strong>poser la pièce maîtresse au centre</strong>, le rouage ultime, qui va permettre d&#8217;articuler tout ce petite monde. En cela le schéma va plonger dans notre <strong>subconscient</strong>, reproduisant ici le système solaire, ou là le moyeux la roue. Parfois aussi le temple ou la pyramide, quand on fait appel à des modèles non concentriques.</p><p>Mais ce que ne dit pas ce schème de représentation, c&#8217;est précisément <strong>ce qu&#8217;il exclut</strong> :</p><ul><li>il ne dit pas que la solution est loin d&#8217;être magique : à défaut de &laquo;&nbsp;solution&nbsp;&raquo; on a plutôt <strong>une boîte à outil</strong> qui permet de relier les fils entre eux, mais il faut se taper tout le boulot.</li><li>il ne dit pas qu&#8217;il exclut <em>de facto</em> tout ce qui n&#8217;est pas relié au bus. En reliant des applications au service, on enferme encore plus ses applications, ce qui <strong>rend le système d&#8217;information endogène</strong> : l&#8217;intégration interne se paye par une exclusion de l&#8217;entreprise aux données et aux services externes.</li></ul><p>Mon sentiment peut paraître surprenant mais, eu égard à ces schémas de représentations, je pense que <strong>le schéma des spaghetti n&#8217;est pas une mauvaise chose en soi</strong>. Voilà pourquoi :</p><ul><li>parce qu&#8217;on ne voit que les machines et pas les acteurs et les utilisateurs dans ce schéma. <strong>Ou sont les utilisateurs ?</strong></li><li>on cherche à faire parler toutes les applications avec toutes les autres applications, mais pourquoi donc ? C&#8217;est comme si l&#8217;on s&#8217;épuisait à imaginer tout le champ des possibles en <strong>s&#8217;imposant cette contrainte un peu folle de vouloir tout connecter avec tout</strong>.</li><li>les données échangées ne sont comprises qu&#8217;au niveau des serveurs et pas au niveau des clients, la logique des mash-up, qui marche, permet les échanges au niveau des postes clients et pas au niveau des serveurs et des applications elles-mêmes. <strong>Les clients légers ou riches des architectures actuelles sont purement absents</strong>.</li></ul><p>Ce qui se dégage de toute cette histoire c&#8217;est que le Business Model du software est très souvent un modèle qui consiste à identifier une douleur dans le Système d&#8217;Information  pour proposer une solution logicielle à cette douleur. Le logiciel joue ici son rôle de <em>pharmakon</em>, de médicament. Et son périmètre dans le système d&#8217;information est <strong>proportionnel à la taille de la tumeur qu&#8217;il est sensé traiter</strong>. Il est généralement vendu et &laquo;&nbsp;marketé&nbsp;&raquo; comme une boîte noire avec en entrée les problèmes et en sortie les solutions. Mais entre ? Que se passe-t-il ? Ouvrons le capot et regardons : que voit-on ? Tout d&#8217;abord que la source du mal n&#8217;a pas été éradiquée, elle est toujours là. <strong>On ne soigne que les symptômes du mal</strong>, pas le mal lui-même.</p><p>A force de reproduire ce schéma depuis des années, les grands systèmes d&#8217;information deviennent, bien souvent, proprement monstrueux. Car plus de logiciel demande toujours plus de logiciel : <strong>le code appelle le code</strong>. Mais qu&#8217;est ce qui a accéléré ce mouvement ? Un défaut initial , ou une négligence d&#8217;encodage des données manipulées par le code, c&#8217;est à dire un défaut d&#8217;architecture des données, de la on assiste à une excroissance du code : <strong>comme une huître faisant sa perle autour d&#8217;une poussière</strong>, mais malheureusement la perle en question est ici une tumeur.</p><p>Ceux qui prônent les démarches SOA ne sont pas idiots pour autant : ils reconnaissent qu&#8217;il n&#8217;y a pas vraiment de références significatives sur la mise en oeuvre d&#8217;une telle démarche, prennent d&#8217;infinies précautions en instant sur le fait qu&#8217;une telle démarche prend, à minima, une décennie avant d&#8217;aboutir réellement, et admettent que<strong> la plupart des projets SOA sont des échecs</strong>.</p><p>Ce qu&#8217;il y a d&#8217;intéressant dans leurs discours, c&#8217;est qu&#8217;ils soutiennent qu&#8217;il y a une &laquo;&nbsp;SOA de surface&nbsp;&raquo;, celle qui consiste à croire qu&#8217;un logiciel miracle va orchestrer les services web pour &laquo;&nbsp;aligner l&#8217;IT sur le métier&nbsp;&raquo;, qui est la cause de la plupart des échecs en matière de SOA. Comment donc appréhender une démarche de SOA afin d&#8217;éviter cet écueil ?</p><blockquote><p>&laquo;&nbsp;Il ne faut pas commencer par les process et les services mais par les données, disent-ils. La SOA est une chaine de valeur qui commence avec la qualité des données, si ce maillon ne donne pas satisfaction il est illusoire qu&#8217;une SOA puisse se mettre en place&nbsp;&raquo;.</p></blockquote><p>Étonnante rhétorique pour une démarche d&#8217;architecture orientée services qui affirme qu&#8217;il faut <strong>d&#8217;abord commencer par une architecture orienté ressources et données</strong> pour arriver à sortir quelque chose qui tient la route ! Pourquoi ne pas commencer directement par la ROA (Architecture Orientée Ressource) comme démarche d&#8217;architecture dérivée du style d&#8217;architecture REST ?</p><p>La raison vient de ce que la finalité des démarches SOA <strong>se place toujours sous l&#8217;injonction &laquo;&nbsp;d&#8217;aligner l&#8217;IT sur le Business&nbsp;&raquo;</strong>, la SOA est comme <strong>prisonnière de ce slogan</strong>. Ce qui n&#8217;est pas le cas de la ROA dont l&#8217;ambition est beaucoup plus pragmatique puisqu&#8217;il s&#8217;agit simplement <strong>d&#8217;aligner l&#8217;IT sur le Web</strong> : ses architectures, ses normes ainsi que ces usages et ses pratiques.</p><p>Quand on voit que ce sont essentiellement le secteur des banques et assurances qui s&#8217;essaient à ce type de démarche, je suis tenté de penser que <strong>la SOA est à l&#8217;IT ce que les subprimes ont été à la finance</strong>. Et la SOA serait finalement une démarche de<strong> titrisation de la piètre qualité des données dans les systèmes d&#8217;information</strong> pour valoriser des approches abracadabrantesques. Pourquoi vend-on de la SOA finalement, et pourquoi &#8211; parfois &#8211; çà marche ? Parce que <strong>c&#8217;est énorme </strong>et, comme pour les mensonges, <strong>plus c&#8217;est énorme et plus çà a de chances de passer</strong>.<br
/> Cela éclaire également la remarque de Fielding que j&#8217;évoquais récemment et que je traduirais volontiers de la manière suivante :</p><blockquote><p>&laquo;&nbsp;La conclusion raisonnable de ceci est que la SOA n&#8217;est ni style ni une architecture, mais un ensemble d&#8217;objectifs qui peuvent être vendus à des DSI dépassés eut égard aux architectures qui seront réellement implémentées.&nbsp;&raquo;</p></blockquote><p>In fine, là où je me désolidarise de Fielding c&#8217;est que je crois que la <strong>SOA est bien un style d&#8217;architecture, c&#8217;est le style d&#8217;architecture documentaire du power point</strong>. Certes, cela n&#8217;a plus grand chose à voir avec l&#8217;informatique, celle qu&#8217;on aime, celle qui marche et qui nous donne satisfaction.</p> <span
class="post-twitter" ><a
href="http://twitter.com/home?status=Chez%20%40ChristianFaure%20%3A%20%22Le%20style%20d%27architecture%20SOA%22%20http%3A%2F%2Ftinyurl.com%2Fyf8fxqq" title="Signaler sur Twitter" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=Chez_20_40ChristianFaure_20_3A_20_22Le_20style_20d_27architecture_20SOA_22_20http_3A_2F_2Ftinyurl.com_2Fyf8fxqq&amp;referer=');">Signaler sur Twitter</a></span><p>Related posts:<ol><li><a
href='http://www.christian-faure.net/2008/09/23/la-verite-sur-le-soa/' rel='bookmark' title='La vérité sur la SOA'>La vérité sur la SOA</a> <small>Roy Fielding, a propos des SOA, des &laquo;&nbsp;Service Oriented Architecture&nbsp;&raquo;...</small></li><li><a
href='http://www.christian-faure.net/2008/02/14/cest-quel-editeur-qui-fait-ca/' rel='bookmark' title='C&#8217;est quel éditeur qui fait çà ?'>C&#8217;est quel éditeur qui fait çà ?</a> <small>Je croise un consultant qui travaille sur les architectures de...</small></li><li><a
href='http://www.christian-faure.net/2009/02/05/une-certaine-conception-de-la-souverainnete-sexprime-aussi-dans-les-choix-darchitecture/' rel='bookmark' title='Une certaine conception de la souveraineté s&#8217;exprime aussi dans les choix d&#8217;architecture'>Une certaine conception de la souveraineté s&#8217;exprime aussi dans les choix d&#8217;architecture</a> <small>Dans son Post-scriptum sur les sociétés de contrôle (1990), Deleuze...</small></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.christian-faure.net/2008/10/08/le-style-darchitecture-soa/feed/</wfw:commentRss> <slash:comments>15</slash:comments> </item> <item><title>La vérité sur la SOA</title><link>http://www.christian-faure.net/2008/09/23/la-verite-sur-le-soa/</link> <comments>http://www.christian-faure.net/2008/09/23/la-verite-sur-le-soa/#comments</comments> <pubDate>Tue, 23 Sep 2008 21:20:24 +0000</pubDate> <dc:creator>Christian</dc:creator> <category><![CDATA[Défaut]]></category> <category><![CDATA[Architecture]]></category> <category><![CDATA[REST]]></category> <category><![CDATA[SOA]]></category><guid
isPermaLink="false">http://www.christian-faure.net/?p=675</guid> <description><![CDATA[Roy Fielding, a propos des SOA, des &#171;&#160;Service Oriented Architecture&#160;&#187; sur la liste de discussion REST : The reasonable conclusion is that SOA is neither an architecture nor a style, but rather a set of goals that can be sold to overmatched CIOs regardless of the corresponding architecture or implementation. Signaler sur TwitterRelated posts: Ars [...]
Related posts:<ol><li><a
href='http://www.christian-faure.net/2010/01/21/ars-industrialis-sur-twitter/' rel='bookmark' title='Ars Industrialis sur Twitter'>Ars Industrialis sur Twitter</a> <small>Vous pouvez à présent suivre l&#8217;actualité d&#8217;Ars Industrialis sur Twitter....</small></li><li><a
href='http://www.christian-faure.net/2009/11/18/le-profilage-collaboratif-sur-twitter/' rel='bookmark' title='Le profilage collaboratif sur Twitter'>Le profilage collaboratif sur Twitter</a> <small>Les listes de twitter vous renvoient à présent des mots...</small></li><li><a
href='http://www.christian-faure.net/2008/10/08/le-style-darchitecture-soa/' rel='bookmark' title='Le style d&#8217;architecture SOA'>Le style d&#8217;architecture SOA</a> <small>Invité comme conférencier à la réunion annuelle des directions informatiques...</small></li></ol>]]></description> <content:encoded><![CDATA[<p></p><p>Roy Fielding, a propos des SOA, des &laquo;&nbsp;Service Oriented Architecture&nbsp;&raquo; sur la liste de discussion REST :</p><blockquote><p>The reasonable conclusion is that SOA is neither an architecture nor a style, but rather a set of goals that can be sold to overmatched CIOs regardless of the corresponding architecture or implementation.</p></blockquote> <span
class="post-twitter" ><a
href="http://twitter.com/home?status=Chez%20%40ChristianFaure%20%3A%20%22La%20v%C3%A9rit%C3%A9%20sur%20la%20SOA%22%20http%3A%2F%2Ftinyurl.com%2Fycxxrd6" title="Signaler sur Twitter" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=Chez_20_40ChristianFaure_20_3A_20_22La_20v_C3_A9rit_C3_A9_20sur_20la_20SOA_22_20http_3A_2F_2Ftinyurl.com_2Fycxxrd6&amp;referer=');">Signaler sur Twitter</a></span><p>Related posts:<ol><li><a
href='http://www.christian-faure.net/2010/01/21/ars-industrialis-sur-twitter/' rel='bookmark' title='Ars Industrialis sur Twitter'>Ars Industrialis sur Twitter</a> <small>Vous pouvez à présent suivre l&#8217;actualité d&#8217;Ars Industrialis sur Twitter....</small></li><li><a
href='http://www.christian-faure.net/2009/11/18/le-profilage-collaboratif-sur-twitter/' rel='bookmark' title='Le profilage collaboratif sur Twitter'>Le profilage collaboratif sur Twitter</a> <small>Les listes de twitter vous renvoient à présent des mots...</small></li><li><a
href='http://www.christian-faure.net/2008/10/08/le-style-darchitecture-soa/' rel='bookmark' title='Le style d&#8217;architecture SOA'>Le style d&#8217;architecture SOA</a> <small>Invité comme conférencier à la réunion annuelle des directions informatiques...</small></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.christian-faure.net/2008/09/23/la-verite-sur-le-soa/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Faut-il se réjouir de l&#8217;indexation de Flash ?</title><link>http://www.christian-faure.net/2008/07/01/faut-il-se-rejouir-de-lindexation-de-flash/</link> <comments>http://www.christian-faure.net/2008/07/01/faut-il-se-rejouir-de-lindexation-de-flash/#comments</comments> <pubDate>Tue, 01 Jul 2008 21:48:18 +0000</pubDate> <dc:creator>Christian</dc:creator> <category><![CDATA[Défaut]]></category> <category><![CDATA[Architecture]]></category> <category><![CDATA[Moteur-de-recherche]]></category> <category><![CDATA[REST]]></category> <category><![CDATA[RIA]]></category><guid
isPermaLink="false">http://www.christian-faure.net/2008/07/01/faut-il-se-rejouir-de-lindexation-de-flash/</guid> <description><![CDATA[La nouvelle a vite fait le tour de la blogosphère : Adobe, Yahoo et Google ont signé un partenariat pour indexer les fichiers flash. Les premières réactions que j&#8217;ai pu lire sont plutôt positives. Mais je reste dubitatif devant cette initiative, et ce pour certaines raisons : d&#8217;abord sur le contenu : j&#8217;imagine (à tort [...]
Related posts:<ol><li><a
href='http://www.christian-faure.net/2008/09/02/google-video-for-business/' rel='bookmark' title='Google Video for Business'>Google Video for Business</a> <small>Google vient de rajouter la video dans son Offre Google...</small></li><li><a
href='http://www.christian-faure.net/2009/05/10/jouir-de-lavenir/' rel='bookmark' title='Jouir de l&#8217;avenir'>Jouir de l&#8217;avenir</a> <small>Dans sa Vie du lettré aux éditions de minuit, William...</small></li><li><a
href='http://www.christian-faure.net/2007/11/16/plus-loin-avec-google-apps/' rel='bookmark' title='Plus loin avec Google Apps'>Plus loin avec Google Apps</a> <small>Saviez-vous qu&#8217;avec Google Spreadsheet vous disposez de quelques fonctionnalités bien...</small></li></ol>]]></description> <content:encoded><![CDATA[<p></p><p><a
href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200806/070108AdobeRichMediaSearch.html" onclick="pageTracker._trackPageview('/outgoing/www.adobe.com/aboutadobe/pressroom/pressreleases/200806/070108AdobeRichMediaSearch.html?referer=');">La nouvelle</a> a vite fait le tour de la blogosphère : Adobe, Yahoo et Google ont signé un partenariat pour indexer les fichiers flash.<br
/> Les premières réactions que j&#8217;ai pu lire sont plutôt positives. Mais je reste dubitatif devant cette initiative, et ce pour certaines raisons :</p><p><span
id="more-472"></span></p><ul><li>d&#8217;abord sur le contenu : j&#8217;imagine (à tort ?) que la plupart des contenus en flash ne sont pas les textes les plus passionnants du web ; beaucoup de communication marketing me semble-t-il, non ? Ou en tout cas des textes très fragmenté.</li></ul><ul><li>ensuite, ce contenu, s&#8217;il s&#8217;avère être de piètre qualité, va énormément rajouter de bruit dans les réponses des moteurs de recherche : quel intérêt pour l&#8217;utilisateur de voir les messages publicitaires et marketing contenus dans les flashs se retrouver dans ses résultats de requête ?</li></ul><ul><li>la logique d&#8217;un site en flash n&#8217;est pas la même que celle d&#8217;un site en HTML, dans le premier elle est événementielle et souvent scénarisée, alors qu&#8217;il n&#8217;y a pas cette logique d&#8217;enchaînement scénarisé dans le HTML. Qui plus est, un évenement sous Flash (car Flash c&#8217;est surtout une programmation évenementielle), n&#8217;est pas forcément un clic de souris alors que le clic reste le seul moteur hypermedia du web en HTML. Deux logiques d&#8217;architecture de l&#8217;information et de politique éditoriale différentes donc.</li></ul><ul><li>donc, comment ces deux logiques de contenu éditorial et d&#8217;architecture de l&#8217;information vont elles cohabiter dans l&#8217;index des moteurs de recherche et les pages de résultats ?</li></ul><p>Au dela des contraintes techniques, il y a donc eu un partenariat. <strong>Mais pourquoi ce partenariat et pourquoi maintenant ?</strong><br
/> L&#8217;intérêt d&#8217;Adobe semble de prime abord évident : c&#8217;est une reconnaissance pour leur format de fichier que de passer à la moulinette de l&#8217;indexation des moteurs de recherche. Les documents des interfaces riches vont rejoindre la masse des autres documents qui sont rentrés dans l&#8217;économie des moteurs de recherche.</p><p>Mais pour Google : pourquoi choisir d&#8217;indexer les fichiers Flash et de prendre ainsi le risque de perturber le modèle même de son fonctionnement ?</p><p>Google trouve-t-il son intérêt directement dans l&#8217;indexation, ou indirectement ? Dit autrement : font-il çà <strong>pour quelque chose</strong> <strong>ou contre quelque chose</strong> (ou quelqu&#8217;un) ? Vu sous cet angle c&#8217;est encore Microsoft le premier visé (décidément). Un Microsoft qui risque de se retrouver à être le seul moteur qui indexe ses interfaces riches en Silverlight.</p><p>Mais ce qui m&#8217;embête le plus dans cette annnonce, c&#8217;est que les <a
href="http://www.christian-faure.net/2007/12/16/architecture-orientee-ressources/">architectures orientés ressources</a>, qui sont les architectures de prédilection des trois interfaces riches (GWT, Flex et Silverligth), vont devenir moins incontournables : en effet, pourquoi faire les choses proprement avec une architecture orientée ressource si je peux avoir mon site indexé directement en Flash ? Cette annonce lève à mes yeux une contrainte qui avait du bon et qui avait le mérite de rendre cohérente, et vertueuse, une démarche d&#8217;architecture de l&#8217;information (et applicative) couplée avec des interfaces riches.</p><p>Certes, il est toujours possible &#8211; et souhaitable &#8211; de faire des architectures orientées ressrources, mais la contrainte de l&#8217;indexation étant maintenant partiellement levée, tout cela risque de ralentir la progression de certaines bonnes pratiques.<br
/> Autre hyppothèse pour expliquer ce partenariat : Google préfèrerait-il garder le web dans un certain &laquo;&nbsp;bordel ambiant&nbsp;&raquo; pour rester celui qui l&#8217;organise et le monétise pour nous ?<br
/> Et je termine avec cette dernière hypothèse : Google souhaite-til indexer les fichiers Flash non pas comme des documents, mais bien comme des applications, c&#8217;est à dire avec une logique d&#8217;indexation et de restitution bien spécifique (et donc monétisable de manière plus fine et mieux adaptée).</p><p>Sur ce sujet, je vous invite à lire <a
href="http://jroller.com/francoisledroff/entry/l_url_clef_de_voute" onclick="pageTracker._trackPageview('/outgoing/jroller.com/francoisledroff/entry/l_url_clef_de_voute?referer=');">deux</a> <a
href="http://www.jroller.com/francoisledroff/entry/partenariat_adobe_google_yahoo_les" onclick="pageTracker._trackPageview('/outgoing/www.jroller.com/francoisledroff/entry/partenariat_adobe_google_yahoo_les?referer=');">billets</a> intéressants sur le blog de François Le Droff, puis de consulter une <a
href="http://blogpro.toutantic.net/2008/06/23/gwt-vs-silverlight-vs-flex/" onclick="pageTracker._trackPageview('/outgoing/blogpro.toutantic.net/2008/06/23/gwt-vs-silverlight-vs-flex/?referer=');">très bonne synthèse d&#8217;Aurélien Pelletier</a> sur les technologies RIA.</p><p>Vos avis sont les bienvenus pour confronter mes tergiversations à votre vision de la compréhension et des conséquences de cet accord Google / Yahoo! / Adobe sur l&#8217;indexation du Flash</p> <span
class="post-twitter" ><a
href="http://twitter.com/home?status=Chez%20%40ChristianFaure%20%3A%20%22Faut-il%20se%20r%C3%A9jouir%20de%20l%27indexation%20de%20Flash%20%3F%22%20http%3A%2F%2Ftinyurl.com%2F56rg48" title="Signaler sur Twitter" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=Chez_20_40ChristianFaure_20_3A_20_22Faut-il_20se_20r_C3_A9jouir_20de_20l_27indexation_20de_20Flash_20_3F_22_20http_3A_2F_2Ftinyurl.com_2F56rg48&amp;referer=');">Signaler sur Twitter</a></span><p>Related posts:<ol><li><a
href='http://www.christian-faure.net/2008/09/02/google-video-for-business/' rel='bookmark' title='Google Video for Business'>Google Video for Business</a> <small>Google vient de rajouter la video dans son Offre Google...</small></li><li><a
href='http://www.christian-faure.net/2009/05/10/jouir-de-lavenir/' rel='bookmark' title='Jouir de l&#8217;avenir'>Jouir de l&#8217;avenir</a> <small>Dans sa Vie du lettré aux éditions de minuit, William...</small></li><li><a
href='http://www.christian-faure.net/2007/11/16/plus-loin-avec-google-apps/' rel='bookmark' title='Plus loin avec Google Apps'>Plus loin avec Google Apps</a> <small>Saviez-vous qu&#8217;avec Google Spreadsheet vous disposez de quelques fonctionnalités bien...</small></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.christian-faure.net/2008/07/01/faut-il-se-rejouir-de-lindexation-de-flash/feed/</wfw:commentRss> <slash:comments>8</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: basic (User agent is rejected)
Database Caching 151/316 queries in 0.220 seconds using disk: basic

Served from: www.christian-faure.net @ 2012-02-12 03:33:37 -->
