Affichage des articles dont le libellé est j2E. Afficher tous les articles
Affichage des articles dont le libellé est j2E. Afficher tous les articles

dimanche 8 décembre 2013

Installation de Jenkins; continuous integration system

Le projet phare pour faire de l’intégration continue était jusqu’à présent Hudson . Oracle par le rachat de SUN s'est retrouvé à la tête de projet opensource. Avec les conséquences suivantes: fork de Mysql , openoffice et Hudson.
Jenkins est la suite de Hudson en dehors de la sphère d'Oracle.


L'intégration continue est un ensemble de pratiques utilisées en génie logiciel consistant à vérifier à chaque modification de code source que le résultat des modifications ne produitpas de régression dans l'application développée. Bien que le concept existât auparavant[réf. nécessaire], l'intégration continue se réfère généralement à la pratique de l'extreme programming. (source wikipedia) 

L'installation de jenkins est simple: soit par le gestionnaire de paquet, soit par téléchargement de l'archive et son lancement par la commande java.
Jenkins embarque sont propre serveur web.
Aussi après son lancement par:

java -jar jenkins.war

donnera dans son navigateur : (http://locahost:8080)
http://localhost:8080

Pour un démarrage automatique par le systemV  d'unix:


 Ubuntu propose un utilitaire graphique Bootup-Manager pour gérer le démarrage des services.

Jenkins permet de lancer n’importe quel batch  en plus de sa fonction principale de construire et de tester des projets.

Jenkins est utilisable pour des projets en Java mais aussi PHP, Ruby et javascript (node.js)






dimanche 24 novembre 2013

Applications COBOL: Les belles anciennes

L'informatique connait actuellement un certain nombre de mutation. Les smartphones,les tablettes  le cloud, les réseaux sociaux , le NoSQL et le bigdata: des mots qui rythment les avancées technologiques. Mais on oublie vite qu'il reste des milliers de programmes COBOL comportant des millions de ligne . Sur ces programmes reposent l'ossature des traitements réalisés par les Administrations, les Banques ou les assurances. Ces applications sont un peu les oubliées de l'informatique. Elles sont portant  des belles anciennes.


3 choses à savoir au sujet de ces applications:

1 ) Il ne reste que le meilleur.... et le pire

Dans la plupart des cas  les applications restantes sont bien écrites , seuls les meilleurs programmes ont survécus , un peu comme une sélection naturelle. Un mauvais programme , mal écrit , sans évolution possible parce que trop complexe a déjà fait l'objet d'un portage vers des technologies plus modernes. Il reste le haut du panier des programmes COBOL. Hélas à coté de ces bons élèves se trouvent des programmes 'stratifiés'. Chaque évolution faisant l'objet d'un empilement supplémentaire.

2) Coût de maintenance.

Elles ont un coût d'entretien  faible car elles sont sûres  Elles ont tourné  des millions de fois avec des cas de figure inimaginables. Chaque recoin de l’application a été testé en réel. Le coût de correction d'une application COBOL est moins élevé que pour une application J2E
( 5,42 $ par ligne de code Java , tandis qu'une erreur sur Cobol ne coûte que 1,26 $)  

3) Lecture simplifiée de l'algorithmie des programmes COBOL 

La composition d'un programme COBOL facilite sa prise en main.
Sur 100 lignes de programmes COBOL seules 20 implémentent directement la partie métier. Les autres servent à mettre le programme en relation avec son environnent (ENVIRONMENT division ) 
ou à définir les données à traiter (DATA division). L’algorithmie est regroupée dans très peu de ligne dans la PROCEDURE division. Ce phénomène  de concentration ne se retrouve pas dans des programmes issus d'une approche objet hébergés au sein d'un framework: on assiste dans ce cas un éparpillement façon puzzle de algorithmie générale du programme.
Façon puzzle : RIP


Les coûts.  

Aussi, les coûts / risques  des anciens programmes  (legacy) viennent d'un part de l'infrastructure MAINFRAME à entretenir  (licence et matériel) et d'autre part de la perte de compétence sur la partie métier (absence de documentation générale) . 
La  génération des programmeurs COBOL va arriver à l'age de la retraite. 
Je recommande aux jeunes ingénieurs de passer par la case 'COBOL' pour booster leur carrière 


Le retour des disques vinyles

Alors que faire ?

Cette question revient souvent dans les forum comme quora.com

A la question: pourquoi les banques continuent à utiliser leurs programmes  COBOL ?

Voici une des réponses qui résume bien: 

J'ai travaillé dans l'autorité de conception technique pour Natwest Bank et Royal Bank of Scotland. Ceci est un résumé de ce que le chef de la stratégie technique m'a dit une fois:
Le montant d'argent que la banque a investi en COBOL et d'autres technologies plus anciennes est massive.
Cet immense investissement au cours des décennies a abouti à un système bancaire de base qui a des capacités qui ne sont pas reproduits par les éditeurs de progiciels. 
Personne ne sait vraiment comment l'énorme monticule de code spaghetti fonctionne réellement. Le projet de reverse engineering   serait un projet gargantuesque.
Les projets gargantuesques ne sortent jamais
Et quel serait l'avantage - le système fonctionne comme il est.