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

Web & réseau Delphi Discussion :

Web service - Apache ou IIS


Sujet :

Web & réseau Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 43
    Par défaut Web service - Apache ou IIS
    Bonjour,

    Je suis actuelement en train de developpez un Service WEB.

    Mon service web se connectera a environ 50 Base de données Diférentes.

    Le processus qui utilisera le WebService m'enverra un paramétre m'indiquant sur quel base de données m'orienté.

    L'information indiquant vers quelle base de données peu changer d'un jour sur l'autre.

    Le web sercice sera utilisé par un Serveur WEB Apache/PHP.


    Exemple :

    Des magains avec un stock de produits.
    Des magasins sont regroupé en Région.
    Pour Chaque région je possede une base de donnée.

    Donc pour savoir le stock du magasin 25, je doit me connecter a la base ayant le stock du magain 25.

    Mais il arrive que les magasins change de région, donc de base de données.

    Mon choix c'est porté sur un module Apache car lors du chargement du module il se connecte à toutes les bases et laisse donc une connection ouverte.

    Ce qui m'evite d'initialiser la connexion a chaque besoin du web services.

    MES QUESTIONS.....

    Quoi choisir module apache ou ISAPI IIS, ou autres choses que je ne connaisse pas... ?

    Comment auriez vous fait à ma place pour economiser les temps de connexion ?

    Existe t'il un livre / Doc / .... expliquant les Services Web sous Delphi ?

    Cordialement

    Stéphane

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    Euh question con, pourquoi pas le coder directement en PHP ?

    Pour le Web, Delphi c'est quand même pénible !
    Surtout des Serveur Windows Uniquement !

    Autre remarque, tu as intérêt à blinder ton programme parce que si il sert de pseudo-routeur, tu devras bien gérer les droits d'accès ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 43
    Par défaut
    Tout simplement, parce que le site Web sera un front end d'un logiciel, le logiciel est ecrit en Delphi et pour etre sur que le front end fournisse les informations du logiciel nous utilisons les même fonctions.

    Nous avons peu de temps pour faire une premiere version fonctionnel du Web Service.

    Et mes compétences PHP ne sont pas aussi bonnes que mes compétences Delphi.

    Voila le pourquoi de Delphi.

  4. #4
    Membre Expert

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Par défaut
    Citation Envoyé par dominoz Voir le message
    Le web sercice sera utilisé par un Serveur WEB Apache/PHP.
    ..
    Quoi choisir module apache ou ISAPI IIS, ou autres choses que je ne connaisse pas... ?

    Comment auriez vous fait à ma place pour economiser les temps de connexion ?
    Si je peux te donner un conseil, c'est d'avoir l'architecture la plus homogène possible. Si tu t'imposes déjà un serveur Apache pour le Front End, ne t'amuse pas à mettre un IIS à côté, passe tout en Apache, ou tout en IIS mais évite de mélanger les deux.
    Personnellement, j'évite Apache sous Windows (surtout qu'avec IIS, j'ai une bien meilleure maitrise de ce qui se passe, surtout lorsqu'il faut optimiser le site...).

    Pour faire ce que tu décris, je fais du COM+. Le serveur Web est un IIS sous Windows, qui fait tourner du PHP (actuellement en ISAPI, sûrement en FastCGI dans quelques temps).
    L'application COM+, c'est un serveur d'appli (intégré dans Windows) qui tourne sur la même machine que le serveur Web.
    Concrètement, c'est un objet COM qui s'exécute dans un processus dédié (donc tu peux conserver les connexions entre chaque appel, maintenir des données en cache...).
    Depuis PHP, tu accèdes à l'appli COM+ comme s'il s'agissait d'un objet COM. De cette façon, c'est beaucoup plus performant qu'un Web service (je traite les réquêtes en moins d'1ms), et tu n'as besoin que d'un seul serveur Web.
    L'inconvénient par contre, c'est que le site web est alors condamné à tourner sous Windows.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 43
    Par défaut
    Salut

    Merci de cette réponse Franck, Si je comprends bien ce que tu m'explique.
    Je developpe une Application COM+, j'installe cette appli sur le serveur WEB qui tourne actuellement. et PHP accede a cette appli sans avoir de Serveur dedié au Web Service.

    Donc je doit installer autant d'appli que j'ai de serveur WEB.

    Je vais me documenter sur le COM+, et voir si cela peux convenir.

    Je n'est actuelement auncune contrainte au niveau OS ou serveur.

    Mon seul problème est de fournir des informations stockées dans 50 Bases Sybases à 3 sites Web installés sur 3 Serveurs différents.

    Peux tu me donner un lien vers un tutoriel pour COM+ ou un bouquin.

    Merci beaucoup

    Stephane (un ancien des cons du fond)

  6. #6
    Membre Expert

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Par défaut
    Citation Envoyé par dominoz Voir le message
    Salut

    Merci de cette réponse Franck, Si je comprends bien ce que tu m'explique.
    Je developpe une Application COM+, j'installe cette appli sur le serveur WEB qui tourne actuellement. et PHP accede a cette appli sans avoir de Serveur dedié au Web Service.

    Donc je doit installer autant d'appli que j'ai de serveur WEB.
    C'est à peu près ça. Concrêtement tu écris un objet COM qui supporte quelques interfaces particulières dans Delphi (donc tu dérives de TMtsAutoObject déclaré dans mtsobj).
    Tu installes la DLL dans Windows en lui disant d'exécuter l'objet COM en tant que composant COM+ dans le gestionnaire de composant.

    Et en PHP tu instancies l'objet COM+ comme s'il s'agissait d'un objet COM classique. Sauf que comme tu as fait l'enregistrement de la DLL de façon spécifique dans Windows, Windows va te connecter au composant COM+ qui est déjà en cours d'exécution au lieu d'instancier un nouvel objet à chaque fois.
    Sur le principe, tu dois effectivement installer tes objets COM+ sur chaque serveur Web.
    Maintenant, je pense que Windows doit également être capable de faire une connexion DCOM sur l'objet COM+, ce qui permettrait de ne l'installer qu'une seule fois. Mais je ne l'ai jamais utilisé de cette façon.

Discussions similaires

  1. [WD16] Web Service + Apache + UTF-8
    Par Darri06 dans le forum WinDev
    Réponses: 31
    Dernier message: 30/01/2013, 13h41
  2. Comment déployer un web service SOAP sous IIS ?
    Par BaldeckJ dans le forum Web & réseau
    Réponses: 2
    Dernier message: 26/04/2010, 16h37
  3. Réponses: 4
    Dernier message: 07/05/2007, 12h30
  4. exécuter un service web pour apache
    Par toure32 dans le forum Delphi
    Réponses: 3
    Dernier message: 28/03/2007, 00h19
  5. Web services, sécurité, java vers IIS
    Par Schyzophrenic dans le forum Services Web
    Réponses: 2
    Dernier message: 08/09/2006, 15h56

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