Quelle méthode API est la meilleure pour les applications

23

Je souhaite créer des applications iOS et Android pour ma boutique Magento.

À cette fin, je veux savoir quelle méthode API est la meilleure en tant qu'API de données d'application.

Veuillez suggérer ci-dessous l'option de Magento:

J'ai lu la réponse d' Alan Storm . Selon sa suggestion, ma troisième option est la meilleure.

Mais je veux savoir quel processus convient le mieux à la condition ci-dessous:

  1. Authentification
  2. Récupération plus rapide des données
  3. Développement plus rapide

Aidez-moi, s'il vous plaît. Décrivez brièvement

Amit Bera
la source
2
Vous pourriez être intéressé par cette réponse concernant les performances SOAP & REST: magento.stackexchange.com/a/54476/231
Anna Völkl
@ AnnaVölkl, merci pour les liens .. je vérifierai
Amit Bera
2
Je suppose que la réponse générale est: "Cela dépend". Cela dépend des fonctions dont votre application a besoin (elles sont différentes entre l'API SOAP et REST). Tout n'est pas implémenté pour l'API REST. 1.) SOAP utilise sa propre méthode de "connexion", REST utilise oAuth. 2.) SOAP est assez "lourd" mais très courant pour une utilisation en entreprise. REST est plus rapide une fois connecté. 3) dépend de ce que vous savez déjà.
Anna Völkl
@ AnnaVölkl.thanks pour votre suggestion. Selon votre suggestion pour mon exigence, rest-api est le meilleur .. En raison de, je peux utiliser l'autorisation oAuthas entre la plate-forme magento et la plate-forme d'applications ... Que dites-vous Anna?
Amit Bera
AnnaVölkl, si ii utilise un module personnalisé, alors ce serait faux. dans un cas . Pour moi, cela peut être un processus de connexion
Amit Bera

Réponses:

11

API REST

Les raisons:

  • il est beaucoup plus facile à mettre en œuvre que SOAP, car PHP ne suit pas toujours les mêmes normes que - par exemple - les produits Microsoft. En outre, traiter avec SOAP implique de traiter avec XML, les espaces de noms et WSDL. Bien sûr, cela fonctionnera, s'il est fait correctement, mais le coût de développement de ceci pour iOS serait plus élevé;
  • SOAP est basé sur XML et nécessite le téléchargement (et peut-être la mise en cache) d'un fichier de définition de service (également XML), et XML est généralement plus détaillé et donc plus gourmand en bande passante que l'encodage de données REST, sans parler de l'utilisation de la mémoire pour l'analyse (si vous utilisez les analyseurs DOM), le décodage et la représentation de documents arborescents basés sur des objets en mémoire. Le REST, en revanche, consomme beaucoup moins de bande passante et de mémoire, ce qui le rend plus adapté aux appareils mobiles;
  • JSON serait génial, mais cela nécessiterait que vous implémentiez une toute nouvelle interface API côté Magento, ce qui peut également avoir des conséquences en termes de sécurité Magento, sans parler de sa complexité globale.

Je suggérerais d'utiliser l'API native basée sur Magento REST, et éventuellement d'y connecter vos services personnalisés. Ce serait une solution plus fiable (l'API REST est prise en charge par Magento, elle est testée par un plus large éventail de clients, et Magento fournit des mises à jour - en tant que mises à jour de sécurité - pour elle ainsi que des versions) et une solution rentable.

Bonne chance!

Dmitri Sologoubenko
la source
4

Réponse: -API SOAP

SOAP (Simple Object Access Protocol) apporte son propre protocole et se concentre sur l'exposition de morceaux de logique d'application (pas de données) en tant que services. Il expose les opérations et se concentre sur l'accès aux opérations nommées, chacune implémentant une logique métier via différentes interfaces. C'est pourquoi SOAP est considéré comme le successeur de XML-RPC et utilise également XML pour coder ses appels HTTP. Tout se fait via une requête HTTP POST.

SOAP est principalement utilisé pour les applications d'entreprise pour intégrer des types larges et non. d'applications et une autre tendance est d'intégrer les systèmes existants. Cela dit, la consommation de SOAP devrait être une tâche facile. C'est à ce moment que WSDL entre dans l'histoire.

Ashvin Monpara
la source
1
Veuillez ne pas copier les commentaires de @Anna volki
Amit Bera
Si vous avez une réponse. Puis pkz explique tout
Amit Bera
2

Les deux API ont également leurs avantages et leurs inconvénients. Il est assez difficile d'être très précis car la sélection de l'API dépend de l'exigence. Je voudrais partager certaines bases qui distinguent ces API. J'espère que cela aiderait.

SOAP utilise XML pour les demandes et les réponses, ce qui nous complique la tâche. REST utilise des formats de message plus courts, ce qui le rend relativement plus rapide

SOAP est assez lourd par rapport à REST

SOAP est indépendant de la langue, de la plateforme et du transport tandis que REST nécessite HTTP

SOAP offre une meilleure assistance dans la gestion des erreurs

REST est relativement rapide car aucun traitement approfondi n'est requis

REST fait le bonheur des créateurs

D'après mon expérience personnelle, je travaille avec l'API REST depuis plus d'un an maintenant. Nous sommes dans la solution de construction d'applications mobiles pour les sites Web Magento. Nous avons un framework readymade appelé Contus Mcomm qui peut accélérer le processus de construction d'applications mobiles d'une boutique de commerce électronique. Tout me va bien avec REST, sauf ses inconvénients largement acceptés.

user93884
la source