Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2011-09-16

ReST


Чутка про ReST. Где-то на хабре видел опрос, как правильно перевести на русский словосочетание «Representational State Transfer». Как не переводи, получается фигня. В основном потому, что у буржуев принято подгонять словосочетания так, чтобы получалась благозвучная и запоминающаяся аббревиатура. В результате словосочетание может терять, скажем, адекватность.

Что есть ReST? Это набор принципов, регулирующих построение протоколов. Можно сказать, что ReST определяет метапротокол передачи и обработки ресурсов между клиентом и сервером.

В итоге, если переводить на русский, то получается как-то так «Передача Вида Отражающего Состояние». ПВОС. И это будет очередной хреновый перевод. Поэтому не надо переводить аббревиатуры. Один хрен, расшифровка не дает понимания сути. Буржуи правы, аббревиатура нужна для образования в мозгу ассоциативных связей, для чего нужен яркий, заметный ярлык.

С хабра:

Предположим, я продаю билеты в театр клиентам. Клиентом может быть только агентство, которое имеет свою учётную запись у меня на сервисе. Агентства бывают маленькие, в котором сидит тетёчка и ручками в личном кабинете с помощью барузера осуществляет покупку билета, а также большие, у которых всё автоматизированно. Большие хотят иметь возможность подсоединиться ко мне с помощью API и осуществить покупку.
На билеты можно смотреть цены, предварительно бронировать, выкупать бронь, возвращать купленные и удалять бронь.
Вопрос: как лучше всего организовать API?
...
...я выбрал REST, т.к. он даёт меньше свободы в тех местах, где она не нужна: наименование методов и способ вызова этого метода. Кратко: мои билеты теперь — это ресурсы. Каждое действие с билетом доступно по уникальному сочетанию HTTP-метод + URL. Например, предварительное бронирование (по сути, создание заказа на билет): POST /orders.xml, удаление заказа на билет DELETE /orders/1.xml, а просмотр цен GET /prices.xml....
Лучшая статья про API REST и Ruby on Rails, в открытом доступе — это глава про ActiveResource в книге Rails 3 in a Nutshell...

habrahabr.ru/blogs/webdev/127243
ofps.oreilly.com/titles/ /activeresource
infoq.com/minibooks/emag-03-2010-rest

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Klaipeda (15) Manager (15) web-browser (15) Никонов (15) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) Baltic (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) seaside (1) serialization (1) shore (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)