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

5
компьютеры и технологии 29.webp.webp

Последнее обновление 08.02.2024 — Василий Иванов

Быстрые ссылки

  • Промежуточное программное обеспечение означает многое
  • Как работает промежуточное программное обеспечение?
  • Различные типы промежуточного программного обеспечения
  • Использование промежуточного программного обеспечения в разработке программного обеспечения
  • Чем полезно промежуточное программное обеспечение?

Ключевые выводы

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

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

По теме:  Как остановить мерцание веб-камеры в Windows 11

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

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

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

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

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

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

По теме:  Работа с архивами в Go

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

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

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

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

  • Брокеры сообщений, которые добавляют структуру межпроцессному общению.
  • Сервер веб-приложений и веб-фреймворки.
  • Игровые движки, обеспечивающие поведение по умолчанию, которое вы можете использовать, расширять или заменять.
  • Платформы потоковой передачи событий, такие как 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 имеет почти идентичную настройку промежуточного программного обеспечения. Обратите внимание, что пространство имен явно определяет этот класс как «Промежуточное ПО».

 namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class EnsureTokenIsValid
{
    /**
     * Handle an incoming request.
     */
    public function handle(Request $request, Closure $next): Response
    {
        if ($request->input('token') !== 'my-secret-token') {
            return redirect('home');
        }
        return $next($request);
    }
}

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

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

 def simple_middleware(get_response):
    # One-time configuration and initialization.
    def middleware(request):
        # Code to be executed for each request before
        # the view (and later middleware) are called.
        response = get_response(request)
        # Code to be executed for each request/response after
        # the view is called.
        return response
    return middleware

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

 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-адресов. Критически важное промежуточное программное обеспечение, ориентированное на безопасность, довольно часто запускается на ранних этапах конвейера, но эта гибкость позволяет вам настроить порядок в зависимости от потребностей вашего приложения.

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

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

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

  • Оптимизированная разработка приложений и сокращение времени вывода на рынок.
  • Эффективное подключение.
  • Более быстрый переход изменений.
  • Легкодоступные инструменты на рабочем месте.

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