Промежуточное ПО - Википедия - Middleware

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

Промежуточное ПО упрощает разработчики программного обеспечения для осуществления коммуникации и ввод, вывод, чтобы они могли сосредоточиться на конкретной цели своего приложения. Он приобрел популярность в 1980-х годах как решение проблемы связывания новых приложений со старыми устаревшими системами, хотя этот термин использовался с 1968 года.[2]

В распределенных приложениях

Архитектура программного обеспечения: промежуточное ПО

Этот термин чаще всего используется для программного обеспечения, которое обеспечивает обмен данными и управление ими в распределенные приложения. An IETF семинар 2000 года определил промежуточное ПО как «те службы, которые находятся выше транспорт (то есть через TCP / IP) набор служб уровня, но ниже среды приложения "(т.е. ниже уровня приложения API ).[3] В этом более конкретном смысле промежуточное ПО можно описать как тире ("-") в клиент-сервер, или -к- в пиринговый. Промежуточное ПО включает веб-серверы, серверы приложений, системы управления контентом и аналогичные инструменты, поддерживающие разработку и доставку приложений.[4]

ObjectWeb определяет промежуточное ПО как: «Уровень программного обеспечения, который находится между Операционная система и приложения на каждой стороне распределенной вычислительной системы в сети ».[5] Сервисы, которые можно рассматривать как промежуточное ПО, включают интеграция корпоративных приложений, интеграция данных, промежуточное ПО, ориентированное на сообщения (МАМА), брокеры запроса объекта (ORBs) и служебная шина предприятия (ESB).[6]

База данных службы доступа часто характеризуются как промежуточное программное обеспечение. Некоторые из них являются реализациями для конкретного языка и поддерживают разнородные функции и другие связанные функции коммуникации.[7] Примеры промежуточного программного обеспечения, ориентированного на базы данных, включают ODBC, JDBC и обработка транзакции мониторы.[8]

Промежуточное ПО для распределенных вычислительных систем условно можно разделить на две категории: те, которые предоставляют услуги, выполняемые человеком (например, обслуживание веб-запросов), и те, которые работают в машинном времени. Последнее промежуточное ПО в некоторой степени стандартизировано через Форум доступности услуг[9] и обычно используется в комплексе, встроенные системы в сфере телекоммуникаций, обороны и аэрокосмический отрасли.[10]

Другие примеры

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

  • В Android операционная система использует Linux ядро по своей сути, а также предоставляет рамки приложения которые разработчики включают в свои приложения. Кроме того, Android обеспечивает уровень промежуточного программного обеспечения, включая библиотеки которые предоставляют такие услуги, как хранение данных, отображение экрана, мультимедиа, и просмотр веб-страниц. Поскольку библиотеки промежуточного программного обеспечения составлен к машинный язык, услуги выполняются быстро. Библиотеки промежуточного программного обеспечения также реализуют функции, зависящие от устройства, поэтому приложения и инфраструктура приложений не должны беспокоиться о различиях между различными устройствами Android. Уровень промежуточного программного обеспечения Android также содержит ИЗОБРАЗИТЕЛЬНОЕ ИСКУССТВО виртуальная машина и его ядро Ява библиотеки приложений.[11]
  • Промежуточное ПО также относится к программному обеспечению, которое разделяет два или более API и предоставляет такие услуги, как ограничение скорости, аутентификация и ведение журнала.
  • Игровой движок программное обеспечение, такое как Gamebryo и RenderWare иногда называют промежуточным программным обеспечением, поскольку они предоставляют множество услуг для упрощения разработки игр.[12]
  • В технологии моделирования промежуточное ПО обычно используется в контексте архитектура высокого уровня (HLA), который применяется ко многим распределенным симуляциям. Это слой программного обеспечения, который находится между код приложения и инфраструктура времени выполнения. Промежуточное ПО обычно состоит из библиотеки функций и позволяет ряду приложений - имитаций или объединений в терминологии HLA - страница эти функции из общей библиотеки, а не воссоздавать их для каждого приложения.[13]
  • Разработчики беспроводных сетей могут использовать промежуточное ПО для решения проблем, связанных с беспроводная сенсорная сеть (WSN). Внедрение промежуточного программного обеспечения позволяет WSN Разработчики для интеграции операционных систем и оборудования с широким спектром различных приложений, доступных в настоящее время.[14]
  • В QNX операционная система предлагает промежуточное ПО для предоставления мультимедийных услуг для использования в автомобили, самолет и другие среды.[15]
  • Определение радиочастоты (RFID) программные инструменты предоставляют промежуточное ПО для фильтрации зашумленных и избыточных необработанных данных.[16]

Смотрите также

Рекомендации

  1. ^ "Что такое промежуточное ПО?". Middleware.org. Определение технологии. 2008. Архивировано 29 июня 2012 года.. Получено 2013-08-11.CS1 maint: неподходящий URL (связь)
  2. ^ Галл, Ник (30 июля 2005 г.). "Происхождение термина промежуточное ПО".
  3. ^ "Дома". IETF.
  4. ^ Эцкорн, Л. Х. (2017). Введение в промежуточное программное обеспечение: веб-службы, объектные компоненты и облачные вычисления. CRC Press. С. 4–5. ISBN  9781498754101.
  5. ^ Краковяк, Саша. "Что такое промежуточное ПО?". ObjectWeb.org. Архивировано из оригинал на 2005-05-07. Получено 2005-05-06.
  6. ^ Лакхэм, Д. К. (2011). Обработка событий для бизнеса: организация предприятия в режиме реального времени. Джон Вили и сыновья. С. 27–28. ISBN  9781118171851.
  7. ^ Саймон, А. Р .; Уилер, Т. (2014). Открытые клиент-серверные вычисления и промежуточное ПО. Академическая пресса. С. 43–49. ISBN  9781483214276.
  8. ^ Arregoces, M .; Портолани, М. (2003). Основы центра обработки данных. Cisco Press. С. 92–93. ISBN  9781587140747.
  9. ^ «Спецификация интерфейса доступности услуг» (PDF). Форум доступности услуг. 30 сентября 2011 г.. Получено 26 июля 2018.
  10. ^ Jokiaho, T .; Фрайер, Дж. (2012). «Предисловие». Доступность услуги: принципы и практика. Джон Вили и сыновья. п. XV. ISBN  9781119941675.
  11. ^ Чарли Коллинз, Майкл Галпин и Маттиас Кэпплер, Android на практике, Manning Publications, 2011 г.
  12. ^ Мур, М. Э. (2006). Введение в игровую индустрию. Пирсон Прентис Холл. п. 169. ISBN  9780131687431.
  13. ^ Becchini, R .; Чилаев, П .; Кривцов, В .; и другие. (2003). «Глава 4: ПО промежуточного слоя». В Дрире, К .; Мартелли, А .; Виллемур, Т. (ред.). Совместные среды для проектирования распределенных систем: отчет о среде распределенных систем. Springer. С. 41–4. ISBN  9783540455820.
  14. ^ Хадим, С. и Мохамед, Н. (2006). Проблемы и подходы к промежуточному программному обеспечению для беспроводных сенсорных сетей. IEEE Distributed Systems Online, том 7. Выпуск 3. Получено 4 марта 2009 г. изРаспределенные системы iEEE в Интернете В архиве 2011-09-28 на Wayback Machine
  15. ^ «QNX Software присоединяется к японскому консорциуму Internet ITS». Новости QNX. QNX. 6 мая 2008 г.. Получено 26 июля 2018.
  16. ^ Glover, B .; Бхатт, Х. (2006). RFID Essentials. O'Reilly Media. С. 38–44. ISBN  9780596009441.

внешняя ссылка