Что такое промежуточное программное обеспечение Стойки в Ruby? Я не мог найти хорошее объяснение того, что они подразумевают под "промежуточным программным обеспечением".
Промежуточное ПО для стойки - это больше, чем «способ фильтрации запроса и ответа» - это реализация конструкции конвейера шаблон для веб-серверов, использующих Rack .
Он очень четко разделяет различные этапы обработки запроса - разделение проблем является ключевой целью всех хорошо разработанных программных продуктов.
Например, с помощью Rack я могу выполнять отдельные этапы конвейера:
Аутентификация : когда поступает запрос, верны ли данные для входа пользователей? Как мне проверить эту OAuth, базовую аутентификацию HTTP, имя / пароль?
Авторизация : «авторизован ли пользователь для выполнения этой конкретной задачи?», То есть безопасность на основе ролей.
Кэширование : обработал ли я этот запрос, могу ли я вернуть кешированный результат?
Украшение : как я могу улучшить запрос, чтобы улучшить последующую обработку?
Мониторинг производительности и использования : какую статистику я могу получить из запроса и ответа?
Выполнение : фактически обработать запрос и предоставить ответ.
Возможность разделить различные этапы (и, при желании, включить их) очень помогает при разработке хорошо структурированных приложений.
Существует также отличная экосистема, развивающаяся вокруг Rack Middleware - вы должны быть в состоянии найти готовые компоненты стойки для выполнения всех вышеперечисленных шагов и многого другого. См. вики-страницу Rack GitHub для получения списка промежуточного программного обеспечения .
Промежуточное ПО - ужасный термин, обозначающий любой программный компонент / библиотеку, который помогает, но не участвует напрямую в выполнении какой-либо задачи. Очень распространенными примерами являются регистрация, аутентификация и другие общие компоненты горизонтальной обработки .Это, как правило, то, что нужно каждому в нескольких приложениях, но не так много людей заинтересованы (или должны быть) в создании самих себя.
Комментарий о том, что это способ фильтрации запросов, вероятно, взят из эпизода 151 RailsCast: Стойка промежуточного программного обеспечения .
Промежуточное ПО для стоек эволюционировало из Rack, и есть отличное введение в Введение в промежуточное ПО для стойки .
В Википедии есть вводная информация о промежуточном программном обеспечении здесь .