demasREST - технология. О ней довольно много говорят, но чтобы ссылку дать…
Википедия подойдет?. Дальше самому смотреть нужно. Бикинг довольно недавно что-то писал.
Особенность в том, что REST - это очень просто. Все в HTTP - не путать с HTML (который лишь один из диалектов - content-type для http).
Имеешь URI (он же URL). Делаешь правильный запрос. Получаешь адекватный ответ.
Основные принципы:
- все строится на ресурсах
- у каждого ресурса - свой уникальный URI
- форматов представления - множество. Задаются через content-type
- у каждого ресурса есть несколько применимых к нему операций: put, get, delete и т.д.
Примерно так. Это просто еще одна хорошая парадигма. Неочевидная (как неочевидны объектно-ориентированное, функциональное, аспектное, мета - и прочие отличные техники).
Pyro, как и RPyC, не избавлен от следующей проблемы: все что пиклится - проходит. В результате можешь обнаружить, что через сетку лезет уж вовсе непотребное. У нас поймали что-то вроде SQLAlchemy enity, только в нашей ORM (смотрую на новый SQLAlchemy и подумываю - а теперь-то можно попробовать написать правильный адаптер для нашего нереляционного источника. Хоть Байер на PyCon и всячески открещивался от подобных задумок). Объяснил, что так совсем нельзя. Категорически отверг идеи “приспособить как-нибудь”. В результате пересмотрели код и сделали правильно.
Pyro и RPyC для меня - одного поля ягоды. RPyC немножко более Pythonic и потому предпочтительней. Pyro неоправданно тяжеловесен и задумывался как аналог JMI. Со всеми вытекающими.
Кстати, на PyCon была интересная лекция на тему: “Почему некоторые шаблоны проектирования не применяются в Питоне”.
Брали очевидные: visitor, factory…
здесьБыло очень здорово (слайды не отражают сказанного, хотя обрисовывают задачку).
Потом часто звучало:
from __future__ import java_style
Traceback (SyntaxError: future feature java_style is not defined (<interactive input>, line 1)