Связующее программное обеспечение
Связу́ющее програ́ммное обеспе́чение (англ. middleware; также переводится как промежу́точное программное обеспечение, программное обеспечение среднего слоя, подпрогра́ммное обеспечение, межплатфо́рменное программное обеспечение) — широко используемый термин, означающий слой или комплекс технологического программного обеспечения для обеспечения взаимодействия между различными приложениями, системами, компонентами.
Имеется несколько основных разновидностей связующего программного обеспечения[1][2][3]:
- система распределённых объектов (DOS, англ. distributed object system) или технологии распределённых объектов (DOT, англ. distributed object technology)
- ориентированное на базы данных, такое как брокеры объектных запросов (англ. database access middleware)
- мониторы транзакций
- вызов удалённых процедур (RPC, англ. remote procedure call)
- ориентированное на обработку сообщений (MOM, англ. message-oriented middleware)
Происхождение терминаПравить
Вероятно, первое употребление термина middleware относится к 1968 году, в докладе конференции научного комитета НАТО[4][5].
Среди современных частных трактовок наиболее употребляемые толкования термина middleware:
- слой для взаимодействия между клиентскими частями программного обеспечения и базами данных[6],
- программное обеспечение для взаимодействия системного и прикладного программного обеспечения[7],
- программная прослойка между операционными системами и прикладным программным обеспечением[8],
- программное обеспечение для взаимодействия прикладного программного обеспечения с сетью, обеспечивающее унификацию взаимодействия между программами в условиях неоднородности вычислительных платформ[9],
- программное обеспечение для взаимодействия различных компонентов программ и баз данных[10].
В наиболее общем случае, термин middleware часто используют для обозначения инфраструктуры: веб-серверов, серверов приложений, мониторов транзакций, программного обеспечения сервисных шин, систем управления содержимым. Промежуточное программное обеспечение составляет ядро современных ИТ-решений основанных на XML, SOAP, веб-сервисах и сервисно-ориентированной архитектуре[11].
ПримечанияПравить
- ↑ Stojmenovic, I. and Thulasiram, R.K. and Yang, L.T. Parallel and Distributed Processing and Applications: 5th International Symposium, ISPA 2007, Niagara Falls, Canada, August 29-31, 2007, Proceedings. — Springer, 2007. — P. 563-656. — ISBN 9783540747413.
- ↑ Ruh, W.A. and Maginnis, F.X. and Brown, W.J. Enterprise Application Integration: A Wiley Tech Brief. — Wiley, 2002. — P. 52-59. — ISBN 9780471437864.
- ↑ Александр Касаткин. Средства middleware и их классификация Архивная копия от 4 марта 2016 на Wayback Machine, PCWeek, (193) 19`1999
- ↑ Middleware term in 1968 NATO Report (неопр.). Дата обращения: 28 октября 2017. Архивировано 29 августа 2014 года.
- ↑ Ironick. Update on the origin of the term "middleware" (англ.) (30 июля 2005). Дата обращения: 30 января 2011. Архивировано 1 июня 2012 года.
- ↑ Middleware - Glossary of CNet.com (англ.) (недоступная ссылка — история). CNet.com. Дата обращения: 11 февраля 2011. Архивировано 10 февраля 2012 года.
- ↑ Defninition of Middleware at YourDictionary.com (англ.). The American Heritage® Dictionary of the English Language, 4th edition. — «Software that serves as an intermediary between systems software and an application.» Дата обращения: 10 февраля 2011. Архивировано 10 февраля 2012 года.
- ↑ Define Middleware at Dictionary.com (англ.). Dictionary.com. Дата обращения: 10 февраля 2011. Архивировано 10 февраля 2012 года.
- ↑ Middleware from FOLDOC (англ.). FolDoc. Дата обращения: 10 февраля 2011. Архивировано 10 февраля 2012 года.Software that mediates between an application program and a network. It manages the interaction between disparate applications across the heterogeneous computing platforms
- ↑ IT Term definition and IT Glossary (англ.). Gartner. Дата обращения: 30 января 2011. Архивировано 10 февраля 2012 года.The software «glue» that helps programs and databases (which may be on different computers) work together. Its most basic function is to enable communication between different pieces of software
- ↑ Wolfgang Emmerich, Mikio Aoyama, Joe Sventek. The impact of research on the development of middleware technology (англ.) // ACM Transactions on Software Engineering and Methodology. — N. Y.: ACM, 2008. — Vol. 17, no. 4. — P. 19-48. — ISSN 1049-331X. — doi:10.1145/13487689.13487692.