Bonjour je suis actuellement apprenti et j’aurais besoin de votre aide.


Je dois centralisé un certain nombre de tâches d’un périmètres métier spécifique dans un outil unique, qui pour l’instant s’effectue en utilisant plusieurs outils (software) ayant des langages de programmation et SGBD différent.

Le but à court et moyen-terme n’est pas de détruire et refaire des logiciels qui marches.

Cela serait seulement de faciliter la vie d’une partie la population utilisateurs en évitant le jonglage entre plusieurs outils pour effectuer une même tâche ( 4 outil principaux différent plus 6 ou 7 outils mineurs < 500 ligne ).

Ce qui entraine une complexité accrue et une perte d’efficacité alors que l’activité métier , ainsi qu’une saisie redondante des informations ( les mêmes fonctionnalités étant sur plusieurs outils).

Chaque outil à énormément de module et de ligne de code , et de fonctionnalités ( une fonctionnalité peut-être un champ à compléter qui injecte une information dans la BDD , un bouton qui génère un document pdf à partir d’information de la base de donnée )

Les fonctionnalités que je dois retirer de chaque outil sont relativement minimes ( 70-80 en tout sur les 1500 à 2000 proposées ).

La solution choisi pour cela est de faire une interface d'interconnexion qui permettrait de communiquer avec les outils existant en arrière-plan mais d’effectuer les tâches sur une seul IHM[La solution est encore à l’étude].

Cette solution vous parait-elle pertinente ? Si non quel solution proposeriez-vous ? pourquoi ? [lire tous le sujet avant d’y répondre]

Dans cette outil unique qui serait une interface d'interconnexion je dois faire :

- des liens qui vont récupérer les informations dans les bases de données de chaque outil pour afficher ses informations dans l'interface d'interconnexion à l'utilisateur

- des liens qui vont depuis l'interface d'interconnexion injecter des informations dans les bases de données de chaque outil remplir des champs ou effectuer les actions sur les anciens outil. [ Sauf pour le 4eme outil en COBOLD ou je peux faire directement des macros équivalente excell (outil IBM) pour le compléter ]

Le choix de la communication en cherchant et injectant des informations directement dans les BDD des différents outils ( une par outil ) est-il le plus judicieux ? ou une autre solution est –elle plus adapté (sockets,fichier,segment mémoire partagé,sémaphores,signaux,autre …) ? Si oui quel solution proposeriez-vous ? pourquoi ?






Lors de mes recherches on il était conseiller d’utiliser des api ou un middleware

Source : https://www.developpez.net/forums/d3...s-application/


quel est la solution la plus adaptée ? pourquoi ?


Je penser développer le logiciel d’interconnexion dans un langage( Le quel serait le plus optimisé ? )

Puis développer une API pour l’interface d’interconnexion, développer une API pour les 3 outils et faire communiquer les API des outils existant et de l’interface ensemble.
(Je n’ai pas bien saisie comment fonctionner concrètement une API)

Est-ce la bonne solution ?

Caractéristique technique des outils
outil 1 - JAVA JRE7 JDK 7 + Oracle 11.2
outil 2 - .Net 4.5 + SQL server 2012
outil 3 - JAVA + Oracle 11.2
outil 4 - Entreprise COBOLD + Oracle 11.2 ( possibilité de faire directement des macros depuis cet outil (IBM) comme un Excel pour le remplir , seul les 3 autres outils sont concernés par l’injection de donné)


Je pensais découper cette outil unique en petite parties spécialisés (programme) avec chacune le langage de l’outil vers lequel elles doivent communiquer. Comme sa je pourrais copier-coller le code de chaque outil dans le module qui le prendrais en compte.
Exemple : - fonctionnalité outil 1 en java dans mon sous-programme outil unique 1/4.
- fonctionnalité outil 2 en .Net dans mon sous-programme outil unique 1/2.


Est-ce une solution qui existe ? réalisable ? si oui est-elle adaptée ? avez-vous un lien vers un cours sérieux qui explique comment faire avec des exercices ?




Je vous remercie d’avance pour votre aide.