Przebacz mi, jeśli to jest bycie "dyskusyjnym" pytaniem, ale naprawdę chciałbym, aby docenił odpowiedź tak/nie, z odpowiednim wyjaśnieniem.Czy zaprojektowałbyś kontrolne API łazika Marsa następnej generacji, aby był REST-owy zamiast RPC?
Załóżmy, że musisz zaprojektować i zaimplementować interfejs sterowania API dla robota, powiedzmy kolejnego generatora Mars Rover z . Czy tworzysz ten interfejs API zgodnie z zasadami RESTful , czy używasz klasycznego RPC, takiego jak XMLRPC?
Pytam o to, ponieważ muszę zrobić coś podobnego, choć "robot" to zbiór maszyn wirtualnych. Zostałem poproszony przez jednego raczej przekonującego inżyniera, znanego rzecznika REST, aby API RESTful. Nigdy nie stosowałem zasad REST i staram się zobaczyć, jak pasują do projektowania niskopoziomowych API między procesami. REST wydaje się natchniony tematem interakcji z repozytorium danych, które można modyfikować, zwykle z wielu przeskoków. To, co próbuję zrobić, bardziej przypomina kontrolowanie robota. Widzę, jak można argumentować, że robot jest, w abstrakcji, tylko repozytorium danych - "PUT left turn", "PUT travel 100 metrów", "GET temperatura zewnętrzna". Ale wydaje się, że jest to raczej wymyślny model. Z pewnością nie otrzymam korzyści z buforowania lub proxy ("Witaj, JPL? To jest współtworzenie Akamai w Canberze Teraz przejmujemy Rovera, ok?")
Tak, jest to architektura RESTful przydatne tutaj? Czy nadal jest lepszy od RPC nawet , gdy interakcja jest tak wąsko skoncentrowana?
Uwielbiam notkę JPL/Akamai/usurp :-) –
XMLRPC jest przeznaczony właśnie do tego. Żaden z czasowników REST nie ma sensu w tym kontekście, wszystko co robisz to wywoływanie zdalnych wywołań procedur. Ponadto, inne korzyści REST (takie jak dorozumiane łapanie) również nie mają tutaj żadnego sensu. – FlySwat