;

Cesta k ziskové SOA: Hledání svatého grálu IT

17. 2. 2010
Doba čtení: 7 minut

Sdílet

Lze rychle přejít na architekturu orientovanou na služby tak, aby se investice do 12 měsíců vrátily? Je možné vůbec spočítat návratnost?

Co si v oblasti SOA vybrat či kam namířit úsilí, aby bylo možné dosáhnout co nejrychlejší návratnosti? Jaké typy projektů stojí nejméně a mohou přinést nejvýraznější či nejrychlejší efekt?

Vyhlásit projekt na zavedení SOA a snažit se spočítat jeho návratnost, nejlépe do 12 měsíců, je zaručená cesta jak neuspět. Celý nápad totiž nedává moc smysl. SOA je koncept, ne technologie. Nelze ji zavést projektem. Navíc se netýká jen IT (a technologií), ale má významný přesah do organizační roviny a do způsobu, jakým je vedena celá společnost. SOA říká, jak má být postaveno celé IT, a dotýká se všech jeho aspektů. Různé metodiky a studie (např.: Saugatuck Technology: SOA Reality Check: Three Waves of Adoption Through 2012) uvádějí, že celý transformační proces probíhá ve fázích, kde každá fáze trvá roky (tři, pět, šest let, …), a nelze jej příliš uspěchat.

Nicméně to neznamená, že nemá cenu začít. Začít je potřeba co nejrychleji, ale jak?

Vyčíslení nákladů, návratnost investic

Ještě než si řekneme, jak se SOA začít, řekneme si, jak nezačít. Určitě nepovede k cíli, když se začne management ptát, kolik SOA stojí a kdy se investice vrátí. Návratnost (ale ani náklady) nelze přesně vypočítat. Nicméně i tak lze SOA zavést „ziskově“. Její zavedení je kompletní rekonstrukcí IT – je to podobné, jako když se management rozhodne reorganizovat strukturu společnosti. Management tak koná podle své intuice a zkušeností, nikoli že by si spočítal, kdy se mu to vrátí – SOA je to samé v IT světě.

SOA má totiž velkou dlouhodobou přidanou hodnotu především v oblastech, jako jsou zvýšená flexibilita společnosti, vyšší schopnost inovace, lepší efektivita podniku, snížené operační riziko a v neposlední řadě lepší pochopení IT u obchodních lidí.

Návratnost těchto přidaných hodnot se špatně vyčísluje, protože nejsou měřeny, nebo je nelze měřit, a tudíž ani vyčíslit zlepšení. Navíc první SOA projekty mají tendenci tyto atributy spíše zhoršit – společnost se totiž musí naučit se SOA pracovat. Protože se jedná o úplně nový způsob práce, který vyžaduje změny i v řídicích strukturách, nejsou její výhody zpočátku tolik zřejmé.

Obecně lze říci, že podniky, jež SOA zavedly jako první a které dneska SOA rutinně využívají, si při jejím zavádění návratnost nepočítaly. Pochopily totiž, že nová architektura přináší tolik výhod, že její návratnost nemá smysl vyčíslovat pomocí standardních metod a spíše se pro ni rozhodli na základě manažerské intuice. Přesto existují způsoby, jak nastartovat rychle a efektivně SOA transformační proces.

Kde začít

Jedna z věcí, které lze snadno vyčíslit, jsou náklady na integraci systémů (jak vývoj, tak provoz integračního řešení). Proto je rozumné jako první impuls pro zavedení SOA využít projekty, které vyžadují velké množství integrace.

U těchto projektů lze již při jejich analýze (ještě před vlastním návrhem) spočítat, jaké jsou odhadované náklady na integraci pomocí původních (většinou ad-hoc) mechanizmů a kolik činí náklady na integraci pomocí služeb (vysvětlení „integrace pomocí služeb“ je uvedeno dále).

Ačkoliv integrace je pouze malou částí SOA a ačkoliv se nedá říct, že pouhá inte­grace dvou a více systémů pomocí služeb znamená servisně orientovanou architekturu, tak je to významný odrazový můstek. Další projekty totiž mohou začít používat již připravených rozhraní, a pokud důsledně dodržují nastolený integrační standard, začne se brzo projevovat potenciál pro stavbu skutečné SOA. Jakmile vznikne dostatečný počet služeb, lze (a je potřeba) začít budovat další části SOA skládanky, jako je registr služeb, proces řízení vzniklých služeb, SOA kompetenční centrum a další.

Teprve v této chvíli lze začít přestavovat celou architekturu na komponenty a kompozitní aplikace. Důvodem je vznik vyspělé integrační vrstvy, která je flexibilní a dokáže realizovat nové integrační scénáře s minimem úsilí. Lze tak začít přesouvat funkcionalitu mezi aplika­cemi, konsolidovat ji do komponent a zavádět komponenty s jasně vymezeným účelem. Na rozdíl od původních aplikací tyto nové komponenty samy o sobě nemají smysl, jsou však součástí většího řešení, které poskytuje požadovanou obchodní funkcionalitu.

Zároveň tento postupný a pomalý přechod umožňuje, aby se společnost za běhu učila a transformovala tak, aby byla schopná nový SOA princip použít. S tím jak přibývají služby a některé začínají být sdílené, se podnik pomalu mění. Proměňují se principy myšlení, řízení projektů, organizační struktura v IT a další, protože nový způsob práce to vyžaduje. Firma si tak buduje půdu pro skutečně servisně orientovaný přístup ke komponentní architektuře a ve výsledku i k modulární společnosti.

Příklady vhodných projektů

Projekty, při jejichž realizaci je vhodné uvažovat SOA principy, a začít je naplňovat, jsou například následující:

  • Vytvoření jednotného front-endového systému (například pobočkový sy­stém banky, informační portál), který fungu­je jako jediné rozhraní k velkému množství systémů.
  • Implementace CRM, ERP, DMS a jiných podobných systémů, jež vyžadují propojení s řadou dalších aplikací.
  • Fúze a akvizice a následné slučování a integrace IT systémů obou společností.
  • Implementace BPM (Business Process Management) nástroje a automatizace procesů.
  • Nahrazení klíčového, těsně integrovaného systému.

Integrace pomocí služeb

Při zavádění SOA tedy doporučujeme začít integrací aplikací mechanizmem „integrace pomocí služeb“. Tato integrace se od té klasické ad-hoc liší důrazem na koncepčnost integrace. Hlavní rozdíl, proč se integrace pomocí služeb vyplatí již v prvním projektu, je důraz na maximální univer­zalitu vytvářených rozhraní a na maximální opakovanou použitelnost integračních modulů. Jednotlivé integrované systémy musejí nabízet standardizované, metadaty popsané rozhraní, jehož rozšiřování je rychlé (ideálně pouze konfiguračně orientované). Musí být standardi­zována transportní vrstva, komunikační formát, audit, zabezpečení, ošetření chyb, dohled atd. Pokud mluvíme o standardizaci, není nutné implementovat velkou řadu komerčních či otevřených standardů, stačí si vybrat jeden co nejjednodušší a ten použít (například webservices je pouze jedna, navíc komplikovanější volba). Tento jednoduchý standard může být speciální pro danou organizaci – stačí, aby byl standardem v dané organizaci.

Typicky může v této fázi velmi pomoci použití již hotového produktu typu Enterprise Service Bus (ESB). Je dobré si uvědomit, že zpočátku je potřeba řešit především konektivitu systémů, kdežto koncepty jako mediace, orchestrace, routing a další pokročilé funkce, které typické ESB produkty nabízí, nejsou zkraje nutné, spíše naopak.

bitcoin_skoleni

Pár slov závěrem

SOA je nastartovaný trend, kterému se většina společností nevyhne. Není ale dobré snažit se uměle transformovat IT architekturu na servisně orientovanou, pokud to obchodní strategie společnosti a obchodní projekty nevyžadují. SOA nelze zavést velkým třeskem, je potřeba ji budovat postupně, odzdola a pomalu. Vhodným vstupním bodem tak je začít s integrační platformou vlkých projektů.