Programování

Sonic ESB: Programovatelná integrace

Tlak na integraci různorodých systémů v celém podniku se neustále zvyšuje, ale navazování spojení mezi systémy, dokonce i těmi, které jsou navrženy pro integraci, zůstává skličujícím úkolem.

Podniky tradičně propojovaly systémy pomocí propojení point-to-point a vlastního kódu. V poslední době se jako další řešení objevili integrační makléři - proprietární software pro vytváření spojení mezi více systémy. Spojení typu point-to-point je však nákladné udržovat a integrační makléři se draho kupují.

Sonic ESB je jednou z nových sad produktů účtovaných jako podnikové servisní autobusy (ESB), odlehčené integrační makléře založené na standardech, jako jsou XML a SOAP, navržené pro práci v distribuovaném prostředí.

Pro podniky, které chtějí zaujmout přírůstkový přístup k integraci podnikových aplikací, budou ESB velmi užitečné. Pomocí modelu sběrnice lze nejprve integrovat několik aplikací s největší návratností; další aplikace lze složit později, jakmile budou k dispozici peníze a zdroje. Vzhledem k tomu, že vstupní bariéry jsou nízké, mohou tyto integrační projekty začít v malém, být pečlivě řízeny a růst, aby vyhovovaly budoucím potřebám.

Sonic ESB 5.0 se snaží nabídnout tyto výhody kombinováním zasílání zpráv, směrování, webových služeb a transformace zpráv za účelem integrace a orchestrace akcí více koncových bodů internetových aplikací.

Architektura ESB společnosti Eyeing Sonic

Typický integrační broker má architekturu rozbočovače a paprsků. Sonic ESB je naproti tomu postaven na vrcholu středního produktu Sonic Software zaměřeného na zprávy, SonicMQ, poskytovatele JMS (Java Message Service) pro aplikační servery J2EE. SonicMQ poskytuje společnosti Sonic ESB konfiguraci a správu běhu, zprostředkovatele zpráv a spravované kontejnery. Interakce mezi SonicMQ a ESB jsou tak jemné a úplné, že není divu, že je Sonic Software označuje jako sadu.

Protože Sonic ESB je postaven na infrastruktuře zasílání zpráv, jeho architektura sběrnice může být distribuována přes podnikovou LAN nebo globální internet. Uzly zasílání zpráv lze kvůli spolehlivosti nainstalovat do klastrů na více počítačích a tyto klastry se mohou sdružovat s klastry v jiných umístěních a poskytovat body vzdálené integrace.

Správce domény je navíc integrován do systému a slouží jako adresář služeb nasazených v síti.

Kontejnery spravují koncové body, které pak spravují životní cyklus služeb poskytujících směrování, orchestraci toku procesů, transformaci dat a zabezpečení. Tyto kontejnery také přizpůsobují koncové body starším systémům. Například je k dispozici adaptér J2EE pro připojení systémů založených na J2EE ke sběrnici. Kontejnery služeb jsou obvykle hostovány odděleně od serverů zasílání zpráv, přičemž každý je umístěn společně se starším systémem, kterému slouží.

Zprávy se směrují pomocí připojeného itineráře vytvořeného pomocí konzoly pro správu. Směrování na základě obsahu se provádí uvnitř služeb koncového bodu pomocí XPath k prohlížení připojených dokumentů XML a podmíněně směrování na základě obsahu dokumentu. Transformační služba používá XSLT (eXtensible Style Language Transformation). Produkt Stylus společnosti Sonic Software graficky vytváří dokumenty XSLT, které se transformují z jednoho schématu XML do druhého, ale bude fungovat i jakýkoli jiný nástroj XSLT.

Hledám Integration Architect

Když jsem byl ve druhé třídě, dítě v mé třídě přineslo elektronickou hračku, která vám umožní postavit rádio a další jednoduchá elektronická zařízení podle dodaných schémat a kliknutím na bloky dohromady. Když jsem si prohlížel Sonic ESB, nemohl jsem si pomoct, ale myslel jsem na programy snap-together, když jsem manipuloval s jeho konfigurací prostřednictvím konzoly pro správu založené na GUI.

I když hodně z toho, co děláte při nastavování Sonic ESB, je pouze manipulace s konfiguračními soubory, konečným výsledkem je proces, který manipuluje s daty. Toto není jen konfigurace založená na zásadách - jde o programování.

Programování Sonic ESB se nedělá pomocí jednotné notace, ale zahrnuje psaní úryvků Java a JavaScript spolu s XSLT, schématy XML a soubory WSDL. Několik různých grafických nástrojů uspořádá všechny tyto nástroje do celkové konfigurace, která vytváří správné směrování a službu pro požadovaný výsledek.

Společnost Sonic Software dodává komplexní příklad dodavatelského řetězce v příručce Začínáme. Práce na tomto příkladu vás seznámí s hlavními režimy interakce ESB a seznámí vás s koncepty a nástroji pro správu potřebnými pro konfiguraci a používání sběrnice.

Když jsem procházel procesem konfigurace, zarazilo mě, jak obtížné je sledovat všechny různé části, co udělali a jak do sebe zapadají. Konzoly pro správu Sonic ESB jsou stejně dobré, jak jsem viděl. Nejsou to ale programovací prostředí - nabízejí pouze základní podporu abstrakce. Tok procesu například umožňuje pojmenování a vkládání, ale stejně důležité jako podmíněný tok jsou skryty v souborech JavaScriptu a XSLT.

Více formátů - Java, JavaScript, XSL, schéma XML atd. - které popisují proces a data jsou další zátěží. Přestože je používání Sonic ESB programovacím aktem, jedná se spíše o produkt postavený na shluku technologií než o dobře navrženou notaci.

To nemusí být nutně chyba společnosti Sonic Software. Pracují s nástroji, které od nich vyžadují technologie a standardy, které zákazníci požadují. Pochybuji, že by Sonic Software byl schopen řídit přijetí nějaké jednotnější notace.

Protože jednotná notace není k dispozici, existuje několik vizuálních podnětů pro pochopení toku zpráv, chybových podmínek a transformací dat. Bez obrázků a popisu obsažených v příručce Začínáme by pochopení toku zpráv v uvedeném příkladu dodavatelského řetězce bylo obtížné. Uvědomil jsem si, že se obrátil naruby, průvodce Začínáme byla vlastně architektura systému; obrázky a popisy v příručce jsou pravděpodobně stejné, jaké použili vývojáři příkladu při jeho vytváření.

Úspěšné použití produktů, jako je Sonic ESB, bude vyžadovat stejný druh pečlivého plánování ze strany vývojářů jednajících jako „integrační architekti“. Nástroje, techniky a metodologie modelování dostupné integračním architektům jsou stále primitivní, ale Sonic ESB poskytuje komplexní sadu nástrojů nezbytných pro implementaci integrace, jakmile je naplánována.

Flexibilita za cenu

Sonic ESB v kombinaci s SonicMQ poskytuje standardizovanou metodu integrace starších i nových aplikací z celého podniku způsobem, který je spolehlivý a nákladově efektivní. Integrace sady systémů se Sonic ESB by měla stát méně než použití proprietárních zprostředkovatelů integrace.

Při kontrole SonicXQ, předchůdce Sonic ESB, jsme dospěli k závěru, že „SonicXQ poskytuje vývojářům spolehlivou sadu bezpečných a spolehlivých služeb BPM (business process management)“ (viz „Udržování BPM na správné cestě“, 30. září, strana 26).

To se nezměnilo. Ale zatímco nástroje pro správu jsou nyní mnohem vylepšené, Sonic ESB 5.0 často vyžaduje složitou konfiguraci. Jeho výkon vyžaduje značné dovednosti v technologiích jako J2EE, middleware zaměřený na zasílání zpráv, XML, XSLT, XPath, JavaScript a Java.

To je cena flexibility. Některé nástroje mají za cíl snadné použití a dokonce se mohou pochlubit tím, že je podnikatelé mohou použít ke správě obchodních procesů. Ale žádný z nich nenabízí flexibilitu nezbytnou pro úplnou integraci systému. SonicESB tuto flexibilitu nabízí, ale pouze pokud máte vývojáře a integrační architekty, kteří ji mohou využít.

Scorecard Ovladatelnost (15.0%) Snadnost použití (10.0%) Podpěra, podpora (10.0%) Škálovatelnost (25.0%) Interoperabilita (25.0%) Spolehlivost (15.0%) Celkové skóre (100%)
Sonic ESB 5.05.06.07.09.09.09.0 7.9