Contrôle d'une API Java depuis interface web

Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 - 19 juil. 2011 à 18:08
 Utilisateur anonyme - 25 juil. 2011 à 19:44
Bonjour,

Oula, cela faisait un bon moment que je n'étais pas retourné sur Codes-Sources. Et pourtant que de choses apprises grâce à ce site !

Je me permets aujourd'hui de vous exposer mon problème, espérant ainsi un point de vu éclairé de développeurs java expérimentés !


Introduction


J'ai pour mission de réaliser une application, qui tournera en continue sur un serveur ; alimentant ainsi une base de donnée en donnée, par la suite lues depuis un site web.
(la phrase paraît compliqué... mais j'espère que c'est compréhensible)

Souhaitant une gestion des threads (pour effectuer plusieurs tâches en même temps), une certaine puissance de calcul et fiabilité, c'est donc vers Java que je me suis tourné.


API Java


Initialement, l'application disposant une interface graphique, j'avais prévu certains contrôles liés aux fonctionnements de l'application ; permettant de la guider dans ses tâches et surtout de disposer de statistiques sur celles effectuées.

Malheureusement, l'application Java ne pourra disposer d'interface graphique, car exécuter sur un serveur distant (sans serveur x).

Un contrôle de l'application étant nécessaire malgré tout, j'envisage donc de créer une interface web (dont l'accès sera bien entendu restreint) dont le rôle sera de piloter cette application Java.


La question est donc : Comment piloter mon application Java depuis une interface web ?
En effectuant quelques recherches, j'ai crû comprendre que les web services répondraient à cette question.


Web-service


N'ayant qu'un expérience de client sur les web-services, il va donc me falloir en créer un cette fois-ci.
Il semble qu'un Web-service basé sur SOAP soit une bonne alternative, d'autant que Javascript le supporte, ce qui assurerait ma liaison entre les deux technologies.

Quelques questions se posent malgré tout :
- Vais-je dans la bonne direction ?
- Mon application Java étant un client lourd, peux-t'il héberger un web-service ?

Bref, autant d'interrogations à résoudre avant de se lancer dans le code !


La solution vous semble-t'elle réalisable ?
Existe-t'il une solution plus appropriée ?


D'avance, merci pour vos réponses éclairés.


Osteres
[www.osteres.com www.osteres.com]

7 réponses

Utilisateur anonyme
22 juil. 2011 à 11:17
Bonjour

Tu peux partir sur des web services ou bien te contenter d'utiliser des requètes HTTP si le protocole d'échange est assez basique.















T.U.E.R yeah! vive java
0
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
22 juil. 2011 à 16:03
Bonjour gouessej et merci pour ta réponse.

Des requêtes HTTP ? Entre une application lourd et un serveur web (apache) ?
C'est possible ?


Pourrai-tu me donner un peu plus de détails sur la manière de s'y prendre ?


Merci,

Osteres
[www.osteres.com www.osteres.com]
0
Utilisateur anonyme
22 juil. 2011 à 23:40
0
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
23 juil. 2011 à 10:39
Bonjour,

De ce que j'ai pu comprendre du tutoriel en l'analysant, c'est qu'il permet à une application Java d'appeler une page web.
Hors dans mon cas, ce n'est pas dans ce sens que je souhaites procéder mais dans l'autre.

À savoir que c'est le serveur web qui devra contrôler l'application Java.
Plus précisément, un utilisateur accèdera à une page web, lui permettant de suivre en direct les statistiques sur l'application Java (tournant sur le serveur) et lui permettant également de la contrôler.

En résumé, c'est la page web (ou le serveur apache) qui initie la requête.

Page web ---------> App Java
send data

Page web <--------- App Java
return data


Penses-tu que ce soit possible ?

Osteres
[www.osteres.com www.osteres.com]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
24 juil. 2011 à 23:50
Bonsoir

Tu peux tout à fait adapter l'exemple que je t'ai donné à ton cas, tu peux envoyer des requêtes HTTP dans les deux sens. C'est quelque chose qui se fait couramment dans les jeux vidéo en Java qui souhaitent échanger de l'information en passant à travers les firewalls, en utilisant le port 80. Dans ton cas, c'est l'application cliente qui va attendre des requêtes HTTP venant du serveur dans un premier temps. Cordialement.








T.U.E.R yeah! vive java
0
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
25 juil. 2011 à 16:07
Je n'arrive pas à visualiser comment cela pourrai se faire.

D'après le lien que tu m'as passé, les requêtes partent du client lourd (en Java) et arrivent sur le serveur web (apache) qui répond ensuite.

Tu expliques ensuite qu'il est possible pour le serveur d'initier une requête vers le client lourd (Java) ?
À moins d'ouvrir un socket ou quelque chose de similaire, cela me semble impossible. À moins que je me trompe.


En admettant que ce soit possible, pourrai-tu m'en dire davantage ?
Dans cette situation, c'est le serveur web (apache) qui initierai la requête.

Pour simplifier, serai-ce possible que ce soit le client web (via un navigateur) qui communique directement avec le client lourd (Java) ? Via Javascript par exemple. On gagnerait un intermédiaire.
Passer par le serveur ne pose pas de problème en soit.


Merci de prendre le temps d'étudier mon problème,


Osteres
[www.osteres.com www.osteres.com]
0
Utilisateur anonyme
25 juil. 2011 à 19:44
Bonsoir

Le mécanisme de connection est plus général que tu le penses. L'exemple que je t'ai donné est centré sur le protocole HTTP et l'utilisation de servlets. Si tu as du mal à t'en servir, tu peux en effet t'orienter vers des appels distants (RMI, Corba, RPC), des webservices ou des sockets (UDP, TCP). Tu peux utiliser l'API WebSocket en JavaScript (pas encore largement supportée pour le moment) et les sockets Java de base depuis un client lourd.












T.U.E.R (First Person Shooter créé par Julien Gouesse)
0
Rejoignez-nous
A voir également