Service Oriented Architecture

05. 06. 2006 | 4/2005 | Comments [0]

Grid. V skutočnosti nás technológie Grid Computing a Service Oriented Architecture (SOA) posúvajú ku konceptu poskytovania výpočtového výkonu ako služby bližšie, než sme boli kedykoľvek predtým.

Service Oriented Architecture

Pred asi 15 rokmi ma v jednom odbornom časopise zaujala myšlienka, že v budúcnosti bude výpočtový výkon poskytovaný podobne, ako dnes elektrická energia. Váš osobný počítač vprípade potreby požiada opotrebný výkon poskytovateľa, ponúkajúceho takúto službu. Neskôr som zistil, že ani pred 15 rokmi nebola táto myšlienka nová. Prvé teórie oposkytovaní výpočtového výkonu ako služby sa začali objavovať už v50-tych rokoch. Aj keď je to zaujímavá myšlienka, na prvý pohľad sa zdá, že sme od takéhoto modelu rovnako ďaleko ako pred 50 rokmi.Len na prvý pohľad. Vskutočnosti nás technológie Grid Computing aService Oriented Architecture (SOA) posúvajú ku konceptu poskytovania výpočtového výkonu ako služby bližšie, než sme boli kedykoľvek predtým. Kým Grid Computing sa zaoberá infraštruktúru potrebnou na poskytovanie výpočtového výkonu na požiadanie, SOA definuje spôsob jeho využitia formou publikovania avolania služieb. SOFTVÉROVÁ ARCHITEKTÚRA

Dostávame sa kdefinícii pojmu Service Oriented Architecture – SOA je softvérová architektúra, ktorej cieľom je dosiahnuť voľnú väzbu interagujúcich softvérových agentov. Službou je konkrétna práca vykonaná poskytovateľom služby na základe požiadavky odberateľa/konzumenta služby. Poskytovateľ ajkonzument služby sú softvéroví agenti, zastupujúci svojich „vlastníkov“.Aj keď sa táto definícia zdá byť príliš všeobecná, príklady SOA nájdete všade okolo seba. Napríklad televízia – zapnete televízny prijímač azvolíte program. Televízna spoločnosť je poskytovateľom služby, váš televízny prijímač jej konzumentom. Rôzne televízne spoločnosti poskytujú rovnakú službu, rozdiel je len vtype akvalite programu.Motivácia pre SOA je jasná – je výhodné nechať niekoho iného spraviť za vás prácu voblasti, vktorej je expert. Väčšina znás je dostatočne rozumná na to, aby si uvedomila, že nie sme dostatočne rozumní, aby sme boli expertmi na všetko.Pri poskytovaní akejkoľvek služby je dôležité, aby poskytovateľ aj konzument hovorili rovnakou „rečou“. Je jedno, kto vyrobil váš televízny prijímač aakú technológiu použil, po pripojení antény môžete prijímať dostupné programy. Je to vďaka tomu, že šíritelia signálu aj výrobcovia prijímačov dodržujú isté štandardy.

ŠTANDARDNÝ PRÍSTUP K SLUŽBÁM

To isté platí aj pri použití SOA vinformačných technológiách. Poskytovatelia musia ponúknuť štandardný spôsob prístupu kslužbám, aby konzument mohol využívať ktorúkoľvek znich, bez nutnosti implementácie špeciálneho rozhrania. SOA to umožňuje vďaka oddelenia rozhrania (interfejsu) služby od jej implementácie. Je jedno vakom programovacom jazyku je služba napísaná aakú technológiu používa, stačí, ak zverejní svoje rozhranie predpísaným spôsobom amôže sa stať jedným zkomponentov SOA. Navyše je týmto spôsobom možné využívať aj existujúce softvérové komponenty ako služby – stačí ich obaliť vrstvou poskytujúcou štandardný interfejs.Vsúčasnosti sa pri implementácii SOA stále viac využívajú Web Services. Tieto softvérové komponenty veľmi dobre napĺňajú definíciu SOA vďaka tomu, že sú platformovo nezávislé (Web service môže byť napísaný vJave, .Net, alebo inom jazyku), oddeľujú svoju implementáciu od rozhrania (spôsob volania služby je popísaný vjeho definičnom súbore – WSDL súbor) akomunikácia prebieha štandardným protokolom – napr. SOAP protokol.Rastúcu popularitu SOA vdnešnom svete informačných technológií dokazuje množstvo softvérových firiem, poskytujúcich technológie na podporu SOA. Niektoré ponúkajú nástroje na vývoj komponentov, iné sa snažia ponúknuť komplexnú podporu pre SOA. Medzi nimi zaujíma popredné miesto firma Oracle svojím produktom Oracle Application Server 10g. Je to integrovaná platforma, poskytujúca úplnú SOA infraštruktúru pre vývoj, integráciu, nasadenie, sprístupnenie, zabezpečenie asprávu služieb.

Vývoj služieb Oracle Jdeveloper 10g je vývojové prostredie súplnou podporou pre modelovanie, vývoj, testovanie anasadenie služieb. Podporuje najnovšie štandardy, ako J2SE 5.0, J2EE 1.4, Java Server Faces a umožňuje integráciu open source nástrojov ako Ant, Junit, CVS, Struts, and Xdoclet. Vďaka Application Development Framework (ADF), sade návrhových vzorov apredpripravených komponentov, je vývoj služieb rýchlejší ajednoduchší.Jdeveloper navyše umožňuje publikovať ako služby už existujúce komponenty – Java triedy, Enterprise Java Beans, databázové PL/SQL procedúry… to všetko bez nutnosti písania akéhokoľvek kódu.

Integrácia a Orchestrácia Služieb

Samotné služby amožnosť ich volania riešia potreby podnikov aorganizácií len čiastočne. Služby je potrebné pospájať a automatizovať tak, aby zodpovedali konkrétnym podnikovým procesom. Tento postup označujeme termínom „orchestrácia služieb“. Štandardom na spájanie viacerých synchrónnych aasynchrónnych služieb do kolaboratívneho atransakčného toku procesov je Business Process Execution Language (BPEL). Práve tento jazyk je základom pre nástroj Oracle BPEL Process Manager. Procesy je možné modelovať graficky, vintuitívnom aužívateľsky priateľskom prostredí Jdevelopera. BPEL Proces Manager je robustné prostredie na vykonávanie procesného toku. Poskytuje vysokú dostupnosť aj pre dlho trvajúce procesy. Jeho súčasťou sú nástroje na administráciu, monitorovanie aladenie procesov. Na sledovanie behu procesov aich analýzu slúži Oracle Business Activity Monitoring (BAM). Na základe jeho výstupov vprehľadnej grafickej podobe je možné zefektívňovať aoptimalizovať podnikové procesy.

Prístup kslužbám

Oracle Application Server zahŕňa kompletné aintegrované riešenie pre budovanie, nasadenie asprávu podnikového portálu, ktorý umožňuje prístup kinformáciám aslužbám kdekoľvek, kedykoľvek azakéhokoľvek zariadenia. Portlety je možné vytvárať deklaratívnym spôsobom priamo zprostredia Portálu, alebo generovať aprogramovať vOracle Jdeveloper. Oracle Portal podporuje štandardy Web Services Remote Portlets (WSRP) aJSR-168. Vďaka svojim vlastnostiam apodpore štandardov je Oracle Portal ideálnou platformou pre poskytnutie centrálneho vstupného bodu pre používateľov vprostredí SOA.

Zabezpečenie služieb

Vo vysoko distribuovanom aheterogénnom prostredí SOA je riešenie problematiky prístupových práv abezpečnosti veľmi dôležité. Bez vhodnej technológie sa táto oblasť môže stať nočnou morou. Oracle Application Server obsahuje úplnú sadu nástrojov atechnológií na zaistenie bezpečnosti na všetkých úrovniach. Medzi ne patria Oracle Security Development Kit,ako aj komplexný balík na správu identít aprístupových práv – Oracle Identity Management.

Nasadenie služieb

Vďaka podpore technológie Grid Computing poskytuje Oracle Application Server 10g robustné, škálovateľné avysoko dostupné prostredie pre SOA. Umožňuje budovať prostredie postupným pridávaním lacných „blade“ servrov, podľa množstva nasadených služieb a záťaže. Vysoká dostupnosť je dosiahnutá odolnosťou systému voči akémukoľvek výpadku – plánovanému aj neplánovanému, spôsobenému ľudskou chybou, zlyhaním softvéru či hardveru.Vsúčasnom dynamickom podnikovom prostredí potrebujú organizácie informačné systémy aaplikácie, ktoré budú vedieť rýchlo reagovať na časté zmeny. SOA poskytuje prísľub možnosti vybudovania práve takéhoto typu aplikácií – modulárnych, zostavených zkomponentov orchestrovaných aautomatizovaných tak, aby pokrývali potreby podnikových procesov. Zároveň je jasné, že produkčné nasadenie systémov založených na SOA vyžaduje spoľahlivú platformu. Oracle Application Server 10g okrem infraštruktúry potrebnej na nasadenie služieb vSOA, ich orchestráciu asprístupnenie koncovým používateľom prináša robustnosť, bezpečnosť avysokú dostupnosť celého prostredia.

Marián Kuna

marian.kuna@oracle.com

PDF attachement

Download PDF version of article


Write review