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

Langages de programmation Discussion :

Langage et base de données pour la refonte d'un progiciel


Sujet :

Langages de programmation

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Langage et base de données pour la refonte d'un progiciel
    Bonjour à tous,

    Nous devons faire la réécriture complète de notre ERP actuel écrit en Progress avec, bien entendu, une base de données Progress (langage et base de données très utilisés outre atlantique mais méconnus chez nous...).
    Pour faire court, notre ERP gère des prêts (créations / gestion de prêts, appel d'échéance avec la gestion comptable qui en suit).

    Nous recherchons donc
    - les différents langages à utiliser pour le back et pour le front
    - la base de données à utiliser

    Nos contraintes sont les suivantes :
    - Base de données :
    + beaucoup d'accès en lecture et en écriture (requêtes complexes avec jointures sur plusieurs tables, mises à jour en masse)
    + base relativement volumineuse (2To approximativement)
    - Ihm :
    + Accessible depuis internet
    + Contrôles complexes à la saisie (beaucoup de règles métier)
    + Doit être responsive (affichage sur navigateur, téléphone, tablette...)
    - Backoffice :
    + Traitements batchs (traitements programmés)
    + Traitements périodiques
    + Editique (publipostage, génération de pdf, export dans un tableur...)

    Nous avons besoin d'une application relativement performante, les traitements doivent être les plus rapides possible (je sais, sans exemple c'est compliqué à déterminer). Les machines jouent un rôle important dans la rapidité de traitement mais le langage et la base de données aussi, de même que les algo mis en oeuvre évidemment mais le langage est aussi un point important dans la performance je pense.

    Pour le moment j'avais pensé à une base de données Postgresql, côté back du java et côté front, forcément, HTML/javascript.
    Mais peut être qu'il y a mieux, peut être aussi qu'il existe des ERP existant avec des kit de développement qui permettraient de ne pas repartir de zero (j'ai vu celui d'Axelor mais je ne suis pas complètement convaincu...).

    Merci par avance pour vos réponses !

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 24
    Points : 42
    Points
    42
    Par défaut
    Bonjour,

    Voici mes suggestions:

    Pour la base de données:

    Pour PostegreSQL j'éviterais, il supportera la volumétrie mais pas vraiment les nombreuses requêtes.
    J'opterais plutôt pour un des choix suivants en fonction des points faibles et points forts :
    - MS SQL Server : Fiable, bonnes perfs, facile de trouver des DBA. Défaut: coûteux.
    - ElasticSearch : Gratuit, ultra performant. Défauts: maintenance, trouver un DBA.
    - Actian Ingres : Performances exceptionnelles, besoin de peu de serveurs, maintenance par la société. Défaut: coûteux.

    D'un point de vue front:
    HTML/CSS évidement mais je te conseille d'y ajouter des frameworks/librairies.
    Personnellement je suis plutôt de l'école AngularJS pour le JS et LESS pour le CSS mais il y a plein d'alternatives.

    D'un point de vue back:
    Si tu souhaites des performances, nodejs sera intéressant (le plus compliqué sera de trouver des développeurs compétents).
    Sinon Java, qui reste une solution de référence.

    Ce ne sont que des idées, peut être pas les meilleures, il existe une infinité de solutions.

    En tout cas, je te conseille de bien peser le pour et le contre de chacun de tes choix, changer de technos est souvent une grande étape complexe et longue, il faut mettre toutes ses chances de son côté en analysant le plus profondément possible la situation, les besoin de l'application etc .

    Je te souhaite de réussir sans encombres, bon courage !

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut zut moi qui pensait avoir trouvé la base
    Merci pour ta réponse,

    Je continue mes investigations et, vu le nombre de langages serveur il est difficile de trouver celui qui va correspondre au mieux à mes besoins.
    J'ai fait aussi quelques tests de performance sur différents langages qui consiste à ouvrir un gros fichier texte (200Mo), le lire ligne à ligne, convertir la ligne en minuscule et compter le nombre de ligne, les résultats sont assez surprenant je trouve :
    Java : 4 secondes
    PHP 5.6 : 8 secondes
    PHP 5.3 : 12 secondes
    Ruby : 5 secondes

    Vous allez me dire que mon test ne correspond pas à ce que l'on fait pour du Web mais plutôt pour une appli desktop mais je pense que tous ces langages vont répondre à mes besoins pour la partie "Web", par contre pour les gros traitements autres, la performance du langage peut être un avantage.

    Pour la partie front effectivement je n'ai pas précisé mais je pensais à AngularJS.

    Concernant la base de données, moi qui était content d'en avoir trouvé une, voilà que tu remets en question mon choix ;-).
    Je ne savais pas que Postgresql ne supporte pas les requêtes nombreuses, je m'étais arrêté au support de la volumétrie... Je vais donc reprendre mes recherches sur le sujet, sachant, je ne l'avais pas précisé que, bien entendu il faudra que nous trouvions des développeurs (nous avons des développeurs PHP aujourd'hui chez nous mais qui sont sur un autre projet) suivant la techno choisit et, que nous formions notre DBA à la base utilisée.

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 24
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par Arno09 Voir le message
    Java : 4 secondes
    PHP 5.6 : 8 secondes
    PHP 5.3 : 12 secondes
    Ruby : 5 secondes
    Ajoutes donc nodejs dans tes tests tu risque d'être encore plus surpris par la rapidité.

    Mais oui les langages ont un impact très important sur les performances.

    Après, attention, car ce n'est pas par ce qu'un langage A parvient à lire un fichier en 4 seconde et un langage B en 8 que le langage B est deux fois moins performant ! Il l'est peut-être que sur la lecture des fichiers. Et chaque langage à des avantages et inconvénients qu'il ne faut pas négliger, en dehors des performances (exemple: perdre un peu de performances pour de la portabilité).

  5. #5
    Candidat au Club
    Inscrit en
    Septembre 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Après, attention, car ce n'est pas par ce qu'un langage A parvient à lire un fichier en 4 seconde et un langage B en 8 que le langage B est deux fois moins performant ! Il l'est peut-être que sur la lecture des fichiers. Et chaque langage à des avantages et inconvénients qu'il ne faut pas négliger, en dehors des performances (exemple: perdre un peu de performances pour de la portabilité).
    Oui effectivement, ce test n'est pas à prendre pour argent content, si j'avais eu plus d'écart (genre si un langage mettait 1min pour faire ce traitement) je l'aurai écarté de suite. Là, clairement les écarts ne sont pas assez grands pour écarter tel ou tel langages.
    Notre logiciel n'est pas un logiciel de la Nasa non plus et je ne demande donc pas des performances hors normes, d'où le fait que je n'écarte, pour le moment, aucun langage.
    Me vient une question tout de même :
    Y a t il des langages plus performants que d'autres dans les dialogues avec les base de données ?
    Je m'explique, je fais un "select" que j'envoi à ma base, est ce que le langage aura un impact sur le temps de réponse à ce select ?

    Un des critère important aussi va être la faculté à trouver de bons développeurs facilement, je ne suis pas sûr de trouver aisément des développeurs nodejs ou ruby par exemple qui sont des langages un peu plus "confidentiels" que php ou java...

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 24
    Points : 42
    Points
    42
    Par défaut
    Y a t il des langages plus performants que d'autres dans les dialogues avec les base de données ?
    Je ne penses pas qu'il y ait de grandes différences entre les langages de ce côté là.

    Les perfs varieront surtout en fonction du matériel, du réseau, du SGBDR et de sa configuration.

    Un des critère important aussi va être la faculté à trouver de bons développeurs facilement, je ne suis pas sûr de trouver aisément des développeurs nodejs ou ruby par exemple qui sont des langages un peu plus "confidentiels" que php ou java...
    Ça existe j'utilise moi même nodejs d'un point de vue pro. Mais c'est sur que trouver des développeurs Java sera beaucoup plus aisé.

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/03/2013, 17h33
  2. Quel langage et base de donnée pour un Quizz ?
    Par Dominikk dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 21/03/2009, 12h16
  3. Un moteur de base de données pour un application
    Par sirius1974 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 18/06/2005, 13h52
  4. Quel langages de base de données choisir?
    Par black is beautiful dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 04/10/2004, 10h17
  5. comment faire ma base de donnée pour un moteur de recherche
    Par HoB dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 04/05/2004, 15h07

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