Мидълуер: Разлика между версии

Изтрито е съдържание Добавено е съдържание
Редакция без резюме
Редакция без резюме
Ред 1:
'''Мидълуер - Междинен интеграционен софтуер''' ({{lang-en|Middleware}}) представлява междинен слой между софтуерните приложения и операционната система, който осигурява по-лесното разработване на сложни софтуерни системи (разпределени, компонентно-базирани и др.) като освобождава (абстрахира) тези приложения от конкретните специфики и особеностите на използваната операционна система, хардуерните компоненти и комуникационните протоколи. Основната цел на мидълуер е да се справи с хетерогенността, присъща за този тип системи (по отношение на използвания програмен език, спецификата на използваните операционни системи – пр. как са представят данните в нея и др.). Ако трябва да бъдем по-конкретни по отношение на разположението на middleware-а, то той е позициониран в OSI модела върху сесийния и представителния слой, като използва транспортния слой за осъществяване на комуникацията между отделните хостове (чрез TCP/UDP протоколите) и в същото време обслужва на едно по-високо ниво софтуерните приложения (приложния слой). Поради тази причина той често се разбира двояко:
* ''Мидълуер като програмна абстракция'' – Изразява се в разбирането на middleware като множество от архитектурни и програмни решения (абстракции) свързани с разработване и интегриране на сложни софтуерни системи (каквито са разпределените системи, компонентно-базираните системи и др.). Пример за такова решение е използването на RPC – програмна абстракция, която позволява процедурни извиквания между приложения изпълнявани на отдалечени хостове като в същото време скрива подробностите и детайлите по самата комуникация. Множеството от подобни програмни абстракции оформят програмния модел нa конкретния middleware-а, който от своя страна определя неговите характеристики и областите му на приложение;
* ''Мидълуер като инфраструктура'' – Изразява се в разбирането на middleware като среда, която предоставя готови софтуерни решения (реализации) и инструменти, които могат директно да бъдат използвани с цел изграждането на сложни софтуерни системи или тяхното интегриране. Пример за такива готови софтуерни решения и инструменти са IDL (Interface Definition Language), интерфейсен компилатор, библиотеки за трансформиране на данни (обслужващи процес на marshaling/unmarshaling) и др. Те в своята съвкупност образуват сложна софтуерна инфраструктура, която по същество реализира програмния модел заложен в конкретния middleware и определя неговите нефункционални параметри (като производителност, надеждност, ефективност при управлението на ресурси и т.н.);