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

avec Java Discussion :

Création d'un middleware en Java


Sujet :

avec Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Futur ingénieur en informatique
    Inscrit en
    Février 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Futur ingénieur en informatique

    Informations forums :
    Inscription : Février 2015
    Messages : 15
    Points : 2
    Points
    2
    Par défaut Création d'un middleware en Java
    Bonjour,

    Je souhaite développer un système fractal où plusieurs applications pourraient communiquer.

    L'idée serait d'avoir une application (middleware) qui récupère des données d'applications présentes sur le support (exemple : météo et agenda).

    Ainsi, on ferait communiquer via ce middleware les deux applications sur une troisième où il y aurait un résultat différent, suivant les données fournies.



    Mes questions sont :

    - Serait-il préférable d'avoir une application middleware sur chaque support, fonctionnant ainsi ensemble et créant un réseau. Un principe d'abonnement y serait ajouté permettant de savoir d'où viennent les informations et à qui doivent elles être envoyées.

    - OU un middleware sous forme de serveur/big data gérerait les réceptions et envoies.



    De plus, voulant développer en JAVA, serait il préférable la technologie JMS (Java Messaging Service) ou plus classique via la technologie REST ou SOAP.

    L'enregistrement des données se feraient de quelles manières ? BDD ?



    Merci pour vos réponses, je vous avérerais que je suis un peu perdu...

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 705
    Points : 4 783
    Points
    4 783
    Par défaut
    système fractal


    Je suppose que tu cherches à récupérer des informations de différents systèmes,
    pour les mettre en relation selon des règles que tu définis.

    Il faut d'abord que tu vois comment accéder à ces différents systèmes pour choisir une technologie.
    Par exemple s'ils sont tous accessibles par des web-services alors tu peux aussi faire un WS qui va faire le tour.

    Comment vas-tu restituer ces données après ?
    - site web ?
    - envoi par mail ?
    ...
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Candidat au Club
    Homme Profil pro
    Futur ingénieur en informatique
    Inscrit en
    Février 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Futur ingénieur en informatique

    Informations forums :
    Inscription : Février 2015
    Messages : 15
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Dans un premier temps la récupération se ferait via cette application installée sur chaque support.

    Ainsi, de manière extensible, on pourrait ajouter des applications compatibles dans le code.


    L'idée serait de développer une application tierce qui récupérerait ces informations sous forme XML par exemple.

    Merci pour vos réponses

  4. #4
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 705
    Points : 4 783
    Points
    4 783
    Par défaut
    chaque support ???
    tu veux dire sur chaque serveur ???
    tu parles de météo, d'agendas ... ça peut être des feuilles excel ou des services Web
    Pourrais-tu être plus concret dans ta demande !!!
    Parce que pour l'instant, je ne sais pas si je dois te conseiller un serveur GlassFish ou une application Access !!!
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  5. #5
    Candidat au Club
    Homme Profil pro
    Futur ingénieur en informatique
    Inscrit en
    Février 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Futur ingénieur en informatique

    Informations forums :
    Inscription : Février 2015
    Messages : 15
    Points : 2
    Points
    2
    Par défaut
    Nom : 10934499_10205683776390764_1989599102_n.jpg
Affichages : 1846
Taille : 34,2 Ko


    Je vous envoie un schéma afin de faciliter l'explication.

    Dans ce dernier, imaginons que l'app1 est une application météo. L'app 2 (sur un autre support) est l'application agenda.

    Nous développons une application 3 réunissant les données de la météo et de l'agenda.

    Pour se faire, on développe une app middleware que l'on installe sur tous les supports.

    La partie client permettrait de gérer les abonnements et la partie serveur de communiquer avec les middlewares.

    Cependant, la problématique reste le "par où transite ces données" ?

    Faut-il un serveur, base de données ?

    En espérant vous éclairer

  6. #6
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 705
    Points : 4 783
    Points
    4 783
    Par défaut
    Si tu stockes des données, il te faut une base de données (sic).

    Pour l'application cliente sur smartphone, il faudra passer par Android (un peu différent de Java)
    du coup, tu ne peux pas écrire ton application "espion" (cliente) une seule fois et la placer partout.
    De toutes façons, il faut l'adapter à chaque "support" comme tu dis car les données à collecter sont hétérogènes.

    Le serveur central et sa base, c'est ce qui sera le plus simple à faire.
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  7. #7
    Candidat au Club
    Homme Profil pro
    Futur ingénieur en informatique
    Inscrit en
    Février 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Futur ingénieur en informatique

    Informations forums :
    Inscription : Février 2015
    Messages : 15
    Points : 2
    Points
    2
    Par défaut
    Dans un premier temps ça sera Java sur pc et android.

    Ensuite, concernant les récupérations de données, j'engloberai ce qu'il me faudra sous format XML.

    N'ayant jamais développé de serveur, la démarche est elle longue ?

  8. #8
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 705
    Points : 4 783
    Points
    4 783
    Par défaut
    N'ayant jamais développé de serveur, la démarche est elle longue ?
    Plus personne ne développe de serveur pour une application.
    Tu dois utiliser ce qui existe déjà :
    - base de données MySql, PosGrSql, etc... pour les données
    - serveur Apache pour le site.

    En fait tu en es à quel niveau de java / android ?
    As-tu eu des cours sur la conduite de projet ?

    Je te demande cela pour être sûr que tu ne t'embarques pas dans quelque chose de monstrueux.
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  9. #9
    Candidat au Club
    Homme Profil pro
    Futur ingénieur en informatique
    Inscrit en
    Février 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Futur ingénieur en informatique

    Informations forums :
    Inscription : Février 2015
    Messages : 15
    Points : 2
    Points
    2
    Par défaut
    En termes de conduite de projet j'ai surtout vu les classiques cahier des charges, cahier de faisa et tout ce qui tournait autour des méthodes agile.

    Aujourd'hui le projet sur lequel je travaille est un travail de groupe (nous sommes 5).

    Nous avons tous des compétences en Java, C++, C et postgresql, mais il est vrai que les cours donnés restent cantonnés au TPs

    Dans un premier temps, nous pensons jouer avec des classes, voir si tout fonctionne dans un seul environnement en allant chercher des données fournies par des API.

    Nous nous étendrons par la suite.

  10. #10
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 705
    Points : 4 783
    Points
    4 783
    Par défaut
    Dans un premier temps, tu devrais recenser les données à collecter et tester l'accès à ces données avec java ...
    (c'est la partie application cliente sur les "supports")
    à partir de là tu seras certain de la faisabilité
    Après il sera possible de les envoyer au serveur pour centralisation puis redistribution.
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  11. #11
    Candidat au Club
    Homme Profil pro
    Futur ingénieur en informatique
    Inscrit en
    Février 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Futur ingénieur en informatique

    Informations forums :
    Inscription : Février 2015
    Messages : 15
    Points : 2
    Points
    2
    Par défaut
    Merci je prends note.

    Concernant le côté serveur, je stocke les données en Postgree ? Apache permet cela ?

    SOAP plutôt que REST ? J'abandonne l'idée du JMS ?

  12. #12
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 705
    Points : 4 783
    Points
    4 783
    Par défaut
    PostGrSql est une base de données
    Apache c'est pour faire du site Web (en PHP par exemple)
    les deux sont indépendants.

    Pour l'instant laisse REST, SOAP et JMS de côté et concentre-toi sur l'accès aux données
    car c'est là que tu sauras si c'est faisable ou pas.
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  13. #13
    Candidat au Club
    Homme Profil pro
    Futur ingénieur en informatique
    Inscrit en
    Février 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Futur ingénieur en informatique

    Informations forums :
    Inscription : Février 2015
    Messages : 15
    Points : 2
    Points
    2
    Par défaut
    A l'aide de classe tout d'abord ?

  14. #14
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 705
    Points : 4 783
    Points
    4 783
    Par défaut
    A l'aide de classe tout d'abord ?
    Avec Java tu ne peux guère faire autre chose ...
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  15. #15
    Candidat au Club
    Homme Profil pro
    Futur ingénieur en informatique
    Inscrit en
    Février 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Futur ingénieur en informatique

    Informations forums :
    Inscription : Février 2015
    Messages : 15
    Points : 2
    Points
    2
    Par défaut
    Changement de programme,

    Si on veut avoir notre middleware qui, cette fois ci, n'a pas de lien avec une bdd mais qui va envoyer des requetes sur X supports.

    Par exemple :

    J'ai mon ordinateur avec mon appli middleware. Je veux les données de mon agenda. Pour cela j'envoie des requetes aux middlewares présents sur ma tablette et mon smartphone.

    Le premier (dans un premier temps) qui répond sera celui choisi.


    Est ce que tout cela est possible en imaginant que nous supprimons le haut de mon schéma ?

    Merci pour vos conseils !

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut
    J'arrive en cours de discussion.
    Je pense que ton architecture est redondante. La présence de serveurs secondaires (pour chaque type de support) est inutile.
    Sur chaque support, tu vas installer ce que tu appelles un "middleware".
    Le plus simple est que ce middleware se connecte directement au serveur central. Je pense qu'il n'y a aucune raison qui nécessite une intermédiation.

    Par contre, je confirme qu'il est préférable d'utiliser un serveur central plutôt que du "peer to peer". Cela sera plus facile d'ajouter des traitements complémentaires sur les données, par exemple si tu veux extraire des statistiques que tu n'avais pas prévu au départ.

    Concernant la communication entre les middlewares et le serveur central, je te conseille d'exposer une API REST au niveau du serveur central car tu as des supports Android. Le XML est un format assez lourd à traiter et il est plus courant d'utiliser du JSON sur les smartphones.

    Enfin, pour le stockage des données, cela dépend du volume des données et de la quantité de requêtes que devra supporter ton serveur. Si tu souhaite un système décentralisé, je dirais qu'il vaut mieux prévoir de pouvoir facilement absorber une montée en charge sans être obligé de tout repenser. Pour cela, il existe les bases de données NoSQL. La plus répandue est MongoDB. Si tu veux absolument être en full java, il y a aussi Cassandra.

    En espérant avoir éclairé ta lanterne

  17. #17
    Candidat au Club
    Homme Profil pro
    Futur ingénieur en informatique
    Inscrit en
    Février 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Futur ingénieur en informatique

    Informations forums :
    Inscription : Février 2015
    Messages : 15
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup pour ta réponse !

    Je prend note concernant la facilité du serveur central.

    Pour communiquer deux "middlewares", l'API REST passera par le serveur central ? Si j'avais du enlever ce serveur central, qu'elle aurait été la solution ?


    Concernant la récupération de données, je vais dans un premier temps utiliser un algorithme qui récupères des informations sur un .ics (google agenda).

    Pour la météo, j'essayerai de trouver une API sur internet.

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut
    L'API REST doit être hébergée sur ton serveur central. Les middlewares envoient les données à ce serveur en utilisant un client REST (https://www.google.fr/?gws_rd=ssl#q=java+client+rest).
    Sans ce serveur central, tu n'aurais pas pu avoir une vision globale, les données auraient été dispersées.

    NOTA : Lorsque je parle de serveur central, c'est en fait une vision simpliste, mais suffisante dans un premier temps. Lorsque tu monteras en charge, tu auras en fait plusieurs serveurs.

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/02/2008, 23h33
  2. Création d'une calculatrice en Java
    Par angelka dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 05/12/2007, 20h19
  3. création d'exécutable pour programme java
    Par RIMhoussem dans le forum JBuilder
    Réponses: 5
    Dernier message: 18/02/2007, 20h25
  4. Création d'une JComboBox en Java et rafraichissement
    Par Yotho dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 06/11/2006, 19h26
  5. Automatiser création Flash, c'est possible ? Java ou C++ ?
    Par touff5 dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 16/01/2005, 12h01

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