Промежуточное ПО
Промежуточное программное обеспечение — это тип компьютерной программы, которая предоставляет услуги программным приложениям, помимо тех, которые доступны в операционной системе . Его можно охарактеризовать как «программный клей». [1] [2]
Промежуточное программное обеспечение упрощает разработчикам программного обеспечения реализацию связи и ввода-вывода, поэтому они могут сосредоточиться на конкретной цели своего приложения. Он приобрел популярность в 1980-х годах как решение проблемы связи новых приложений со старыми устаревшими системами, хотя этот термин использовался с 1968 года. [3]
В распределенных приложениях [ править ]
Этот термин чаще всего используется для обозначения программного обеспечения, которое обеспечивает обмен данными и управление ими в распределенных приложениях . Семинар IETF в 2000 году определил промежуточное программное обеспечение как «тех сервисов, которые находятся над набором сервисов транспортного уровня (т. е. через TCP/IP), но ниже среды приложения» (т. е. ниже API уровня приложения ). [ нужна ссылка ] В этом более конкретном смысле промежуточное программное обеспечение можно описать как тире («-») в клиент-сервере или -в в одноранговой сети . Промежуточное программное обеспечение включает веб-серверы , серверы приложений , системы управления контентом и аналогичные инструменты, поддерживающие разработку и доставку приложений. [4]
ObjectWeb определяет промежуточное программное обеспечение как: «Уровень программного обеспечения, который находится между операционной системой и приложениями на каждой стороне распределенной вычислительной системы в сети». [5] Службы, которые можно рассматривать как промежуточное программное обеспечение, включают интеграцию корпоративных приложений , интеграцию данных , промежуточное программное обеспечение, ориентированное на сообщения (MOM), брокеры объектных запросов (ORB) и сервисную шину предприятия (ESB). [6]
Службы доступа к базе данных часто характеризуются как промежуточное программное обеспечение. Некоторые из них представляют собой реализации, специфичные для языка, и поддерживают гетерогенные функции и другие связанные коммуникационные функции. [7] Примеры промежуточного программного обеспечения, ориентированного на базы данных, включают ODBC , JDBC и мониторы обработки транзакций . [8]
Промежуточное программное обеспечение распределенных вычислительных систем можно условно разделить на две категории: те, которые предоставляют услуги, выполняемые человеком (например, обслуживание веб-запросов), и те, которые работают в машинном времени. Последнее промежуточное программное обеспечение в некоторой степени стандартизировано на Форуме доступности услуг. [9] и обычно используется в сложных встроенных системах в телекоммуникационной, оборонной и аэрокосмической отраслях. [10]
Использование промежуточного программного обеспечения [ править ]
Было определено множество категорий промежуточного программного обеспечения в зависимости от области, в которой оно используется, или модуля приложения, которое оно обслуживает. В современной библиографии основными категориями промежуточного программного обеспечения являются следующие: [11]
- Транзакционный: обработка нескольких синхронных/асинхронных транзакций, выступающих в качестве кластера связанных запросов от распределенных систем, таких как банковские транзакции или платежи по кредитным картам.
- Ориентация на сообщения: очереди сообщений и архитектуры передачи сообщений, которые поддерживают синхронную/асинхронную связь.
- Процедурные: удаленные и локальные архитектуры для подключения, передачи и получения ответов программного обеспечения асинхронных системных коммуникаций, таких как операция вызова.
- Объектно-ориентированное: аналогично процедурному промежуточному программному обеспечению, но включает в себя принципы объектно-ориентированного программирования. С аналитической точки зрения его программный компонент включает ссылки на объекты, исключения и наследование свойств посредством распределенных запросов к объектам.
Другие примеры [ править ]
Термин промежуточное программное обеспечение используется и в других контекстах. Промежуточное программное обеспечение иногда используется в том же смысле, что и программный драйвер — уровень абстракции, который скрывает от приложения детали об аппаратных устройствах или другом программном обеспечении.
- Операционная система Android использует в своей основе ядро Linux , а также предоставляет платформу приложений , которую разработчики включают в свои приложения. Кроме того, Android предоставляет промежуточный уровень программного обеспечения, включающий библиотеки , которые предоставляют такие услуги, как хранение данных, отображение на экране, мультимедиа и просмотр веб-страниц. Поскольку библиотеки промежуточного программного обеспечения скомпилированы на машинном языке , службы выполняются быстро. Библиотеки промежуточного программного обеспечения также реализуют функции, специфичные для устройства, поэтому приложениям и платформе приложений не нужно учитывать различия между устройствами Android. Уровень промежуточного программного обеспечения Android также содержит ART виртуальную машину и ее основные библиотеки приложений Java . [12]
- Промежуточное программное обеспечение также относится к программному обеспечению, которое разделяет два или более API и предоставляет такие услуги, как ограничение скорости, аутентификация и ведение журнала.
- Программное обеспечение игровых движков , такое как Gamebryo и RenderWare, иногда называют промежуточным программным обеспечением, поскольку оно предоставляет услуги, упрощающие разработку игр. [13]
- В технологии моделирования промежуточное программное обеспечение обычно используется в контексте архитектуры высокого уровня (HLA), которая применяется ко многим распределенным моделированиям. Это уровень программного обеспечения, который находится между кодом приложения и инфраструктурой времени выполнения . Промежуточное программное обеспечение обычно состоит из библиотеки функций и позволяет ряду приложений (моделирования или федерации в терминологии HLA) выгружать эти функции из общей библиотеки, а не воссоздавать их для каждого приложения. [14]
- Разработчики беспроводных сетей могут использовать промежуточное программное обеспечение для решения задач, связанных с беспроводной сенсорной сетью (WSN). Реализация приложения промежуточного программного обеспечения позволяет разработчикам WSN интегрировать операционные системы и оборудование с широким спектром доступных в настоящее время приложений. [15]
- Операционная система QNX предлагает промежуточное программное обеспечение для предоставления мультимедийных услуг для использования в автомобилях , самолетах и других средах. [16]
- Наборы программных средств радиочастотной идентификации (RFID) предоставляют промежуточное программное обеспечение для фильтрации зашумленных и избыточных необработанных данных. [17]
См. также [ править ]
Ссылки [ править ]
- ^ «Конференция по промежуточному программному обеспечению» . промежуточное программное обеспечение-conf.github.io . Проверено 16 декабря 2023 г.
Промежуточное программное обеспечение — это программное обеспечение распределенной системы, которое находится между приложениями и базовыми платформами (операционными системами, базами данных, оборудованием) и/или связывает распределенные приложения, базы данных или устройства. Его основная роль — координировать и обеспечивать связь между различными уровнями или компонентами, одновременно изолируя большую часть сложности распределения в единой, хорошо протестированной и хорошо понятной системной абстракции.
- ^ «Что такое промежуточное программное обеспечение?» . Middleware.org . Определение технологии. 2008. Архивировано из оригинала 29 июня 2012 года . Проверено 11 августа 2013 г.
{{cite web}}
: CS1 maint: неподходящий URL ( ссылка ) - ^ Галл, Ник (30 июля 2005 г.). «Происхождение термина промежуточное программное обеспечение » . Проверено 21 мая 2008 г.
- ^ Эцкорн, Л.Х. (2017). Введение в промежуточное программное обеспечение: веб-сервисы, объектные компоненты и облачные вычисления . ЦРК Пресс. стр. 4–5. ISBN 9781498754101 .
- ^ Краковяк, Саша. «Что такое промежуточное программное обеспечение?» . ObjectWeb.org. Архивировано из оригинала 7 мая 2005 г. Проверено 6 мая 2005 г.
- ^ Лакхэм, округ Колумбия (2011). Обработка событий для бизнеса: организация предприятия в режиме реального времени . Джон Уайли и сыновья. стр. 27–28. ISBN 9781118171851 .
- ^ Саймон, Арканзас; Уилер, Т. (2014). Открытые клиент-серверные вычисления и промежуточное ПО . Академическая пресса. стр. 43–49. ISBN 9781483214276 .
- ^ Аррегосес, М.; Портолани, М. (2003). Основы дата-центра . Сиско Пресс. стр. 92–93. ISBN 9781587140747 .
- ^ «Спецификация интерфейса доступности услуг» (PDF) . Форум доступности услуг. 30 сентября 2011 года . Проверено 26 июля 2018 г.
- ^ Джокиахо, Т.; Фрайер, Дж. (2012). «Предисловие» . Доступность услуг: принципы и практика . Джон Уайли и сыновья. п. хв. ISBN 9781119941675 .
- ^ Газис, Александрос; Кацири, Элефтерия (15 марта 2022 г.). «Промежуточное ПО 101: что нужно знать сейчас и на будущее» . Цифровая библиотека ACM . дои : 10.1145/3526211 . S2CID 247494415 .
- ^ Чарли Коллинз, Майкл Галпин и Маттиас Кэпплер, Android на практике, Manning Publications, 2011 г.
- ^ Мур, Мэн (2006). Введение в игровую индустрию . Пирсон Прентис Холл. п. 169. ИСБН 9780131687431 .
- ^ Беккини, Р.; Чилаев П.; Кривцов В.; и др. (2003). «Глава 4: Промежуточное программное обеспечение» . В Дрире, К.; Мартелли, А.; Виллемур, Т. (ред.). Совместные среды для проектирования распределенных систем: Отчет о среде распределенных систем . Спрингер. стр. 41–4. ISBN 9783540455820 .
- ^ Хадим С. и Мохамед Н. (2006). Проблемы и подходы к промежуточному программному обеспечению для беспроводных сенсорных сетей. IEEE Distributed Systems Online, том 7. Выпуск 3. Получено 4 марта 2009 г. с сайта Интернет-распределенные системы iEEE. Архивировано 28 сентября 2011 г. на Wayback Machine.
- ^ «QNX Software присоединяется к японскому консорциуму Интернет-ИТС» . Пресс-релизы QNX . QNX. 6 мая 2008 года . Проверено 26 июля 2018 г.
- ^ Гловер, Б.; Бхатт, Х. (2006). Основы RFID . О'Рейли Медиа. стр. 38–44. ISBN 9780596009441 .
Внешние ссылки [ править ]
- Словарное определение промежуточного программного обеспечения в Викисловаре