IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NodeJS Discussion :

Node.cobol / Node.fortran : exécuter du code COBOL et Fortran dans Node.js


Sujet :

NodeJS

  1. #1
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut Node.cobol / Node.fortran : exécuter du code COBOL et Fortran dans Node.js
    Node.cobol / Node.fortran : exécuter du code COBOL et Fortran dans Node.js
    et inversement grâce à ces bibliothèques

    Node.cobol et Node-cobol sont des ponts entre Node.js et COBOL qui vous permettent d'exécuter du code Node.js depuis du code COBOL et inversement.

    Le concept semble plutôt étrange. Surtout si, comme moi, vous pensez que le COBOL n'est plus trop utilisé et est appelé à disparaître, remplacé par des langages bien plus récents. Eh bien, selon les recherches d'autres personnes, il s'avère que le langage est encore fortement présent. Après une soixantaine d'années d'existence, ce langage multiplateforme (et même orienté objet en cours de route) est utilisé principalement dans des applications héritées même si personne ne s'en soucie vraiment.

    Et donc ? Ionică Bizău explique que son but était de lier ce vieux langage (sans être péjoratif) avec une technologie plus récente : Node.js, qu'il connaissait déjà. Il a d'ailleurs fait ça « pour le fun ».

    Toutefois, vous avez maintenant la possibilité de rendre disponible votre application COBOL directement sur le Web (un Web service, par exemple). Sympa ! À l'inverse, vous pouvez exécuter un serveur Web à partir de code COBOL. On pourrait se demander si ce n'est pas plus sûr d'utiliser le COBOL ainsi au lieu de le migrer, avec tout ce que ça implique.

    En pratique, les ponts utilisent le compilateur GnuCOBOL qui doit donc être installé. Voici les exemples donnés par l'auteur. C'est d'abord le fait d'exécuter du COBOL dans du JavaScript :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    // Dependencies
    var Cobol = require("cobol");
     
    // Execute some COBOL snippets
    Cobol(function () { /*
           IDENTIFICATION DIVISION.
           PROGRAM-ID. HELLO.
           ENVIRONMENT DIVISION.
           DATA DIVISION.
           PROCEDURE DIVISION.
     
           PROGRAM-BEGIN.
               DISPLAY "Hello world".
     
           PROGRAM-DONE.
               STOP RUN.
    */ }, function (err, data) {
        console.log(err || data);
    });
    // => "Hello World"

    Et ensuite, le fait d'utiliser du JavaScript dans du COBOL :

    Code cobol : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    * Compile this file together with the node.cobol modules:
    *  $ cobc -x example/main.cbl lib/node-exec-*
    * Then execute the binary file:
    *  $ ./main
    IDENTIFICATION DIVISION.
    PROGRAM-ID. MAIN.
     
    DATA DIVISION.
      WORKING-STORAGE SECTION.
      01 NODEJS-CODE PIC X(100) value "console.log('Hello World!')".
     
    PROCEDURE DIVISION.
    * Execute a short Node.js snippet
       CALL 'EXEC_NODEJS' USING NODEJS-CODE
     
       DISPLAY "Starting an HTTP server on port 8000".
     
    * Convert an image into ASCII/ANSI art
       CALL 'EXEC_NODEJS_FILE' USING "example/grace-hopper.js"
     
       DISPLAY "Starting an HTTP server on port 8000".
     
    * Starting an HTTP server in Node.js
       CALL 'EXEC_NODEJS_FILE' USING "example/server.js".
    STOP RUN.

    Les pages de Node.cobol et Node-cobol sur GitHub.


    Super.
    - Oui, mais, le titre, là, il parle de Fortran. C'est quoi le rapport ?

    Fort de son succès totalement inattendu, et de son amusement totalement personnel, Ionică Bizău a réitéré l'expérience avec le Fortran. À peu de choses près, vous remplacez tous les termes COBOL par Fortran dans ce qui précède et vous obtenez les ponts Node.fortran et Node-fortran.

    Le premier vous permet d'exécuter du code Node.js depuis le code Fortran :

    Code fortran : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    program nodejs_module_example
    use nodejs
     
    implicit none
     
    ! Let's execute a Node.js file
    call runNodejsPath("example/index.js", .false.);
    ! => "Hello from a Node.js file."
     
    print *, "An HTTP server is going to be started on port 9000."
     
    ! And now let's execute some Node.js code right here
    call runNodejs("const http = require('http');&
    	&http.createServer((req, res) => {&
    	&  res.end('Hello World from a Node.js server started&
    	& from Fortran!')&
    	&}).listen(9000);", .true.);
     
    end program nodejs_module_example

    Le second vous permet d'exécuter du code Fortran depuis le code Node.js :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    const fotran = require("fortran");
     
    // Let's run some Fortran stuff
    fotran(`
          program hello
              print *, "Hello World!"
          end program hello
    `, (err, data) => {
        console.log(err || data);
        // => Hello World
    });

    Et voilà, le tour est joué !

    Les pages de Node.fortran et Node-fortran sur GitHub.


    Et vous ?

    Programmez-vous encore en COBOL ou en Fortran ?
    Que pensez-vous de l'intégration des anciens langages avec les nouveaux ?

    Retrouver les cours et tutoriels pour apprendre Node.js.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 145
    Points : 392
    Points
    392
    Par défaut
    Je crains que tout Node n'ait été fait pour le fun, le problème est qu'il a été pris au sérieux...

    [/troll]

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 139
    Points : 459
    Points
    459
    Par défaut
    Je crois que quelque chose comme 70% des traitements bancaires mondiaux sont encore réalisés en COBOL. Donc oui, c'est vieux mais c'est encore très utilisé. C'est notamment une compétence très recherchée dans le bancaire.

    Ca peut permettre justement aux banques à utiliser Node.js à la place des applications J2E/ASP (qui communiquent avec les app COBOL, je n'ai jamais réellement trop su comment ça fonctionnait en interne). La vraie question est : Est-il intéressant d'abandonner Java/.NET ? Pas sur.

  4. #4
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 741
    Points
    3 741
    Billets dans le blog
    12
    Par défaut
    Mouke, les applications Java EE ou ASP.NET n'executent pas de code COBOL comme dans ces exemples Node.js. A en croire la forme de la chose, l'idée consiste à éxecuter le COBOL non pas sur un Mainframe mais un simple serveur Node.js, ce qui ne risque pas d'arriver car serait considéré comme une hérésie pour des questions politiques.
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

Discussions similaires

  1. Réponses: 7
    Dernier message: 14/04/2015, 00h38
  2. Selectionner un node d'un treeview par le code
    Par beldi83 dans le forum VB.NET
    Réponses: 4
    Dernier message: 22/03/2010, 16h19
  3. Selectionner une node d'un treeview par le code
    Par beldi83 dans le forum VB.NET
    Réponses: 2
    Dernier message: 16/03/2010, 09h38
  4. Réponses: 24
    Dernier message: 01/12/2009, 14h58
  5. Mesure de qualité d'un code Cobol
    Par vezz dans le forum Cobol
    Réponses: 2
    Dernier message: 05/08/2007, 15h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo