Описание тега webmachine

WebMachine - это среда Erlang для создания веб-сервисов RESTful с использованием лучших практик Erlang/OTP.

Webmachine - это прикладной уровень, который добавляет семантическую осведомленность HTTP поверх превосходного управления битами и управления синтаксисом HTTP, предоставляемого mochiweb, и предоставляет простой и понятный способ связать это с поведением вашего приложения.

Приложение Webmachine - это набор ресурсов, каждый из которых представляет собой набор функций над состоянием ресурса. Мы на самом деле имеем в виду функции, а не объектные методы, бесконечные серверные циклы или любые другие подобные конструкции. Этот аспект Webmachine является одной из причин, почему приложения Webmachine относительно просты для понимания и расширения.

Эти функции предоставляют вам место для определения представлений и других относящихся к сети свойств ресурсов вашего приложения - с акцентом на то, что первоклассные вещи в Интернете являются ресурсами и что их основные свойства взаимодействия уже достаточно хорошо определены и полезны ограничены.

Для большинства приложений Webmachine большинство функций довольно малы и изолированы. Одним из приятных результатов этого является то, что быстрое чтение ресурса даст вам понимание приложения, его поведения в Интернете и отношений между ними. Поскольку эти функции обычно прозрачны по ссылкам, приложения Webmachine можно довольно легко протестировать. Нет необходимости в фиктивных объектах, поддельных соединениях с базой данных или любых других затратах времени, когда вы можете писать тесты для каждого компонента вашего приложения с точки зрения ввода и вывода для различных функций.

Мы считаем, что, предоставляя веб-разработчикам систему с соглашениями, которые напрямую сопоставляются с HTTP и REST, мы помогаем им быстро создавать и расширять веб-приложения, не определяя при этом форму остальных приложений. Получающиеся приложения просты в изучении и обслуживании и имеют очень легко понять семантику HTTP. Он также доступен для ruby ​​как webmachine-ruby.