A köztes szoftver (angolul middleware) általánosan véve egy olyan számítógépes szoftver, amely az operációs rendszerek mögötti, azok számára nem elérhető szoftveralkalmazásokat biztosítja. A köztes szoftvert akár szoftverragasztónak is nevezhetnénk.[1] Ezáltal a köztes szoftver nem része egyértelműen az operációs rendszernek, nem adatkezelő rendszer, valamint nem része a szoftveralkalmazásoknak sem. A köztes szoftver megkönnyíti a szoftverfejlesztők dolgát a kommunikációs és az input/output feladatok végrehajtásában, így a saját alkalmazásuk sajátos céljára tudnak összpontosítani.
| Bővebben: Köztes szoftver (megosztott alkalmazások) |
A kifejezést legtöbbször olyan szoftverre használjuk, amely a megosztott alkalmazások közötti kommunikációt és adatkezelést teszi lehetővé. Így, ebben a specifikusabb értelemben „a kliens-szerver összekötője”-ként is jellemezhetnénk.
Az ObjectWeb a következőképpen ír a köztes szoftverről: "Egy olyan szoftverréteg, amely az operációs rendszer és az alkalmazások között húzódik az egy hálózatban lévő megosztott számítástechnikai rendszer mindegyik oldalán."[2] A köztes szoftverként említhető szolgáltatások közé tartozik a vállalati rendszerintegráció, adatintegráció, üzenetorientált köztesréteg (Message Oriented Middleware – MOM) és a objektumkérelem-közvetítők (Object Request Brokers – ORBs)).
A köztes szoftver kifejezés más kontextusban is használható. A köztes szoftvert néha a szoftverillesztő programhoz hasonlítják – egy olyan absztrakciós réteg, amely a hardvereszközök és más szoftverek részleteit elrejti az alkalmazás elől.
- Az androidos környezet alapvetően Linux operációs rendszert használ, valamint egy olyan keretprogramot is biztosít, amellyel a fejlesztők saját alkalmazásaikat építhetik a rendszerbe. Emellett az Android egy olyan, könyvtárakat tartalmazó köztes szoftver réteget is biztosít, amely az adattárolásban, képernyős megjelenítésben, multimédiában és web böngészésben nyújt szolgáltatásokat. Mivel a köztes szoftver könyvtárak „egy nyelvet beszélnek” a géppel, így a szolgáltatás végrehajtása gyorsan történik. A köztes szoftver könyvtárak eszköz specifikus funkciókat is megvalósítanak, így az alkalmazásoknak és az alkalmazás keretprogramjának nem kell tartania az androidos készülékek különbözősége miatti inkompatibilitástól. Az androidos köztes szoftver réteg a Dalvik virtuális gépet és a hozzá tartozó alapvető Java alkalmazás könyvtárakat is tartalmazza.[3]
- A játékfejlesztő motor szoftvereket – mint például Gamebyro és Renderware – köztes szoftverként is említik néha, mivel számtalan szolgáltatást nyújtanak a játékfejlesztés leegyszerűsítéséhez.
- A szimulációs technológiában a köztes szoftver-t általában a magas szintű architektúrával (High Level Architecture – (HLA) összefüggésben használják a sok megosztott szimuláció miatt. Ez egy olyan szoftverréteg, ami az alkalmazáskód és a programfuttatási infrastruktúra run-time infrastructure között fekszik. A köztes szoftver általában funkciók könyvtárából áll, és számos alkalmazás – pl. a HLA technológia szimulációi és szövetségei – a közös könyvtárakból keresheti ki a funkciókat, így nem kell minden alkalmazáshoz újra elkészíteni.
- A vezeték nélküli hálózatok fejlesztői célkitűzéseik eléréséhez a vezeték nélküli érzékelő hálózattal (WSN), vagy a WSN-technológiákkal együtt használhatják a middleware-t. A WSN-fejlesztők a middleware alkalmazások implementálásával integrálhatják az operációs rendszerekbe és hardverekbe a jelenleg elérhető, eltérő alkalmazások széles választékát.[4]
- A QNX operációs rendszer olyan köztes szoftvert ajánl, amely autókban, repülőgépeken és más környezetben nyújt multimédiás szolgáltatásokat.
- A Multimedia Home Platform (DVB-MHP) egy nyílt köztes szoftver rendszerszabvány, amelyet a DVB projekt keretében interaktív digitális televíziókra terveztek. Az MHP interaktív, Java-alapú alkalmazások fogadását és végrehajtását engedélyezi tv-készülékeken.
- A Universal Home API, vagy UHAPI egy olyan alkalmazásprogramozási felület (Application Programming Interface (API)), amelyet az UHAPI Forum által készített szórakoztatóelektronikai készülékeken futtatnak. Az UHAPI célja, hogy szabványos köztes szoftvert futtasson az audio-/videosugárzású platformokon az API-szabványú, hardverfüggetlen iparban.
- A Miles Sound System olyan köztes szoftver szoftverillesztő programot biztosít a fejlesztőknek, amivel – a kártyák részleteinek figyelembevétele nélkül – a hangkártyák széles választékára alkalmas szoftvert készíthetnek.
- A rádiófrekvenciás azonosító szoftver-eszköztárak olyan köztes szoftvert biztosítanak, amelyek megszűrik a zajos és szükségtelen nyers adatokat.
Az operációs rendszerek és middleware-k funkcionalitása közötti különbség – egy bizonyos mértékig – a korlátlan lehetőség. A mag (kernel) funkcionalitást csak operációs rendszerek tudják biztosítani, viszont néhány, korábban külön kapható middleware funkciót már integráltak az operációs rendszerekbe. Egy tipikus példája ennek a telekommunikációs TCP/IP, ami manapság már gyakorlatilag minden operációs rendszerben megtalálható.
A köztes szoftver egy viszonylag új terület a számítástechnika térképén. Az 1980-as években kezdett egyre népszerűbbé válni, mivel az újabb alkalmazások régebbi, hagyományos rendszerekkel való összekötésének problémájára kínált megoldást, habár magát a kifejezést már 1968 óta használják.[5] Ez szintén elősegítette – az általában hálózaton keresztüli – megosztott feldolgozást, és a több alkalmazás összekapcsolásával egy nagyobb alkalmazás létrehozását.
Charlie Collins, Michael Galpin and Matthias Kaeppler, Android in Practice, Manning Publications, 2011
Hadim, S. and Mohamed, N. (2006). Middleware challenges and approaches for wireless sensor
networks. IEEE Distributed Systems Online vol 7. Issue 3. Hozzáférés ideje: March 4, 2009 from
iEEE Distributed Systems Online Archiválva 2011. szeptember 28-i dátummal a Wayback Machine-ben
Ez a szócikk részben vagy egészben a Middleware című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.