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

Возможно, вы слышали, как люди используют термин «промежуточное программное обеспечение» в различных контекстах, и задавались вопросом, о чем они говорят. Исследуйте обширный и богатый набор технологий и процессов, которые они охватывают!

Промежуточное программное обеспечение имеет много значений

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

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

Как и большинство программного обеспечения, промежуточное программное обеспечение использует преимущества концепции модульности: разбиение сложного процесса на более мелкие и более управляемые части.

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

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

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

Компоненты промежуточного программного обеспечения часто используют такие технологии, как JSON, REST, XML и SOAP. Все это продумано, популярно и основано на тексте, что значительно упрощает замену или перестановку компонентов. Текстовый формат и различные наборы инструментов также позволяют упростить и повысить надежность отладки.

Различные типы промежуточного программного обеспечения

Поскольку этот термин настолько широк, существует множество различных примеров и вариантов использования промежуточного программного обеспечения. Некоторые из наиболее популярных включают в себя:

  1. Брокер сообщений, который добавляет структуру взаимодействию между процессами.
  2. Сервер веб-приложений и веб-фреймворк.
  3. Игровые движки обеспечивают поведение по умолчанию, которое вы можете использовать, расширять или заменять.
  4. Платформы потоковой передачи событий, такие как Apache Kafka.

Использование промежуточного программного обеспечения при разработке программного обеспечения

Одно из наиболее заметных применений промежуточного программного обеспечения — веб-фреймворки. Большинство платформ предоставляют базовую среду, которую вы можете настраивать и расширять в соответствии со своими требованиями. Эта модель обычно предполагает передачу HTTP-запросов через ряд встроенных и пользовательских функций в указанном порядке и возврат HTTP-ответа в конце.

Платформа Express.js использует эту модель для поддержки настройки. Возьмем этот пример функции промежуточного программного обеспечения, написанной на JavaScript:

app.use(‘/user/:id’, (req, res, next) => { console.log(‘Request Type:’, req.method) next() })

Эта функция чрезвычайно проста:

  1. Он обрабатывает определенные URL-адреса, начинающиеся с «/user/», за которыми следует идентификатор.
  2. Он записывает тип метода запроса, который может быть GET, POST и т. д.
  3. Затем он вызывает предоставленную функцию, чтобы продолжить обработку цепочки функций промежуточного программного обеспечения.

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

Фреймворк PHP Laravel имеет почти идентичную настройку промежуточного программного обеспечения. Обратите внимание, что пространство имен явно определяет этот класс как «промежуточное программное обеспечение».

пространство имен AppHttpMiddleware; используйте Закрытие; используйте IlluminateHttpRequest; используйте SymfonyComponentHttpFoundationResponse; class SureTokenIsValid { /** * Обработка входящего запроса. */ дескриптор публичной функции (Request $request, Closure $next): Response { if ($request->input(‘token’) !== ‘my-secret-token’) { return redirect(‘home’); } Вернуть $next($request); } }

Опять же, роль этого класса очень специфична: все, что он делает, — это проверяет запрос на наличие токена. В этом случае функция промежуточного программного обеспечения может разорвать цепочку, отказаться от вызова следующей функции и вместо этого отправить перенаправление. Функция перенаправления вернет соответствующий объект Response, который функция промежуточного программного обеспечения вернет как часть своего контракта подписи.

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

def simple_middleware(get_response): # Одноразовая настройка и инициализация. def middleware(request): # Код, который будет выполняться для каждого запроса перед # вызовом представления (и последующего промежуточного программного обеспечения). response = get_response(request) # Код, который будет выполняться для каждого запроса/ответа после # вызова представления. возврат ответа возврат промежуточного программного обеспечения

Затем вы можете контролировать, какое промежуточное программное обеспечение запускается и в каком порядке, с помощью простого массива:

MIDDLEWARE = ​​( “django.middleware.security.SecurityMiddleware”, “django.contrib.sessions.middleware.SessionMiddleware”, “django.middleware.common.CommonMiddleware”, “django.middleware.csrf.CsrfViewMiddleware”, “django. contrib.auth.middleware.AuthenticationMiddleware”, “django.contrib.messages.middleware.MessageMiddleware”, “django.middleware.clickjacking.XFrameOptionsMiddleware”, )

Django обеспечивает поведение по умолчанию, такое как класс CommonMiddleware, от которого выиграет большинство приложений; он запрещает доступ к определенным «плохим» пользовательским агентам и обрабатывает канонизацию URL-адресов. Довольно часто промежуточное программное обеспечение, ориентированное на безопасность и критически важные задачи, запускается на ранних стадиях процесса, но эта гибкость позволяет вам настроить порядок в зависимости от потребностей вашего приложения.

Чем полезно промежуточное ПО?

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

Таким образом, промежуточное программное обеспечение имеет ряд важных преимуществ, в том числе:

  1. Оптимизируйте разработку приложений и сократите время вывода на рынок.
  2. Подключайтесь эффективно.
  3. Более быстрый переход изменений.
  4. Рабочие инструменты легко доступны.

В конечном счете, промежуточное программное обеспечение — это форма модульности, концепция, которая полезна при применении ко всем формам программирования, от самого высокого до самого низкого уровня.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *