Utiliser de SAVON ou de REPOS pour une nouvelle Api
( Pas un doublon de Dois-je utiliser de repos ou de savon. Cette question a seulement 1 réponse qui ne marche pas fournir de nombreux arguments à l'exception de frais généraux ).
Avant de marquer cette question comme un doublon, considère que je suis à la recherche de réponses de personnes qui ont fait le choix avant moi et qui expliquent leurs raisons basées sur leur propre expérience. Les réponses que simplement de l'état "frais généraux" ou "plus complexe" ne correspondent pas à ce profil.
Maintenant, pour la question:
Un temps, j'ai commencé la configuration d'une nouvelle api à l'aide de Savon (PHP /Zend_Soap_Server, zend_soap_autodiscover n'). Bien que j'ai compris comment le travail avec du savon, de la complexité, je me demande si c'est un bon choix pour le futur entretien.
J'ai entendu parler de REPOS, mais n'ont aucune expérience avec elle.
La question est donc: quelles sont les pro/cons de REPOS vs SAVON et quelle est votre suggestion lors de la création d'une nouvelle api (plutôt complexe api, plusieurs dizaines de méthodes, à l'aide de ssl, doit avoir décent, la sécurité, etc), de REPOS ou de SAVON.
Si vous pensez que votre réponse dépend de l'équilibre entre le REPOS et du SAVON, et une partie spécifique de la dépendance ou de la caractéristique de faire pencher la balance, assurez-vous de demander ce que vous devez savoir. Je vais répondre dès que je peux.
Une courte liste des api caractéristiques:
- Authentification
- Effectuer des fonctions mathématiques pour un frontend
- Fournir des fichiers binaires sur le frontend (factures)
- CRUD de base de différentes sortes d'informations
La place de l'api est fondamentalement comme suit:
Internet -> site web> [réseau interne] -> API/Backend -> Base de données
Merci pour votre temps à l'avance..
OriginalL'auteur Damien Overeem | 2012-12-12
Vous devez vous connecter pour publier un commentaire.
C'est évidemment un sujet très controversé, mais dans le même temps, la plupart des nouveaux services sont de REPOS pour un certain nombre de raisons. Je ne vais pas couvrir les différences entre les deux (comme cela est bien documenté), mais plus les raisons pour lesquelles je pense que tu ferais construire un nouveau service, aujourd'hui (2012) à l'aide de REPOS:
Si vous regardez autour de certaines des principales Api sur internet (par exemple Google, Facebook, Twitter, etc), vous trouverez beaucoup de REPOS, et peu ou pas de SAVON. Ceux qui n'ont interfaces SOAP sont autodérision ou de les faire tomber complètement, parce qu'il y a très peu de raisons de rester avec elle.
En fait, de nombreux services sont à aller plus loin et seulement d'offrir leurs services REST JSON mise en forme, par opposition au format XML ou les deux, parce que comme le RESTE sur SOAP, JSON a beaucoup d'avantages en termes de taille et de la simplicité par rapport à XML qu'il n'a pas beaucoup de sens à continuer de soutenir XML.
Il y a aussi presque aucun inconvénients de REPOS par rapport à SAVON.
Sur la seule considération pratique, je pense, d'un point de vue du client. Avec du SAVON (à cause de WSDL, en supposant que vous produire un), vous pouvez pointer un SAVON capable IDE au service (comme VisualStudio) et il va générer un client natif proxy API basée sur le service à distance. C'est un peu agréable en termes de mise en place et de faire fonctionner rapidement, mais a ses propres inconvénients: il vous oblige à utiliser les objets définis dans le service (alors qu'avec du REPOS, vous pouvez utiliser vos propres définitions d'objets aussi longtemps que les données des cartes), et selon la façon dont le service à distance de poignées de contrôle de version (ou pas) et comment vous l'utilisez, vous pouvez finir par avoir à mettre à jour les principaux morceaux de votre application en raison de quelque chose d'aussi simple qu'un changement de dénomination.
À partir du serveur de point de vue, j'ai vraiment ne peux pas voir les avantages techniques pour le choix du SAVON plus de REPOS que ce soit.
TL;DR: le SAVON n'est pas nécessairement mauvais, c'est juste que le RESTE est mieux.
Mais le REPOS ne prend pas en charge la Transaction et le Message de la fiabilité (livré ou pas) et le Message de sécurité
Un autre gros avantage que je vois sur le SAVON est le fait que vous pouvez utiliser standardClasses à envoyer sur l'API. Qui a l'avantage que vous n'avez pas besoin de parser du json, mais peut envoyer classes/objets au-dessus de l'API, donc d'avoir des médias n'est pas casser, mais en gardant tout orientée objet.
OriginalL'auteur gregmac