Что такое промежуточное программное обеспечение Стойки?

Что такое промежуточное программное обеспечение Стойки в Ruby? Я не мог найти хорошее объяснение того, что они подразумевают под "промежуточным программным обеспечением".

260
задан chrisgoyal 6 March 2014 в 12:35
поделиться

1 ответ

Стойка как конструкция

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

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

Например, с помощью Rack я могу выполнять отдельные этапы конвейера:

  • Аутентификация : когда поступает запрос, верны ли данные для входа пользователей? Как мне проверить эту OAuth, базовую аутентификацию HTTP, имя / пароль?

  • Авторизация : «авторизован ли пользователь для выполнения этой конкретной задачи?», То есть безопасность на основе ролей.

  • Кэширование : обработал ли я этот запрос, могу ли я вернуть кешированный результат?

  • Украшение : как я могу улучшить запрос, чтобы улучшить последующую обработку?

  • Мониторинг производительности и использования : какую статистику я могу получить из запроса и ответа?

  • Выполнение : фактически обработать запрос и предоставить ответ.

Возможность разделить различные этапы (и, при желании, включить их) очень помогает при разработке хорошо структурированных приложений.

Сообщество

Существует также отличная экосистема, развивающаяся вокруг Rack Middleware - вы должны быть в состоянии найти готовые компоненты стойки для выполнения всех вышеперечисленных шагов и многого другого. См. вики-страницу Rack GitHub для получения списка промежуточного программного обеспечения .

Что такое промежуточное ПО?

Промежуточное ПО - ужасный термин, обозначающий любой программный компонент / библиотеку, который помогает, но не участвует напрямую в выполнении какой-либо задачи. Очень распространенными примерами являются регистрация, аутентификация и другие общие компоненты горизонтальной обработки .Это, как правило, то, что нужно каждому в нескольких приложениях, но не так много людей заинтересованы (или должны быть) в создании самих себя.

Дополнительная информация

341
ответ дан 23 November 2019 в 02:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: