Каковы различия между интерфейсом веб-шлюза Erlang (EWGI) и веб-машиной? - PullRequest
6 голосов
/ 17 ноября 2009

Обе EWGI и Webmachine предоставляют абстракции HTTP в Erlang. Я хотел бы знать, каковы основные концептуальные различия в их подходе?

Ответы [ 2 ]

8 голосов
/ 17 ноября 2009

EWGI предоставляет абстрактное место для промежуточного программного обеспечения HTTP и по существу не видит ничего более глубокого, чем существование пары «запрос / ответ». Это проверенная и правильная схема объединения слоев систем в единое целое, но она не помогает сделать всю систему правильной или понятной.

Webmachine содержит явную модель не только для обработки запросов, но и для управления внутренней семантикой самого протокола HTTP. Предоставляя разработчику приложения простой и выразительный способ описания поведения HTTP их приложения, Webmachine позволяет очень просто создавать системы, имеющие форму, аналогичные Web, и которые очень просты для понимания.

Обе системы потенциально дополняют друг друга. В настоящий момент Webmachine использует только запросы и ответы, предоставленные mochiweb, но если был предоставлен надежный патч, позволяющий Webmachine выступать в качестве приложения EWGI, я подозреваю, что оно будет принято. Учитывая форму двух систем, это не должно быть слишком большим делом.

3 голосов
/ 17 ноября 2009

EWGI должен быть общим API для написания обработчиков запросов, API, который реализуют многие веб-серверы. EWGI вдохновлен Python WSGI.

Webmachine - это просто отдельное приложение со своим собственным API, которое он сам реализует.

...