<?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>Le blog du développeur mainframe agile</title>
	<atom:link href="https://blog.developpez.com/cobos/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/cobos</link>
	<description>Modernisons les usines de dev COBOL Mainframe</description>
	<lastBuildDate>Fri, 17 Feb 2017 10:35:14 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>La compatibilité ascendante</title>
		<link>https://blog.developpez.com/cobos/p13122/eclipse/la-compatibilite-ascendante</link>
		<comments>https://blog.developpez.com/cobos/p13122/eclipse/la-compatibilite-ascendante#comments</comments>
		<pubDate>Thu, 05 Jan 2017 08:10:00 +0000</pubDate>
		<dc:creator><![CDATA[oboiteux]]></dc:creator>
				<category><![CDATA[Cobos]]></category>
		<category><![CDATA[Devops]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Programmation]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/cobos/?p=206</guid>
		<description><![CDATA[Cobos est un produit composé d’une partie client (les plug-ins eclipse) et d’une partie serveur (un ensemble de scripts sur un serveur en fait). Depuis le tout début du projet, nous avons décidé de donner la possibilité à nos utilisateurs &#8230; <a href="https://blog.developpez.com/cobos/p13122/eclipse/la-compatibilite-ascendante">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://cobos.metrixware.com" title="Cobos" target="_blank">Cobos</a> est un produit composé d’une partie client (les plug-ins eclipse) et d’une partie serveur (un ensemble de scripts sur un serveur en fait).</p>
<p>Depuis le tout début du projet, nous avons décidé de donner la possibilité à nos utilisateurs de faire les montées de version client et les montées de version serveur indépendamment. ils ont ainsi tout leur temps pour faire évoluer les postes client, valider une nouvelle version serveur, la mettre en ligne pour quelques utilisateurs bien choisis, bref, tout que ce qui rend la vie Devops meilleure&#8230;</p>
<p>Comment avons-nous fait, me direz-vous ?</p>
<p>Eh bien, nous nous sommes appuyés sur ce que l’on appelle la compatibilité ascendante (concept bien connu de nos amis d’IBM car ils se sont engagés la dessus dans les années 60 quand ils ont conçus l’architecture mainframe)</p>
<p>compatibilité ascendante ? il s’agit en fait de compatibilité ascendante ET descendante (cf. <a href="https://fr.wikipedia.org/wiki/Compatibilit%C3%A9_ascendante_et_descendante" title="https://fr.wikipedia.org/wiki/Compatibilit%C3%A9_ascendante_et_descendante" target="_blank">https://fr.wikipedia.org/wiki/Compatibilit%C3%A9_ascendante_et_descendante</a>)</p>
<p>Définissons la compatibilité descendante :<br />
Le nouveau serveur est compatible avec la version cliente précédente<br />
Le nouveau client est compatible avec la version serveur précédente</p>
<p>Compatibilité ascendante :<br />
l’ancien client est compatible avec la nouvelle version serveur<br />
l’ancienne version serveur est compatible avec la nouvelle version client</p>
<p>En fait, c’est quand on développe une nouvelle version qu’il faut se poser la question. (Je connais des développeurs qui se sont fait des noeuds au cerveau avec ça, lol)</p>
<p>Pourtant, ce n’est pas si compliqué que ça finalement, il faut juste faire un peu attention.</p>
<p>1er point / connaitre la version de l’autre composant :<br />
Le serveur annonce au client son niveau de version lors de la connection.<br />
Le client annonce son niveau de version lorsqu’il envoie une requête au serveur (toutes les requêtes sont donc marquées avec la version du client).</p>
<p>2eme point / s’adapter à la version du partenaire :<br />
La, c’est un peu plus compliqué car on ne peut pas faire n’importe quoi.<br />
D’après ce que l’on a dit précédemment , il y’aurait 4 cas. Voyons voir ça de plus près :<br />
&#8211; coté client :<br />
Si j’ai en face de moi un serveur plus ancien, je dois adapter certaines de mes requêtes pour être conforme au format attendu et masquer dans l’interface les fonctionnalités non disponibles coté serveur.<br />
Si le serveur est à la dernière version, nous avons la même version , tout va bien.<br />
Si le serveur est à une version supérieure, c’est son problème, pas le mien.<br />
&#8211; coté serveur :<br />
Si j’ai en face de moi un client plus ancien, il faut que je continue à traiter ses requêtes « à l’ancienne » pour respecter la version précédente du protocole applicatif.<br />
Si le client est à la même version, tout va bien.<br />
Si le client est à une version supérieure, c’est à lui de faire attention, ce n’est pas mon problème.</p>
<p>Ben, il n’y a que 2 cas finalement &#8211; ou il y en 6 &#8211; ? Ce que l’on remarque, c’est que la compatibilité ascendante est assurée par la compatibilité descendante du partenaire &#8211; je vous laisse y réfléchir &#8211; Il n’y a donc effectivement que 2 cas à prendre en compte.</p>
<p>Pour Cobos, nous avons fait un choix basé sur des principes simples (mais contraignants):<br />
&#8211; nous supportons 2 versions majeures (version courante et version précédente)<br />
&#8211; nous garantissons que la version courante sera supportée par la version suivante (je redis exactement la phrase précédente mais c’est mieux si c’est écrit)<br />
&#8211; il n’y a donc pas de changement de protocole applicatif entre 2 versions majeures, nos API doivent de ce fait être bien conçues pour être les plus stables possibles &#8211; ne pas hésiter à prévoir un peu trop large au départ, c’est tout un art… -.</p>
<p>et voila !</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gérer ses sources COBOL mainframe sous Git ? Why not ?</title>
		<link>https://blog.developpez.com/cobos/p13025/cobol/gerer-ses-sources-cobol-mainframe-sous-git-why-not</link>
		<comments>https://blog.developpez.com/cobos/p13025/cobol/gerer-ses-sources-cobol-mainframe-sous-git-why-not#comments</comments>
		<pubDate>Fri, 08 Apr 2016 08:31:18 +0000</pubDate>
		<dc:creator><![CDATA[oboiteux]]></dc:creator>
				<category><![CDATA[COBOL]]></category>
		<category><![CDATA[Cobos]]></category>
		<category><![CDATA[Devops]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Mainframe]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[mainframe]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/cobos/?p=197</guid>
		<description><![CDATA[A l&#8217;heure actuelle, le back office de la majeure partie des grandes entreprise mondiales est géré par des applications COBOL tournant sur mainframe. La majeure partie de ces applications ont un point commun : elles sont gérées via un outillage &#8230; <a href="https://blog.developpez.com/cobos/p13025/cobol/gerer-ses-sources-cobol-mainframe-sous-git-why-not">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>A l&rsquo;heure actuelle, le back office de la majeure partie des grandes entreprise mondiales est géré par des applications COBOL tournant sur mainframe. </p>
<p>La majeure partie de ces applications ont un point commun : elles sont gérées via un outillage datant des années 80/90 assurant en priorité le build et le déploiement et de manière beaucoup plus primaire le versionning. </p>
<p>En effet, la gestion de version, quand elle existe, est techniquement réalisée au niveau des composants et non au niveau applicatif. Les sites ne mettent pas en oeuvre la gestion de branches même si, en théorie, cette fonctionnalité est disponible. On ne gère donc pas de version d&rsquo;application.</p>
<p>Par opposition, les applications du monde &laquo;&nbsp;moderne&nbsp;&raquo; (Java, .Net, etc&#8230;) sont gérées dans des outils assurant un versionning complet de type Git/SVN avec gestion de branches, build automatique, etc&#8230; Le point faible actuellement de ce coté est plutot l&rsquo;aspect déploiement qui est une clé du monde DevOps.</p>
<p>Ce qui est très différent entre les 2 mondes :<br />
&#8211; sur mainframe, on ne build et déploie que des composants individuels en mode petit train (une modif avant l&rsquo;autre, un peu tout le temps &#8211; pas de développement en parallèle, pas de version de logiciel).<br />
&#8211; sur mainframe, les sources sont stockés en vrac dans des bibliothèques pouvant contenir jusqu&rsquo;à 40 000 sources. Il est impensable de mettre tout dans un dépot Git et de le cloner sur chaque poste de développeur ! </p>
<p>Ceci étant, qu&rsquo;est-ce qu&rsquo;il faudrait faire pour mettre mes sources COBOL mainframe sous Git ?</p>
<p>1) Découper la poubelle qui me sert de repository (je plaisante, bien sur) en applications de taille raisonnable, identifier les modules communs et les traiter comme des applications aussi.</p>
<p>2) Etre capable de lancer les procédures de compilation et de transfert mainframe (build and deploy) depuis des postes externes (eclipse et serveur jenkins)</p>
<p>3) Former les développeurs à l&rsquo;utilisation de Git (c&rsquo;est pas gagné!)</p>
<p>4) Oublier ISPF pour travailler sous eclipse !</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Faire carrière dans le développement COBOL ?</title>
		<link>https://blog.developpez.com/cobos/p12506/cobol/faire-carriere-dans-le-developpement-cobol</link>
		<comments>https://blog.developpez.com/cobos/p12506/cobol/faire-carriere-dans-le-developpement-cobol#comments</comments>
		<pubDate>Tue, 25 Feb 2014 08:13:26 +0000</pubDate>
		<dc:creator><![CDATA[oboiteux]]></dc:creator>
				<category><![CDATA[COBOL]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Mainframe]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/cobos/?p=184</guid>
		<description><![CDATA[A quoi faut-il s&#8217;attendre si on commence à travailler dans le développement COBOL ? De quoi s&#8217;agit-il exactement ? Qu&#8217;est-ce que travailler dans l&#8217;univers COBOL grands systèmes ? Commençons par le début : le langage COBOL. Ses principales caractéristiques sont &#8230; <a href="https://blog.developpez.com/cobos/p12506/cobol/faire-carriere-dans-le-developpement-cobol">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>A quoi faut-il s&rsquo;attendre si on commence à travailler dans le développement COBOL ? De quoi s&rsquo;agit-il exactement ? Qu&rsquo;est-ce que travailler dans l&rsquo;univers COBOL grands systèmes ?</p>
<p>Commençons par le début : <strong>le langage COBOL</strong>. Ses principales caractéristiques sont qu&rsquo;il est basique, simple, procédural, facile à appréhender. Les personnes ayant appris l&rsquo;informatique en faisant du COBOL ont un très bon modèle de ce qu&rsquo;est un ordinateur car le langage est bâti sur des phrases impératives qui donnent des ordres à la machine <strong>(ADD 1 TO …, MOVE A TO B, etc…)</strong> qui se transposent facilement en langage machine. Donc, sans le savoir, les programmeurs COBOL connaissent intimement le fonctionnement général des processeurs.</p>
<p>Au dela du COBOL proprement dit, il y a <strong>l&rsquo;environnement de travail</strong>. De nos jours, faire du COBOL sous eclipse n&rsquo;est quasiment plus un sujet (il y a des IDE eclipse fournis par IBM, Metrixware et d&rsquo;autres…). Il faut cependant aussi savoir utiliser l&rsquo;interface texte 3270 natif et l&rsquo;éditeur ISPF. On peut dire que le couple 3270/ISPF est au mainframe ce que Telnet/vi est à Unix : le moyen d&rsquo;accès de base au système.</p>
<p>Il y a ensuite <strong>l&rsquo;environnement technique</strong> : Base de données, sous systèmes transactionnels, le scripting Rexx, le JCL (Job Control language), etc&#8230; C&rsquo;est assez riche et pointu. Ce qu&rsquo;il faut comprendre, c&rsquo;est qu&rsquo;un programme COBOL est comparable à une machine outil dans une usine : une moulinette à données qui doit être capable de traiter des millions d&rsquo;informations sans mettre le mainframe à genou. Il y a donc derrière tout ça une culture et un savoir faire qui ne s&rsquo;apprennent pas dans les livres.</p>
<p><strong>Le challenge du développeur </strong>: on ne vous a pas attendu pour écrire des programmes COBOL. Il va donc falloir avoir le jus et le talent pour plonger dans des programmes volumineux écrits et maintenus par d&rsquo;autres&#8230; Cette problématique se retrouve maintenant dans tous les langages, on pourrait même dire que lire du COBOL est plutot plus facile que d&rsquo;essayer de comprendre des applis entièrement objets.</p>
<p>OK, et tout ça mène ou ? Il y a plusieurs voies d&rsquo;évolution :</p>
<ul>
<li>Si vous aimez le fonctionnel, c&rsquo;est à dire ce à quoi sert l&rsquo;application, vous pouvez devenir le spécialiste capable d&rsquo;aller <strong>lire les &laquo;&nbsp;saintes écritures&nbsp;&raquo;</strong> pour savoir comment ça marche ce truc. En général, on vous nomme chef de projet pour ça.
</li>
<li>
Si vous préférez l&rsquo;aspect technique, vous pouvez devenir support/expert technique, voire évoluer vers des métiers d&rsquo;ingéniérie de production qui sont de plus en plus demandés et pour lesquels avoir une expérience du dev est une très bonne idée.
</li>
</ul>
<p>Dans tous les cas, on ne peut que recommander de comprendre quelque chose aux technos Web, voire d&rsquo;être capable d&rsquo;exhiber une double-compétence si vous êtes un passionné d&rsquo;informatique limite obsessionnel&#8230;</p>
<p>Après, vous gérez votre vie : vous pouvez rester dans l&rsquo;expertise ou, pour les courageux, aller vers le management sachant que le risque de mise au rencart anticipée n&rsquo;est pas une vue de l&rsquo;esprit.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cobos et la gestion des sources</title>
		<link>https://blog.developpez.com/cobos/p11977/cobos/cobos-et-la-gestion-des-sources</link>
		<comments>https://blog.developpez.com/cobos/p11977/cobos/cobos-et-la-gestion-des-sources#comments</comments>
		<pubDate>Thu, 16 May 2013 13:11:04 +0000</pubDate>
		<dc:creator><![CDATA[oboiteux]]></dc:creator>
				<category><![CDATA[Cobos]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/cobos/?p=170</guid>
		<description><![CDATA[Cobos fournit des moyens très simples pour s&#8217;intégrer avec votre gestion de sources mainframe favorite… Cobos est un IDE eclipse dédié au développement COBOL. Il s&#8217;intègre naturellement avec toute GCL accessible depuis des plug-ins eclipse OpenSource tels que CVS, SVN, &#8230; <a href="https://blog.developpez.com/cobos/p11977/cobos/cobos-et-la-gestion-des-sources">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<h2>Cobos fournit des moyens très simples pour s&rsquo;intégrer avec votre gestion de sources mainframe favorite…</h2>
<p><a href="http://blog.developpez.com/cobos/p11519/cobos/cobos-ide-cobol-sous-eclipse" title="Cobos : IDE COBOL sous Eclipse" target="_blank">Cobos est un IDE eclipse dédié au développement COBOL</a>. Il s&rsquo;intègre naturellement avec toute GCL accessible depuis des plug-ins eclipse OpenSource tels que CVS, SVN, Git ou propriétaires comme Dimension, Endevor ou ClearCase.</p>
<p>Ceci étant, les sites mainframe n&rsquo;ont pas attendu eclipse pour mettre en place une GCL et disposent d&rsquo;un outillage accessible sous ISPF bien rodé qu&rsquo;ils ne souhaitent par remettre en cause (et pourtant, il y aurait long à dire sur ce sujet…).</p>
<p>Cet outillage date généralement des années 80 et recouvre les fonctionnalités de gestion des versions, génération d&rsquo;exécutables, gestion d&rsquo;environnements (au minimum test, recette et production), etc… &#8211; on parle maintenant d&rsquo;ALM (Versioning, Build, Deploiement) &#8211;</p>
<p><strong>Bien évidement, dès que l&rsquo;on installe Cobos, la question de l&rsquo;intégration avec la GCL existante est posée.</strong><br />
&#8211; Si le client souhaite acquérir les plugins correspondants à son outil, la cause est entendue (enfin presque&#8230;).<br />
&#8211; Si ce n&rsquo;est pas le cas (et c&rsquo;est le plus fréquent), il va falloir intégrer Cobos avec les procédures existantes. Chance ! Cobos a été conçu pour s&rsquo;adapter aux différents us et coutumes des sites mainframe.</p>
<p>L&rsquo;interface de Commandes de Cobos permet de configurer des scripts et/ou des JOBs mainframe à lancer depuis eclipse. Cobos peut uploader un source avant de lancer une commande, générer et soumettre un JCL, etc&#8230;<br />
Le lancement se fait depuis un formulaire dont les champs peuvent être automatiquement remplis selon le contexte de travail (à partir des propriétés du source en cours d&rsquo;édition par exemple).<br />
En fin de traitement sur le mainframe, Cobos récupère et traite les résultats (affichage de messages, ouverture d&rsquo;un source dans l&rsquo;éditeur, affichage d&rsquo;une SYSOUT)</p>
<p><strong>Il est dès lors très simple d&rsquo;implémenter le Check-out et le Check-in de votre GCL favorite, que celle-ci soit un développement spécifique ou basée sur des outils du marché tels que ENDEVOR, SCLM, LCM, etc…</strong> Il est bien sur conseillé à chaque fois que possible de réutiliser les procédures existantes en les adaptants pour qu&rsquo;elles fonctionnent avec Cobos.</p>
<p>Cette facilité démontre la capacité de personnalisation de Cobos et son adaptabilité à tous les types d&rsquo;organisation.</p>
<p>Pour aller plus loin:<br />
&#8211; Une solution d&rsquo;intégration plus poussée est possible avec le plug-in Z/Navigator via une exit routine.<br />
&#8211; Pour réaliser une intégration complète, un plug-in spécifique a été developpé pour un client utilisant LCM.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Développeur COBOL</title>
		<link>https://blog.developpez.com/cobos/p11547/ide/developpeur-cobol</link>
		<comments>https://blog.developpez.com/cobos/p11547/ide/developpeur-cobol#comments</comments>
		<pubDate>Wed, 05 Dec 2012 13:47:30 +0000</pubDate>
		<dc:creator><![CDATA[oboiteux]]></dc:creator>
				<category><![CDATA[IDE]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Cobos]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[mainframe]]></category>
		<category><![CDATA[OpenSource]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/cobos/?p=118</guid>
		<description><![CDATA[Comment éviter la double peine&#8230; Contrairement aux idées reçues, les développements Mainframe constituent encore aujourd’hui le socle technologique de la majorité des entreprises. Au cœur des SI, ces usines logicielles sont un axe stratégique pour l’activité de bon nombre de &#8230; <a href="https://blog.developpez.com/cobos/p11547/ide/developpeur-cobol">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<h2>Comment éviter la double peine&#8230;</h2>
<p>Contrairement aux idées reçues, les développements Mainframe constituent encore aujourd’hui le socle technologique de la majorité des entreprises. Au cœur des SI, ces usines logicielles sont un axe stratégique pour l’activité de bon nombre de banques, assurances et grandes industries mondiales.</p>
<p><strong><em>Paradoxalement, le langage COBOL, à l’origine des développements Mainframe, manque cruellement d’attractivité.</em></strong><br />
<span id="more-118"></span></p>
<p>Bien que de nombreuses entreprises aient programmées sur 2012 un projet d’évolution de leur patrimoine COBOL, <strong>elles peinent cependant à trouver  des cobolistes</strong>. Le renouvellement des compétences Mainframe est en effet très limité, ce qui amplifie un phénomène de fond : <strong>la raréfaction des développeurs COBOL</strong>. Cette carence s’accentue par une vague massive de départ à la retraite programmée sur les 10 prochaines années associée à une forte volonté des grands éditeurs et intégrateurs de gérer à leurs profits cette raréfaction. Au final, il s’agit bel et bien d’un risque énorme pour les entreprises de perdre leur capital et savoir-faire métier, sans pouvoir assurer la relève.</p>
<h2>Le langage n’est pas le principal problème</h2>
<p>Dans un contexte de crise économique, on pourrait penser qu’il est facile de trouver des candidats disponibles pour les postes de développeur mainframe. Malheureusement, il n’en est rien. En effet, le langage COBOL n’est pas attractif comparé aux langages modernes. Les applications cibles ne sont pas « sexy » notamment parce que la couche de présentation graphique n’est pas développée en COBOL.<br />
Autre phénomène : il n’est pas évident de se mettre en avant lors d’une soirée devant les copains quand on programme en COBOL ! Il est même difficile d’expliquer que la majeure partie du business des entreprises est programmée dans ce langage.<br />
Ceci étant, le langage COBOL est procédural, facile à appréhender et ne constitue pas à lui tout seul le point de blocage quant à l’embauche de jeunes développeurs. </p>
<h2>L’environnement de développement : la double peine</h2>
<p>L’accès à l’environnement de développement mainframe natif (ISPF) se fait via des <strong>émulateurs 3270</strong> en mode caractère. L’outil de travail numéro 1 du développeur étant l’éditeur de texte, les développeurs mainframe passent le plus clair de leur temps dans l’éditeur ISPF datant des années 70 !<br />
Lors de leur formation, les stagiaires considèrent l’accès au mainframe en 3270 comme une sorte de <strong>minitel antédiluvien</strong>. Certains d’entre eux abandonnent purement et simplement lorsqu’ils comprennent qu’ils vont passer leurs journées dans un tel environnement.<br />
Cet outillage est clairement un frein pour le recrutement de jeunes talents et constitue un filtre de sélection naturelle retenant certes les plus motivés mais pas forcément les plus talentueux…<br />
La comparaison entre l’interface 3270 et les interfaces graphiques modernes est tellement désavantageuse pour le 3270 qu’il ne faut pas espérer que les jeunes recrues deviennent des experts dans l’utilisation d’ISPF…même en Inde !. Leur efficacité dans un tel environnement restera donc très limitée pour la plupart d’entre eux.</p>
<h2>La solution : Eclipse</h2>
<p>Par quels outils remplacer l’outillage traditionnel sous ISPF ? Il n’y a désormais plus beaucoup de questions à se poser : Eclipse est devenu un standard de fait dans l&rsquo;environnement mainframe.<br />
Eclipse fournit en effet un cadre permettant de développer des outils de développement intégrés largement utilisés dans le monde Java (Eclipse, lui-même, est développé en Java). Faire profiter les développeurs COBOL de cette infrastructure présente plusieurs avantages :<br />
&#8211;	environnement moderne,  intégré, attractif pour les jeunes développeurs<br />
&#8211;	fonctionnalités ouvertes sous forme de plug-ins<br />
&#8211;	rapprochement des développeurs Java et COBOL<br />
&#8211;	bénéficie d’une forte communauté, dynamique,  active et internationale<br />
Etant largement utilisé dans le monde Java, Eclipse dispose d’une multitude de plug-ins de gestion de sources, bug tracker, gestion de projet, tests unitaires, etc… Tous ces plug-ins sont mis en œuvre aujourd’hui dans le cadre de méthodes projet agiles et constituent une opportunité d’évolution pour les méthodes de développement mainframe.<br />
 </p>
<h2>Outils: Opter pour l’Open Source</h2>
<p>Les plug-ins Eclipse sont généralement développés en EPL (Eclipse Public Licence), modèle de licence qui permet à tout un chacun de modifier, compiler et éventuellement commercialiser des plug-ins. Ceci favorise l’émergence de solutions professionnelles basées sur des plug-ins Open Source.<br />
Il devient alors possible de bâtir un atelier de développement COBOL mainframe sur mesure en assemblant les plug-ins qui conviennent aux modes de fonctionnement et aux outils de son entreprise. Il suffit seulement que les plug-ins accèdent de manière native aux ressources Eclipse et n’enferment pas l’utilisateur dans un cadre propriétaire.<br />
Cet atelier devient un logiciel résultant de l’assemblage de plug-in dans lequel on configure les fichiers de paramétrage communs à l’ensemble des développeurs et que l’on distribue sur les postes de travail. Une bonne pratique communément partagée est de faire une mise à jour annuelle.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Cobos : IDE COBOL sous Eclipse</title>
		<link>https://blog.developpez.com/cobos/p11519/cobos/cobos-ide-cobol-sous-eclipse</link>
		<comments>https://blog.developpez.com/cobos/p11519/cobos/cobos-ide-cobol-sous-eclipse#comments</comments>
		<pubDate>Thu, 22 Nov 2012 13:24:44 +0000</pubDate>
		<dc:creator><![CDATA[oboiteux]]></dc:creator>
				<category><![CDATA[Cobos]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[OpenSource]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/cobos/?p=31</guid>
		<description><![CDATA[En partant du constat des avantages apportés par Eclipse pour les développements Java, l&#8217;utilisation d&#8217;un atelier COBOL sous Eclipse est devenu incontournable notamment dans l&#8217;environnement mainframe. Cobos a été conçu à partir de composants Open Source, assemblés, améliorés et complétés &#8230; <a href="https://blog.developpez.com/cobos/p11519/cobos/cobos-ide-cobol-sous-eclipse">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>En partant du constat des avantages apportés par Eclipse pour les développements Java, l&rsquo;utilisation d&rsquo;un atelier COBOL sous Eclipse est devenu incontournable notamment dans l&rsquo;environnement mainframe.</p>
<p>Cobos a été conçu à partir de composants <strong>Open Source</strong>, assemblés, améliorés et complétés pour en faire une solution professionnelle orientée développement COBOL mainframe sous Eclipse à un cout raisonnable. Réalisé en collaboration étroite avec des utilisateurs, l&rsquo;idée est de combiner le meilleur des 2 mondes en capitalisant sur l&rsquo;innovation de la communauté Open Source et sur les meilleures pratiques issues de l&rsquo;expérience mainframe.<br />
<span id="more-31"></span><br />
Un schéma vaut mieux qu&rsquo;un long discours :<br />
<img src="http://blog.developpez.com/cobos/files/2012/11/Composants-Cobos.png" alt="Architecture logicielle Cobos" /><br />
Cobos est donc un ensemble de <strong>plugins Eclipse</strong> accompagnés d&rsquo;exécutables assurant l&rsquo;émulation 3270 et la compilation COBOL locale ainsi que de scripts Rexx permettant d&rsquo;accéder à un site distant en FTP (module <strong>&laquo;&nbsp;FTP Access&nbsp;&raquo;</strong>). </p>
<p>L&rsquo;<strong>IDE COBOL</strong> contient l&rsquo;éditeur COBOL avec </p>
<ul>
<li>coloration syntaxique,</li>
<li>navigation par la vue Outline, </li>
<li>auto-complétion (variables, labels, templates de code configurables), </li>
<li>marquage des erreurs de compilation ,</li>
<li>historisation des modifications, </li>
<li>&laquo;&nbsp;Open Declaration&nbsp;&raquo;, </li>
<li>expansion des Copys, </li>
<li>tabulations configurables, </li>
<li>CAPS ON &laquo;&nbsp;à la ISPF&nbsp;&raquo;, </li>
<li>mode révision &laquo;&nbsp;à la Word&nbsp;&raquo; </li>
<li>et j&rsquo;en passe&#8230; </li>
</ul>
<p><em>C&rsquo;est simple, quand on y a gouté, on ne supporte plus de faire PF7/PF8 pour se balader dans un source&#8230;:)</em></p>
<p>La <strong>compilation COBOL en local</strong> sert à vérifier la syntaxe et permet d&rsquo;éviter des compilations inutiles sur le host. Cobos assure le lien entre l&rsquo;IDE et les compilateurs (COBOL-IT en local et IBM Enterprise COBOL sur le Z).<br />
<em>La aussi, double-cliquer sur un message du style </em>IGYPA3305-S TOTO and TATA did not follow the &laquo;&nbsp;MOVE&nbsp;&raquo; statement compatibility rules.  The statement was discarded.<em> et se retrouver direct dans le source sur la ligne en erreur, passer la souris sur les variables pour voir leur type, puis faire PF3 pour aller modifier la déclaration de l&rsquo;une d&rsquo;elles, c&rsquo;est un autre monde&#8230;</em></p>
<p>Une fois le programme compilé sur le host, on peut utiliser l&rsquo;<strong>éditeur JCL</strong> pour les tests batch ou l&rsquo;<strong>émulateur je3270</strong> pour les tests CICS/IMS (et accéder à d&rsquo;autres outils du site, OK).</p>
<p>Les ressources mainframe (scripts Rexx et executable CVS) sont fournies sous forme d&rsquo;un module optionnel (<strong>&laquo;&nbsp;Mainframe extension&nbsp;&raquo;</strong>) offrant un accès très confortable aux ressources mainframe soit via CVS soit directement dans les PDS via une vue Eclipse, le <strong>Z/Navigator</strong>.</p>
<p>Cobos assure l&rsquo;interface entre les scripts (locaux ou mainframe) et Eclipse. Cet interface est hautement <strong>extensible</strong> et permet d&rsquo;adapter à moindre cout les scripts existants pour qu&rsquo;ils puissent être appelés depuis Cobos.<br />
Cobos respecte les standards eclipse et est de ce fait compatible avec tout plug-in lui aussi respectueux des standards&#8230;</p>
<p><a href="http://metrixware.com/cobos-ide-mainframe-opensource/" title="http://metrixware.com/cobos-ide-mainframe-opensource/" target="metrixware">Plus d&rsquo;info sur Cobos</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>COBOL Mainframe toujours là&#8230;mais pourquoi donc ?</title>
		<link>https://blog.developpez.com/cobos/p11502/mainframe/cobol-mainframe-toujours-la-mais-pourquoi-donc</link>
		<comments>https://blog.developpez.com/cobos/p11502/mainframe/cobol-mainframe-toujours-la-mais-pourquoi-donc#comments</comments>
		<pubDate>Fri, 16 Nov 2012 14:13:52 +0000</pubDate>
		<dc:creator><![CDATA[oboiteux]]></dc:creator>
				<category><![CDATA[Mainframe]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[analyse]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/cobos/?p=8</guid>
		<description><![CDATA[Les technologies Mainframe au cœur des entreprises Les développements Mainframe constituent encore aujourd’hui le socle technologique des Systèmes d’Information des entreprises. Ces applications développées en COBOL, vieilles de plusieurs dizaines d’années, demeurent stratégiques (et même vitales) pour l’activité quotidienne de &#8230; <a href="https://blog.developpez.com/cobos/p11502/mainframe/cobol-mainframe-toujours-la-mais-pourquoi-donc">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<h2>Les technologies Mainframe au cœur des entreprises</h2>
<p>Les développements Mainframe constituent encore aujourd’hui le socle technologique des Systèmes d’Information des entreprises. Ces applications développées en COBOL, vieilles de plusieurs dizaines d’années, demeurent stratégiques (et même vitales) pour l’activité quotidienne de bon nombre de banques, d’assurances ou encore de grandes industries à travers le monde.<br />
<span id="more-8"></span><br />
En 2005, Forrester Research estimait le nombre d’applications COBOL à 75% du patrimoine mondial, alors que chaque année, 5 milliards de lignes de code était écrites dans ce langage. Si les chiffres sont toujours discutables et mériteraient une mise à jour, il est certain que le Mainframe n’est pas encore mort, loin de là !</p>
<p>Les raisons de cette survie sont en gros faciles à comprendre :<br />
•	Une <strong>réécriture</strong> complète des applications serait bien trop coûteuse.<br />
•	Les <strong>migrations</strong> (Cobol vers Java, par exemple) ou le changement d’infrastructure cible (ex : rehosting ou downsizing Mainframe vers Unix) sont des projets longs et complexes, même si certaines entreprises ont su se désengager progressivement du Mainframe.<br />
•	Le <strong>remplacement</strong> par des progiciels est tout aussi délicat : difficile d’extraire 30 ans de règles métiers, d’évolution des dispositifs réglementaires, sans prendre le risque d’une corruption des données gérées par le système.<br />
•	La fiabilité et la <strong>robustesse</strong> du Mainframe n’ont finalement jamais été remises en question.</p>
<p>Et pourtant ! un logiciel est un constitué d&rsquo;un ensemble de programmes informatiques écrits par des être humains, donc bugués (les programmes, pas les êtres humains, quoique). Le Mainframe n&rsquo;échappe pas à cet règle. Alors, d’où viennent cette fameuse fiabilité et robustesse ? Mythe ou réalité ?</p>
<p>La réponse est multiforme et parfois surprenante. Elle mérite une analyse approfondie sortant du <strong>&laquo;&nbsp;c&rsquo;était mieux avant&nbsp;&raquo;</strong> et du <strong>&laquo;&nbsp;c&rsquo;est tout pourri ce truc&nbsp;&raquo;</strong>. Cette analyse permet de mettre en perspective ce qui se passe aujourd&rsquo;hui et de mieux situer les problématiques d&rsquo;architecture logicielle, infrastructures de développement, évolution des métiers, etc&#8230;</p>
<p>C&rsquo;est ce que je me propose de faire dans les prochains billets. A suivre&#8230;  </p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
