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

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

Я слышал много людей, которые недавно говорили о промежуточном программном обеспечении, но каково точное определение промежуточного программного обеспечения? Когда я просматриваю промежуточное программное обеспечение, я нахожу много информации и некоторые определения, но, читая эти данные и определения, кажется, что в основном все "товары" находятся в середине чего-то. Итак, все ли промежуточное ПО?

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

4b9b3361

Ответ 1

Допустим, ваша компания выпускает 4 разных продукта, у вашего клиента есть еще 3 разных продукта от других 3 разных компаний.

Когда-нибудь клиент подумал, почему мы не интегрируем все наши системы в одну огромную систему. Десять минут спустя их ИТ-отдел сказал, что займет 2 года.

Вы (мудрый разработчик) сказали, почему бы нам просто не интегрировать все разные системы и не объединить их в однородной среде? Менеджер клиента смотрит на вас... Вы продолжили, мы будем использовать Middleware, мы будем изучать Входы/выходы всех разных систем, ресурсы, которые они используют, а затем выбрать подходящую промежуточную среду.

По-прежнему объясняется нетехническому менеджеру
В среде Middleware в середине первая система будет генерировать материал X, система Y и Z будет потреблять эти выходы и т.д.

Ответ 2

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

  • В первую очередь (обычно исключительно) программное обеспечение; обычно не нуждается в специализированном оборудовании.

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

  • Почти наверняка соединяет два приложения и передает данные между ними.

Вы заметите, что это почти то же определение, что и операционная система. Так, например, стек TCP/IP или кэширование можно считать промежуточным программным обеспечением. Но ваша ОС также может предоставить те же функции. На самом деле, промежуточное ПО можно рассматривать как специальное расширение для операционной системы, специфичное для ряда приложений, которые зависят от него. Он просто предоставляет услугу более высокого уровня.

Некоторые примеры промежуточного программного обеспечения:

  • распределенный кеш
  • очередь сообщений
  • монитор транзакций
  • переписывающий пакет
  • автоматическая система резервного копирования

Ответ 3

В Википедии есть довольно хорошее объяснение: http://en.wikipedia.org/wiki/Middleware

Он начинается с

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

Что такое Middleware дает несколько примеров.

Ответ 4

Есть (по крайней мере) три разных определения, о которых я знаю

  • в бизнес-вычислениях, промежуточное программное обеспечение представляет собой программное обеспечение для обмена сообщениями и интеграции между приложениями и службами.

  • в играх, промежуточное ПО довольно хорошо все, что предоставляется сторонним

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

Ответ 5

Проще говоря, Middleware представляет собой программный компонент, который предоставляет услуги для интеграции разрозненных систем вместе.

В сложной корпоративной среде существует ряд проблем, когда вам нужно объединить две или более корпоративных систем, чтобы общаться друг с другом. Обычно эти системы не понимают друг друга, поскольку они разрабатываются на разных платформах с использованием разных языков (например, С++, Java, Cobol и т.д.).

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

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

Типичным примером промежуточного программного обеспечения являются ESB-продукты, такие как IBM-брокер сообщений (WMB/IIB), WESB, Datapower XI50, Oracle Fusion, Mule и многие другие.

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

Ответ 6

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

  1. Обработка исключений/ошибок
  2. Статический файловый сервер
  3. Аутентификация
  4. MVC Middlewares

Как показано на приведенной выше схеме, в ASP.NET есть различные компоненты промежуточного программного обеспечения, которые получают входящий запрос и перенаправляют его в класс С# (в данном случае класс контроллера).

Ответ 7

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

Ответ 8

Существует общее определение в разработке веб-приложений, которое (и я делаю эту формулировку, но она, кажется, подходит): Компонент, который предназначен для изменения HTTP-запроса и/или ответа, но не (обычно) обслуживать ответ полностью, предназначенный для объединения в цепочку, чтобы сформировать конвейер поведенческих изменений во время обработки запроса.

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

  • Сжатие ответа Gzip
  • HTTP-аутентификация
  • Регистрация запросов

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

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

Лично я ненавижу термин "промежуточное программное обеспечение" за его универсальность, но он широко используется.

Вот дополнительное объяснение, конкретно применимое к Ruby on Rails.

Ответ 9

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

Одним из таких примеров является среда OWIN middleware for .NET, прежде чем люди были вынуждены размещать веб-приложения в программном обеспечении для хостинга Microsoft под названием IIS. После разработки owin добавлена возможность размещения как в IIS, так и в self host, в IIS была просто добавлена поддержка Owin, которая выполняла роль интерфейса. Также стало возможным host .NET web apps on Linux via Mono, в который снова добавлена поддержка Овина.

Также добавлена возможность создавать Single Page Applications, контекст обработки запроса/ответа для Owin Http, поэтому поверх owin вы можете добавить логику authentication/authorization через OAuth2, например, вы можете настроить промежуточное ПО для регистрации класса, который содержит логику пользователя аутентификация (например, реализация OAuth2) или класс, который содержит логику управления сообщениями запросов/ответов http, чтобы вы могли заставить одно приложение взаимодействовать с другими приложениями/сервисами через другой формат данных (например, json, xml и т.д., если вы ориентация на сеть).

Ответ 10

Некоторые примеры промежуточного программного обеспечения: CORBA, Remote Method Invocation (RMI),...

Приведенные выше примеры - это все части программного обеспечения, позволяющие вам заботиться о связи между различными процессами (работающими на одном компьютере или распространяемыми, например, в Интернете).

Ответ 11

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

Ответ 12

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

Например: Операционная система, на которой выполняется ваше приложение, требует изменения I.PP, вам не нужно беспокоиться об этом в своем коде, это стековый слой промежуточного программного обеспечения, на котором вы можете просто обновить конфигурацию.

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

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

Надеемся, что предоставленная информация поможет.

Ответ 13

это программный уровень между операционной системой и приложения на каждой стороне распределенной вычислительной системы в сети. Фактически он соединяет разнородные сетевые и программные системы.

Ответ 14

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

Ответ 15

Если я не ошибаюсь, в среде программных приложений, основанной на контексте, вы можете рассмотреть middleware для следующих ролей, которые можно комбинировать по порядку выполнять определенные действия между пользователем request и приложением response.

  • адаптер
  • дезинфицирующее
  • Validator