Vybrať región
sk
  • SK
  • CZ
  • EN
Vytlačiť

Infoware, str.35 / SOA možnosti a perspektívy

Skratka SOA pochádza z anglického slovného spojenia Service Oriented Architecture a v posledných rokoch sa stala synonymom pre novú koncepciu prepojenia potrieb biznisu s možnosťami súčasných informačných technológií v organizácii. Predstavuje koncept, ktorého vytvorenie si vyžiadal prudký rozvoj IT a informačných systémov v 90. rokoch 20. storočia, ako aj riešenie súvisiacich problémov pri prenose a spracovaní informácií v heterogénnych systémoch. Vytvorenie koncepcie SOA treba chápať ako výsledok procesu postupnej zmeny architektúry aplikácií od monoblokovej (začiatkom 80. rokov 20. storočia) cez architektúru klient server a dis tribuované objekty (90. roky 20. storočia) až po využitie služieb na začiatku nášho storočia. Cieľom tohto vývoja bolo efektívne poskytnúť presne definovanú funkcionalitu veľkému počtu používateľov bez ohľadu na ich interné prostredie.

Koncepcia SOA poskytuje návod na riešenie integračných problémov buď v rámci jednej organizácie, alebo medzi viacerými organizáciami. Jadrom je použitie služieb pri spracovaní požiadaviek na výmenu informácií medzi heterogénnymi systémami. Pritom pojem služba v terminológii IT v prvom priblížení možno chápať rovnako, ako tento pojem chápeme v bežnom živote (objednávka večere, poskytovanie televízneho signálu a pod.). V užšom význame treba službu chápať ako vhodnú aplikáciu (komponent), ktorá spĺňa najmä nasledujúce požiadavky:

  • jednoznačná lokalizovateľnosť v určitom prostredí (napr. na internete alebo v určitej organizačnej jednotke),
  • podpora celosvetovo akceptovaných štandardov (XML, SOAP, JMS, JCA atď.), čo zabezpečuje využiteľnosť služby bez nutnosti vývoja a použitia proprietárnych komunikačných protokolov,
  • autonómnosť na využitie služby netreba inštalovať ďalší softvér,
  • samoopisnosť na mieste, kde je služba lokalizovaná, je k dispozícii aj informácia o tom, akú funkčnosť daná služba poskytuje a za akých podmienok možno túto funkčnosť využívať.

Špeciálny prípad sú tzv. webové služby, ktoré sú charakterizované tým, že sú lokalizovateľné na internete (webe), čím sa vytvárajú možnosti na ich využívanie veľkým počtom používateľov.

Princípy SOA
Možno ich opísať pomocou nasledujúcich zásad:

  • použitie implementačne nezávislého rozhrania, prostredníctvom ktorého majú požadované IT systémy komunikovať,
  • použitie služieb na báze opakovateľnej využiteľnosti (reuse),
  • použitie služieb nezávisle od technologickej úrovne na strane poskytovateľa, resp. konzumenta služby,
  • podpora pre asynchrónne procesy (long-running procesy).

Hlavné komponenty SOA a ich vzájomná komunikácia
Situáciu veľmi dobre vystihuje jednoduchý obrázok znázorňujúci komunikáciu (červené čiary) medzi tromi dôležitými subjektmi.
Základom komunikácie je poskytovateľ služieb subjekt, ktorý má technologické i právne schopnosti a možnosti na to, aby ponúkol potenciálnym záujemcom svoje IT služby. Dôležitý subjekt, ktorý umožňuje zverejniť údaje o službách poskytovaných poskytovateľom služieb, je tzv. register služieb. V tomto subjekte sa nachádzajú všetky dôležité údaje o službách a ich poskytovateľoch (tieto údaje do registra dodá poskytovateľ), ktoré potom môže využiť ďalší subjekt príjemca služby. Príjemca služby je subjekt, ktorý na základe svojich potrieb a v súlade s podmienkami dohodnutými s poskytovateľom služieb bude využívať služby tohto poskytovateľa. Z pohľadu IT pod uvedenými subjektmi treba rozumieť špeciálne upravené aplikácie (najčastejšie na báze tzv. aplikačných serverov), ktoré umožňujú realizovať uvedenú komunikáciu aj v tzv. automatickom režime s možnosťou rozličnej optimalizácie pri hľadaní a výbere služieb.
Uvedený princíp spolupráce hlavných komponentov možno chápať v širšom rozsahu (komunikácia cez internet) alebo v užšom rozsahu (v rámci určitej organizácie). V oboch prípadoch je potrebné zabezpečiť efektívnu komunikáciu na báze proprietárneho riešenia alebo na báze moderných koncepcií (ESB).
Na tomto mieste by som sa rád zmienil o fenoméne ESB, ktorý z technologického hľadiska predstavuje akúsi "implementáciu" koncepcie SOA. ESB je skratka anglického spojenia Enterprise Service Bus a predstavuje architektonický komponent, ktorý zabezpečuje integračno-komunikačnú infraštruktúru konzistentnú s princípmi SOA. Hoci ESB nie je SOA, implementácia ESB sa považuje za jeden z dôležitých krokov smerujúcich k implementácii SOA z viacerých dôvodov:

  • je základom koordinácie jednotlivých komponentov (služieb) v rámci systému,
  • ponúka širokú paletu služieb pri zabezpečovaní komunikácie,
  • predstavuje jednotné prostredie pre rôzne druhy komunikácie,
  • je založený na štandardoch (Java, XML, JMS, SOAP atď.),
  • umožňuje redukciu nákladov pri zmenách IT infraštruktúry.

SOA možno teoreticky implementovať aj bez ESB, ale z praktického pohľadu je ESB jeden z dôležitých technologických predpokladov úspešnej implementácie SOA v organizácii.

Možnosti SOA
Možnosti koncepcie SOA vyplývajú z princípov, ktoré sú uvedené na začiatku. Ide predovšetkým o opakovateľné využitie služieb, ktoré zapuzdrujú požadovanú obchodnú logiku, pričom o zvyšok sa stará vhodne zvolený komunikačný softvér, tzv. middleware. Opakovateľné využitie služieb a možnosť budovania tzv. kompozitných služieb z jednoduchých služieb umožňuje výraznú redukciu nákladov pri vývoji nových aplikácií (produktov), pretože netreba opakovane budovať to, čo už raz bolo vytvorené. Je to možné práve preto, že služby neobsahujú inštrukcie na zabezpečenie komunikácie s inými službami alebo systémami, ale len na určitú presne definovanú obchodnú logiku. Vo všeobecnosti sú počiatočné náklady na budovanie služieb (a teda implementáciu SOA) vyššie, ale po počiatočnej fáze budovania základného portfólia služieb možno zabezpečiť realizáciu nových procesov s malými nákladmi a v pomerne krátkom čase v porovnaní s tradičnými postupmi postavenými na báze starších technológií.
Koncepcia SOA nachádza využitie v rozličných oblastiach ľudskej činnosti, napríklad v biznise a financiách, elektronickom obchode (eCommerce), zdravotníctve, telekomunikáciách, doprave alebo poistení. Jedným z hlavných dôvodov rozširovania koncepcie SOA v uvedených oblastiach je aj globalizácia na poli ICT, spôsobená čoraz masovejším používaním internetu a iných komunikačných kanálov pri výmene informácií.

Záver
Z celosvetovo získaných poznatkov pri implementácii SOA je zrejmé, že SOA nie je všeliek, ktorý sa dá použiť na riešenie všetkých integračných problémov. Cesta, ktorú nám daná koncepcia ukazuje, je však z globálnej perspektívy celkom určite to najlepšie riešenie, ktoré v súčasnosti a v horizonte najbližších 5 10 rokov máme k dispozícii.

Ing. ŠTEFAN GERGELY, CSc.
vedúci projektu, Asseco Slovakia, a. s.


Vytlačiť