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

API, COM et SDKs Delphi Discussion :

Comment fabriquer un "génériqueur" d'API ?


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Par défaut Comment fabriquer un "génériqueur" d'API ?
    Bonjour à tous,

    je voudrais connaitre vos avis sur les problemes que je peux rencontrer dans la fabrications d'un logiciel en delphi qui serait capable de permettre à un utilisateur d'ajouter des API à volonté dans son programme.

    Un genre de programme dans lequel il y aurait :
    - Ajouter API
    - Entrer le WSDL
    - et ensuite l'utilisateur configure deux ou trois trucs pour utiliser cette api comme il le désire depuis mon programme.

    Je ne suis pas sûr d'être clair dans mon explication, si cela est le cas n'hésitez pas à me le dire.

    Merci pour vos conseils et autres,

    Cordialement,
    Bruno

  2. #2
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Citation Envoyé par Bruno13 Voir le message
    Je ne suis pas sûr d'être clair dans mon explication, si cela est le cas n'hésitez pas à me le dire.
    Pas du tout
    Maintenant ce que tu demande ressemble fort a la mise en place de Plugins.
    Sur le site ya un tres bon document pdf extrait du non moins excelent livre de P.Toth : Delphi7 Studio

    Quelques pistes en vrac :
    Export de fonction depuis une Dll
    Gestion de plugin Dll
    Interfaces
    Exports d'objets depuis une Dll via une interface
    Paquets d'executions
    ...

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Par défaut
    Salut Clorish,

    En fait je ne veux pas ajouter des DLL mais je voudrais que l'utilisateur puisse ajouter des WebService/API comme il le désire. Et surtout comme cela ne sera pas un expert en programmation voir meme pas du tout, l'utilisateur doit vraiment faire cela sans contrainte de programmation.

    Ou alors j'ai pas bien compris comment on peut faire

  4. #4
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Citation Envoyé par Bruno13 Voir le message
    Ou alors j'ai pas bien compris comment on peut faire
    Pour le cuop la c'ets plutot moi

    As tu un exemple plus ou moins concret ?
    Quel type de webservice/Api ?
    Que doit il faire ?
    Comment l'applciation est sensé se connecter a cette API/WS (en mode statique) ?
    Qu'entends tu par "API" ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Par défaut
    Ben par exemple, il va sur ce site http://www.programmableweb.com/tag/search
    il choisit les WebServices qu'il désire avoir dans son programme en indiquant les 2 ou 3 paramétres du WebServices.

    Et c'est tout ce qu'il a à faire.

    Heu, je sais pas trop si c'est un peu plus clair ou pas..

  6. #6
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    ok dans ce cas c'ets plus simple.
    je ne connait pas trop comment marchent les webservices mais j'imagine que pour les charger dynamiquement il faut une sorte de chaien de connection comme pour les BdD ...
    Dans ce cas, suffirait juste de recuperer les parametres et de lancer la connection.
    Par contre si tu vaux faire des traitements specifiques non standardisés d'un WS a l'autre faudra passer par un systeme de plugin (ie Driver) ou bien limiter l'acces a un certain groupe de WS connu .....

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Par défaut
    Pour les WebServices, sous Delphi, y'a carrement un menu Nouveau Project->WebServices dans lequel tu entres l'url et leWSDL, en fait ce que je cherche à faire c'est exactement cela sauf que c'est pour mon logiciel que je cherche à développer.

  8. #8
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    ok .. alors la les WS c'est pas mon rayon.
    Mais si delphi a juste besoin de ces 2 parametres c'est que deriere il doit creer uen classe de connection ou autres, qui ne necessite que ces 2 parametres pour lancer le WS.

    Maintenant faut fouiller un peu le code pour voir ou il te met ca ...

    Je vais voir ce que je peux trouver sur le net.
    Sinon, ce soir ... de retour a la maison

    [Edit]
    J'ai trouvé ca :
    http://www.matlus.com/scripts/websit...stWebservice&3

    Visiblement la classe THTTPRIO serait la base de la connection.
    Par contre elle serait plus ou moins accompagné d'une interface pour manipuler le WS, ce que je craignait.
    En effet, le WS propose surement une serie de methode pour le manipuler, dont il faut connaitre la syntaxe et les parametres ....
    Rendre ca generique ca risque d'etre plus dur.

    Pose toi surtout la question : Comment manipuler les differents WS une fois la connection etablie ....

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Par défaut
    Yop,

    Je connaissais HTTPRIO pour avoir eu déjà des problèmes avec lui et les pieces attachés qui ne sont pas récupérées.
    J'ai ensuite essayé d'utiliser les compos ICS.

    Comment manipuler les differents WS une fois la connection etablie ....
    Effectivement, ça c'est le problème suivant...

  10. #10
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Si on doit manipuler le WS vvia une interface et que cette interface derive de DispInterface on devrais pouvoir acceder a l'ensemble des methodes via la methode de IDsipatch : Dispatch (de memoire) a laquelle on transmet un tableaux de valeurs et un DispID qui correspond au dispid de la methode a appeler.

    Par contre faudra se baser sur un fichier de config par WS qui identifie le dispid, le nombre et le type (eventuel) des parametres a saisir ...

    Ou alors, passer par un systeme de plugin qui manipule directement l'interface et dont la jonction avec l'applciation se fait au moiens d'une interface plugin generique (Load, Start, stop service ...)
    chaques Dll etant compilé pour un WebService via le wizard Delphi.

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Par défaut
    Oula, cela commence vraiment à être beaucoup trop compliqué pour une maquette. Je pense que je ne vais pas aller plus loin. Je pensais que cela aurait pu être fait plus simplement/rapidement afin de présenter cela à ma boite.

    Bref, merci en tout cas pour tous tes conseils, peut etre un jour je reviendrais sur ce post si l'idée plait à kkun...

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