SOA: Porovnání verzí

Z FI WIKI
Přejít na: navigace, hledání
(Životní cyklus SOA)
(Životní cyklus SOA)
Řádka 38: Řádka 38:
 
IT prostředky každé organizace zahrnují svá data, provozované systémy, různé druhy specializovaných aplikací a informace o obchodních partnerech. Všechny tyto zdroje vystupují jako služby produkující celou škálu výstupních dat. Servisní architektura sdružuje tyto odlišné zdroje informací společně s operačními systémy, technologiemi a komunikačními protokoly. Toto sdružování probíhá iterativně ve třech krocích: nejprve jsou vytvořeny nové služby (vytvoření), poté jsou tyto služby zakomponovány do větších kompozitních aplikací (kompozice) a nakonec jsou výstupy služeb předány ke zpracování koncovým uživatelům (konzumace).
 
IT prostředky každé organizace zahrnují svá data, provozované systémy, různé druhy specializovaných aplikací a informace o obchodních partnerech. Všechny tyto zdroje vystupují jako služby produkující celou škálu výstupních dat. Servisní architektura sdružuje tyto odlišné zdroje informací společně s operačními systémy, technologiemi a komunikačními protokoly. Toto sdružování probíhá iterativně ve třech krocích: nejprve jsou vytvořeny nové služby (vytvoření), poté jsou tyto služby zakomponovány do větších kompozitních aplikací (kompozice) a nakonec jsou výstupy služeb předány ke zpracování koncovým uživatelům (konzumace).
  
==== Návrh ====
+
: ==== Návrh ====
  
 
:První fáze SOA přístupu se zaměřuje na to, jaké služby vytvořit nad stávajícími aplikacemi a daty. Návrh služeb může být jemnozrnný (fine-grained): jedna služba připadá na jeden business proces; nebo hrubozrnný (coarse-grained): několik služeb odpovídá určité množině podnikových funkcí. Ve fázi budování služeb je také zvažována jejich implementace. Služby mohou být implementovány přímo pomocí Web services nebo může být k jejich implementaci jako Web services využit adaptér.
 
:První fáze SOA přístupu se zaměřuje na to, jaké služby vytvořit nad stávajícími aplikacemi a daty. Návrh služeb může být jemnozrnný (fine-grained): jedna služba připadá na jeden business proces; nebo hrubozrnný (coarse-grained): několik služeb odpovídá určité množině podnikových funkcí. Ve fázi budování služeb je také zvažována jejich implementace. Služby mohou být implementovány přímo pomocí Web services nebo může být k jejich implementaci jako Web services využit adaptér.

Verze z 17. 7. 2007, 23:38

SOA (Service-Oriented Architecture)

Co je SOA?

SOA nebo-li servisně orientovaná architektura je přístup k organizování IT zdrojů pomocí jednotného řešení, které má za cíl maximální zvýšení flexibility managementu v podniku. Servisní architektura modularizuje IT zdroje a vytváří volně vázané business procesy určené k šířené informací v systému. Pro dobře navrženou servisně orientovanou architekturu je nezbytná nezávislost business procesů na platformě, protože pouze takto lze zajistit potřebné navýšení flexibility v podniku.

Podniková IT oddělení spravují stále komplexnější systémy. Tyto systémy musí být neustále udržovány v souladu s podnikovými cíli. Problémem pro IT oddělení není nedostatek požadované funkcionality, problém spočívá spíše v oddělení jednotlivých systémů, například customer relationship management (CRM) a enterprise resource planning (ERP), které pracují samostatně a sloučení informací poskytovaných těmito systémy je velmi problematické. Dříve byla často uplatňována časově náročná manuální řešení nebo byl problém řešen díky speciálním pomocným programům, které však snižovaly flexibilitu a udržovatelnost IT systémů.

Servisně orientovaná architektura přináší řešení ve formě vysoce flexibilních dynamických aplikací (někdy také nazývaných kompozitní). Tyto aplikace dovolují získávat informace mnohem snadněji a v mnohem přístupnější podobě. Koncový uživatel si může zvolit nejen formu výstupních dat, ale můžu tato data zpracovávat a prohlížet na celé škále zařízení, ať už jde o webový portál, aplikačního klienta nebo mobilní přístroj. Dynamické aplikace dovolují podnikům zlepšovat a automatizovat manuální úlohy, zpřehledňují interakce se zákazníky a obchodními partnery a pomáhají lépe organizovat business procesy. Výsledkem je zvýšená konkurenceschopnost podniku na trhu.

Definice SOA

Neexistuje přesná definice. Servisní orientace je prostředkem pro integraci rozdílných systémů. Každý IT prostředek, systém, aplikace nebo obchodní partner může vystupovat jako služba. SOA je v podstatě kolekcí služeb, které komunikují mezi sebou a ke komunikaci využívají standardizované protokoly a dohodnutá rozhraní. Díky těmto rozhraním se může měnit implementace služeb, aniž by byla ovlivněna schopnost systému služby používat.

Proč SOA?

Existující IT prostředky velmi často nepodporují stále se měnící potřeby podniku v plné míře. Navíc jsou drahé, obtížně spravovatelné a málo flexibilní. Řešením ale není veškerý používaný software nahradit novým a flexibilnějším. Spíše je nutné nalézt cesty jak zvýšit efektivitu existujících zdrojů tak, aby podporovaly cíle organizace. Servisní orientace tomuto napomáhá, protože s její pomocí lze systémy snadněji upravovat, vyvíjet, udržovat i řídit. SOA tak dovoluje organizacím plánovat s ohledem na změny.

Kdo dělá SOA?

SOA je budována vývojáři a softwarovými architekty. Důležitá je přímá účast investorů na samotném návrhu servisně orientované architektury. Podnikový analytik se snaží zapojit IT zdroje do strategie podniku. Pro vývojáře to znamená, že řešení vytvořená pomocí SOA musí sdružovat informace do úplného a jednotného pohledu, který dává analytikovi maximální přehled o poskytovaných výhodách a jejich cenách. CTO (chief technology officer) dohlíží, aby navrhovaná řešení nezničila integritu stávajících systémů. Ředitel IT sekce má na starosti splnění dalších cílů jako například zjednodušení systému řízení. Konečně, vývojáři a architekti se snaží vybudovat dynamické a spolupracující aplikace, které splňují požadavky na ně kladené investory.

Co SOA není

Existuje několik mylných názorů na to, co je SOA:

  • je to produkt, který si lze koupit - není, SOA je pouze návrhová filozofie, která říká, jak řešení vybudovat
  • cílem je vybudovat SOA - není, SOA je pouze prostředkem k dosažení cíle
  • SOA vyžaduje kompletní renovaci technologií a podnikových procesů - nevyžaduje, řešení s pomocí SOA by měla být inkrementální a postavená na stávajících systémech

Často jsou zaměňovány termíny SOA a Web services. Ačkoli je pravda, že s pomocí Web services se implementace SOA stává jednodušší, tyto termíny nelze volně zaměňovat. SOA je způsob navrhování systémů, zatímco Web services je implementační technologie, která používá specifické standardy a protokoly k dosažení řešení založeného na principech SOA.

Než začnete se SOA

Předtím, než je napsána jediná řádka kódu, je nutné identifikovat strategické cíle podniku a závislosti mezi business procesy a použitými technologiemi. Jinak může dojít k plýtvání zdrojů při budování SOA bez přesné znalosti cílů, jakých chceme dosáhnout. Obvykle se SOA buduje jedním ze dvou přístupů: shora dolů (top-down) nebo zdola nahoru (bottom-up). Oba přístupy však mají své nevýhody. Při top-down přístupu se může stát, že v době dokončení infrastruktury už tato nevyhovuje požadavkům na ni kladených kvůli změněným potřebám podniku. Při bottom-up přístupu zase organizace může skončit s nesourodou změtí služeb, které je těžké udržovat a propojit. Proto je možné použít kombinaci obou přístupů, "middle-out" přístup: vývoj probíhá iterativně a v každém kroku je vyvinuta dynamická aplikace, která plní prirotně nastavené cíle. Takto je postupně vybudována celá infrastuktura SOA.

Životní cyklus SOA

IT prostředky každé organizace zahrnují svá data, provozované systémy, různé druhy specializovaných aplikací a informace o obchodních partnerech. Všechny tyto zdroje vystupují jako služby produkující celou škálu výstupních dat. Servisní architektura sdružuje tyto odlišné zdroje informací společně s operačními systémy, technologiemi a komunikačními protokoly. Toto sdružování probíhá iterativně ve třech krocích: nejprve jsou vytvořeny nové služby (vytvoření), poté jsou tyto služby zakomponovány do větších kompozitních aplikací (kompozice) a nakonec jsou výstupy služeb předány ke zpracování koncovým uživatelům (konzumace).

==== Návrh ====
První fáze SOA přístupu se zaměřuje na to, jaké služby vytvořit nad stávajícími aplikacemi a daty. Návrh služeb může být jemnozrnný (fine-grained): jedna služba připadá na jeden business proces; nebo hrubozrnný (coarse-grained): několik služeb odpovídá určité množině podnikových funkcí. Ve fázi budování služeb je také zvažována jejich implementace. Služby mohou být implementovány přímo pomocí Web services nebo může být k jejich implementaci jako Web services využit adaptér.

Kompozice

Jakmile jsou služby vytvořeny, mohou být zakomponovány do větších celků. Protože služby jsou nezávislé na platformě i navzájem, mohou být kombinovány a používány s maximální flexibilitou. A jak se business procesy vyvíjejí je snadné upravovat pravidla a politiky bez omezení vyplývajících ze stávajících aplikací a systémů.

Konzumace

Nové aplikace nebo business procesy mohou poté být vystaveny a používány (konzumovány) koncovým uživatelem nebo jiným IT systémem. Cílem je dodat nové dynamické aplikace, které zvýší produktivitu a umožní efektivnější prohlížení a zpracování informací. Uživatelé mohou k informacím přistupovat mnoha nezávislými způsoby: skrz webový portál, bohatého aplikačního klienta, sadu kancelářských aplikací nebo mobilní zařízení.

Výhody SOA

Servisně orientovaná architektura je především prostředkem jak dosáhnout vyšší flexibility podniku s využitím stávajících investic v oblasti IT. Řešení založená na SOA propojují systémy a usnadňují tak komunikaci, která musela být dříve prováděna s manuální pomocí. SOA usnadňuje vývoj nových aplikací, propojování systémů a pracovních skupin a spolupráci s obchodními partnery, zároveň zajišťuje, že požadované služby jsou přístupné patřičným osobám.

SOA přispívá ke zlepšení organizace IT a zároveň zvyšuje agilitu a produktivitu podniku. Z pohledu IT oddělení integrace založená na SOA zjednodušuje management distribuovaných zdrojů, vyžaduje méně hardwaru, je spolehlivější a levnější. Z pohledu obchodního oddělení SOA dovoluje vývoj nové generace dynamických aplikací vztahujících se k množství obchodních záležitostí kritických pro růst a konkurenceschopnost podniku. SOA podporuje:

  • Silnější propojení se zákazníky a dodavateli. Dynamické aplikace mohou být k dispozici zákazníkům a dodavatelům. Tím se zvyšuje jejich spokojenost a také úroveň vzájemné komunikace. SOA zbavuje podnikové procesy závislosti na implementaci podpůrných systémů a tím dovoluje lepší reakci procesů na potřeby organizace.
  • Zlepšená schopnost rozhodování. Díky distribuci informací mezi kompozitními aplikacemi mají manažeři a vedoucí k dispozici přesnější a úplnější data. Zároveň mají možnost tato data získávat a zobrazovat ve velkém množství různých forem, dle aktuální potřeby.
  • Vyšší produktivita zaměstnanců. Produktivita zaměstnanců může být zvýšena díky informacím poskytovaným systémem a postupnému zlepšování business procesů. Zaměstnanci se mohou soustředit na vzájemnou spolupráci a vylepšování důležitých procesů a nejsou omezováni limity podpůrných IT systémů.

Problémy spojené se SOA

SOA přináší mnoho výhod při integraci systémů a vytváření nových služeb. Avšak proces zavádění SOA je třeba důkladně sledovat a řídit - kontrolovat a monitorovat služby, jejich výkon, spolehlivost a zejména bezpečnost. Jinak může dojít k neefektivnímu řešení, které věci komplikuje místo, aby je usnadňovalo. Podnikové procesy se neustále mění, proto je nutné dodržovat politiky určující prioritu procesů a služeb, kdo bude zodpovědný za jejich návrh, jak by měly být implementovány a jak bude měřena úspěšnost jejich zavádění.

Opětné použití služeb je považováno za jednu z hlavních výhod SOA, avšak je to spíše vedlejší produkt architektury než hlavní cíl. Navrhování služeb pro opětné použití je velmi náročné. Služby často musí být upravovány, aby splňovaly nároky na ně kladené. Znovupoužitelné služby musí být navrhovány s ohledem na možné budoucí požadavky, jejichž předpovídání je samo o sobě vskutku nelehký úkol.

Zdroje