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

Développement Web en Java Discussion :

[Architecture] appli en intranet avec client riche


Sujet :

Développement Web en Java

  1. #1
    nma
    nma est déconnecté
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mai 2002
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 225
    Points : 108
    Points
    108
    Par défaut [Architecture] appli en intranet avec client riche
    Bonjour,

    J'ai une appli à faire qui doit fonctionner sur plusieurs postes tres distants mais en reseau et si possible accessible par internet. Elle est bien entendue relié à une base de données (peut peut etre postgresql choix par encore ferme).
    Pour cette appli je voudrais conserver la possibilité des interfaces graphiques de java au minimun AWT et si possible SWING.
    Donc du coup j'ai laisser tomber tomcat et les servlets. Mais quel solutions me reste t'il ???
    Applet ? Comment se connecter à la bdd lorsque l'appli tourne sur le navigateur client ???
    Reste une appli standart installé sur tous les postes avec une connection jdbc distante traditionnel, mais la tanpis pour l'acces via internet.

    Que me conseilleriez vous ??? je dois dire que je ne sais pas quel orientation prendre. Je preferais tant que possible une solution qui reste dans le domaine du libre.
    Merci d'avance pour votre aide.

  2. #2
    Membre averti
    Inscrit en
    Août 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 352
    Points : 427
    Points
    427
    Par défaut
    Tomcat, jsp, servlets et si nécessaire on ajoute une couche de web services (axis) ou RMI...à voir selon les choix de déploiement.

  3. #3
    nma
    nma est déconnecté
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mai 2002
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 225
    Points : 108
    Points
    108
    Par défaut
    Dans cette solution je n'ai plus la possibilité d'utilisé AWT et SWING ???

  4. #4
    Membre averti
    Inscrit en
    Août 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 352
    Points : 427
    Points
    427
    Par défaut
    Si, tu peux acceder aux services déployées dans ton serveur sous la forme d'un service web ou d'un service RMI.

  5. #5
    nma
    nma est déconnecté
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mai 2002
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 225
    Points : 108
    Points
    108
    Par défaut
    Ou puis je trouver des infos et des exemples pour ces techniques ??

  6. #6
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 103
    Points : 128
    Points
    128
    Par défaut
    pour le swing ou awt c'est une applet , non ? sinon je vois pas via un webservice .

  7. #7
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 103
    Points : 128
    Points
    128
    Par défaut
    tu peux faire une appli java standart webstartée ce qui facilite le déploiement et elle se connecte à une couche HTTP ( SOAP , webservice, maison ) pour acceder a la base de données. ton appli est en 3 couches.

  8. #8
    Membre averti
    Inscrit en
    Août 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 352
    Points : 427
    Points
    427
    Par défaut
    C'est une appli pour laquelle on veut conserver la possibilité d'utiliser une interface swing. Si dans l'immédiat, on veut une appli dispo sur internet, je ne vois pas de raison pour ne pas utiliser tomcat (jsp, servlet).
    En architecturant bien et en utilisant une architecture de services, on peut les rendre disponibles à travers des services web ou du RMI pour des clients lourds (swing, awt, swt, webstart, ...)

  9. #9
    nma
    nma est déconnecté
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mai 2002
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 225
    Points : 108
    Points
    108
    Par défaut
    D'accord, donc rien de simple a premiere vue.

    Tomcat (jsp, servlet) me donne l'ouverture intranet et internet.
    Pour conserver les bibliotheque SWING et AWT tu dis qu'il faud que j'utilise les RMI et les webservices je dois dire que je comprend pas, de plus je ne trouve pas d'exemple de code pour ça.

    Quelqu'un aurait un bout de code une page de base avec deux trois composant swing dans un servlet. pour que je me rende compte du truc ?

    Merci

  10. #10
    nma
    nma est déconnecté
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mai 2002
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 225
    Points : 108
    Points
    108
    Par défaut
    Je suis en train de potasser les rmi ..........
    Si je comprend le truc, il devrait etre possible de faire un applet qui implement toute la partie de connection a la bdd en rmi ????
    Dis je un grosse con....... ???
    Ou alors faire un servlet qui appelle les methodes des objects SWING et AWT.
    Ca a l'air d'etre chaud quand meme
    ??

  11. #11
    FFF
    FFF est déconnecté
    Membre actif Avatar de FFF
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 342
    Points : 282
    Points
    282
    Par défaut
    salut !


    je pense que java web start est la solution la plus pratique pour cela !

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    940
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 940
    Points : 1 817
    Points
    1 817
    Par défaut
    Je dis peut-être une bêtise car je n'ai jamais eu ce problème, mais il me semble qu'on peut faire communiquer applets et servlets par RMI. On pourrait donc avoir des applets sur le poste cllient tout en conservant les accès base de données par des servlets.

  13. #13
    nma
    nma est déconnecté
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mai 2002
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 225
    Points : 108
    Points
    108
    Par défaut
    java web start semble plus simple. Je conserve une appli normal que j'integre dans une page web mais je ne la charge pas donc normalement les acces bdd devrait continuer.
    J'ai trouver pas mal d'info sur jws mais rien en ce qui concerne les bdd
    qqu'un à deja essayé ??
    peut une adresse d'un site avec un exemple ?
    merci

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Points : 568
    Points
    568
    Par défaut
    Salut,
    JWS est la solution ideal lorsque tu fais un client lourd (SWING)

    En gors tu fais une interface en SWING que tu deplois via JWS , tu fais tout les traitement via Servlet sur tomcat .

    Chaque interaction que tu fais sur ton appli swing necessitant un traitement metier tu fais une connection au serveur tomcat (HTTPURLConnection pour le plus simple , ou Jax RPC pour les web service tout depend de ce que tu fais sur le serveur) dans les deux cas tu utilise HTTP .

    Tu auras ainsi du SWING communiquant avec un serveur via le protocole HTTP .
    UML avec VIOLET

  15. #15
    nma
    nma est déconnecté
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mai 2002
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 225
    Points : 108
    Points
    108
    Par défaut
    J'ai bien compris pour webstart, la doc est plutot clair et bien detaillé, donc la pas de probleme. Par contre j'ai un peu de mal à comprendre la partie connection base de données.
    Dans l'ideal il serait interresant d'heberger l'appli. Elle serait donc "webstarter" pour la partie graphique reste à definir le mode de fonctionnement de l'échange de données avec la base de données. C'est pour une appli de gestion. Donc du coup lecture sur la base pour afficher les info dans l'appli et enregistrement des modifications. Il se peut que certain tableau d'information soit consequent, mais bon à gerer .........

    Mais en fait mon probleme c'est que je ne voie pas du tout comment on le fait en pratique, que ce soit du rmi et encore moins avec tomcat je ne comprend pas comment recuperer les données de la bdd et les envoyer.

    Ce que j'ai compris pour les rmi je lance une pseudo appli java sur le serveur qui instancie par exemple mes classes de connection et execute mes requetes je crée des methodes qui me renvoie les resultats. Comment lancer une appli java sur un serveur hebergé ?????

    Pour tomcat cela veut dire que mon hebergement comprend tomcat ou un equivalent. Je crée une connection à la base grace à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tu fais une connection au serveur tomcat (HTTPURLConnection pour le plus simple , ou Jax RPC pour les web service tout depend de ce que tu fais sur le serveur) dans les deux cas tu utilise HTTP
    mais quel est le rapport entre tomcat et la bdd ?? Actuelement en jdbc je crée une connection directement sur ma base.

    Merci de me dire si je suis dans les choux ou si j'approche de la lumiere :{{
    Peus tu me detaillé un peu plus comment cela fonctionnerait ???

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Points : 568
    Points
    568
    Par défaut
    Bon d'apres moi tu devrais laisser tomber RMI .

    Ce que je proposais c'est une Application webstartable qui ne fait que de lapresentation (parti graphique) qui communique via HTTP avec une appli tournant sur tomcat (ou autre) qui elle fait les traitement metier ,connexion a la base JDBC, Hibernate ou autre, utilisant par exemple le pool de connexion de tomcat (DBCP) .

    L'ideal c'est de faire du traitement metier des web services.
    Mais tu peux faire des servlet qui apres avoir demander un traitement particulier a la couche metier recupere les objets a retourner , formatte le tout dans un fichier XML , et le renvoie via HTTP aux client , qui lui recupere le doc XML le traite recuperant les infos et fait sont affichage en fonction de ce qu'il a reçu .

    Les web services on l'avantage de permettre au client de ne casiement rien faire et de recuperer des objet directement sans avoir a traiter le fichier xml recu .

    Le defaut de RMI c'est que c'est du pur java et que ca marcheras jamais sur un autre langage , en gros si le client est en java le serveur doit l'etre aussi .alors que via HTTP et XML rien oblige le client et le serveur a etre coder dans le meme langage (c'est le principe des web services).
    Et puis RMi utilise un port particulier souvent bloqué par les firewall !!

    Je suis pas sur d'etre clair :

    Appli SWING <== HTTP/XML ==> Appli serveur Tomcat <== Hibernate||JDBC||JDO||TopLink||... ==> Base de données.

    Le gros avantage de ce decoupage c'est qu'il permet un decoupage clair le metier sur le servuer lapresentation chez le client , et la presentation n'as pas a connaitre d'ou viennent les infos , les connexion a la base de données sont centraliser au niveau de tomcat (ou autre) .

    bon j'espere t'avoir un peu eclairer tout en ayant
    UML avec VIOLET

  17. #17
    nma
    nma est déconnecté
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mai 2002
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 225
    Points : 108
    Points
    108
    Par défaut
    Merci, merci et merci
    Je crois que je commence à comprendre. Tout comme toi j'avais laisser tomber les rmi bien qu'ils me permettaient de recuperer des objects complets. Mais demeure le pb de lancer le rmiregistry, bref ...........
    J'ai donc regarder les classes java.net et les urlconnection. Si j'ai bien compris
    -->je crée une connection sur mon serveur avec une url de type : http://www.monserveur.com/page.xxx
    --> j'envoie sur le serveur grace a outStream mes parametres genre la requete (en string)
    --> le serveur 'execute' le fichier auxquel je me connecte (automatique : )
    --> le fichier utilise les parametres fournies, et genere le resultat de la requete par exemple
    --> le serveur renvoie la reponse (automatique : )
    --> l'appli cliente lit la reponse via l'inputStream.
    Je pense que l'on peut effectivement passer par du xml ou tout simplement formaté un texte, genre val1;val2;val3;.......... données qui seront alors reformaté par l'appli cliente en tableau, table, liste ou autre.

    Si je me trompe pas selon ce principe la page appelé lors de la connection et executé par le serveur pourrait etre aussi bien une jsp, qu'une servlet voir meme une page php. :

    Tu dis qu'avec des webservices je peus recuperer des objects, donc web services en java, je suppose, on recupere des objects du genre tableau, resultset, string, ........ :

    je vais chercher de la doc la dessus car je n'ai rien dans mes bouquins sur les webservices.

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Points : 568
    Points
    568
    Par défaut
    Citation Envoyé par nma
    --> le serveur 'execute' le fichier auxquel je me connecte (automatique : )
    oui en fait ton application swing envoie une requete http tout comme le ferais un navigateur web, lorsque une requete arrive sur le serveur le lien correspondant est executé.
    Citation Envoyé par nma

    --> le serveur renvoie la reponse (automatique : )
    oui une servlet ou une JSP repond sur l'outputstream de la reponse en generale il s'agit de l'html , mais tu peux ecrire ce que tu veux dessus.

    Citation Envoyé par nma
    --> l'appli cliente lit la reponse via l'inputStream.
    Voila le tour est joué

    Citation Envoyé par nma
    Je pense que l'on peut effectivement passer par du xml ou tout simplement formaté un texte, genre val1;val2;val3;.......... données qui seront alors reformaté par l'appli cliente en tableau, table, liste ou autre.
    effectivement

    Citation Envoyé par nma
    Si je me trompe pas selon ce principe la page appelé lors de la connection et executé par le serveur pourrait etre aussi bien une jsp, qu'une servlet voir meme une page php. :
    oui n'importe quel langage web fera l'affaire, ton client swing fonctionne comme un navigateur , il fait des requetes et se fou completement de ce qu'il se passe coté serveur (php,JSP,Servlet, .Net)

    Citation Envoyé par nma
    Tu dis qu'avec des webservices je peus recuperer des objects, donc web services en java, je suppose, on recupere des objects du genre tableau, resultset, string, ........ :
    En fait lorsque tu fais un web service l'utilisation de XML sur HTTP est iplicite , avec JAXM ou JAXRPC (plus utilisé) tout est implicite .
    Lorsque tu developpe un web service tu definit un fichier de description qui decrit ce qu'il sait faire ,les parametre attendu , et le type de la valeur de retour . Les lib JAXM ou JAXRPC permette de pouvoir construire le message XML via le code sans meme savoir qu'il s'agit du XML (SOAP) de meme tu recupere l'objet de retour directement sans savoir qu'il a ete construit a partir d'un fichier XML (soap).
    En gros ce que tu ferais via HTTPUrlConnection c'est réécrire un web service sans suivre les specification des web services.
    Citation Envoyé par nma

    je vais chercher de la doc la dessus car je n'ai rien dans mes bouquins sur les webservices.
    Effectivement ca seras mieux que tout mes commentaires, j'ai encore jamais fait de web service je ne connais qu'un bout de la theorie.

    Mais ce sujet a deja ete traiter plusieur fois sur developpez.com je pense
    Bon courrage
    UML avec VIOLET

  19. #19
    nma
    nma est déconnecté
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mai 2002
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 225
    Points : 108
    Points
    108
    Par défaut
    Merci pour toutes ces explications, je me lance dans un premier temps sur les urlconnections cela me parait super puissant puisqu'en fait que ce soit une appli encapsule dans une applet, une appli, une appli webstarte, une applet , n'importe quoi en java utilisé comme client, ce client peut obtenir des infos du serveur à partir de n'importe quelle autre langage.
    Le java c'est vraiment super tip top et vraiment puisant. Et la ou c encore plus fou c'est que l'on peut faire heberge son appli web java sur un hebergeur php-mysql en utilisant le php pour les reponses.
    Je reviendrai un peu plus tard sur ce post pour donner quelques lignes de codes, pour ceux que cela interresse.
    encore merci @ +
    Nico

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sage X3 : Erreur 12015 avec le client riche
    Par jeanLuc92 dans le forum SAGE
    Réponses: 0
    Dernier message: 03/06/2015, 15h46
  2. Réponses: 0
    Dernier message: 25/07/2011, 17h45
  3. [swing] swing et le client riche facile (JDNC)
    Par sse dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 14/12/2005, 09h30
  4. Réponses: 6
    Dernier message: 20/10/2005, 21h36
  5. Serveur Linux avec clients Windows
    Par ostaquet dans le forum Installation
    Réponses: 2
    Dernier message: 01/08/2002, 15h40

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