Która metoda interfejsu API jest najlepsza dla aplikacji

23

Chcę tworzyć aplikacje na iOS i Androida dla mojego sklepu Magento.

W tym celu chcę wiedzieć, która metoda interfejsu API jest najlepsza jako interfejs API danych aplikacji.

Proszę zasugerować poniżej opcję Magento:

Czytałem Alan Storm za odpowiedź . Zgodnie z jego sugestią moja trzecia opcja jest najlepsza.

Ale chcę wiedzieć, który proces najlepiej dla poniższych warunków:

  1. Poświadczenie
  2. Szybsze pobieranie danych
  3. Szybszy rozwój

Proszę pomóż mi. Opisz krótko

Amit Bera
źródło
2
Być może zainteresuje Cię ta odpowiedź dotycząca wydajności SOAP i REST: magento.stackexchange.com/a/54476/231
Anna Völkl
@ AnnaVölkl, dzięki za linki .. Sprawdzę
Amit Bera
2
Myślę, że ogólna odpowiedź brzmi: „To zależy”. Zależy to od funkcji, których potrzebuje Twoja aplikacja (różnią się między SOAP i REST API). Nie wszystko ma wpływ na API REST. 1.) SOAP używa własnej metody „login”, REST używa oAuth. 2.) SOAP jest dość „ciężki”, ale bardzo powszechny w zastosowaniach korporacyjnych. REST jest szybszy po zalogowaniu. 3) zależy od tego, co już wiesz.
Anna Völkl,
@ AnnaVölkl.ziękujemy za sugestię. Zgodnie z twoją sugestią dotyczącą moich wymagań, najlepiej jest użyć rest-api. Z tego powodu mogę użyć autoryzacji oAuthas między platformą magento a platformą aplikacji ... Co powiesz Anna?
Amit Bera
AnnaVölkl, Jeśli ii użyję modułu niestandardowego, to co byłoby nie tak. W jednym przypadku . Jak dla mnie to może być proces logowania
Amit Bera

Odpowiedzi:

11

Interfejs API REST

Powody:

  • jest znacznie łatwiejszy do wdrożenia niż SOAP, ponieważ PHP nie zawsze przestrzega tych samych standardów, co - na przykład - produkty Microsoft. Ponadto obsługa SOAP oznacza obsługę XML, przestrzeni nazw i WSDL. Oczywiście będzie działać, jeśli zostanie wykonane poprawnie, ale koszt opracowania tego na iOS byłby większy;
  • SOAP opiera się na XML i wymaga pobrania (i być może buforowania) pliku definicji usługi (także XML), a XML jest w większości bardziej szczegółowy i dlatego bardziej pochłania pasmo niż kodowanie danych REST, nie wspominając o zużyciu pamięci do analizowania (jeśli używasz parserów DOM), dekodowania i opartej na obiektach drzewnej reprezentacji dokumentu. Z drugiej strony REST ma znacznie mniejsze pasmo i zajmuje dużo pamięci, co czyni go bardziej odpowiednim dla urządzeń mobilnych;
  • JSON byłby świetny, ale wymagałoby to zaimplementowania całkowicie nowego interfejsu API po stronie Magento, co może mieć konsekwencje również w odniesieniu do bezpieczeństwa Magento, nie wspominając już o złożoności tego.

Proponuję użyć natywnego interfejsu API opartego na REST Magento, a następnie podłączyć do niego niestandardowe usługi. Byłoby to bardziej niezawodne (interfejs API REST jest obsługiwany przez Magento, jest testowany przez szerszą grupę klientów, a Magento zapewnia pewne aktualizacje - jako aktualizacje bezpieczeństwa - wraz z wydaniami) i ekonomiczne rozwiązanie.

Powodzenia!

Dmitri Sologoubenko
źródło
4

Odpowiedź: -SOAP API

SOAP (Simple Object Access Protocol) wprowadza własny protokół i koncentruje się na ujawnianiu elementów logiki aplikacji (nie danych) jako usług. Ujawnia operacje i koncentruje się na dostępie do nazwanych operacji, każda implementuje logikę biznesową za pośrednictwem różnych interfejsów. Dlatego SOAP jest uważany za następcę XML-RPC, a także używa XML do kodowania wywołań opartych na HTTP. Wszystko odbywa się za pośrednictwem żądania HTTP POST.

SOAP jest najczęściej używany w aplikacjach korporacyjnych do integracji szerokiego typu i nie. aplikacji i innym trendem jest integracja ze starszymi systemami. Powiedziawszy to, spożywanie SOAP powinno być łatwym zadaniem. W tym momencie pojawia się WSDL.

Ashvin Monpara
źródło
1
Proszę nie kopiować z komentarzy @Anna volki
Amit Bera
Jeśli masz odpowiedź Następnie pkz wyjaśni wszystko
Amit Bera
2

Oba interfejsy API mają również swoje zalety i wady. Bardzo trudno jest być bardzo precyzyjnym, ponieważ wybór API zależy od wymagań. Chciałbym podzielić się podstawami, które wyróżniają te interfejsy API. Mam nadzieję, że to pomoże.

SOAP wykorzystuje XML do wysyłania zapytań i odpowiedzi, co komplikuje nas. REST używa krótszych formatów wiadomości, dzięki czemu jest stosunkowo szybszy

SOAP jest dość ciężki w porównaniu do REST

SOAP jest niezależny od języka, platformy i transportu, podczas gdy REST wymaga HTTP

SOAP zapewnia lepszą pomoc w obsłudze błędów

REST jest stosunkowo szybki, ponieważ nie wymaga obszernego przetwarzania

REST to rozkosz projektantów

Zgodnie z moim osobistym doświadczeniem pracuję z REST API od ponad roku. Jesteśmy zainteresowani tworzeniem aplikacji mobilnych dla stron Magento. Mamy gotowe połączenie z platformą Contus Mcomm, które może przyspieszyć proces tworzenia aplikacji mobilnych w sklepie e-commerce. Z REST wszystko wygląda dobrze dla mnie z wyjątkiem powszechnie akceptowanych wad.

użytkownik93884
źródło