;

SOA? Ne. SOA!

30. 3. 2009

Sdílet

Zatímco běžné či starší technologie, jako jsou mainframy, klient/server infrastruktura či webové aplikace, byly typicky navrhovány pro interakci s jedním subjektem, architektura orientovaná na služby vytváří mnohostranné interakce. Vznikají tak vlastně komunity více či méně nezávislých vlastníků služeb, kteří v příslušném kontextu dynamicky spolupracují, nabízejí společně své služby a umožňují celkově dosáhnout lepšího uživatelského či zákaznického komfortu.

    Současný a zejména budoucí úspěch mnoha podniků zaleží stále více na schopnosti účastnit se těchto nových, dynamičtějších, sjednocených komunit. Orientace na „společenství" přináší potřebu nových technologií typu SOA a často i netriviálních změn v jejich řízení a správě.

PŘÍLEŽITOSTI I VÝZVY
Většina uživatelů se zaměřuje především na základní přínosy SOA - bezproblémovou integraci, akceschopnost a opakované využití komponent (služeb). S těmi ale souvisejí i možné problémy:

  •  Pokud kvůli bezproblémové integraci rozbijete aplikační sila a otevřete hranice systémů, vytváříte bezpečnostní rizika. Kdo se dostane dovnitř? Kdo bude mít přistup k jakým informacím?
  •  Podniková akceschopnost vám umožní využít tržní příležitosti. Ale jak budete řídit změny a kdo to bude kontrolovat? Potřebujete kvalitní správu (governance).
  •  Rozhodování o tom, co opakovaně používat (nebo nepoužívat) - a kdy, jak a kým - přináší otázky týkající se vlastnictví, svrchovanosti a řízení.

    Zatímco příležitosti SOA jsou záležitostí technologií, její výzvy a potenciální problémy se týkají lidí (viz obr.). Sociálně (tj. komunitně) orientovaná architektura umožňuje zaměstnancům v podniku lépe spolupracovat a efektivněji využít příležitosti, které architektura orientovaná na služby nabízí.

FAKTORY ÚSPĚCHU SOA
Pokud technologie SOA správně sestavíte a vhodně je řídíte, budou lidé schopni navzájem spolupracovat - totéž platí pro podporu komunitních interakcí a interakcí služeb:

  •  Volné propojení. Nejlepší vztahy využívají na svobodné, snadné interakci. Základ úspěšné architektury orientované na služby je bezproblémová interoperabilita.
  •  Aktivní sjednávání pravidel. Silné a důvěryhodné osobní a pracovní vazby jsou založeny na neformálních, resp. formálních kontraktech s nepsanými zásadami nebo politikami týkajícími se respektování bezpečnosti a svrchovanosti a na určitých způsobech interakce. Pokud se objeví rozdíly ohledně výkladu pravidel, pak ve skutečně dobrém vztahu může kterákoli strana otevřít určitý problém a přímo vyjednat jeho řešení.
  •  Přesná kontrola sémantiky. Ať už spolu svobodně komunikují lidé, nebo systémy, potřebují mít jistotu, že si navzájem jasně rozumějí a chápou se.

    Výsledkem spojení těchto tří podmínek je jak konzistentní a aktivně reagující technická infrastruktura, tak chráněná a řízená komunita.

VŠE POD JEDNOU STŘECHOU
Na webové stránce „Mé portfolio" jedné velké americké banky se už nějaký čas zákazníkům zobrazuje volba „Přidej účty". Kliknutím na volbu se zobrazí seznam více než dvou stovek odkazů na nezávislé společnosti nabí­zející kreditní karty, hypotéky, pojištění, ba i letenky.
    Zákazníci banky, kteří mají účty u těchto společností, si mohou přetáhnout informace z těchto účtů (včetně například nalétaných kilometrů) na stránku základních bankovních informací o svém osobním portfoliu. Vše pod jednou střechou.
    Podobnou funkcionalitu najdou i na webových stránkách společností uvedených v seznamu. Taková federace jinak nezávislých společností nyní zákazníkovi umožní bezproblémově integrovat všechny informace o jeho účtech a zobrazovat je v mnoha různých kontextech - společnosti zjednodušují a obohacují využívání služeb zákazníkem a díky tomu se výrazněji odlišují od konkurence.

BATERIE PŘIBALENY
Jak často se vám stává, že koupíte dětem hračku nebo nějaký přístroj, začnete jej zprovozňovat - a zjistíte, že abyste mohli práci dokončit, musíte jít napřed  dokoupit baterie?
    Zaměstnanci pracující s ERP systémem, aplikací pro vyřizování půjček apod. musejí obvykle podobným způsobem přerušit svou práce pokaždé, když potřebují například informaci o podnikatelském úvěru, aby mohli dokončit svůj úkol musejí svou aplikaci opustit, jít na web poskytovatele informací o úvěrech a zjištěnou informaci znovu zadat do vlastní aplikace.
    Vedoucí americká společnost poskytující informace o úvěrech si záhy uvědomila, že může nabízet správné informace na správném místě - a získá další příležitost k růstu svého byznysu. Proto vytvořila sadu rozhraní pro své webové služby a dodavatelům aplikací, kteří vyžadují informace o podnikatelských úvěrech, prodává licence na tato rozhraní.
     Dodavatelé tak mohou rozhraní vestavět do svých aplikací, čímž svým zákazníkům umožní získat informace kdykoli a kdekoli je potřebují - v rámci aplikace, v níž právě pracují.

HODNÝ DŽIN Z LÁHVE
On-line agregátoři služeb leteckých společností obvykle nabízejí letenky prakticky všech aerolinek včetně rezervace služeb mnoha hotelů, pronajímatelů aut apod. Ale jeden z předních agregátorů rozšiřuje své podnikání i tím, že spolu s přidruženými weby buduje na svých stránkách novou „SOA" komunitu. Například participující golfový web může obsahovat odkazy na dovolenou v golfovém středisku na Bermudách, jazzový web odkazuje na zájezdy na festival v Newportu a na webu o vínech lze nalézt linky na výlety do vinohradů v údolích Sonoma a Napa.
    Pro návštěvníky těchto webů je SOA komunita oním hodným džinem z láhve, který umožní splnit mnohá jejich přání. Odkazy na participujících webech povedou na stránky zmíněného agregátora, odkud si mohou rezervovat všechny potřebné služby prostřednictvím dalších odkazů na weby aerolinií, hotelů, půjčoven aut apod.

JUST-IN-TIME
SOA může být tvořena i vnitřními vlastníky služeb: pobočkami podniku, divizemi poboček, odděleními divizí, dokonce kancelářemi distribuovaných oddělení apod.
     Jeden významný výrobce letadel s revolučním designem využil ideu SOA komunity na nové inovativní úrovni a zásadně přepracoval své výrobní postupy.
    Společnost vytvořila dodavatelský řetězec SOA, jehož součástí jsou kromě externích partnerů i všechny interní pracovní útvary fungující jako nezávislí, federovaní vlastníci služeb. Cílem je schopnost insourcovat nebo outsourcovat jakoukoli úroveň služeb během pracovního procesu. Společnost posunula výrobu just-in-time na lepší úroveň, která umožňuje dostatečné přizpůsobení měnícím se okolnostem a v jednotlivých útvarech eliminuje určité úrovně byrokracie.

CÍLEM JE BOHATŠÍ ZKUŠENOST ZÁKAZNÍKA
Co mají tyto příklady společné? Koncovým uživatelům přinášejí méně problematické a bohatší možnosti v souladu s kontextem, v němž se právě nacházejí. Jinými slovy, v architektuře SOA jde o vztahy, nikoli o technologii.
    Koncoví uživatelé si nelámou hlavu s mechanismem poskytování služeb, ale zajímají se o to, co se děje on-line. Jakmile získali se SOA zkušenosti, očekávají (a věří), že příslušné on-line služby budou spolehlivě k dispozici a průběžně se budou přizpůsobovat jejich požadavkům tak, aby jim poskytovaly širší možnosti a bohatší prožitek při jejich užívání. Výsledkem je, že potřebujeme změnit způsob, jakým se IT vyvíjí a spravuje.

KONTINUÁLNÍ SLUŽBA
Úspěch SOA se dostaví v okamžiku, kdy IT oddělení dokáží nabízet přizpůsobitelné a stále se rozšiřující možnosti a funkce uživatelům tak, aby uspokojili jejich očekávání. To znamená, že IT oddělení by měla přestat přemýšlet o vydávání nových softwarových verzí podle termínů v kalendáři, ale začít poskytovat dynamický kontextuální uživatelský prožitek jako soustavnou službu.
    Společnosti neustále potřebují získávat nové zákazníky. Představte si špičkového dodavatele nástrojů pro automatizaci prodeje, který je jedním z pionýrů obchodního modelu „software jako služba" - SaaS (Software as a Service). Společnost přestává periodicky vydávat jednotlivé softwarové verze, ale přizpůsobuje své služby specifickým potřebám uživatelů v daném okamžiku - a software vylepšuje průběžně.

HODNOTOTVORNÝ ŘETĚZEC
Co dalšího mají všechny výše uvedené příklady společného? SOA komunity vytvářejí hodnototvorný řetězec na různé úrovni, přičemž každý člen nebo služba inkrementálně přidávají další hodnotu a rozšiřují nebo obohacují možnosti a komfort koncového uživatele.
    V prvním příkladě se vytváří SOA komunita společností poskytujících finanční služby, v níž přidává hodnotu každý účet, který přibude na stránku s informacemi o osobním portfoliu. Uvedené příklady tvoří kompletní vertikální hodnototvorný řetězec: Například aerolinky odkazují na cestovního agregátora, který se naopak stává komponentou dalších přidružených webů. Výsledkem takového hodnototvorného řetězce jsou narůstající a rozšiřující se možnosti, které se mohou postupem času navíc měnit spolu s proměnou celkového kontextu.

FEDEROVANÉ INTERAKCE
Na tzv. federované interakce (z angl. „federated interactions" - tj. interakce, jejichž správa je rovnovážně rozdělena mezi lokální a centrální řízení, viz dále) lze pohlížet ze dvou úhlů: podle technického charakteru architektury orientované na služby a podle komunitního charakteru sociálně orientované architektury. Oba pohledy přitom spolu souvisejí - technické charakteristiky umožňují a podporují rozvoj komunitní dimenze sociální struktury SOA a naopak - členové sdružení vyžadují, aby specifické technologie a řídicí postupy společně a úspěšně fungovaly (viz obr.).
    Z technického hlediska sestává architektura orientovaná na služby z heterogenních systémů s nezávislými bezpečnostními doménami - jako sociální struktura totiž SOA zahrnuje různé členy ovládající jejich vlastní domény, což zahrnuje i samotný výběr platformy a zabezpečení.
    Integrace heterogenních systémů vyžaduje standardizované, volně provázané transportní vazby, které fungují během provozu. Pokud by se integrační prvky pevně „zadrátovaly" už v návrhu, každá změna by vyžadovala změnu návrhu a nový zdrojový kód. Volně provázané transportní vazby podporují otevřenost sociálně orientované architektury umožňující předvídat vznik neočekávaných vztahů a vazeb.
    Avšak, jak tyto nezávislé domény přinutíte spolupracovat jako virtuální tým a sdílet společný slovník - aby bylo možné optimalizovat výkonnost v provozním prostředí a zároveň prosazovat bezpečnost v celém rámci SOA? Právě to je totiž neopominutelná podmínka toho, aby členové SOA mohli účinně a efektivně fungovat.
    SOA prochází napříč celou organizací, takže centralizované příkazy a řízení shora dolů nebudou fungovat. Jednotlivé domény budou řídit svou část procesu (nebo budou vyžadovat, aby jim byla tato kontrola přidělena - jako v případě pracovních buněk u výrobce letadel). Proto sociálně orientovaná architektura potřebuje konsenzuální formu řízení - založenou na kontraktech a opírající se o bezpečnostní politiky a dohody SLA. Dohled nad plněním odsouhlasených kontraktů a jejich prosazování pak pomohou vybudovat důvěryhodné vztahy.
    Jinými slovy: Ve federaci založené na SOA (oproti tradičnímu hierarchickému řízení IT) si domény udržují vliv na klíčové funkce, ale určitou část kontroly předávají centralizovanému orgánu. Ten řídí funkce, které probíhají napříč hranicemi uvnitř SOA a propojují je. Jde například o integraci služeb, zajištění výkonnosti pracovních procesů, bezpečnost a přesnou výměnu dat. Tato rovnováha mezi centrálním a lokálním řízením se může měnit podle potřeb SOA. Pro zajištění svrchovanosti domén a akceschopnosti SOA na jedné straně a spolehlivé spolupráce na straně druhé však musí vždy existovat nějaká dělba pravomocí.

VÝSLEDNÝ POŽADAVEK NA ŘÍZENÍ
Pro praktické nasazení SOA má samotný koncept federace i povaha všech interakcí zřetelné důsledky. Zaprvé SOA vyžaduje změnu řízení:

  •  Přestaňte uvažovat o řízení SOA v kontextu konvenčních hierarchických organizačních modelů.
  •  Začněte smazávat tradiční linie moci a vedení a orientujte se na spolupráci, budování důvěry a závazky plynoucí ze smluv SLA.

    Spolupráce založená na smlouvách SLA umožňuje využití stejných mechanismů pro insourcing i outsourcing služeb. Výsledkem je optimální akceschopnost a produktivita (jak ukazuje příklad s výrobcem letadel). Tento přístup funguje rekurzivně na úrovních pracovní buňky, oddělení, divize a společnosti - i na ještě vyšší úrovni, kde umožňuje sloučení, akvizice i rozdělení společností a realizaci partnerských vztahů a aliancí.
    Zadruhé federace vyžaduje i klíčové „umožňující" technologie: Takové, které překračují hranice heterogenních systémů a podporují spolupráci a řízení SOA. Jak bylo řečeno výše, tato infrastruktura SOA musí:

  •  Volně propojovat interakce. Nasaďte platformu pro distribuci zpráv a událostí, která je navržena tak, aby překračovala hranice platforem, sítí a organizací.
  •  Aktivně zprostředkovat politiky. Požadujte technologii, která poskytuje přehled o pracovní výkonnosti, prosazuje soulad s bezpečnostní politikou a smlouvami SLA pokrývajícími SOA procesy a upozorňuje na rozpory s touto politikou a smlouvami.
  •  Přesně kontrolovat sémantiku. Pro řešení sémantických nekonzistencí hledejte technologii, která vám prostřednictvím vizuálních nástrojů dovolí vytvářet a řídit komplexní, sdružený, společný datový model - a umožní, aby tato sémantika fungovala v distribuovaném provozním prostředí.

    Toto jsou základní předpoklady pro sdružování a spolupráci, které mohou splnit pouze takové softwarové produkty, které jsou od základu určeny pro integraci a propojení různých výpočetních prostředků.

SOA DNES A ZÍTRA
Tyto kritické technologie a požadavky na řízení budou hrát stále významnější roli. V budoucnu bude úspěch podniku záviset na schopnosti začlenit jeho činnosti elektronicky do hodnototvorného řetězce (což mu umožní být součástí SOA). Tak se může podílet na nové, dynamičtější a bohatší zkušenosti federované komunity založené na sociálně orientované architektuře.
    Příklady raného využívání architektur SOA ukazují, že výsledkem jejich dalšího rozvoje jsou nové, jedinečné příležitosti a zisky. SOA zapouští kořeny právě nyní - a postupuje rychle. Průzkumy ukazují, že během následujících dvou let dojde ke zdvojnásobení počtu aplikací založených na SOA. Součástí tohoto posunu bude začlenění i jiných existujících architektur do SOA. Více než 40?% našich aplikačních partnerů využívajících obchodního modelu SaaS například tvrdí, že tato řešení budou tvořit do roku 2010 více než polovinu jejich byznysu.
    V tuto chvíli jsou k dispozici tři kriticky důležité technologie - konektivita, prosazování politik a sémantika, které fungují v rámci SOA jako funkce a/nebo služby. V budoucnosti budeme svědky zrodu infrastruktury typu „integrace jako služba" vestavěné do hardwaru nebo nabízené jako spravované služby. Schopnosti, jako je například analýza, budou nabízené jako služba v reálném čase.
    Významná telekomunikační společnost už dnes vyrábí zařízení s vestavěnými funkcemi pro integraci založenou na SOA. Toto zařízení umístěné ve vašem sklepě vás propojí se službami poskytovanými v rámci sítě této společnosti.

ZAČNĚTE SE ZMĚNAMI
Nejlepší cestou jak začít je praktický přístup. Začněte s projektem změn podnikových činností, nejlépe v inovativní části vašeho podnikání. Tak se můžete jednak něco naučit o SOA a jednak můžete i vyzrát. Aplikovat tyto změny na velké, základní podnikové systémy, které udržují kontinuitu a stabilitu podnikání, je v začátcích realizace SOA méně vhodné.
    Inovativní oblasti jsou také vhodnější pro aplikaci změn řízení IT, které jsou potřebné pro úspěšný vstup do SOA komunity. K nim patří nepřetržité zdokonalování služeb místo softwarových verzí vydávané k určitému termínu a spolupráce s federovanou komunitou místo hierarchického modelu řízení shora dolů. Pro úspěšnou technickou federaci jsou kritickými faktory úspěchu konektivita, možnost prosazování politik a sémantická integrace. Zvolte si nejlepší SOA řešení ve své kategorii navržené tak, aby bylo maximálně přizpůsobitelné - nikoli platformu nebo uzavřené produkty, které vás uzavřou ve svém prostředí.
    S takto vybudovanými základy se můžete stát součástí dynamičtějšího prostředí sociálně orientované architektury postaveného na interakcích - a využívat jeho rostoucí příležitosti a výhody.

Autor je CTO divize podnikové infrastruktury ve společnosti Progress Software.

Našli jste v článku chybu?