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

Java Discussion :

Migration Application Java -> Web


Sujet :

Java

  1. #1
    Membre expérimenté Avatar de Torg666
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 230
    Par défaut Migration Application Java -> Web
    Bonjour,
    dsl par avance si je post pas au bon endroi.

    Je travail sur un projet de reception de donnée de carte electronique.
    Donc, dans ce but, j'ai développé une application Java (donc "locale") qui est un serveur de socket TCP. Le serveur marche bien.
    L'herbergement du serveur, qui devais dans un premier temps etre hebergé par le client, à changer.Désormais, nous devons sous-traiter l'herbergement du serveur par une autre societe (c'est pas notre metier).

    Je me demande s'il existe un moyen de migrer mon serveur socket TCP vers une application web facilement (j'y crois pas trop mais ca coute pas grande chose de demander) ou si je dois redevelopper mon serveur?

    De plus, je vois pas trop comment faire fonctionner mon serveur socket TCP dans ce cadre là.

    Le fonctionnement actuel du serveur est assez facile a resumé:
    1- le serveur est demarrer, il se connecte une base de donnée.
    2- le serveur attend qu' une carte electronique se connecte.
    3- une carte electronique se connecte, le serveur lui attribut un socket.
    4- le serveur identifie la carte, si elle est inconnue, il ferme le socket.
    5- le serveur attend l'emission de donnees sur le socket.
    6- des donnees sont emises (trame binaire), le serveur les controles puis les interpretent. Si le controle ne passe pas ou si il n'est pas capable d'interpreter les donnees, les données sont ecrite dans un fichier de log.
    7- les données interpretées sont stocker dans la base de données.
    8- le serveur revien a l'etape 5, etc...
    9- le timeout entre 2 emissions de données est depassé ou la carte se deconnecte, le socket est fermé.

    Donc je dois pouvoir acceder au serveur pour le demarrer/arreter, vois le nbre de carte connectées, etc...
    Je sais deja que le serveur dois disposé d'un DNS et d'un port.

    Ensuite l'utilisateur, avec un RIA, peu consulté la BDD.

    Je cherche a savoir si quelqu'un a deja eu a faire ça. Et si il a rencontré des difficultes particulieres liée a un herbegement distant, etc...

    merci d'avance

  2. #2
    Membre Expert

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Par défaut
    Explicite ce que tu entends par web, car de ce que tu décrits c'est plutôt une transposition TCP vers HTTP.

  3. #3
    Membre expérimenté Avatar de Torg666
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 230
    Par défaut
    Et bien, jusqu'à maintenant, j'avais comme serveur une application Java "classique" étant donné que le serveur devait être herbergé sur une machine du client.
    Désormais, je dois faire en sorte de pouvoir acceder au serveur à distance.
    Je me pose la question de savoir quels vont être les modifications et surtout les problèmes posés par ce changement.

    La première question que je me pose c'est que je dois pouvoir disposer de plusieurs DNS:
    - 1 pour le RIA (developpé avec le framework GWT), ca pas de souci c'été prevue. Je me sert de tomcat comme serveur d'application.
    - 1 pour mon serveur socket TCP pour que les cartes électroniques ce connectent dessus.
    Je dois aussi pouvoir me connecter au serveur socket TCP pour le mettre a jour, le redemarrer, etc...

    Je manque clairement d'experience dans ce domaine là, et je me torture peut-être pour rien...


  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Tout d'abord, ce n'est pas parce que ton serveur devient externe qu'il faut passer par le Web. Je ne pense pas que tu désires changer toute ton API de communication afin de supporter quelque chose que tu as déjà : une communication par TCP.

    En java, cela ne devrait pas poser de problème. Il faut juste changer le nom de l'hôte afin qu'il redirige vers le nouveau serveur.

    Les problèmes sont davantage liés à la sécurité du réseau et des serveurs. L'inconvénient majeur étant le démarrage et l'arrêt du serveur. Typiquement un serveur reste allumé 24h/24, et n'est arrêté que pour éteindre la machine. Il faut donc prévoir un mécanisme d'arrêt du serveur (autre que l'interruption brutale évidemment ). Le relancer au démarrage est possible, et des administrateurs UNIX/Windows (en fonction du type de serveur) t'aideront bien mieux que moi dans ce domaine.

  5. #5
    Membre expérimenté Avatar de Torg666
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 230
    Par défaut
    Citation Envoyé par dingoth Voir le message
    Tout d'abord, ce n'est pas parce que ton serveur devient externe qu'il faut passer par le Web. Je ne pense pas que tu désires changer toute ton API de communication afin de supporter quelque chose que tu as déjà : une communication par TCP.

    En java, cela ne devrait pas poser de problème. Il faut juste changer le nom de l'hôte afin qu'il redirige vers le nouveau serveur.

    Les problèmes sont davantage liés à la sécurité du réseau et des serveurs. L'inconvénient majeur étant le démarrage et l'arrêt du serveur. Typiquement un serveur reste allumé 24h/24, et n'est arrêté que pour éteindre la machine. Il faut donc prévoir un mécanisme d'arrêt du serveur (autre que l'interruption brutale évidemment ). Le relancer au démarrage est possible, et des administrateurs UNIX/Windows (en fonction du type de serveur) t'aideront bien mieux que moi dans ce domaine.
    Je suis d'accord avec toi, une fois en production ca ne devrai plus trop bouger.
    Néanmoins, avant d'en arriver là faut que je puisse arreter/demarrer mon serveur (je parle de l'appli pas de la machine ), par exemple pour le remplacer par une autre version. Et même en production, faut pouvoir l'arreter pour d'eventuelle evolution, et ensuite le redemarrer, etc...

    Je preferai anticiper les emmerdes plutot que de les gerer qd je suis dedans...
    je sais parfaitement que c'est impossible de tout gerer mais bon si deja je peux m'eviter quelques nuit blanche... je m'en porterai que mieux

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Je parlais de la machine, mais de l'appli aussi. Ce qui fait qu'au final en relisant, ça ne donne rien du tout


    On va le refaire :
    En gros le serveur (appli) est sur le serveur (machine) et qu'il est rare qu'on ait vraiment besoin d'arrêter le serveur (tant appli que machine). Malgré tout, on veut pouvoir arrêter le serveur (appli) et donc faut prévoir un mécanisme interne au serveur (appli) pour qu'il s'arrête proprement. Mais il faut également qu'au lancement du serveur (machine), le serveur (appli) se lance également. Et pour ça, rien de mieux que des administrateurs systèmes pour t'aider.

    Clair, pas clair ?

  7. #7
    Membre Expert

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Par défaut
    Citation Envoyé par Torg666 Voir le message
    La première question que je me pose c'est que je dois pouvoir disposer de plusieurs DNS:
    - 1 pour le RIA (developpé avec le framework GWT), ca pas de souci c'été prevue. Je me sert de tomcat comme serveur d'application.
    - 1 pour mon serveur socket TCP pour que les cartes électroniques ce connectent dessus.
    Je dois aussi pouvoir me connecter au serveur socket TCP pour le mettre a jour, le redemarrer, etc...

    Je manque clairement d'experience dans ce domaine là, et je me torture peut-être pour rien...

    De ce que tu décris, je ne toucherais pas le serveur TCP. L'effort protocolaire est alors essentiellement réalisé sur le serveur GWT.

    La problématique de l'administration peut être résolue de différentes façons, comme une simple connexion SSH.

Discussions similaires

  1. Google Maps dans une application Java (non web)
    Par BabyC dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 10/10/2012, 20h31
  2. Comment connecter notre application java au web
    Par nawel87 dans le forum Programmation par agent
    Réponses: 10
    Dernier message: 29/04/2011, 19h24
  3. [OC4J] Migration d'une application Java web de Tomcat vers OC4J
    Par Alpha2008 dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 23/03/2008, 14h40
  4. Migration application Web de W2000 vers W2003 server
    Par doudou34 dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 13/09/2006, 15h42
  5. insérer une page web dans une application java
    Par chabfive dans le forum Interfaces Graphiques en Java
    Réponses: 7
    Dernier message: 03/08/2006, 12h38

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