<?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>Jean-Pierre Latour &#8211; Smals Research</title>
	<atom:link href="https://www.smalsresearch.be/author/latour/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.smalsresearch.be</link>
	<description></description>
	<lastBuildDate>Tue, 21 Apr 2026 10:40:28 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.smalsresearch.be/wp-content/uploads/2026/01/cropped-cropped-Smals_Research-32x32.png</url>
	<title>Jean-Pierre Latour &#8211; Smals Research</title>
	<link>https://www.smalsresearch.be</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Portal vs message broker &#8211; 2 approches complémentaires</title>
		<link>https://www.smalsresearch.be/portal-vs-message-broker-2-approches-complementaires/</link>
		
		<dc:creator><![CDATA[Jean-Pierre Latour]]></dc:creator>
		<pubDate>Tue, 05 Dec 2017 07:00:01 +0000</pubDate>
				<category><![CDATA[[FR]]]></category>
		<category><![CDATA[Blog post]]></category>
		<category><![CDATA[cost cutting]]></category>
		<category><![CDATA[Information management]]></category>
		<category><![CDATA[Managing IT costs]]></category>
		<category><![CDATA[Productivity]]></category>
		<guid isPermaLink="false">/?p=11209</guid>

					<description><![CDATA[Dans un récent projet impliquant de nombreux partenaires devant s&#8217;échanger des données, le débat broker versus portal (ou portail en français) â fait l&#8217;objet de nombreuses discussions. Avec, comme à l&#8217;habitude, sur des sujets aussi stratégiques, une tendance malheureuse à polariser les discussions. Cette polarisation n&#8217;a pas lieu d&#8217;être&#160;: chacune de ces approches a sa part [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Dans un récent projet impliquant de nombreux partenaires devant s&#8217;échanger des données, le débat broker versus portal (ou portail en français) â fait l&#8217;objet de nombreuses discussions.</p>
<p>Avec, comme à l&#8217;habitude, sur des sujets aussi stratégiques, une tendance malheureuse à polariser les discussions. Cette polarisation n&#8217;a pas lieu d&#8217;être&nbsp;: chacune de ces approches a sa part de valeur ajoutée pour le projet.</p>
<p>Je vais m&#8217;attacher ici à les expliquer. Rapidement bien entendu &#8211; Nous sommes dans le cadre d&#8217;un blog.</p>
<p>Mais commençons par rappeler les définitions de broker et portal.</p>
<h1>Broker vs. Portal</h1>
<p>La définition d&#8217;un broker est un peu difficile à établir. Pour s&#8217;en convaincre il suffit de regarder les discussions sur différents forums qui s&#8217;intéressent à ce qui distingue un broker d&#8217;un enterprise service bus (ESB).<br />
Faisons simple et considérons le <strong>broker</strong> comme <strong>un moyen de transférer des données via des messages dans le backend</strong> (la partie non visible par les utilisateurs).</p>
<p><a href="/portal-vs-message-broker-2-approches-complementaires/broker1/" rel="attachment wp-att-11220"><img decoding="async" class="size-medium wp-image-11220 alignleft" src="/wp-content/uploads/2017/11/broker1-300x151.png" alt="" width="300" height="151" srcset="https://www.smalsresearch.be/wp-content/uploads/2017/11/broker1-300x151.png 300w, https://www.smalsresearch.be/wp-content/uploads/2017/11/broker1.png 316w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><img fetchpriority="high" decoding="async" class="alignleft wp-image-11218 size-full" src="/wp-content/uploads/2017/11/portal1.jpg" alt="" width="257" height="196" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Dans le cadre qui nous occupe, un <strong>portal</strong> peut être vu comme <strong>un site web destiné à agréger les accès à divers autres sites web sous-jacents</strong>. Un point d&#8217;accès central en quelque sorte.</p>
<h1><strong>Le projet</strong></h1>
<p>Sans le citer nommément, voici maintenant les fondamentaux du projet.</p>
<p>&#8211; des acteurs privés, fournisseurs de données, et des acteurs publics, consommateurs de données, avec chacun des besoins propres ;<br />
&#8211; les fournisseurs de données sont plusieurs dizaines voire plusieurs centaines ;<br />
&#8211; les consommateurs de données sont au nombre de 5 ;<br />
&#8211; pour fournir les données, les fournisseurs de données doivent utiliser l&#8217;application de tiers (au nombre de 4) &#8211; ces tiers sont eux-mêmes fournisseurs d&#8217;une partie des données ;<br />
&#8211; les consommateurs de données exploitent celles-ci à des fins de contrôle ;<br />
&#8211; une obligation de résultats rapide.</p>
<p>La voie initialement choisie a consisté à mettre en place plusieurs bus de données en cascade pour transférer les données des fournisseurs vers les consommateurs.</p>
<p>La première difficulté rencontrée avec cette seule approche est d&#8217;arriver à mettre tous les acteurs d&#8217;accord sur les différents types de messages à prévoir et sur leur contenu, d&#8217;autant plus que les fournisseurs de données vivent le projet comme une obligation (ils doivent se soumettre aux obligations imposées).</p>
<p>Autre difficulté d&#8217;importance&nbsp;: les propriétaires des applications doivent chacun compléter leur application avec des écrans de capture pour collecter l&#8217;ensemble des données requises par tous les consommateurs. Il faut donc coordonner les efforts de 4 équipes de développement sur des fonctionnalités qui en fait ne constituent pas une valeur ajoutée pour leurs propriétaires (des acteurs du projet finalement gênés dans l’exercice de leur métier par ces obligations).</p>
<p>La difficulté est d&#8217;autant plus grande que les 5 consommateurs de données ont des besoins spécifiques. Il s&#8217;agit donc de gérer 5 x 4 relations entre partenaires.</p>
<p>Dans un tel contexte, il est évident que les maintenances corrective et évolutive posent de sérieux problèmes, en termes d&#8217;obtention des consensus sur les évolutions nécessaires des différentes applications et sur la gestion des plannings de réalisation et de tests. Les disponibilités sont en effet variables selon les acteurs, avec pour corollaire que <strong>de manière quasi permanente, au moins un des acteurs est attendu par tout ou partie des autres</strong>.</p>
<p>L&#8217;addition de toutes ces difficultés a conduit à un allongement considérable du projet.</p>
<h1>Approche combinée Broker plus Portal</h1>
<p>Après de longs mois de tergiversations multiples, la réflexion suivante s&#8217;est imposée&nbsp;: pourquoi ne pas faire en sorte que chacun des partenaires soit responsable de collecter les données dont il a seul l&#8217;usage.<br />
Et d&#8217;ensuite les partager, via le broker, s&#8217;il s&#8217;avère que dans le cours du projet, en contradiction avec les analyses de départ, elles peuvent en intéresser d&#8217;autres.</p>
<p>Permettre à chacun de développer sa propre application web lui permettant d&#8217;obtenir les données qui lui sont propres (comprenez qui n’intéresse aucun des autres consommateurs de données), en complément au broker, a donc finalement été considéré comme une option intéressante.<br />
Sous trois conditions&nbsp;:<br />
&#8211; ne pas vouloir obtenir par ce canal une information déjà disponible par un autre canal, ce qui obligerait le fournisseur de la dite information à de l&#8217;encodage multiple (respect strict du principe &#8220;only once&#8221;) &#8211; donc, si l&#8217;information est déjà disponible via le broker, elle doit être récupérée par ce biais;<br />
&#8211; mettre à disposition <strong>un seul point d&#8217;accès aux différentes applications web</strong> via la notion de portal ;<br />
&#8211; <strong>ne pas obliger</strong> les fournisseurs de données <strong>à des login multiples</strong> (principe du &#8220;single-sign-on&#8221;).</p>
<p>Cette approche combinée broker plus portal concilie l&#8217; <strong>indépendance des acteurs</strong>, gage de leur efficacité individuelle, et partage des données. L&#8217;approche permet en effet de réduire considérablement les besoins de concertation sur les développements à réaliser et simplifie également la gestion des plannings.</p>
<p>Comme annoncé en début de ce blog, sur base de ces quelques considérations, il est donc facile de conclure que <strong>broker et portal sont bien des approches complémentaires</strong>.</p>
<p>Un conseil à ce stade : <strong>dès le début du projet, établissez un diagramme de contexte complet, dans lequel vous faites apparaître les flux de données entre partenaires. En complément, établissez des fiches qui donnent le détail de ces flux. Vous prendrez ainsi immédiatement conscience de qui est vraiment intéressé par quelles données.</strong></p>
<h1>Aspects particuliers</h1>
<p>Voyons maintenant quelques aspects particuliers.</p>
<p>Lors de l&#8217;échange de données entre partenaires, une problématique de première importance est incontournable&nbsp;: la <strong>gestion des anomalies</strong>. Sur ce point, le portal apporte son lot d&#8217;avantages, en évitant d&#8217;impliquer tous les intermédiaires dans cette gestion souvent complexe. En effet, grâce au portal les retours d&#8217;anomalies peuvent être gérés sans dépendances vis-à-vis des tiers qui gèrent le broker. La gestion des anomalies est un vaste sujet qui mériterait à lui seul un blog séparé (et bien plus encore).</p>
<p><strong>L&#8217;utilisation du format XML, et la définition d&#8217;un format canonique pour les échanges, est aujourd&#8217;hui un must pour le succès du broker</strong>.</p>
<p><strong>En nous appuyant sur les schémas XSD nous avons pu développer un outil de génération de cas de test qui nous a permis de tester rapidement nos développements, sans attendre que nos partenaires soient déjà à même de nous envoyer des messages</strong>. Cette initiative a permis de gagner énormément de temps en s&#8217;affranchissant de nombreuses dépendances temporelles dans le projet.</p>
<p>A titre d&#8217;information cet outil a été développé en s&#8217;inspirant de la philosophie des moteurs de règles (externalisation poussée des logiques d&#8217;alimentation des templates de messages sous la forme de règles). Il possède de ce fait un caractère générique non négligeable.</p>
<p>A l&#8217;issue de ce projet nous pouvons émettre la recommandation suivante&nbsp;: <strong>dans un projet d&#8217;intégration impliquant des partenaires multiples</strong>, obligés de collaborer mais avec des centres d&#8217;intérêts plutôt éloignés,<strong> il faut veiller à limiter au maximum les dépendances en matière de développement</strong>. C&#8217;est la meilleure garantie de rester maîtres des délais de réalisation, de maîtriser dans le temps l’évolution du système global et de garder les coûts de maintenance sous contrôle.</p>
<p>La combinaison broker plus portal aide grandement à satisfaire à cette stratégie.</p>
<p>S&#8217;agissant de l&#8217;approche portal, pour être complet et ne rien cacher des difficultés rencontrées, il nous faut encore ajouter que <strong>la mise en place d&#8217;un mécanisme de single-sign-on reste un exercice souvent difficile</strong>. La diversité des technologies utilisées par les différents partenaires et les différences de niveau de compétences sur le sujet expliquent cela.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Comment construire un data dictionary&#160;?</title>
		<link>https://www.smalsresearch.be/comment-construire-un-data-dictionary/</link>
		
		<dc:creator><![CDATA[Jean-Pierre Latour]]></dc:creator>
		<pubDate>Tue, 22 Nov 2016 07:00:24 +0000</pubDate>
				<category><![CDATA[[FR]]]></category>
		<category><![CDATA[Blog post]]></category>
		<category><![CDATA[data dictionary]]></category>
		<category><![CDATA[Information management]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[standards]]></category>
		<guid isPermaLink="false">/?p=10164</guid>

					<description><![CDATA[Rappel : pourquoi un data dictionary ? La raison d’être d’un data dictionary réside dans la nécessité de construire un vocabulaire commun entre tous les acteurs d&#8217;un projet sur l&#8217;aspect particulier des données. Le partage d’un vocabulaire commun facilite la communication entre tous les acteurs du projet. Il constitue un facteur clé de succès pour éviter les [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1>Rappel : pourquoi un data dictionary ?</h1>
<p><strong>La raison d’être d’un data dictionary réside dans la nécessité de construire un vocabulaire commun entre tous les acteurs d&#8217;un projet sur l&#8217;aspect particulier des données.</strong><a href="https://www.smalsresearch.be/wp-content/uploads/2016/11/data_dictionary_screen.png"><img decoding="async" class="alignright size-medium wp-image-10167" src="/wp-content/uploads/2016/11/data_dictionary_screen-300x246.png" alt="data_dictionary_screen" width="300" height="246" srcset="https://www.smalsresearch.be/wp-content/uploads/2016/11/data_dictionary_screen-300x246.png 300w, https://www.smalsresearch.be/wp-content/uploads/2016/11/data_dictionary_screen-768x629.png 768w, https://www.smalsresearch.be/wp-content/uploads/2016/11/data_dictionary_screen.png 930w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><strong>Le partage d’un vocabulaire commun facilite la communication entre tous les acteurs du projet.</strong> Il constitue un facteur clé de succès pour éviter les ambiguïtés dues à des interprétations différentes des concepts manipulés au sein d’un projet de développement d’application.</p>
<p>La mise en place d&#8217;un data dictionary est indissociable de la mise en place d’un glossaire propre au projet. Le data dictionary n’est en fait qu’un subset du glossaire projet.</p>
<p>Plus d&#8217;explications dans mon blogpost précédent&nbsp;: &#8220;<a href="/pourquoi-et-quest-ce-quun-data-dictionnary-1/" target="_blank">Pourquoi et qu’est-ce qu’un data dictionary&nbsp;?</a>&#8221;</p>
<h1>Comment construire un data dictionary ?</h1>
<p>La construction d’un data dictionary peut s’appuyer sur quelques notions simples et normalement bien connues.</p>
<h2>Le diagramme de contexte</h2>
<p>Les premières opportunités pour commencer à alimenter le data dictionary résident dans les flux identifiés via le diagramme de contexte. En effet, les données entrantes et sortantes du système à construire constituent autant d’éléments permettant l’établissement d’un modèle de données métier (business data model). Voir aussi que ces données alimentent indirectement la définition des besoins fonctionnels. En effet, les données doivent être alimentées, consultées et mises à jour. Elles sont aussi l’objet de calculs. Autant de fonctionnalités à prévoir qui ne peuvent être exécutées sans disposer des données (la matière première du métier).</p>
<p>Si le projet couvre plusieurs domaines métiers un diagramme de contexte sera établi par domaine métier.</p>
<h2>Le modèle de données conceptuel ou la définition des entités métiers</h2>
<p>Pour chaque domaine métier, l’étape suivante est d’établir le modèle conceptuel de données (conceptual data model) en précisant pour chaque classe l’ensemble des entités ainsi que les relations entre classes. Idéalement sous la forme d’un diagramme entités-relations en UML. Comme dit précédemment, l’ensemble de ces données permettra d’identifier l’essentiel des fonctionnalités à prévoir (alimentation, consultation, mises à jour, traitements).</p>
<h2>La définition des attributs au sein des entités métiers (modèle de données logique)</h2>
<p>La troisième étape consiste à définir la signification de chaque classe, attribut et association du data model. <strong>Les définitions données dans le data dictionary devront (idéalement) avoir une valeur universelle dans tout le projet.</strong> Si tel n’est pas le cas, et ce n’est pas rare (les significations peuvent varier d’un domaine métier à l’autre), il convient de relever les différentes définitions existantes dans le scope du projet et de les mettre en évidence. Il s’agira alors, dans la mesure du possible, de procéder à une unification. Mais des divergences peuvent devoir rester. Il faut alors impérativement en être conscient et bien entendu les documenter.</p>
<h2>La localisation des données (modèle de données physique)</h2>
<p>La quatrième étape consiste à préciser la localisation physique des données : dans quelle base de données et quelle table se trouvent les classes et attributs.</p>
<p><strong>Cette étape doit aussi s’intéresser à l’existence de dupliquas éventuels et donc faire la différence entre source authentique (la source dans laquelle se trouve la vérité sur la donnée) et les doublons éventuels.</strong></p>
<h2>Les règles métiers</h2>
<p>La cinquième étape s’intéressera à l’identification des contraintes et règles métiers (business rules) sur les entités de données.</p>
<h1>Quelles informations faire figurer dans le data dictionary ?</h1>
<p>Le contenu du data dictionary découle des explications données au point précédent :</p>
<p>Pour chaque domaine métier, le <strong>context diagram</strong> et le modèle conceptuel de données.</p>
<p>Pour chaque classe du <strong>modèle entités- relations</strong> (qui formalise le modèle conceptuel de données), l’ensemble des attributs.</p>
<p>Pour chaque classe et chaque attribut, un <strong>nom</strong> et une <strong>définition</strong> claire (donc non ambigüe et éventuellement multilingue).</p>
<p>L’ensemble des <strong>relations</strong> entre les classes.</p>
<p>Pour chaque relation un nom et une définition claire (non ambigüe et éventuellement multilingue).</p>
<p>Pour chaque classe la liste <strong>des moyens d’alimentation, de mise à jour et de consultation</strong>.</p>
<p>Ceci suppose de recenser :</p>
<ul>
<li>l’ensemble des data flows (qui devraient avoir été recensés lors de l’établissement du diagramme de contexte) – de type batch (flat files ?) ou remote  (web services&nbsp;?);</li>
<li>l’ensemble des écrans (inventaire élaboré au fur et à mesure des itérations sur le projet) – on parlera de services de présentation dans le cadre d’une architecture SOA.</li>
</ul>
<p>Autres informations possibles :</p>
<ul>
<li><strong><em>les limitations de droit d’accès sur les données sensibles</em></strong>. Mais ceci demande d’avoir identifié les rôles métier dans l’organisation. Remarque : ceci montre encore une fois que l’approche par les données permet la découverte organisée de toute une série d’informations de première importance pour l’analyse fonctionnelle.</li>
<li>les <strong><em>tags XML</em></strong> utilisés dans les échanges au format XML si d’application.</li>
</ul>
<h1>Quels moyens pour la mise en place du data dictionary ?</h1>
<p>L’établissement des diagrammes de contexte et des diagrammes de classes sera réalisé avec un outil de dessin de type Visio ou, plus élaboré, Enterprise Architect, Visual Paradigm ou autre.</p>
<p>Les définitions sur les classes / attributs et le recensement des moyens d’accès sera réalisé dans un document Word par domaine métier ou dans un fichier Excel, les deux pouvant être complémentaires.</p>
<p>Les documents seront publiés dans un repository de type CMS. SharePoint par exemple.</p>
<p>Une mindmap comme point d&#8217;entrée peut être utile pour faciliter la navigation entre les domaines métiers et les entités.</p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pourquoi et qu’est-ce qu’un data dictionary&#160;?</title>
		<link>https://www.smalsresearch.be/pourquoi-et-quest-ce-quun-data-dictionnary-1/</link>
		
		<dc:creator><![CDATA[Jean-Pierre Latour]]></dc:creator>
		<pubDate>Tue, 12 Jan 2016 07:00:34 +0000</pubDate>
				<category><![CDATA[Blog post]]></category>
		<category><![CDATA[data dictionary]]></category>
		<category><![CDATA[Information management]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[standards]]></category>
		<guid isPermaLink="false">/?p=9324</guid>

					<description><![CDATA[Dans tout projet de développement informatique la mise en place rapide d’un vocabulaire commun est&#160;: &#8211; un facteur clé de succès (pour éviter les incompréhensions et les ambiguïtés) ; &#8211; un gage de productivité (pour éviter que chacun ne doive se livrer aux mêmes recherches sur le sens des différents concepts intervenant dans le projet) ; &#8211; [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="/pourquoi-et-quest-ce-quun-data-dictionnary-1/data_dictionary_screen/" rel="attachment wp-att-9327"><img loading="lazy" decoding="async" class="alignleft size-medium wp-image-9327" src="/wp-content/uploads/2016/01/data_dictionary_screen-300x246.png" alt="data_dictionary_screen" width="300" height="246" srcset="https://www.smalsresearch.be/wp-content/uploads/2016/01/data_dictionary_screen-300x246.png 300w, https://www.smalsresearch.be/wp-content/uploads/2016/01/data_dictionary_screen-768x629.png 768w, https://www.smalsresearch.be/wp-content/uploads/2016/01/data_dictionary_screen.png 930w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a>Dans tout projet de développement informatique la mise en place rapide d’un <strong>vocabulaire commun</strong> est&nbsp;:</p>
<p>&#8211; un <strong>facteur clé de succès</strong> (pour éviter les incompréhensions et les ambiguïtés) ;</p>
<p>&#8211; un gage de <strong>productivité</strong> (pour éviter que chacun ne doive se livrer aux mêmes recherches sur le sens des différents concepts intervenant dans le projet) ;</p>
<p>&#8211; un gage de <strong>qualité</strong> en uniformisant toute une série de conventions et contraintes à respecter par tous, ceci en vue d&#8217;éviter les interprétations divergentes.</p>
<p>Cette problématique est adressée en construisant un glossaire projet.</p>
<p>Un data dictionary n’est rien d’autre qu’un subset de ce glossaire, dont le scope est centré sur les données, matière première des applications à construire.</p>
<p><strong>Un data dictionary est un repository qui contient des données sur les données</strong> (soit des méta données).</p>
<p>Les données traditionnellement stockées dans un data dictionary sont, sans être exhaustif&nbsp;:</p>
<ul>
<li>les noms des entités de données et les tables correspondantes de la ou des bases de données ;</li>
<li>les attributs des entités et les colonnes correspondantes dans les tables ;</li>
<li>les relations entre entités ;</li>
<li>les dupliquas éventuels (auquel cas il convient de préciser la source maître) ;</li>
<li>la signification métier des données, éventuellement dans plusieurs langues ;</li>
<li>les domaines de valeurs si des contraintes existent de ce point de vue ;</li>
<li>les autres contraintes (telles que les contrôles croisés entre données);</li>
<li>les libellés à utiliser dans les écrans ;</li>
<li>les dispositifs d’alimentation et de consultation ;</li>
<li>les schémas XSD éventuels;</li>
<li>…</li>
</ul>
<p>Il est facile de comprendre que la présence d’un data dictionary aura un effet significatif immédiat sur les équipes de développement. Ainsi, par exemple, les développeurs sauront où aller chercher les données et quels intitulés leur donner dans les écrans. De même, quels contrôles appliquer dans les écrans d’encodage. Le data dictionary peut aller jusqu’à inclure les traductions des libellés dans les différentes langues utilisées par l’organisation.</p>
<p>Faut-il insister sur les heures perdues par tout un chacun lorsqu’une information vitale pour l’exercice de son activité est absente ou difficile à localiser ? Faut-il mettre en évidence les heures perdues à chercher et rechercher une information sortie de sa mémoire en interpellant / distrayant régulièrement des collègues (avec les effets collatéraux sur la productivité de ceux-ci) ou en « fouinant » dans une documentation de qualité médiocre ?</p>
<p>Faut-il aussi insister sur les effets absolument pervers de documentations personnelles construites par les uns et les autres sur de l’information en fait utile à tous ? Elles sont le plus souvent parcellaires, dispersées et soumises à interprétation personnelle, avec bien entendu des risques de désynchronisation par rapport à la dernière vérité et toutes les conséquences qui peuvent en découler en termes de divergence dans les implémentations des différentes parties d&#8217;un même projet.</p>
<p><strong>Beaucoup d’efforts dans le cadre du master data management pourraient sans doute être épargnés si une attention plus grande était portée à l’effort transversal de documentation sur les données.<br />
</strong></p>
<p>Les approches Agile, qui mettent exagérément l’accent sur la réduction du « time to market » au détriment de la qualité et de la documentation ne contribuent malheureusement pas à aller dans ce sens. Avec inévitablement des conséquences sur ce que j’appellerai &#8220;la dette fonctionnelle sur les données&#8221; et les efforts qui devront être fournis pour la corriger. Mieux vaut prévenir que guérir.</p>
<p>Dans le cadre des dispositifs B2B destinés à supporter les échanges entre partenaires, la présence d’un data dictionary est un facteur de succès déterminant. Comment en effet faire adhérer l’ensemble des partenaires à un format canonique sur le bus d’échange si celui-ci n’est pas clairement défini dans un data dictionary. Le <em><a href="https://www.ulb.ac.be/cours/iboydens/e-gouvernement.pdf" target="_blank">glossaire de données</a></em> (c’est le nom que nous lui avons donné) mis en place pour la Sécurité Sociale belge est là pour en témoigner. Vu le nombre d’intervenants impliqués, ce dispositif s’est avéré indispensable pendant la phase de développement et tout autant aujourd’hui dans les opérations de maintenance trimestrielle.</p>
<p>Bien entendu <strong>les efforts liés au data dictionary se doivent d’être « raisonnables », pour garantir le retour sur investissement d’un strict point de vue budgétaire</strong>. Comme pour toute initiative transversale, tout ce qui est fait doit être directement utile aux projets. Cela suppose une attention permanente à la maîtrise de sa complexité pour en garantir la facilité d’utilisation et de maintenance, sans quoi il sera vite abandonné par ceux que l’on veut servir.</p>
<p>J’espère vous avoir convaincu que le data dictionary, et au delà le glossaire d&#8217;enterprise, sont des initiatives transversales amplement justifiées. Elles ont un coût, certes, mais leur retour sur investissement est prouvé.</p>
<p><a href="/comment-construire-un-data-dictionary/" target="_blank">Dans un prochain blog</a> nous nous intéresserons à la manière de construire un data dictionary.</p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Le functional analyst&#160;: un rôle complémentaire au business analyst</title>
		<link>https://www.smalsresearch.be/le-business-analyst-un-role-a-ne-pas-sous-estimer-2eme-partie-le-role-de-functional-analyst/</link>
					<comments>https://www.smalsresearch.be/le-business-analyst-un-role-a-ne-pas-sous-estimer-2eme-partie-le-role-de-functional-analyst/#comments</comments>
		
		<dc:creator><![CDATA[Jean-Pierre Latour]]></dc:creator>
		<pubDate>Wed, 08 Apr 2015 06:00:20 +0000</pubDate>
				<category><![CDATA[Blog post]]></category>
		<category><![CDATA[BPM]]></category>
		<category><![CDATA[business analysis]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[software engineering]]></category>
		<guid isPermaLink="false">/?p=8305</guid>

					<description><![CDATA[Ce blog est la deuxième partie d&#8217;une réflexion sur les raisons d&#8217;être du business analyst, et sur  la distinction à opérer entre les rôles de business analyst et de functional analyst. La première partie se concentrait sur le business analyst. La présente se concentre sur le functional analyst. Nous avons insister sur le fait que [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Ce blog est la deuxième partie d&#8217;une réflexion sur les raisons d&#8217;être du business analyst, et sur  la distinction à opérer entre les rôles de business analyst et de functional analyst. <a href="/le-business-analyst-un-role-a-ne-pas-sous-estimer/" target="_blank">La première partie</a> se concentrait sur le business analyst. La présente se concentre sur le functional analyst.<a href="/wp-content/uploads/2015/04/320px-Use_case_restaurant_model.svg_.png"><img loading="lazy" decoding="async" class="alignleft size-medium wp-image-8309" src="/wp-content/uploads/2015/04/320px-Use_case_restaurant_model.svg_-300x300.png" alt="320px-Use_case_restaurant_model.svg" width="300" height="300" srcset="https://www.smalsresearch.be/wp-content/uploads/2015/04/320px-Use_case_restaurant_model.svg_-300x300.png 300w, https://www.smalsresearch.be/wp-content/uploads/2015/04/320px-Use_case_restaurant_model.svg_-150x150.png 150w, https://www.smalsresearch.be/wp-content/uploads/2015/04/320px-Use_case_restaurant_model.svg_.png 320w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Nous avons <span style="font-family: Arial;">insister sur le fait que <strong>ces deux fonctions doivent être vues comme étant des rôles</strong>, une même personne pouvant, selon la phase du ou des projets en cours, </span>occuper tantôt un de ces deux rôles et tantôt l&#8217;autre. La taille de l&#8217;organisation est le déteminant principal quant à la distribution ou non de ces deux fonctions sur des personnes distinctes .</p>
<p><strong>Par rapport au processus RUP, nous avons situé les interventions du business analyst dans les phases d&#8217;inception et d&#8217;elaboration.</strong></p>
<p>Une fois arrivé le temps de la construction phase, il est temps de changer de casquette (ou de faire intervenir les functional analysts, qui agissent alors dans la continuité des business analysts): place à l&#8217;analyse fonctionnelle, dont le but est d&#8217;entrer dans le détail de ce qui a été fait dans les phases précédentes. Vous l&#8217;aurez compris, la phase précédente correspond à une préoccupation de cadrage / définition soignée du projet pour garantir l&#8217;alignement business case / projet, au juste niveau de détail.</p>
<p>On entre ici, et selon moi seulement ici, dans le vrai pré carré de l&#8217;approche agile, avec la souplesse et la réactivité aux adaptations sur les requirements qui la caractérise.</p>
<p>Il s&#8217;agit maintenant de détailler les use cases, de définir les layouts et contenus d&#8217;écrans, les règles métiers relatives aux calculs (via langage naturel ou tables de décision), les modèles de données logiques, d&#8217;établir les scénarios de test détaillés. Le détail des use cases pourra être élaboré en s&#8217;appuyant sur la notion de user stories (voir Visual Paradigm par exemple), concept propre aux méthodes agile, et qui serviront à alimenter le product backlog selon la méthode Scrum.</p>
<p>C&#8217;est aussi maintenant que sont spécifiés dans le détail tous les éléments réutilisables (services [called] et librairies [embedded]).</p>
<p>A ce stade la collaboration entre le business analyst et l&#8217;enterprise architect est maximale&nbsp;: il s&#8217;agit pour ces deux rôles de définir précisément l&#8217;architecture SOA à mettre en place , en faisant intervenir les notions de taxonomie et de typologie de services (nous n&#8217;entrerons pas dans l&#8217;explication de ces notions ici &#8211; un autre blog peut-être). J&#8217;insiste sur ce point&nbsp;: <strong>la réussite de la mise en oeuvre d&#8217;une architecture orientée service est d&#8217;abord le résultat d&#8217;une collaboration réussie entre business analyst(s) et enterprise architect(s).</strong></p>
<p>Au delà de l&#8217;architecture de services,<strong> business analyst(s) et entreprise architect(s) doivent aussi veiller à établir et à maintenir la cartographie applicative et des données</strong> (relevé des applications et des services, alimentation du data dictionnary, &#8230;).</p>
<p>Point d&#8217;attention&nbsp;: des découvertes effectuées pendant la construction phase peuvent devoir être remontées au niveau des documents produits par la business analysis.</p>
<p>Je voudrais aussi insister dans ce blog sur le parallèle suivant&nbsp;: de la même manière que l&#8217;on attribue aujourd&#8217;hui, de plus en plus, toute l&#8217;importance qu&#8217;elle mérite à la gestion du code (naming and coding conventions, structuration des projets, gestion de version, visualisation des différences entre versions, quality metrics, peer review, &#8230;) il convient d&#8217;en faire autant avec les délivrables de l&#8217;analyse (la recommandation n &#8216;est pas nouvelle&nbsp;!). De ce point de vue, je suis amené à constater que les approches agile tentent à un certain laxisme, pour ne pas dire plus, sur la gestion de la qualité de la documentation.</p>
<p>Les mêmes concepts doivent être d&#8217;application pour l&#8217;analyse&nbsp;: la documentation doit être standardisée, maintenable, pérenne, comprise par ses destinataires, aujourd&#8217;hui et demain aussi. <strong>La documentation du niveau business en particulier est LE pilier du transfert et donc du maintien de la connaissance métier dans l&#8217;organisation. Le passage de témoin entre les générations de collaborateurs l&#8217;exige.</strong></p>
<p>Ceci est d&#8217;autant plus important lors de la présence d&#8217;intervenants extérieurs&nbsp;: trop nombreux sont ceux qui pratiquent le &#8220;freestyle&#8221; (à chacun sa(ses) manière(s) de faire), attitude entretenue par la mode agile, quand cela ne correspond pas à un objectif caché de verrouillage sur les connaissances nécessaires pour être à même de piloter les développements IT et se rendre indispensables sur le long terme dans l&#8217;organisation.</p>
<p><strong>Au sujet du repository pour les documents d&#8217;analyse, les offres cloud permettent de ne pas s&#8217;encombrer avec la gestion technique de ceux-ci</strong>. Mais il convient alors de prendre les précautions nécessaires en matière de sécurité des données, tous aspects confondus. Et sans oublier que placer dans le cloud des savoir-faire métiers qui offrent des avantages concurrentiels n&#8217;est jamais une bonne idée.</p>
<p>Une comparaison pour aider à la compréhension sur la distinction entre les deux rôles de business analyst et de functional analyst&nbsp;: le binôme business analyst / functional analyst est comparable au binôme enterprise architect / application architect. La différence entre ces deux niveaux de fonction relève de l&#8217;importance du scope à balayer et consécutivement du niveau de détail moins élevé attendu des deux premières. <strong>Business analyst et enterprise architect sont les garants de la prise en compte globale et donc, par extension, de l&#8217;optimisation globale et de la réutilisation, sur les données et sur le code.</strong></p>
<p>En conclusion&nbsp;: <strong>la prise en considération des distinctions entre ces deux rôles de business analyst et functional analyst est une assurance pour un équilibre judicieux entre l&#8217;approche plutôt Waterfall (cadrage et préparation) et l&#8217;approche résolument  Agile (réactivité aux changements en cours de développement).</strong></p>
<p>Et dernière réflexion&nbsp;: <strong>lors de l&#8217;élaboration d&#8217;un plan directeur informatique, qui se doit d&#8217;avoir pour tout premier objectif l&#8217;alignement de l&#8217;IT sur le business, les business analysts sont à l&#8217;évidence des fournisseurs d&#8217;information de tout premier plan. Au même titre que les enterprise architects.</strong></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.smalsresearch.be/le-business-analyst-un-role-a-ne-pas-sous-estimer-2eme-partie-le-role-de-functional-analyst/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Le business analyst&#160;: un rôle à ne pas sous-estimer</title>
		<link>https://www.smalsresearch.be/le-business-analyst-un-role-a-ne-pas-sous-estimer/</link>
					<comments>https://www.smalsresearch.be/le-business-analyst-un-role-a-ne-pas-sous-estimer/#comments</comments>
		
		<dc:creator><![CDATA[Jean-Pierre Latour]]></dc:creator>
		<pubDate>Thu, 15 Jan 2015 07:00:50 +0000</pubDate>
				<category><![CDATA[Blog post]]></category>
		<category><![CDATA[BPM]]></category>
		<category><![CDATA[business analysis]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[software engineering]]></category>
		<guid isPermaLink="false">/?p=7750</guid>

					<description><![CDATA[Si la nécessité de la fonction d&#8217;analyste fonctionnel (functional analyst) est universellement reconnue dans la sphère IT, la fonction de business analyst est plus méconnue et la distinction entre les deux fonctions souvent mal comprise. Je vais tenter ici de la clarifier. Bien entendu, dans le cadre d&#8217;un blog, je ne peux que survoler le sujet. La vision dégagée [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="/wp-content/uploads/2014/11/Business-Analysis.gif"><img loading="lazy" decoding="async" class="alignleft size-medium wp-image-7752" src="/wp-content/uploads/2014/11/Business-Analysis-300x165.gif" alt="Business-Analysis" width="300" height="165" /></a></p>
<p>Si la nécessité de la fonction d&#8217;analyste fonctionnel (functional analyst) est universellement reconnue dans la sphère IT, la fonction de business analyst est plus méconnue et la distinction entre les deux fonctions souvent mal comprise.</p>
<p>Je vais tenter ici de la clarifier. Bien entendu, dans le cadre d&#8217;un blog, je ne peux que survoler le sujet.</p>
<p>La vision dégagée ici est celle mise en place dans le cadre d&#8217;une institution de Sécurité Sociale occupée à refondre son système IT et qui a mis en place une équipe de 6 business analysts. Elle est donc propre à cette organisation.  Je suis actuellement responsable du coaching de cette équipe.</p>
<p>Tout d&#8217;abord, il convient d&#8217;insister sur le fait que ces deux fonctions doivent être vues comme étant des rôles, une même personne pouvant, selon la phase du ou des projets en cours, occuper tantôt un de ces deux rôles et tantôt l&#8217;autre. La taille de l&#8217;organisation et donc souvent, par voie de conséquences, l&#8217;étendue des domaines fonctionnels,  est évidemment déterminante quant à la distribution ou non de ces deux fonctions sur des personnes distinctes .</p>
<p>Mais en tous les cas, elles doivent veiller, selon moi, à ne porter qu&#8217;une seule de ces deux casquettes à un moment donné. La raison principale est que les deux rôles ont des publics cibles prioritaires  différents.</p>
<p>Dans le cadre d&#8217;un premier blog sur le sujet, intéressons-nous d&#8217;abord aux responsabilités et aux outils nécessaires au business analyst. Un second blog , à paraître plus tard, explicitera davantage la distinction entre les deux rôles.</p>
<p><strong>Le business analyst est responsable:</strong></p>
<ul>
<li>De travailler sur les business case avec le(s) chef(s) de projet</li>
<li>Une fois un projet identifié, d&#8217;établir le scope document correspondant en collaboration avec le chef de projet désigné</li>
<li>Sur ce point l&#8217;établissement d&#8217;un diagramme de contexte (context diagram) est un must.</li>
<li>D&#8217;identifier et formaliser  les processus métiers à haut niveau de manière transverse, internes et externes (B2B), en ce compris les traitements des exceptions (!)</li>
<li>L&#8217;un de ses outils privilégié sera donc un process modeler, idéalement basé sur le langage de formalisation BPMN (dont l&#8217;utilisation sera limitée aux fonctionnalités de base). Il devra être attentif à bien identifier/distinguer les sous-processus d&#8217;un processus principal, ce afin  de préserver une vue holistique permettant la maîtrise du tout par une approche drill-down (du général vers le détail).</li>
<li>Au sein des processus et sous-processus il identifiera les tâches à accomplir (un processus n&#8217;est jamais qu&#8217;une succession de tâches), soit les high level use cases. L&#8217;identification de ces tâches lui permettra de découvrir la &#8220;matière première&#8221; des traitements  à effectuer, à savoir les données.</li>
<li>Sur les tâches et les données, en tant que business analyst, son rôle se limite à établir une définition high level (comprenez sans excès de détails). Ainsi, il se doit&nbsp;:
<ul>
<li><strong>D&#8217;établir le modèle de données conceptuel</strong></li>
<li>D&#8217;établir un glossaire des termes métiers en vue <strong>de normaliser le vocabulaire employé</strong> lors des communications entre les différents acteurs (je reviens un peu plus loin sur ce point)</li>
<li>D&#8217;identifier les acteurs, rôles et responsabilités (indispensable pour la définition de la sécurité applicative)</li>
<li>D&#8217;identifier les évènements déclencheurs des processus, les données en entrée et en sortie, les règles métiers de transition entre les tâches</li>
</ul>
</li>
<li><strong>De challenger les solutions actuelles </strong>et en particulier de <strong>relever toutes les possibilités de simplification</strong> &#8211; the business analyst must be a no added value killer (lean approach)&nbsp;!<strong><a href="/wp-content/uploads/2014/11/image_gallery.jpg"><img loading="lazy" decoding="async" class="alignleft size-medium wp-image-7755" src="/wp-content/uploads/2014/11/image_gallery-300x198.jpg" alt="image_gallery" width="300" height="198" /></a></strong></li>
<li>De relever les opportunités de réutilisation sur base de la connaissance métier (à l&#8217;inverse des architectes qui le font plutôt sur base de la connaissance des assets techniques).</li>
<li>D&#8217;établir le glossaire métier en vue de <strong>mettre en place un vocabulaire partagé entre tous les acteurs</strong> &#8211; cette activité a toute son importance&nbsp;: à elle seule la non standardisation du vocabulaire employé dans les discussions peut être la cause  d&#8217;opportunités de réutilisation manquées. Et, faut-il le dire, de réunions inefficaces, suite à des incompréhensions dont le plus regrettable est qu&#8217;elles ne sont que rarement avouées (sur ce point, faut-il le dire, les responsables hiérarchiques ont un rôle d&#8217;exemple à jouer).</li>
<li>D&#8217;<strong>alimenter le data dictionnary</strong> (cette activité est indissociable de la précédente) &#8211; le maintien d&#8217;un data dictionnary est à mes yeux une tâche essentielle des business analysts.</li>
<li>De détecter les mesures à même d&#8217;augmenter la qualité et la cohérence des données (unicité).</li>
</ul>
<p>Le business analyst joue un rôle clé en matière d&#8217;élaboration des scénarios de test&nbsp;: il est responsable de vérifier que les UATs (User Acceptance Tests) garantissent le bon alignement de la solution développée sur les besoins exprimés dans la  business analysis.</p>
<p>La formalisation des business process, des use cases et du modèle de données conceptuel requière idéalement un outil de design BPMN/UML accompagné d&#8217;un repository permettant la gestion de version et la centralisation de tous les artefacts produits. L&#8217;outil devra permettre la génération de documents Word sur base de templates customizables. Point d&#8217;attention&nbsp;: la facilité de mise en oeuvre de ces templates est fort variable d&#8217;un outil à l&#8217;autre &#8211; il  s&#8217;agit là d&#8217;un différentiateur important en termes de  productivité et d&#8217;efficacité dans la communication avec les autres parties.</p>
<p><strong>Le business analyst doit être capable d&#8217;élaborer </strong><strong>tout à la fois</strong><strong>:</strong></p>
<ul>
<li><strong>D&#8217;une part, les documents nécessaires à la validation par les expert métiers&nbsp;:</strong> mind maps (très utiles à la capture et la première organisation des idées), documents Word agrémentés de schémas, présentations PowerPoint,  tableaux Excels, &#8230; bref une démarche que je qualifierai de &#8220;low tech&#8221;;</li>
<li><strong>D&#8217;autre part, les documents servant à préparer le travail du functional analyst </strong>&#8211; ceux-ci font un usage plus important du formalisme UML &#8211; la démarche sera ici de type &#8220;mid tech&#8221;.</li>
</ul>
<p>Il convient d&#8217;insister sur la nécessité des échanges fréquents entre les business analysts travaillant sur des domaines fonctionnels différents. Les optimisations doivent en effet être globales et non pas locales aux domaines fonctionnels. Un rôle de coordinateur est à prévoir (espérer ne suffit pas &#8211; il faut provoquer ce que l&#8217;on veut obtenir).</p>
<p>Le business analyst se doit encore d&#8217;être&nbsp;:</p>
<ul>
<li>L&#8217;aiguillon du business pour entretenir une démarche de progrès permanent dans la maintenance des processus métier et des modèles de données ;</li>
<li>L&#8217;avocat du business vi-à-vis de l&#8217;IT, par l&#8217;intermédiaire de l&#8217;enterprise architect et du(des) chef(s) de projet(s).</li>
</ul>
<p>Enfin, <strong>le business analyst doit être le bibliothécaire de la connaissance métier</strong>&nbsp;: il est responsable de la qualité de la documentation métier et de sa bonne gestion. Il veillera donc à la fois à la standardisation et à la qualité des documents d&#8217;analyse, de même qu&#8217;à la standardisation et à la qualité de son organisation au sein d&#8217;un (ou de plusieurs) repository. La règle en or&nbsp;: un artefact quel qu&#8217;il soit doit être facilement localisable et interprétable par quiconque dans l&#8217;organisation.</p>
<p>Dans le cadre du processus RUP (que je me refuse personnellement à oublier malgré une forme de déferlante au tout à Scrum &#8211; les deux sont en fait complémentaires), le business analyst intervient donc en amont, sur les phases d&#8217;inception et d&#8217;elaboration.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.smalsresearch.be/le-business-analyst-un-role-a-ne-pas-sous-estimer/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>SAAS et monitoring&#160;: un besoin de cloud brokering&#160;?</title>
		<link>https://www.smalsresearch.be/saas-et-monitoring-cloud-brokering/</link>
					<comments>https://www.smalsresearch.be/saas-et-monitoring-cloud-brokering/#comments</comments>
		
		<dc:creator><![CDATA[Jean-Pierre Latour]]></dc:creator>
		<pubDate>Mon, 05 May 2014 06:00:57 +0000</pubDate>
				<category><![CDATA[Blog post]]></category>
		<category><![CDATA[cloud computing]]></category>
		<guid isPermaLink="false">/?p=6787</guid>

					<description><![CDATA[La récente mise en place d&#8217;une solution en mode SAAS, si elle s&#8217;est révélée être un succès, nous a aussi appris un écueil à éviter: partir du principe que le fait de confier à un fournisseur, via le mode SAAS, la gestion de l&#8217;infrastructure et du logiciel peut nous dispenser de monitorer par nous-mêmes la [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="/wp-content/uploads/2014/12/images.jpg"><img loading="lazy" decoding="async" class="alignleft size-full wp-image-7140" src="/wp-content/uploads/2014/12/images.jpg" alt="images" width="276" height="183" /></a>La récente mise en place d&#8217;une solution en mode SAAS, si elle s&#8217;est révélée être un succès, nous a aussi appris un écueil à éviter: partir du principe que le fait de confier à un fournisseur, via le mode SAAS, la gestion de l&#8217;infrastructure et du logiciel peut nous dispenser de monitorer par nous-mêmes la solution.</p>
<p>La qualité constatée du monitoring opéré par le fournisseur et le projet impliquant par ailleurs de nombreux intervenants, et nécessitant des intégrations avec d&#8217;autres systèmes, la dilution des responsabilités résultante nous a obligé à reprendre en mains, en tant que maître d&#8217;œuvre, la construction de la solution de monitoring ainsi que son exploitation.</p>
<p>Nous avions initialement mis en place une solution commerciale indépendante, elle-même en mode SAAS, pour monitorer les urls de base, mais l&#8217;expérience nous a montré (si besoin était) que ceci est largement insuffisant. Ainsi, pour donner deux exemples parmi d&#8217;autres, un problème sur la base de données et un autre relatif à un tiers n’ont pu être mis en évidence &#8230; autrement que par les utilisateurs.</p>
<p>Une solution de monitoring a donc finalement dû être développée et opérée en interne pour être à même de détecter (tous&nbsp;?) les problèmes potentiels vus du point de vue de l&#8217;utilisateur final.</p>
<p>Bref, en synthèse, il s&#8217;est agi d&#8217;éviter un manque de couverture en termes de monitoring par le fournisseur SAAS, qui aura naturellement tendance à limiter son intervention en la matière au seul bon fonctionnement de sa plate-forme vu du point de vue trop exclusif de l&#8217;infrastructure sous-jacente (saturation du processeur, capacité disque, opérations de lecture /écriture…), sans se préoccuper suffisamment de tout l&#8217;ensemble des problèmes pouvant affecter l&#8217;utilisateur final et du bon fonctionnement avec les applications partenaires.</p>
<p><strong>Notre conclusion: en mode SAAS, il faut redoubler de vigilance non seulement sur la sécurité, mais aussi sur le monitoring, point d&#8217;attention sans doute trop peu abordé dans le discours ambiant</strong>.</p>
<p><strong>C&#8217;est en particulier vrai en cas d&#8217;intégration avec d&#8217;autres systèmes, sujet particulièrement brûlant en cas de changement de version</strong> (la bonne gestion des dépendances est alors un enjeu majeur).</p>
<p>Ce sujet du cloud monitoring nous amène aussi sur tout ce qui touche, dans une vue plus large, à l’importance des activités dites de cloud brokering (ou cloud brokerage).</p>
<p>Le cloud brokering couvre les activités qui vont permettre de faire interagir entre eux différents clouds et d’aider à la gestion de l’ensemble.</p>
<p>Il s’agit, sur un ensemble de solutions IaaS, PaaS et SaaS, distribuées dans des clouds privés ou publics, de mettre en place une solution unifiée permettant, par exemple, des fonctionnalités de :</p>
<ul>
<li>Service catalog</li>
<li>Integration (entre solutions cloud et/ou avec le backend)</li>
<li>Provisioning</li>
<li>Security</li>
<li>Single sign on</li>
<li>Administration</li>
<li>Monitoring</li>
<li>Reporting</li>
<li>Support</li>
<li>Billing</li>
<li>…</li>
</ul>
<p><a href="/wp-content/uploads/2014/12/cloud-broker.png"><img loading="lazy" decoding="async" class="alignleft size-medium wp-image-7141" src="/wp-content/uploads/2014/12/cloud-broker-300x220.png" alt="cloud-broker" width="300" height="220" srcset="https://www.smalsresearch.be/wp-content/uploads/2014/12/cloud-broker-300x220.png 300w, https://www.smalsresearch.be/wp-content/uploads/2014/12/cloud-broker.png 557w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a>Ces activités sont  souvent prises en charge par un fournisseur externe qui s&#8217;est spécialisé dans le cloud brokerage &#8211; un Cloud Service Broker (CSB).</p>
<p>Vous l’aurez compris, il s’agit ici de porter dans le cloud des activités autrefois confinées intramuros.</p>
<p><strong>Toute organisation ayant compris que :</strong></p>
<ul>
<li><strong>les TICs constituent aujourd’hui un levier indispensable à leur développement, sinon même à leur survie ;</strong></li>
<li><strong>que le cloud peut leur permettre de réduire leurs coûts, se doivent&nbsp;: </strong>
<ul>
<li><strong>soit de développer des compétences dans le domaine du cloud brokering ;</strong></li>
<li><strong>soit de s’assurer les services d’un prestataire extérieur soigneusement choisi (pour rappel, un Cloud Service Broker &#8211; CSB), eu égard aux enjeux dont il est question ici (seulement mentionner la sécurité devrait suffire à vous convaincre).</strong></li>
</ul>
</li>
</ul>
<p>Ceci m’amène également à la prévision suivante : il est à craindre que les silos intramuros finissent sur le long terme par trouver leurs équivalents dans le cloud.</p>
<p>Cela me semble d’autant plus vraisemblable que, légitimement, les activités métier voudront exploiter, si la décision est prise d’externaliser, les meilleurs solutions en mode SaaS, la solution 1  étant dans le cloud A et la solution 2 dans le cloud B. Le cloud A pouvant être privé parce que la solution 1 aura peut-être fait l’objet d’une acquisition par voie de licence alors que la solution B reste louée.</p>
<p>Un conseil à partir de cette dernière remarque : prévoyer dans vos futurs cahiers des charges, chaque fois que possible, les deux modes d’acquisition location (SaaS) et acquisition (licence) . C’est en particulier vrai lorsque le nombre d’utilisateurs croît dans le temps. Au-delà d’un certain seuil il peut devenir plus intéressant de basculer vers le mode acquisition. A ce moment vous pourrez déplacer l’application vers votre cloud privé.</p>
<p><strong>Ce risque sur les silos dans le cloud est une raison supplémentaire de s’intéresser aux solutions de cloud brokering, en vue d’éviter les îlots fonctionnels du passé, les sous optimisations globales résultantes au niveau du métier , et les coûts de maintenance et d’exploitation extravagants au niveau de l’IT.</strong></p>
<p>Indiscutablement, les enterprise architects doivent investir sur ce sujet.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.smalsresearch.be/saas-et-monitoring-cloud-brokering/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>L&#8217;impératif de collaboration ( The collaboration imperative)</title>
		<link>https://www.smalsresearch.be/limperatif-de-collaboration-the-collaboration-imperative/</link>
		
		<dc:creator><![CDATA[Jean-Pierre Latour]]></dc:creator>
		<pubDate>Mon, 14 Oct 2013 06:00:12 +0000</pubDate>
				<category><![CDATA[Blog post]]></category>
		<category><![CDATA[Productivity]]></category>
		<guid isPermaLink="false">/?p=6028</guid>

					<description><![CDATA[Le monde de plus en plus interconnecté dans lequel nous vivons aujourd&#8217;hui est tout à la fois source de promesses et de menaces pour chaque entreprise. Source de promesses, car les moyens disponibles aujourd&#8217;hui permettent d&#8217;améliorer notre réactivite et notre efficacité&#160;: Internet est un catalyseur phénoménal de l&#8217;intelligence collective et permet de trouver rapidement de [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="/wp-content/uploads/2013/08/collab.jpg"><img loading="lazy" decoding="async" class="alignleft size-full wp-image-6056" src="/wp-content/uploads/2013/08/collab.jpg" alt="collab" width="275" height="184" /></a>Le monde de plus en plus interconnecté dans lequel nous vivons aujourd&#8217;hui est tout à la fois source de promesses et de menaces pour chaque entreprise.</p>
<p>Source de promesses, car les moyens disponibles aujourd&#8217;hui permettent d&#8217;améliorer notre réactivite et notre efficacité&nbsp;: Internet est un catalyseur phénoménal de l&#8217;intelligence collective et permet de trouver rapidement de nouveaux partenaires, les TIC sous toutes leurs formes  permettent en permanence l&#8217;accès à l&#8217;information de toutes natures, facilite le travail collaboratif et aident à  réduire les temps de réaction en cas de crise ou d&#8217;accidents, etc.</p>
<p>Source de menaces, car<strong> les idées et les recettes  s&#8217;échangent de plus en plus vite</strong>. La concurrence peut en effet surgir très vite de n&#8217;importe où, à n&#8217;importe quel moment, et de plus en plus souvent sans signes annonciateurs facilement détectables.</p>
<p>Il ne fait plus de doutes que les entreprises triomphantes de demain seront celles qui sauront trouver et exploiter rapidement les meilleures idées. &#8220;Pas nouveau&#8221; me direz-vous. Certes, mais l&#8217;important est de percevoir que c&#8217;est de plus en plus vrai.</p>
<p>Cet impératif exige pour les entreprises d&#8217;améliorer sans cesse la collaboration entre tous les acteurs de son domaine, qu&#8217;ils soient internes ou externes, et souvent aussi complètement inconnus à un moment donné.</p>
<p><strong>La conviction suivante émerge et se renforce rapidement&nbsp;: la première des priorités n&#8217;est plus la course à la productivité ou à l&#8217;innovation. La première des priorités est aujourd&#8217;hui à la collaboration, les deux autres, évidemment aussi importantes, en étant des retombées naturelles.</strong> Il s&#8217;agit en fait de changer de point de vue.</p>
<p>Augmenter la collaboration demande une révision sérieuse de plusieurs dimensions dans l&#8217;entreprise.</p>
<p><strong>Style de management, culture, organisation/processus, incitants et outils doivent être revisités.</strong></p>
<p>Quelques réflexions suivent sur les différentes dimensions.</p>
<p>Sur le plan du <strong>management</strong> il faut accepter plus de décentralisation. Mais chaque opportunité de décentralisation fera l&#8217;objet d&#8217;une décision au cas par cas.<br />
Le management doit communiquer clairement&nbsp;:<br />
&#8211; les objectifs et critères de décision &#8211; il s&#8217;agit d&#8217;un facteur essentiel à une décentralisation réussie (l&#8217;autonomie accordée doit absolument être cadrée &#8211; la confiance ne peut évidemment exclure un certain niveau de contrôle);<br />
&#8211; les raisonnements ayant conduit aux décisions &#8211; il s&#8217;agit d&#8217;un facteur essentiel à l&#8217;acceptation par les équipes et à leur résilience (frustrations mieux gérées).</p>
<p>Sur le plan de la<strong> culture</strong> il faut accentuer&nbsp;:<br />
&#8211; l&#8217;importance accordée aux objectifs collectifs et donc accentuer le fonctionnement transversal;<br />
&#8211; les signes de reconnaissance individuels et collectifs.</p>
<p>Sur le plan de l&#8217;<strong>organisation </strong>et des<strong> processus,</strong> il faut mieux partager les ressources et donc lutter contre le travers possessif de nombreux cadres intermédiaires.<br />
Le partage réussi des ressources demande des moyens uniformisés, en particulier un vocabulaire commun, indispensable pour éviter le &#8220;dialogue de sourds&#8221; lors de la mise sur pied d&#8217;équipes ad hoc, construites à partir de ressources n&#8217;ayant peut-être jamais travaillé ensemble.<br />
Encourager la vraie collaboration c&#8217;est aussi indirectement encourager la créativité, donc injecter de l&#8217;entropie supplémentaire dans le système, donc du chaos et à fortiori des risques supplémentaires.<br />
Ceci doit être contrebalancé par des processus décisionnels exhaustifs, une attribution claire des responsabilités et une gestion des risques résolument proactive. <span style="text-decoration: underline;">Le dernier point est absolument fondamental et sera utile à la motivation des refus</span>.</p>
<p>Les incitants doivent être tels qu&#8217;ils incitent à la collaboration plutôt qu&#8217;à la compétition. Une révision des méthodes d&#8217;évaluation, souvent trop orientées vers les objectifs individuels, est nécessaire.</p>
<p>Du côté des <strong>outils</strong>, il faudra introduire de nouveaux moyens comme, à titre d&#8217;exemples, une plate-forme d&#8217;idea management, un média social, une plate-forme de gestion de processus, le cloud computing pour une mise à disposition rapide des outils IT et pour renforcer les possibilités de collaboration dans les équipes géographiquement fortement distribuées et/ou à caractère (très) temporaire.</p>
<p>Toujours dans la dimension outils, une démarche architecture d&#8217;entreprise (métier et technique), permettra de <span style="text-decoration: underline;">garantir un cadre global cohérent</span> et sera, comme la gestion des risques, utiles à motiver les refus. Elle contribuera aussi au vocabulaire commun et constituera un vecteur de communication devenu indispensable entre le métier et l&#8217;IT.</p>
<p>La nature humaine étant ce qu&#8217;elle est, tous les collaborateurs n&#8217;adhèreront évidemment pas à ce changement de culture. Ce n&#8217;est pas nouveau. Qu&#8217;importe.  L&#8217;enjeu est bien trop important.</p>
<p>Ces idées sont-elles applicables dans le secteur public? Ce serait faire injure à vos collaborateurs que de vouloir ne pas le croire. <span style="text-decoration: underline;">Si les enjeux d&#8217;innovation sont moindres , les enjeux d&#8217;amélioration sont quant à eux tout aussi importants.</span> Ainsi, imaginez par exemple ce que peuvent vous apporter vos collaborateurs, dans le cadre d&#8217;une politique volontariste de simplification administrative au bénéfice des usagers.</p>
<p>Ce blog pour introduire une lecture fort intéressante&nbsp;: http://thecollaborationimperative.com/the-book/</p>
<p>Merci à ses auteurs &#8230; et bonne lecture.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>A propos de l&#8217;antagonisme agilité / complexité</title>
		<link>https://www.smalsresearch.be/le-paradoxe-de-lagilitite-et-de-la-complexite/</link>
		
		<dc:creator><![CDATA[Jean-Pierre Latour]]></dc:creator>
		<pubDate>Tue, 16 Jul 2013 06:00:31 +0000</pubDate>
				<category><![CDATA[Blog post]]></category>
		<category><![CDATA[agility]]></category>
		<category><![CDATA[cost cutting]]></category>
		<category><![CDATA[data center]]></category>
		<category><![CDATA[Managing IT costs]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[standards]]></category>
		<guid isPermaLink="false">/?p=5628</guid>

					<description><![CDATA[La demande récurrente pour la réduction du &#8220;time-to-market&#8221; et pour davantage d&#8217;agilité dans le développement informatique est aujourd&#8217;hui confrontée à une sérieuse difficulté. En effet, la complexité, tout autant que la variété et la vitesse d&#8217;évolution des solutions mises en oeuvre demandent régulièrement la mise en place d&#8217;équipes spécialisées. Parce que leur maîtrise, j&#8217;entends par [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="/wp-content/uploads/2014/02/agilité.jpg" rel="attachment wp-att-5648"><img loading="lazy" decoding="async" width="189" height="267" class="alignleft  wp-image-5648" alt="agilité" src="/wp-content/uploads/2014/02/agilité.jpg" /></a><img loading="lazy" decoding="async" class="alignright size-full wp-image-5649" alt="chaine" src="/wp-content/uploads/2013/07/chaine.jpg" width="207" height="138" />La demande récurrente pour la réduction du &#8220;time-to-market&#8221; et pour davantage d&#8217;agilité dans le développement informatique est aujourd&#8217;hui confrontée à une sérieuse difficulté.</p>
<p>En effet, la complexité, tout autant que la variété et la vitesse d&#8217;évolution des solutions mises en oeuvre demandent régulièrement la mise en place d&#8217;équipes spécialisées. Parce que leur maîtrise, j&#8217;entends par là la capacité à une mise en oeuvre réellement efficiente, est devenue quasiment impossible au sein de chaque équipe qui doit pouvoir en faire usage.</p>
<p>Résultat immédiat&nbsp;: une<strong> multiplication des équipes de support</strong> (dites quelquefois transversales).</p>
<p>Conséquences&nbsp;: une dépendance accrue des équipes de projet vis-à-vis de ces équipes de support, en profondeur (elles sont les seules à savoir, ou à pouvoir [questions d&#8217;autorisations] intervenir sur les technologies dont elles sont dépositaires), et en largeur (elles se multiplient comme déjà dit).<span id="more-5628"></span></p>
<p>Inutile de dire que la <strong>multiplication des dépendances</strong> a pour corrolaire immédiat que&nbsp;:<br />
&#8211; l&#8217;équipe de projet est de plus en plus souvent dans l&#8217;<strong>attente d&#8217;un délivrable</strong> (un serveur, une base de données, un jeu de données de test, un service au niveau d&#8217;un application server, un pipe sur  l&#8217;ESB, un processus sur le  BPM, le déploiement d&#8217;un outil, une configuration quelconque, &#8230;) ;<br />
&#8211; l&#8217;intégration devient un cauchemar en termes organisationnels (<strong>il manque toujours quelque chose ou quelqu&#8217;un</strong>);<br />
avec les conséquences qui s&#8217;ensuivent en termes de délai et de coûts, en développement proprement dit et souvent tout autant en maintenance.</p>
<p>Je vois encore deux autres facteurs d&#8217;inquiétude&nbsp;:<br />
&#8211; les équipes de support sont naturellement moins impliquées que les équipes de projet sur la question de l&#8217;orientation sur le résulat pour le client (une forme d&#8217;application du principe &#8220;[plus] loin des yeux [plus] loin du coeur&#8221;) &#8211; osons le dire en des termes appropriés, la vie dans les équipes de support est souvent moins stressante que dans les équipes de projet;<br />
&#8211; la lassitude guette les équipes de projet, avec son risque apparenté, le désengagement.</p>
<p>Et donc je n&#8217;hésite plus à poser la question suivante&nbsp;: ne faudrait-il pas en revenir, pour partie en tous les cas, à des<strong> feature teams</strong>, soit des équipes dotées de tous les moyens nécessaires à l&#8217;accomplissement de leurs missions au bénéfice de leurs clients directs?</p>
<p>La définition suivante (voir www.featureteamprimer.org) va dans ce sens, avec les réserves voulues sur les défauts cachés du développement agile poussé à l&#8217;extrême.</p>
<table width="100%" border="0" cellspacing="0" cellpadding="3" align="center">
<tbody>
<tr>
<td bgcolor="#a7f5b0"><strong>A feature team “is a long-lived, cross-functional, cross-component team that completes many end-to-end customer features</strong>—one by one.” Feature teams are an essential element to scaling up agile development. Without a feature team structure (but instead, a component team organization—based on code ownership, combined with a single-function organization—analyst group, programmer group, testing group, &#8230;) your organization is likely to create numerous wastes and sub-optimizations that lead to a sequential (waterfall, &#8230;) development cycle.sans oublier &#8230;Feature teams structure resolves many of these wastes &#8230; but also introduces change and challenges.</td>
</tr>
</tbody>
</table>
<p>Le but de ce blog n&#8217;est évidemment pas de traiter le sujet en profondeur. Je me contenterai donc de quelques premières et rapides réflexions sur le sujet, à travers l&#8217;exercice des &#8220;dix principes&#8221;.</p>
<p>1. La standardisation garde du sens sur les outils stratégiques.<br />
2. La standardisation doit être plus qu&#8217;intramuros. Elle doit aussi s&#8217;appliquer entre partenaires &#8220;privilégiés&#8221;.<br />
3. A contrario, la standardisation ne doit pas être  dogmatique sur les outils non stratégiques pour tous les feature teams, sauf à réduire les coûts de licences (crise oblige). Sur le plan tactique, des zones de liberté riment avec agilité /efficacité (l&#8217;histoire militaire, par exemple, l&#8217;a amplement démontré).<br />
4. La standardisation est un must au sein d&#8217;un feature team.<br />
5. Sur les outils stratégiques chaque équipe doit posséder les compétences voulues. Une stricte dépendance vis-à-vis des équipes de support est à proscrire.<br />
Dit autrement, les équipes de support doivent être et rester des équipes de support. Elles ne doivent pas nourrir les dépendances.<br />
6. Les équipes de support n&#8217;ont pas nécessairement vocation à devenir &#8220;éternelles&#8221;. Un outil stratégique devenu banal ne mérite peut-être plus une équipe de support. Il faut savoir &#8220;nettoyer&#8221;.<br />
Une équipe de support dans la durée n&#8217;a peut-être de sens que sur les technologies rarement utilisées par les équipes de projet, et pour lesquelles le maintien de la maîtrise dans la durée s&#8217;avère impossible par manque de pratique.<br />
7. L&#8217;introduction d&#8217;un nouvel outil stratégique se fait via une équipe dédiée. Dans un premier temps, l&#8217;équipe de support reste seul maître de la nouvelle technologie, avec la volonté de diffuser  rapidement les compétences vers les équipes de projet utilisatrices en vue de les rendre indépendantes.<br />
8. Les &#8220;principes&#8221; évoqués ici sont valables tant pour l&#8217;infrastructure que pour le développement.<br />
9. Le management doit s&#8217;intéresser aux approches &#8220;converged infrastructure&#8221;, en vue de réduire le besoin en spécialistes pointus induits par les architectures (trop) distribuées et faciliter la mise à disposition et la redistribution des ressources.<br />
10. La mutualisation des moyens entre partenaires doit être encouragée. Elle contribuera à réduire les dépendances de nature technique.</p>
<p>En espérant que ces quelques lignes contribueront à alimenter votre réflexion sur les problématiques de la standardisation et de l&#8217;agilité.</p>
<p>Une lecture conseillée sur le sujet (concise et claire)&nbsp;: https://s3-eu-west-1.amazonaws.com/geantsduweb.com/uploads/download/downloadable/33/octo-gdw-feature</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQlite&#160;: une approche  SQL lightweight</title>
		<link>https://www.smalsresearch.be/sqlite-une-approche-sql-lightweight/</link>
		
		<dc:creator><![CDATA[Jean-Pierre Latour]]></dc:creator>
		<pubDate>Mon, 27 May 2013 08:00:52 +0000</pubDate>
				<category><![CDATA[Blog post]]></category>
		<category><![CDATA[Information management]]></category>
		<category><![CDATA[Open Source]]></category>
		<guid isPermaLink="false">/?p=5585</guid>

					<description><![CDATA[Le besoin de gestion de données paramètres en local à une application est encore le plus souvent satisfait par la voie de fichiers (.txt, .csv, .ini,.xml,&#8230;) , avec les limitations afférentes. SQLite offre la possibilité de bénéficier, sans installation (sauf à copier un fichier .dll [sous Windows]), de l&#8217;essentiel des fonctionnalités d&#8217;une base de données, [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Le besoin de gestion de données paramètres en local à une application est encore le plus souvent satisfait par la voie de fichiers (.txt, .csv, .ini,.xml,&#8230;) , avec les limitations afférentes. SQLite offre la possibilité de bénéficier, sans installation (sauf à copier un fichier .dll [sous Windows]), de l&#8217;essentiel des fonctionnalités d&#8217;une base de données, et peut donc avantageusement remplacer l&#8217;approche fichiers.<br />
En voici une courte présentation.</p>
<p><strong>SQLite</strong> est une <strong>base de données relationnelle livrée sous la forme d’une librairie</strong>. A la différence des bases de données traditionnelles, SQLite ne s’exécute pas en tant que processus standalone, appelé par les applications clientes, mais est liée à et donc partie intégrale (embedded) d’une application cliente. L’application cliente interagit avec SQLite par le biais de simples appels de fonctions, ce qui contribue à réduire la latence lors des accès aux données &#8211; Nous sommes ici en single et non en inter-process communication.</p>
<p>SQlite est <strong>ACID compliant</strong> et supporte les ordres <strong>SQL-92</strong> standards fondamentaux, en oubliant volontairement les ordres « ésotériques » peu utilisés par les développeurs. Ceci va dans le sens de la philosophie générale  du produit dont les maîtres mots sont, dans l’ordre : robustesse, administration simple, faible occupation-mémoire, vitesse et  fonctionnalités. Dans ses premières versions elle supportait les accès concurrents en lecture mais pas en écriture. Depuis la version 3.7 cette restriction peut être levée en activant le <strong>WAL </strong>(Write-Ahead Logging &#8211;  mécanisme de gestion des modifications qui écrit d’abord dans un fichier de log avant de les appliquer sur la base de données).</p>
<p>Etant donné sa compacité (+/- 350 KB – dépendant de la plate-forme et du mode de compilation [32 ou 64 bits]) et sa philosophie <strong>« zero administration »,</strong> SQLite est très largement utilisée dans les<strong> mobile devices</strong> et les <strong>systèmes embarqués</strong>, limités par la mémoire et la puissance du processeur.</p>
<p>SQLite est bien appropriée pour les phases de développement et de test, ou pour des démonstrations, là où installer une vraie base client/serveur peut s’avérer finalement trop lourd et compliqué par rapport aux objectifs poursuivis.</p>
<p>SQLite est bien appropriée pour les phases de développement et de test, ou pour des démonstrations, là où installer une vraie base client/serveur peut s’avérer finalement trop lourd et compliqué par rapport aux objectifs poursuivis.</p>
<p>Des outils gratuits sont disponibles pour visualiser et gérer la base de données. Citons en particulier le plugin <strong>Mozilla SQLite Manager</strong> et <strong>SQLite Personal Manager</strong>.</p>
<p>Un soin très poussé est apporté au testing du produit : environ 60% du code écrit pour SQLite existe seulement pour raison de test. Le plus gros de ce code de test est écrit en <a href="https://www.tcl.tk/" target="_blank">Tcl</a>. SQLite est réputé « <strong>100 % branch test coverage</strong> ».</p>
<p>De même, malgré son caractère open source, <strong>SQLite est très contrôlé en matière de contribution</strong>. Il faut savoir que beaucoup d’acteurs utilise SQLite sans publiquement le dire. Les avocats de ces éditeurs veulent évidemment éviter que ne surviennent des problèmes de non-appartenance du code.</p>
<p>SQLite fait maintenant partie de PHP5, ainsi que de Mac OS X.</p>
<p>SQLite offre des APIs pour de nombreux langages : Basic, C, C++, Tcl, Java, Lua, PHP, Python, Javascript, R, REBOL, …</p>
<p>Une caractéristique importante du produit est le <b>variable length record</b>. Alors que la plupart des RDBMs alloue de l’espace disque en fonction de la longueur déclarée des données stockées, SQLite utilise l’espace strictement nécessaire. Ceci offre des avantages immédiats en termes de compacité  et de performance, étant donné que moins de données sont déplacées du et vers le disque. Autre avantage : le <strong>manifest typing</strong> plutôt que le static typing (en particulier intéressant si vous utiliser un langage qui supporte le type Variant – mais cette liberté présente ses dangers).</p>
<p>La principale <strong>limitation</strong> de SQLite porte <strong>sur la commande ALTER</strong>. Elle permet  juste d’ajouter une colonne à la fin d’une table ou d&#8217;en changer le nom. Des opérations plus complexes sur la structure d’une table nécessite de la récréer (voir par exemple le code SQL ci-après).</p>
<p>BEGIN TRANSACTION;<br />
CREATE TEMPORARY TABLE t1_backup(a,b);<br />
INSERT INTO t1_backup SELECT a,b FROM t1;<br />
DROP TABLE t1;<br />
CREATE TABLE t1(a,b);<br />
INSERT INTO t1 SELECT a,b FROM t1_backup;<br />
DROP TABLE t1_backup;<br />
COMMIT;</p>
<p align="left">Signalons enfin l’existence de l’exécutable SQLite3.exe qui permet l’interaction avec la db en ligne de commande.</p>
<p align="left">Ci-dessous une copie écran du plugin Mozilla</p>
<p><a href="/?attachment_id=5597" rel="attachment wp-att-5597"><img loading="lazy" decoding="async" class="alignleft size-large wp-image-5597" alt="3" src="/wp-content/uploads/2013/05/3-1024x789.png" width="620" height="477" srcset="https://www.smalsresearch.be/wp-content/uploads/2013/05/3-1024x789.png 1024w, https://www.smalsresearch.be/wp-content/uploads/2013/05/3-768x592.png 768w, https://www.smalsresearch.be/wp-content/uploads/2013/05/3-300x231.png 300w, https://www.smalsresearch.be/wp-content/uploads/2013/05/3.png 1279w" sizes="auto, (max-width: 620px) 100vw, 620px" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Nous avons utilisé SQLite dans le cadre d’un système stand-alone de monitoring de sites web et d’exploitation des logs associés, développé avec le langage de scripting AutoIT (voir un autre quick review),  pour le stockage moyen terme et pour bénéficier des possibilités de filtrage et de tri inhérents à une base de données. Egalement pour pouvoir profiter de certaines fonctions SQL au sein de nos développements.</p>
<p>Nous avons donc pu amplement vérifier la compacité, la fiabilité, la performance et la simplicité de gestion de SQLite, dans ses deux versions 32 et 64 bits. Nos développements sont restés limités à la plate-forme Windows.</p>
<p>Nos tests très approfondis ont démontré la facilité de prise en mains de SQLite, son orientation zero administration, sa fiabilité et sa performance.</p>
<p>La version originale de l’outil existe depuis 2001. Sa déjà longue histoire et un usage répandu (mais le plus souvent discret) lui confère des gages de pérennité.</p>
<p><strong>Conclusion&nbsp;:</strong><br />
SQlite est un choix judicieux comme alternative ou en complément d’un système de gestion de fichiers, par exemple pour gérer les paramètres d’une application, voire pour mettre en place un système de cache en local.<br />
Sa réputation n’est plus à faire comme solution de choix pour les mobile devices et les systèmes embarqués.<br />
Couplée au plugin Mozilla SQLite Manager ou à SQLite Expert Personal, elle permet de disposer d’une alternative complète et gratuite aux RDBMS client-serveur dans les cas de figure où ceux-ci ne s’imposent pas. A retenir pour les systèmes stand-alone et/ou mettant l’accent sur de faibles coûts de support.</p>
<p><strong>Autre cas d&#8217;application&nbsp;: mettre rapidement en place des bases de données  de test dans l&#8217;environnement de développement, en éliminant les temps d&#8217;attente relatifs aux équipes admin dbs</strong> (ou plus selon l&#8217;organisation)<strong>.</strong></p>
<p>SQLite est une solution entièrement gratuite.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQLite &#8211; Software Library For RDBMS</title>
		<link>https://www.smalsresearch.be/sqlite-software-library-for-rdbms/</link>
		
		<dc:creator><![CDATA[Jean-Pierre Latour]]></dc:creator>
		<pubDate>Mon, 25 Mar 2013 12:10:42 +0000</pubDate>
				<category><![CDATA[Quick reviews]]></category>
		<guid isPermaLink="false">https://www.smalsresearch.be/sqlite-software-library-for-rdbms/</guid>

					<description><![CDATA[SQLite est une base de données relationnelle livrée sous la forme d’une librairie. SQlite est un choix judicieux comme alternative ou en complément d’un système de gestion de fichiers, par exemple pour gérer les paramètres d’une application, voire pour mettre en place un système de cache en local. Sa réputation n’est plus à faire comme [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>SQLite est une base de données relationnelle livrée sous la forme d’une librairie.
SQlite est un choix judicieux comme alternative ou en complément d’un système de gestion de fichiers, par exemple pour gérer les paramètres d’une application, voire pour mettre en place un système de cache en local.
Sa réputation n’est plus à faire comme solution de choix pour les mobile devices et les systèmes embarqués.</p>







            <div data-wp-interactive="core/file" class="wp-block-file">
                <object data-wp-bind--hidden="!state.hasPdfPreview" hidden class="wp-block-file__embed" data="https://www.smalsresearch.be/wp-content/uploads/2013/03/SQLite-Software-library-for-RDBMS.pdf" type="application/pdf" style="width:100%;height:600px" aria-label="Embed of SQLite-Software-library-for-RDBMS."></object>
                <a id="wp-block-file--media-0fd14580-470d-4bba-b595-bd49fc78ec5a" href="https://www.smalsresearch.be/wp-content/uploads/2013/03/SQLite-Software-library-for-RDBMS.pdf">SQLite-Software-library-for-RDBMS</a><a href="https://www.smalsresearch.be/wp-content/uploads/2013/03/SQLite-Software-library-for-RDBMS.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-0fd14580-470d-4bba-b595-bd49fc78ec5a">Download</a>
                </div>
            ]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
