Perdóneme si esto llega a ser una pregunta de "discusión", pero realmente agradecería una respuesta sí/no, , con una explicación adecuada.¿Diseñarías la API de control del rover de Mars de próxima generación para que sea RESTful en lugar de RPC?
Supongamos que tiene que diseñar e implementar una API de control para un robot, por ejemplo, la siguiente generación Mars Rover. ¿Diseña esta API de acuerdo con los principios RESTful , o utiliza una RPC clásica, como XMLRPC?
Lo pregunto porque tengo que hacer algo similar, aunque el "robot" es una colección de máquinas virtuales. Me urge un ingeniero bastante persuasivo, un conocido defensor de REST, para que la API RESTABLEZCA. Nunca utilicé los principios de REST, y estoy luchando para ver cómo encajan en el diseño de API de bajo nivel entre procesos. REST parece estar infundido con el tema de interactuar con un repositorio de datos modificable, generalmente a muchos pasos de distancia. Lo que estoy tratando de hacer se parece más a controlar de cerca un robot. Puedo ver cómo se podría argumentar que el robot es, en abstracto, solo un depósito de datos: "PUT a la izquierda", "PUT viaja 100 metros", "GET fuera de la temperatura". Pero este parece ser un modelo bastante artificial. Ciertamente no recibiré ningún beneficio del almacenamiento en caché o un proxy ("Hola, JPL? Este es el co-lo de Akamai en Canberra. Ahora estamos tomando el Rover, ¿de acuerdo?")
Entonces, es una arquitectura RESTful útil aquí? ¿Sigue siendo superior a RPC incluso cuando la interacción se enfoca tan estrechamente?
Me encanta el JPL/Akamai/usurp observación :-) –
XMLRPC está diseñado exactamente para esto. Ninguno de los verbos REST tiene sentido en este contexto, todo lo que hace es llamar a procedimientos remotos. Además, otros beneficios de REST (como la captura implícita) tampoco tienen sentido aquí. – FlySwat