Промежуточное программное обеспечение в контексте распределенных приложений — это программное обеспечение , которое предоставляет услуги, выходящие за рамки услуг, предоставляемых операционной системой , чтобы позволить различным компонентам распределенной системы обмениваться данными и управлять ими. Промежуточное программное обеспечение поддерживает и упрощает сложные распределенные приложения . Оно включает в себя веб-серверы , серверы приложений , средства обмена сообщениями и аналогичные инструменты, которые поддерживают разработку и доставку приложений. Промежуточное программное обеспечение особенно важно для современных информационных технологий, основанных на XML , SOAP , веб-сервисах и сервисно-ориентированной архитектуре .
Промежуточное ПО часто обеспечивает взаимодействие между приложениями, работающими на разных операционных системах, предоставляя службы, чтобы приложение могло обмениваться данными на основе стандартов. Промежуточное ПО находится «посередине» между прикладным ПО , которое может работать на разных операционных системах . Оно похоже на средний уровень трехуровневой архитектуры единой системы, за исключением того, что оно распространяется на несколько систем или приложений. Примерами являются программное обеспечение EAI , телекоммуникационное программное обеспечение, мониторы транзакций и программное обеспечение для обмена сообщениями и очередями.
Различие между функциональностью операционной системы и промежуточного ПО в некоторой степени произвольно. В то время как основная функциональность ядра может быть предоставлена только самой операционной системой, некоторые функции, ранее предоставляемые отдельно продаваемым промежуточным ПО, теперь интегрированы в операционные системы. Типичным примером является стек TCP/IP для телекоммуникаций, в настоящее время включенный практически в каждую операционную систему.
Middleware определяется как программное обеспечение, которое обеспечивает связь между отдельными программными приложениями. Иногда его называют водопроводом, поскольку он соединяет два приложения и передает данные между ними. Middleware позволяет получать доступ к данным, содержащимся в одной базе данных, через другую. Это делает его особенно полезным для задач интеграции корпоративных приложений и интеграции данных .
Говоря более абстрактно, промежуточное программное обеспечение — это «программный уровень, который находится между операционной системой и приложениями на каждой стороне распределенной вычислительной системы в сети». [1]
Middleware — относительно новое дополнение к вычислительной среде. Оно приобрело популярность в 1980-х годах как решение проблемы связывания новых приложений со старыми устаревшими системами, хотя этот термин использовался с 1968 года. [2] Оно также способствовало распределенной обработке , соединению нескольких приложений для создания более крупного приложения, обычно по сети.
Службы промежуточного программного обеспечения предоставляют более функциональный набор интерфейсов прикладного программирования, позволяющих приложению:
по сравнению с операционной системой и сетевыми службами.
Промежуточное ПО предлагает некоторые уникальные технологические преимущества для бизнеса и промышленности. Например, традиционные системы баз данных обычно развертываются в закрытых средах, где пользователи получают доступ к системе только через ограниченную сеть или интранет (например, внутреннюю сеть предприятия). С феноменальным ростом Всемирной паутины пользователи могут получить доступ практически к любой базе данных, к которой у них есть соответствующие права доступа, из любой точки мира. Промежуточное ПО решает проблему различных уровней взаимодействия между различными структурами баз данных. Промежуточное ПО обеспечивает прозрачный доступ к устаревшим системам управления базами данных (СУБД) или приложениям через веб-сервер без учета характеристик, специфичных для базы данных. [3]
Предприятия часто используют промежуточные приложения для связывания информации из баз данных департаментов, таких как фонд заработной платы, продажи и бухгалтерский учет, или баз данных, размещенных в нескольких географических точках. [4] В высококонкурентном сообществе здравоохранения лаборатории широко используют промежуточные приложения для интеллектуального анализа данных , резервного копирования лабораторных информационных систем (LIS) и для объединения систем во время слияний больниц. Промежуточное программное обеспечение помогает преодолеть разрыв между отдельными LIS в недавно сформированной сети здравоохранения после выкупа больницы. [5]
Промежуточное программное обеспечение может помочь разработчикам программного обеспечения избежать необходимости писать интерфейсы прикладного программирования (API) для каждой программы управления, выступая в качестве независимого интерфейса программирования для их приложений. Для будущей работы сети Интернет посредством мониторинга трафика в многодоменных сценариях использование инструментов-посредников (промежуточного программного обеспечения) является мощным подспорьем, поскольку они позволяют операторам , поисковикам и поставщикам услуг контролировать качество обслуживания и анализировать возможные сбои в телекоммуникационных услугах . [6] Стек промежуточного программного обеспечения состоит из нескольких компонентов (CSMS, статистика ТВ и клиентские приложения). Он известен как программный мозг платформ OTT, поскольку он контролирует и связывает между собой все компоненты решения. Система управления контентом и подписчиками (CSMS) является центральной частью решения, обычно называемой административным порталом. Помимо того, что она является основным интерфейсом для персонала оператора для администрирования телевизионной услуги (подписчики, контент, пакеты и т. д.), она также контролирует большинство телевизионных услуг и взаимодействует с потоковой передачей и CDN, а DRM служит для доставки контента в реальном времени, VOD и записанного контента конечным пользователям. Он также интегрируется с внешними системами для выставления счетов, предоставления и с поставщиками контента EPG и VOD. Клиентские приложения авторизуют CSMS и взаимодействуют с ним, чтобы предоставлять требуемые услуги телевидения конечным пользователям на различных устройствах. [7]
Наконец, электронная коммерция использует промежуточное программное обеспечение для содействия в обработке быстрых и безопасных транзакций во многих различных типах компьютерных сред. [8] Короче говоря, промежуточное программное обеспечение стало критически важным элементом в широком спектре отраслей благодаря своей способности объединять ресурсы в различных сетях или вычислительных платформах.
В 2004 году члены Европейского вещательного союза (EBU) провели исследование Middleware в отношении системной интеграции в вещательных средах. В нем приняли участие специалисты по проектированию систем из 10 крупнейших европейских вещателей, которые работали в течение 12 месяцев, чтобы понять влияние преимущественно программных продуктов на производство медиа и методы проектирования систем вещания. Полученные отчеты Tech 3300 и Tech 3300s были опубликованы и находятся в свободном доступе на веб-сайте EBU. [9] [10]
Ориентированное на сообщения промежуточное программное обеспечение (MOM) [11] — это промежуточное программное обеспечение, в котором транзакции или уведомления о событиях доставляются между разнородными системами или компонентами посредством сообщений, часто через корпоративную систему обмена сообщениями . С помощью MOM сообщения, отправленные клиенту, собираются и хранятся до тех пор, пока они не будут обработаны, в то время как клиент продолжает другую обработку.
[13] Интеллектуальное промежуточное программное обеспечение (IMW) обеспечивает интеллект в реальном времени и управление событиями с помощью интеллектуальных агентов . IMW управляет обработкой большого объема сигналов датчиков в реальном времени и превращает эти сигналы в интеллектуальную и полезную бизнес-информацию. Затем полезную информацию доставляют на панели управления питанием конечных пользователей отдельным пользователям или передают в системы внутри или за пределами предприятия. Оно способно поддерживать различные гетерогенные типы оборудования и программного обеспечения и предоставляет API для взаимодействия с внешними системами. Оно должно иметь высокомасштабируемую распределенную архитектуру , которая встраивает интеллект по всей сети для систематического преобразования необработанных данных в полезные и релевантные знания. Оно также может быть упаковано с инструментами для просмотра и управления операциями и создания передовых сетевых приложений наиболее эффективно.
Контентно-ориентированное промежуточное ПО предлагает простую абстракцию поставщика-потребителя , посредством которой приложения могут выдавать запросы на уникально идентифицированный контент, не беспокоясь о том, где или как он получен. Juno является одним из примеров, который позволяет приложениям генерировать запросы контента, связанные с требованиями доставки высокого уровня. [14] Затем промежуточное ПО адаптирует базовую доставку для доступа к контенту из источников, которые лучше всего подходят для соответствия требованиям. Таким образом, это похоже на промежуточное ПО публикации/подписки , а также на парадигму сети, ориентированной на контент .
Другие источники [ необходима ссылка ] включают следующие дополнительные классификации:
IBM , Red Hat , Oracle Corporation и Microsoft — вот некоторые из поставщиков, которые предоставляют промежуточное программное обеспечение. Такие поставщики, как Axway , SAP , TIBCO , Informatica , Objective Interface Systems , Pervasive , ScaleOut Software и webMethods, были специально созданы для предоставления более нишевых решений промежуточного программного обеспечения. Такие группы, как Apache Software Foundation , OpenSAF , ObjectWeb Consortium (теперь OW2) и OASIS' AMQP, поощряют разработку промежуточного программного обеспечения с открытым исходным кодом . Архитектура Microsoft .NET «Framework» по сути является «промежуточным программным обеспечением» с типичными функциями промежуточного программного обеспечения, распределенными между различными продуктами, с большей частью межкомпьютерного взаимодействия по отраслевым стандартам, открытым API или лицензии программного обеспечения RAND. Solace предоставляет промежуточное программное обеспечение в специально созданном оборудовании для реализаций, которые могут испытывать масштабирование. StormMQ предоставляет Message Oriented Middleware как услугу.
Метка ESB просто подразумевает, что продукт представляет собой некий тип промежуточного программного обеспечения для интеграции, который поддерживает как протоколы MOM, так и протоколы веб-служб.