Middleware

Middleware (výslovnost [ˈmɪdlweə(ɹ)]IPA)[1] je v informatice specializovaný software, který poskytuje aplikacím služby nad rámec služeb poskytovaných operačním systémem. Někdy se označuje jako „softwarové lepidlo“ (anglicky software glue [ˈsɒftweə(r) ɡluː]IPA).[2] Middleware usnadňuje softwarovým vývojářům vývoj komunikace a vstupů nebo výstupů. Vývojáři se tak mohou zaměřit přímo na cíl své aplikace. Middleware je softwarem spojujícím softwarové komponenty nebo podnikové aplikace. Softwarová vrstva middleware leží mezi operačním systémem a aplikacemi na každé distribuované počítačové síti. Typická je pro podporu komplexních obchodních aplikací.

Middleware je infrastrukturou umožňující tvorbu podnikových aplikací. Zahrnuje webové servery, aplikační servery, systémy pro správu obsahu a jiné podobné nástroje podporující rozvoj a poskytování aplikací. Je nedílnou součástí informační technologie založené na Extensible Markup Language (XML), Simple Object Access Protocol (SOAP), SOA, infrastruktury Web 2.0 protokolu Lightweight Directory Access Protocol (LDAP).

Middleware je relativně novým pojmem na poli software; populárním se stal v roce 1980, jako pomocník při řešení problému propojení novější aplikace se starším systémem, nicméně samotný termín se začal používat již v roce 1968.[3] Byl rovněž využíván pro spojení více aplikací a vytvoření připojení jedné velké aplikace nad rámec sítě.

Příklady middleware

[editovat | editovat zdroj]

Pojem middleware je využívaný i v jiných kontextech. Jedním z příkladů může být přirovnání k ovladači softwaru – vrstvě aplikace obsahující informace a detaily o hardware zařízeních či jiném software.

  • Distribuce Mer software: postrádá linuxové jádro a UI. Je zaměřena na hardware prodejců operačních systémů pro mobilní telefony.
  • OS Android využívá jádro Linuxu, a také poskytuje aplikační framework, který vývojáři začleňují do svých aplikací. Android především poskytuje middleware vrstvu včetně knihoven, poskytujících služby jako ukládání dat, zobrazení na displayi, multimedia a prohlížení webových stránek. Vzhledem k tomu, že jsou middleware knihovny zkompilovány do strojového kódu, lze služby provést rychle. Middleware knihovny rovněž implementují funkce specifické pro zařízení, takže aplikace a aplikační framework nemusí rozlišovat jednotlivé rozdíly mezi zařízeními, na kterých je Android spuštěn. Android middleware vrstva obsahuje také prostředí Dalvik (resp. nověji ART) a jeho základní Java knihovny aplikací.[4]
  • Herní engine software Gamebryo a RenderWare jsou někdy označovány jako middleware, poskytují mnoho zjednodušení a služeb pro vývoj hry.
  • V simulační technologii se middleware zpravidla používá v kontextu architektury High Level Architecture (HLA), vztahující se na mnoho distribuovaných simulací. Jedná se o vrstvu software ležící mezi kódem aplikace a infrastrukturou běhového prostředí. Middleware je složen z knihoven funkcí a umožňuje řadě aplikací přístup k těmto knihovnám, namísto jejich znovuvytváření pro každou aplikaci.
  • Operační systém QNX nabízí middleware pro poskytování multimediálních služeb v automobilech a letadlech. K dispozici je také middleware envien, představený v rámci projektu DVB, určený pro interaktivní digitální televize. MHP umožňuje příjem a realizaci interaktivních aplikací Java.
  • Universal Home API nebo také UHAPI je rozhraní pro programování aplikací u spotřební elektroniky, vytvořené UHAPI fórem. Cílem UHAPI je vytvořit standard pro middleware pro běh platforem u audio a video streamingu.
  • The Miles Sound System poskytuje middleware softwarový ovladač umožňující vývojářům vytvářet software, podporující řadu zvukových karet, aniž by znal informace o daných kartách.
  • Sada nástrojů pro radiofrekvenční identifikaci poskytuje middleware pro filtrování šumů a redundantních dat.
  • ILAND je middleware určený pro real-time aplikace. Nabízí podporu rekonfigurací v omezeném čase.
  • Televize, media a software pro set-top-boxy často využívají middleware. Jedním z příkladů může být OPEN TV 5 middleware (označovaný také jako Connectware).
  • Lotus Notes[5]
  • Microsoft BackOffice Server[5]

Hranice a rozdíl mezi operačním systémem a funkčností middleware jsou do jisté míry odlišné v rámci situace. Zatímco základní funkce jádra mohou být poskytovány pouze samotným operačním systémem, některé funkce, dříve poskytované samostatně pomocí middleware, mohou být nyní integrovány jako součást operačního systému. Typickým příkladem může být TCP/IP stack [stæk], který je dnes součástí prakticky každého operačního systému. Například middleware digitální TV poskytuje velkou funkcionalitu a není tak potřeba žádné „aplikace“ pro koncové uživatele pro její používání.

  1. Oxford Advanced Learner's Dictionary. middleware noun - Definition, pictures, pronunciation and usage notes [online]. Oxford University Press [cit. 2019-10-27]. Dostupné online. (anglicky) 
  2. Middleware Resource Center. What is Middleware? [online]. Defining Technology, Inc., 2008 [cit. 2019-10-27]. Dostupné v archivu pořízeném dne 2012-06-29. (anglicky) 
  3. Ironick. Update on the origin of the term "middleware" [online]. 2005-07-30 [cit. 2019-10-27]. Dostupné online. (anglicky) 
  4. COLLINS, Charlie; GALPIN, Michael; KÄPPLER, Matthias. Android in Practice. Shelter Island: Manning Publications Co., 2012. 623 s. Dostupné online. ISBN 9781935182924. Kapitola 1.1.3 Key platform components, s. 9. (anglicky) [nedostupný zdroj]
  5. a b ZAPLETAL, Jaroslav. IBM ohlašuje novou strategii na platformě Windows NT. Z redakčního bloku. PC WORLD. IDG Czechoslovakia, a. s., květen 1997, čís. 5, s. 17. Dostupné online [cit. 2019-10-25]. ISSN 1210-1079. 

Externí odkazy

[editovat | editovat zdroj]