|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : février 2007 Messages : 103 ![]() |
Bonjour.
Je suis étudiant et connais bien le php. Actuellement en stage dans un labo, je dois réaliser une application web qui devra faire appel à des programme écrits dans d'autres langages (java et c++ essentiellement). En sachant que le projet risque de devenir important (nombreuses connexions simultannées), je me demande vers quelle technologie me tourner : D'un coté j'ai php que je connais assez bien mais avec lequel je ne sais pas trop comment faire des appels aux autres applications. De l'autre il ya java avec les jsp et servlets que je connais pas. Mais avec lequel j'ai pu lire que le déploiement serait plus facile. Avez vous des conseils ? D'avance merci |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : avril 2007 Messages : 889 ![]() |
La communication entre programmes a beaucoup évolué ces dernières années...
Ce qui se fait de mieux, aujourd'hui, ce sont des échanges de messages en XML, par SOAP idéalement, au dessus d'HTTP. Par cette technique, peu importe que l'application avec laquelle on dialogue soit locale ou distante, écrite dans le même langage ou non. Sinon, on retombe dans les solutions d'antan : échanges de fichiers, lancement en mode commande,... des horreurs ! Dans un contexte où les autres applications existent déjà, il faut bien sûr évaluer leurs capacités à communiquer pour faire son choix mais, encore une fois, si elles peuvent évoluer, une seule vraie solution : XML avec SOAP. Mais peut-être que vos contraintes sont qu'il n'y aura, en fait, à la fin, qu'une seule application. Dans ce cas, adopter Java serait assurément plus sain et plus professionnel car l'éparpillement entre plusieurs langages n'est vraiment pas raisonnable pour l'évolutivité et la maintenance. |
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() Inscription : juillet 2003 Messages : 338 ![]() |
+1 pour XML, il faut dans le cas des interopérabilités des applications séparer les données de leurs représentations. D'autant plus que tu trouveras dans tous les langages que tu cites les classes de parsing adequat.
|
|
|
00
|
|
|
#4 | |||
|
Nouveau Membre du Club
![]() Inscription : février 2007 Messages : 103 ![]() |
Citation:
En fait ce qu'il me fait le plus peur c'est l'interaction entre ces logiciels. J'ai commencer à regarder soap, je comprends a peu près comment ça marche du côté php; mais quid de l'autre coté ? Prenons l'exemple suivant : 1-> le client va sur le site et écrit son nom. 2-> l'application que je dois développer récupère le nom (facile) 3-> l'envoi a un programme écrit par ex en cpp 4-> celui-ci réalise un traitement et renvoi une réponse à mon appli 5-> mon appli transmet la réponse au client. Les points 3 et 4 me font soucis. Je peux générer avec php le xml suivant : Code :
Et puis comment ce dernier renvoi la réponse ? |
|||
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : avril 2007 Messages : 889 ![]() |
Effectivement, c'est là que ça se corse !
Il faut un serveur HTTP pour réceptionner le message SOAP. Un serveur tout fait, là, ce serait de l'artillerie lourde, et pour le cpp il y aura encore le problème de couplage... Par contre, se faire un micro-serveur HTTP n'est vraiment pas compliqué, surtout si l'on se fixe des limites comme un seul client l'un après l'autre : il suffit d'écouter un(e) socket, de regarder les lignes d'entête (très simple à analyser en cpp), de lire le message lui-même (en POST) et de retourner la réponse selon le même principe de codage. J'ai codé moi-même un petit serveur HTTP multi-clients en C# (http://www.agencexml.com/txs/fr/) à partir d'exemples trouvés sur Internet et ce n'est vraiment pas difficile ! Et après, c'est royal... |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : février 2007 Messages : 103 ![]() |
Hum ça veux dire que je ne pourrai pas utiliser le serveur web déjà présent (apache) et que je dois en coder un dans mon application ?
En fait je devrais a chaque fois réécrire un micro serveur http pour chaque application quelque soit son langage. Si je code mon site en java ça sera donc pareil ? Est-ce un moyen propre et qui ne posera pas trop de problèmes dans le futur ? |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Inscription : avril 2007 Messages : 889 ![]() |
Non, si vous codez en PHP, vous pourrez directement émettre et recevoir des messages SOAP grâce notamment à Apache.
Le problème se pose pour les autres applications n'étant pas sur le Web, celles en cpp ou en fortran (là, c'est désespéré, je crois,...). Si on les "connecte", on obtient justement quelque chose de très évolutif puisqu'elles pourront être réécrites plus tard sans tout casser autour. Quant à la pérennité de PHP/Java... vaste débat sur lequel je ne m'aventurerai surtout pas ! Justement le XML est fait pour en faire abstraction ! |
|
|
00
|
|
|
#8 | |
|
Nouveau Membre du Club
![]() Inscription : février 2007 Messages : 103 ![]() |
Excusez moi, je me suis mal exprimé; je voulais dire que je ne pouvais pas utiliser apache comme serveur web pour ces applications non-web.
Mais bien sûr je le garde pour le php. Citation:
Cela signifie que si j'ai 3 applications différentes à appeler je devrais créer 3 serveurs qui écoutent sur trois ports différents ? |
|
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Inscription : avril 2007 Messages : 889 ![]() |
Oui, un port chacun, ça s'impose...
Bien sûr, il y a du code commun et, pour le reste, ce n'est pas trop compliqué puisqu'unitaire ! Trêve d'exagération... SOAP est peut-être lui-même de l'artillerie lourde pour votre besoin et beaucoup de ses détracteurs disent, à juste titre, que l'on peut se contenter d'envoyer les paramètres en GET ou en POST comme pour un formulaire HTML. Ce sera moins évolutif mais, pour une première version... |
|
|
00
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Inscription : février 2007 Messages : 103 ![]() |
Ok, je vous remercie.
P.S.: En ce qui concerne la question php - java (servlets/jsp) ; je me demandais si java (que je ne connais pas du tout) avait plus de faciliter pour communiquer avec des programmes externes. |
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Inscription : avril 2007 Messages : 889 ![]() |
Je dirais que Java étant un langage plus à la base que PHP, il n'y a aucune raison pour que ce soit plus simple, bien au contraire.
|
|
|
00
|
|
|
#12 |
|
Nouveau Membre du Club
![]() Inscription : février 2007 Messages : 103 ![]() |
Bonjour.
Je reviens sur ce sujet aujourd'hui car, une contrainte apparait. Je dois manipuler des données confidentielles qui ne doivent pas être interceptées. Coder un serveur micro serveur HTTP est tout a fait réalisable mais je n'ai aucune idée pour le "transformer" en https. Des idées ? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com