¿Qué método de API es mejor para aplicaciones?

23

Quiero crear aplicaciones iOS y Android para mi tienda Magento.

Para este propósito, quiero saber qué método de API es mejor como API de datos de aplicación.

Por favor sugiera a continuación la opción de Magento:

He leído la respuesta de Alan Storm . Según su sugerencia, mi tercera opción es la mejor.

Pero quiero saber qué proceso es mejor para la siguiente condición:

  1. Autenticación
  2. Búsqueda de datos más rápida
  3. Desarrollo más rápido

Por favor, ayúdame. Describa brevemente

Amit Bera
fuente
2
Puede que le interese esta respuesta sobre el rendimiento de SOAP & REST: magento.stackexchange.com/a/54476/231
Anna Völkl
@ AnnaVölkl, gracias por los enlaces ... lo comprobaré
Amit Bera
2
Supongo que la respuesta general es: "depende". Depende de las funciones que necesite su aplicación (son diferentes entre SOAP y REST API). No todo está imperativo para la REST API. 1.) SOAP usa su propio método de "inicio de sesión", REST usa oAuth. 2.) SOAP es bastante "pesado" pero muy común para uso empresarial. REST es más rápido una vez que ha iniciado sesión. 3) depende de lo que ya sabe.
Anna Völkl
@ AnnaVölkl.Gracias por tu sugerencia. Según su sugerencia para mi requerimiento, rest-api es lo mejor ... Por eso, puedo usar la autorización oAuthas entre magento plat form y la plataforma de aplicaciones ... ¿Qué dice Anna?
Amit Bera
AnnaVölkl, si uso un módulo personalizado, entonces qué estaría mal. en un caso . Como dije, ese puede ser el proceso de inicio de sesión
Amit Bera

Respuestas:

11

API REST

Razones:

  • es mucho más fácil de implementar que SOAP, ya que PHP no siempre sigue los mismos estándares que, por ejemplo, los productos de Microsoft. Además, tratar con SOAP implica tratar con XML, espacios de nombres y WSDL. Por supuesto que funcionará, si se hace correctamente, pero el costo de desarrollar esto para iOS sería mayor;
  • SOAP se basa en XML y requiere la descarga (y quizás el almacenamiento en caché) de un archivo de definición de servicio (también XML), y XML es principalmente más detallado y, por lo tanto, consume más ancho de banda que la codificación de datos REST, sin mencionar el uso de memoria para el análisis (si usa analizadores DOM), decodificación y representación de documentos en árbol basada en objetos en memoria. REST, por otro lado, consume mucho menos ancho de banda y memoria, lo que lo hace más adecuado para dispositivos móviles;
  • JSON sería genial, pero eso requeriría que implemente una interfaz API completamente nueva en el lado de Magento, lo que también puede tener consecuencias con respecto a la seguridad de Magento, sin mencionar la complejidad de la misma en general.

Sugeriría utilizar la API nativa basada en REST de Magento y, finalmente, conectarla a sus servicios personalizados. Esto sería más confiable (la API REST es compatible con Magento, está probada por una gama más amplia de clientes y Magento proporciona algunas actualizaciones, como actualizaciones de seguridad, junto con lanzamientos) y una solución rentable.

¡Buena suerte!

Dmitri Sologoubenko
fuente
4

Respuesta: API SOAP

SOAP (Protocolo simple de acceso a objetos) trae su propio protocolo y se enfoca en exponer piezas de lógica de aplicación (no datos) como servicios. Expone las operaciones y se enfoca en acceder a las operaciones con nombre, cada una implementa cierta lógica empresarial a través de diferentes interfaces. Es por eso que SOAP se considera el sucesor de XML-RPC y también utiliza XML para codificar sus llamadas basadas en HTTP. Todo se hace a través de la solicitud HTTP POST.

SOAP se usa principalmente para aplicaciones empresariales para integrar tipos amplios y no. de aplicaciones y otra tendencia es integrarse con sistemas heredados. Dicho esto, consumir SOAP debería ser una tarea fácil. Esto es cuando WSDL entra en la historia.

Ashvin Monpara
fuente
1
No copie los comentarios de @Anna volki
Amit Bera
Si tienes respuesta. Luego pkz explica todas las cosas
Amit Bera
2

Ambas API también tienen sus ventajas e inconvenientes. Es bastante difícil ser muy preciso, ya que la selección de API depende del requisito. Me gustaría compartir ciertos conceptos básicos que distinguen estas API. Espero que ayude.

SOAP utiliza XML para solicitudes y respuestas, lo que nos complica. REST utiliza formatos de mensaje más cortos, lo que lo hace relativamente más rápido.

SOAP es bastante pesado en comparación con REST

SOAP es independiente del lenguaje, la plataforma y el transporte, mientras que REST requiere HTTP

SOAP proporciona una mejor asistencia en el manejo de errores

REST es comparativamente rápido ya que no se requiere un procesamiento extenso

REST es una delicia para los diseñadores

Según mi experiencia personal, llevo más de un año trabajando con REST API. Estamos en la solución de creación de aplicaciones móviles para sitios web de Magento. Tenemos un marco de trabajo listo llamado Contus Mcomm que puede acelerar el proceso de creación de aplicaciones móviles de una tienda de comercio electrónico. Todo me parece bien con REST, excepto sus inconvenientes ampliamente aceptados.

usuario93884
fuente