Я слышал много людей, которые недавно говорили о промежуточном программном обеспечении , но каково точное определение промежуточного программного обеспечения? Когда я изучаю промежуточное программное обеспечение, я нахожу много информации и некоторых определений, но, читая эту информацию и определения, кажется, что в основном все «изделия» находятся в середине чего-то. Итак, все ли промежуточное ПО?
Или у вас есть пример программного обеспечения, которое не является промежуточным?
источник
Промежуточное ПО - ужасно туманный термин. Что такое «промежуточное программное обеспечение» в одном случае не будет в другом. В целом можно ожидать, что что-то, относящееся к промежуточному программному обеспечению, будет иметь следующие характеристики:
В основном (обычно исключительно) программное обеспечение; обычно не требуется никакого специального оборудования.
Если бы этого не было, приложения, которые от него зависели, должны были бы включить его как часть своего приложения и были бы в значительной степени дублированы.
Почти наверняка соединяет два приложения и передает данные между ними.
Вы заметите, что это почти то же самое определение, что и операционная система. Так, например, стек TCP / IP или кэширование можно считать промежуточным ПО. Но ваша ОС также может предоставлять те же функции. Действительно, промежуточное ПО можно рассматривать как специальное расширение операционной системы, специфичное для набора приложений, которые зависят от него. Он просто предоставляет сервис более высокого уровня.
Некоторые примеры промежуточного программного обеспечения:
источник
У Википедии есть довольно хорошее объяснение: http://en.wikipedia.org/wiki/Middleware
Начинается с
Что такое Middleware, дает несколько примеров.
источник
Есть (по крайней мере) три разных определения, которые мне известны
в бизнес-вычислениях промежуточное ПО - это программное обеспечение для обмена сообщениями и интеграции между приложениями и службами.
в играх промежуточное ПО довольно хорошо - все, что предоставляется сторонними разработчиками
в (некоторых) встроенных программных системах промежуточное ПО предоставляет сервисы, используемые приложениями, которые состоят из функций, предоставляемых уровнем аппаратной абстракции - он находится между уровнем приложений и уровнем аппаратной абстракции.
источник
Проще говоря, Middleware - это программный компонент, который предоставляет сервисы для интеграции разнородных систем.
В сложной корпоративной среде существует ряд проблем, когда вам необходимо объединить две или более корпоративных систем вместе, чтобы общаться друг с другом. Обычно эти системы не понимают язык друг друга, поскольку они разрабатываются на разных платформах с использованием разных языков (таких как C ++, Java, Cobol и т. Д.).
Таким образом, здесь появляется промежуточное программное обеспечение в картинке, которое предоставляет такие услуги, как
Типичным примером промежуточного программного обеспечения являются продукты ESB, такие как IBM Message Broker (WMB / IIB), WESB, Datapower XI50, Oracle Fusion, Mule и многие другие.
Таким образом, промежуточное программное обеспечение находится в основном между приложениями-потребителями и приложениями-поставщиками услуг и помогает этим приложениям общаться друг с другом.
источник
Промежуточное ПО - это то, как наше приложение реагирует на входящие запросы. Промежуточное программное обеспечение изучает входящий запрос и принимает решения на основе этого запроса. Мы можем создавать целые приложения только с использованием промежуточного программного обеспечения. Например, ASP.NET - это веб-инфраструктура, состоящая из следующих основных компонентов промежуточного программного обеспечения HTTP.
Как показано на приведенной выше схеме, в ASP.NET имеются различные компоненты промежуточного программного обеспечения, которые получают входящий запрос и перенаправляют его в класс C # (в данном случае класс контроллера).
источник
Промежуточное программное обеспечение - это общий термин для программного обеспечения, которое служит для «склейки» отдельных, часто сложных и уже существующих программ. Некоторые программные компоненты, которые часто связаны с промежуточным программным обеспечением, включают корпоративные приложения и веб-службы.
источник
Существует общее определение в разработке веб-приложений, которое (и я делаю эту формулировку, но она, кажется, подходит): компонент, который предназначен для изменения HTTP-запроса и / или ответа, но не (обычно) не обслуживает ответ в целом, предназначенный для объединения в цепочку для формирования поведенческих изменений во время обработки запросов.
Примеры задач, которые обычно реализуются промежуточным ПО:
Ключевым моментом здесь является то, что ни один из них не несет полной ответственности за ответ клиенту. Вместо этого каждый изменяет поведение каким-либо образом как часть конвейера, оставляя фактический ответ для чего-то более позднего в последовательности (конвейер).
Обычно промежуточное программное обеспечение запускается до какого-то «маршрутизатора», который проверяет запрос (часто путь) и вызывает соответствующий код для генерации ответа.
Лично я ненавижу термин «промежуточное программное обеспечение» за его универсальность, но он широко используется.
Вот дополнительное объяснение, конкретно применимое к Ruby on Rails.
источник
Middleware
стоит между веб-приложениями и веб-сервисами, которые изначально не могут общаться и часто написаны на разных языках / платформах.Одним из таких примеров является
OWIN middleware for .NET
среда, прежде чем люди были вынуждены размещать веб-приложения в программном обеспечении для хостинга MicrosoftIIS
. После разработки owin добавлена возможность размещения как в IIS, так и в self host, в IIS была просто добавлена поддержка Owin, которая выполняла роль интерфейса. Также стало возможнымhost .NET web apps on Linux via Mono
, в который снова добавлена поддержка Оуэна.Кроме того, добавлена возможность создавать
Single Page Applications
контекст обработкиHttp
запросов / ответов для Owin, так что помимо owin вы можете добавитьauthentication/authorization
логику через OAuth2, например, вы можете настроить промежуточное ПО для регистрации класса, который содержит логику аутентификации пользователя (например, для реализации OAuth2) или класс, который содержит логику того, как управлять http-запросами / ответными сообщениями, и таким образом вы можете заставить одно приложение взаимодействовать с другими приложениями / службами через другой формат данных (например, json, xml и т. д., если вы ориентируетесь на веб).источник
Некоторые примеры промежуточного программного обеспечения: CORBA, Удаленный вызов метода (RMI), ...
Приведенные выше примеры - это все части программного обеспечения, позволяющие вам позаботиться о связи между различными процессами (запущенными на одной машине или распространяемыми, например, через Интернет).
источник
Исходя из моего собственного опыта работы с Интернетом, между пользователями (веб-браузером) и базой данных была промежуточная программа. Это было программное обеспечение, которое брало материал, который вводили пользователи (например: заказы на iPad, выполняло некоторую магическую бизнес-логику, то есть проверяла, достаточно ли iPad, чтобы выполнить заказ) и обновляло базу данных бэкэнда, чтобы отразить эти изменения.
источник
Это всего лишь часть программного обеспечения или инструмент, на котором ваше приложение выполняет и обеспечивает возможности распространения в отношении высокой доступности, масштабируемости, интеграции с другими программами или системами, не беспокоясь об изменениях кода на уровне приложения.
Например: операционная система, в которой работает ваше приложение, требует изменения IP-адреса, вам не нужно беспокоиться об этом в своем коде, это стек промежуточного программного обеспечения, в котором вы можете просто обновить конфигурацию.
Пример 2: Вы испытываете проблемы с распределением памяти во время выполнения и чувствуете, что использование вашего приложения возросло, вам не нужно много об этом, если у вас нет ошибки или узкого места в вашем коде, это легко достижимо путем настройки конфигурации программного обеспечения промежуточного ПО на который ваше приложение работает.
Пример 3: У вас есть несколько разрозненных программ, и вам нужно, чтобы они общались друг с другом или отправляли данные в общем формате, понятном для всех систем, тогда именно здесь пригодятся системы промежуточного программного обеспечения.
Надеюсь, что предоставленная информация поможет.
источник
это программный уровень между операционной системой и приложениями на каждой стороне распределенной вычислительной системы в сети. Фактически он соединяет разнородные сетевые и программные системы.
источник
Я всегда думал о нем как о самом старом программном обеспечении, которое мне приходилось устанавливать. Общее приложение использовало веб-сервер, сервер базы данных и сервер приложений. Веб-сервер является промежуточным ПО между данными и приложением.
источник
Если я не ошибаюсь, в рамках программных приложений , основанных на контексте , вы можете рассмотреть
middleware
следующие роли, которые можно комбинировать для выполнения определенных действий между пользователемrequest
и приложениемresponse
.источник