Промежуточное ПО в контексте распределенных приложений - это программное обеспечение, которое предоставляет услуги помимо тех, которые предоставляются операционной системой, чтобы позволить различным компонентам распределенной системы обмениваться данными и управлять ими. Промежуточное ПО поддерживает и упрощает сложные распределенные приложения . Он включает в себя веб-серверы , серверы приложений , обмен сообщениями и аналогичные инструменты, которые поддерживают разработку и доставку приложений. Промежуточное ПО является неотъемлемой частью современных информационных технологий, основанных на XML , SOAP , веб-сервисах и сервис-ориентированной архитектуре .
Промежуточное ПО часто обеспечивает взаимодействие между приложениями, работающими в разных операционных системах, путем предоставления услуг, чтобы приложение могло обмениваться данными на основе стандартов. Промежуточное ПО находится «посередине» между прикладным программным обеспечением, которое может работать в разных операционных системах . Он похож на средний уровень трехуровневой архитектуры одной системы, за исключением того, что он распространяется на несколько систем или приложений. Примеры включают программное обеспечение EAI , телекоммуникационное программное обеспечение, мониторы транзакций и программное обеспечение для обмена сообщениями и очередей.
Различие между функциональностью операционной системы и промежуточного программного обеспечения до некоторой степени произвольно. Хотя основные функции ядра могут быть предоставлены только самой операционной системой, некоторые функции, ранее предоставляемые отдельно продаваемым промежуточным программным обеспечением, теперь интегрированы в операционные системы. Типичным примером является стек TCP / IP для телекоммуникаций, который в настоящее время включен практически во все операционные системы.
Определения
Программное обеспечение, обеспечивающее связь между отдельными программными приложениями. Промежуточное ПО иногда называют сантехническим, поскольку оно соединяет два приложения и передает данные между ними. Промежуточное ПО позволяет доступ к данным, содержащимся в одной базе данных, через другую. Это определение подходит для интеграции корпоративных приложений и программного обеспечения для интеграции данных .
ObjectWeb определяет промежуточное ПО как: «Программный уровень, который находится между операционной системой и приложениями на каждой стороне распределенной вычислительной системы в сети». [1]
Происхождение
Промежуточное ПО - относительно новое дополнение к вычислительной среде. Он приобрел популярность в 1980-х годах как решение проблемы связывания новых приложений со старыми унаследованными системами, хотя этот термин использовался с 1968 года. [2] Он также облегчил распределенную обработку , соединение нескольких приложений для создания единой системы. более крупное приложение, обычно по сети.
Использовать
Сервисы промежуточного программного обеспечения предоставляют более функциональный набор интерфейсов прикладного программирования, позволяющий приложению:
- Прозрачное обнаружение в сети, что обеспечивает взаимодействие с другой службой или приложением.
- Фильтровать данные, чтобы сделать их удобными для использования или общедоступными с помощью процесса анонимизации для защиты конфиденциальности (например)
- Будьте независимы от сетевых сервисов
- Будьте надежными и всегда доступными
- Добавьте дополнительные атрибуты, такие как семантика
по сравнению с операционной системой и сетевыми службами.
Промежуточное ПО предлагает уникальные технологические преимущества для бизнеса и промышленности. Например, традиционные системы баз данных обычно развертываются в закрытых средах, где пользователи получают доступ к системе только через ограниченную сеть или интранет (например, внутреннюю сеть предприятия). С феноменальным ростом всемирной паутины пользователи могут получить доступ практически к любой базе данных, к которой у них есть соответствующие права доступа, из любой точки мира. Промежуточное ПО решает проблему различных уровней взаимодействия между различными структурами базы данных. Промежуточное ПО обеспечивает прозрачный доступ к устаревшим системам управления базами данных (СУБД) или приложениям через веб-сервер без учета специфических характеристик базы данных. [3]
Компании часто используют приложения промежуточного уровня для связывания информации из баз данных отделов, например, данных о заработной плате, продажах и бухгалтерском учете, или баз данных, размещенных в разных географических точках. [4] В высококонкурентном медицинском сообществе лаборатории широко используют промежуточное программное обеспечение для интеллектуального анализа данных , резервного копирования лабораторных информационных систем (ЛИС) и для объединения систем во время слияний больниц. Промежуточное ПО помогает преодолеть разрыв между отдельными LIS в недавно сформированной сети здравоохранения после выкупа больницы. [5]
Промежуточное ПО может помочь разработчикам программного обеспечения избежать написания интерфейсов прикладного программирования (API) для каждой управляющей программы, выступая в качестве независимого программного интерфейса для своих приложений. Для будущей работы сети Интернет посредством мониторинга трафика в многодоменных сценариях использование инструментов посредника (промежуточного программного обеспечения) является мощным подспорьем, поскольку они позволяют операторам , поисковикам и поставщикам услуг контролировать качество обслуживания и анализировать возможные сбои в телекоммуникационных услугах . [6]
Наконец, в электронной коммерции используется промежуточное программное обеспечение, помогающее обрабатывать быстрые и безопасные транзакции в различных компьютерных средах. [7] Короче говоря, промежуточное программное обеспечение стало критически важным элементом во многих отраслях, благодаря его способности объединять ресурсы в разнородных сетях или вычислительных платформах.
В 2004 году члены Европейского вещательного союза (EBU) провели исследование промежуточного программного обеспечения в отношении системной интеграции в вещательных средах. В нем участвовали специалисты по проектированию систем из 10 крупных европейских вещательных компаний, которые в течение 12 месяцев работали над пониманием влияния продуктов, в основном основанных на программном обеспечении, на методы производства средств массовой информации и системы вещания. Полученные в результате отчеты Tech 3300 и Tech 3300s были опубликованы и находятся в свободном доступе на веб-сайте EBU. [8] [9]
Типы
По промежуточного слоя, ориентированного на сообщения
Промежуточное ПО, ориентированное на сообщения (MOM) [10] - это промежуточное ПО, в котором транзакции или уведомления о событиях доставляются между разнородными системами или компонентами посредством сообщений, часто через корпоративную систему обмена сообщениями . С помощью MOM сообщения, отправленные клиенту, собираются и хранятся до тех пор, пока они не будут обработаны, в то время как клиент продолжает другую обработку.
- Обмен сообщениями предприятия
- Корпоративная система обмена сообщениями представляет собой тип промежуточного слоя , который облегчает передачу сообщений между разнородными системами или компонентами в стандартных форматах, часто с использованием XML , SOAP или веб - сервисов . Как часть корпоративной системы обмена сообщениями, программное обеспечение брокера сообщений может ставить в очередь, дублировать, переводить и доставлять сообщения разнородным системам или компонентам в системе обмена сообщениями.
- Сервисная шина предприятия
- Сервисная шина предприятия (ESB) определяется Burton Group [11] как «некоторый тип интеграционного промежуточного программного обеспечения, поддерживающего как ориентированное на сообщения промежуточное программное обеспечение, так и веб-службы ».
Интеллектуальное промежуточное ПО
[12] Интеллектуальное промежуточное ПО (IMW) обеспечивает аналитику в реальном времени и управление событиями с помощью интеллектуальных агентов . IMW управляет обработкой больших объемов сигналов датчиков в реальном времени и превращает эти сигналы в интеллектуальную и полезную бизнес-информацию. Затем полезная информация доставляется на панелях управления мощностью конечных пользователей отдельным пользователям или отправляется в системы внутри или за пределами предприятия. Он может поддерживать различные разнородные типы оборудования и программного обеспечения и предоставляет API для взаимодействия с внешними системами. Он должен иметь хорошо масштабируемую распределенную архитектуру, которая внедряет интеллект во всей сети, чтобы систематически преобразовывать необработанные данные в полезные и актуальные знания. В него также могут быть включены инструменты для просмотра операций и управления ими, а также для наиболее эффективного создания сложных сетевых приложений.
Контент-ориентированное промежуточное ПО
Контент-ориентированное промежуточное программное обеспечение предлагает простую абстракцию между поставщиком и потребителем, с помощью которой приложения могут отправлять запросы на однозначно идентифицированный контент, не беспокоясь о том, где и как его получить. Juno - один из примеров, который позволяет приложениям генерировать запросы контента, связанные с требованиями к высокоуровневой доставке. [13] Затем промежуточное программное обеспечение адаптирует базовую доставку для доступа к контенту из источников, которые лучше всего подходят для соответствия требованиям. Таким образом, это похоже на промежуточное ПО публикации / подписки , а также на сетевая парадигма, ориентированная на контент .
- Удаленный вызов процедур
- Промежуточное ПО для удаленного вызова процедур позволяет клиенту использовать службы, работающие в удаленных системах. Процесс может быть синхронным или асинхронным .
- Брокер запроса объекта
- С помощью промежуточного программного обеспечения брокера объектных запросов приложения могут отправлять объекты и запрашивать услуги в объектно-ориентированной системе.
- SQL-ориентированный доступ к данным
- Доступ к данным, ориентированный на SQL, представляет собой промежуточное ПО между приложениями и серверами баз данных.
- Встроенное промежуточное ПО
- Встроенное промежуточное программное обеспечение предоставляет услуги связи и интерфейс интеграции программного / микропрограммного обеспечения, который работает между встроенными приложениями, встроенной операционной системой и внешними приложениями.
Другой
Другие источники [ необходима цитата ] включают следующие дополнительные классификации:
- Мониторы обработки транзакций - предоставляют инструменты и среду для разработки и развертывания распределенных приложений . [14] [ необходима ссылка ]
- Серверы приложений - программное обеспечение, установленное на компьютере для облегчения обслуживания (запуска) других приложений. [15] [ необходима цитата ]
Уровни интеграции
Интеграция данных
- Интеграция ресурсов данных, таких как файлы и базы данных
Облачная интеграция
- Интеграция между различными облачными сервисами
B2B интеграция
- Интеграция информационных ресурсов и партнерских интерфейсов
Интеграция приложений
- Интеграция приложений под управлением компании
Продавцы
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 предоставляет ориентированное на сообщения промежуточное ПО в качестве услуги.
Смотрите также
- Сравнение программного обеспечения для бизнес-интеграции
- Аналитики промежуточного программного обеспечения
- Сервис-Ориентированная Архитектура
- Корпоративная служебная шина
- SOA, управляемая событиями
- ObjectWeb
Рекомендации
- ^ Краковяк, Саша. "Что такое промежуточное ПО?" . ObjectWeb.org. Архивировано из оригинала на 2005-05-07 . Проверено 6 мая 2005 .
- ^ Галл, Ник (30 июля 2005 г.). «Происхождение термина » .
- Перейти ↑ Peng, C, Chen, S, Chung, J, Roy-Chowdhury, A, and Srinivasan, V. (1998). Доступ к существующим бизнес-данным из всемирной паутины. IBM Systems Journal, 37 (1), 115-132. Получено 7 марта 2009 г. из глобальной базы данных ABI / INFORM. (Идентификатор документа: 26217517)
- ^ Bougettaya, A, Malik, Z, Rezgui, A, и Корф, L. (2006). Масштабируемое промежуточное ПО для веб-баз данных. Журнал управления базами данных, 17 (4), 20-39,41-46. Получено 7 марта 2009 г. из глобальной базы данных ABI / INFORM. (Идентификатор документа: 1155773301).
- ^ Bagwell, H. (2008). Промежуточное ПО: обеспечение ценности помимо автопроверки. Архивировано 12 октября 2009 г. на Wayback Machine . IVDT. Проверено 3 марта 2009 года. «Архивная копия» . Архивировано из оригинала на 2009-10-12 . Проверено 9 марта 2009 .CS1 maint: заархивированная копия как заголовок ( ссылка ).
- ^ Кай Освальд Зайдлер. «МОМЕНТ» . Fp7-moment.eu . Проверено 19 августа 2010 .
- ^ Чарльз, Дж. (1999). Промежуточное ПО выходит на первый план (требуется подписка) . Новости технологий. Проверено 2 марта 2009 года.
- ^ «Отчет EBU по промежуточному программному обеспечению Tech 3300» (PDF) . Проверено 19 августа 2010 .
- ^ «Промежуточное программное обеспечение EBU сообщает Tech 3300s» (PDF) . Проверено 19 августа 2010 .
- ^ Карри, Эдвард. 2004. «Ориентированное на сообщения промежуточное ПО» [ постоянная мертвая ссылка ] [ постоянная мертвая ссылка ] . В промежуточном программном обеспечении для коммуникаций, под ред. Кусай Х. Махмуд, 1-28. Чичестер, Англия: Джон Уайли и сыновья. DOI : 10.1002 / 0470862084.ch1 . ISBN 978-0-470-86206-3
- ^ «Microsoft на корпоративной служебной шине (ESB)» . Август 2005
г. Ярлык ESB просто означает, что продукт представляет собой продукт промежуточного слоя интеграции, который поддерживает протоколы MOM и Web-сервисов.
- ^ Выбор правильного промежуточного программного обеспечения. Архивировано 2 апреля 2012 г. на Wayback Machine.«Архивная копия» (PDF) . Архивировано из оригинального (PDF) 2 апреля 2012 года . Проверено 15 сентября 2011 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ Juno архивации 2011-04-26 в Wayback Machine«Архивная копия» (PDF) . Архивировано из оригинального (PDF) 26 апреля 2011 года . Проверено 12 марта 2011 .CS1 maint: заархивированная копия как заголовок ( ссылка ), Гарет Тайсон, Подход промежуточного программного обеспечения к созданию приложений, ориентированных на контент. Докторская диссертация, Ланкастерский университет (2010 г.).
- ^ Герндт, Майкл (2002). Разработка ориентированных на производительность приложений для распределенных архитектур: перспективы для коммерческих и научных сред . IOS PR, Inc. ISBN 978-1586032678.
- ^ Донг, Джилин (2007). Сетевой словарь . Javvin Press. ISBN 978-1602670006.
Внешние ссылки
- Промежуточная инициатива Интернет2 архивации 2005-07-23 в Wayback Machine
- SWAMI - Шведский альянс по инфраструктуре промежуточного программного обеспечения
- Институт инфраструктуры открытого промежуточного программного обеспечения (OMII-UK)
- Уровни интеграции промежуточного программного обеспечения
- Отчет по промежуточному программному обеспечению Европейского вещательного союза ( EBU ).
- Более подробное приложение к отчету по промежуточному программному обеспечению Европейского вещательного союза .
- ObjectWeb - международное сообщество, разрабатывающее промежуточное ПО с открытым исходным кодом