Enterprise service bus - Enterprise service bus

An podnikový servisní autobus (ESB) implementuje komunikační systém mezi vzájemně interagujícími softwarovými aplikacemi v a architektura orientovaná na služby (SOA). Představuje a softwarová architektura pro distribuované výpočty a je speciální variantou obecnějších klient-server model, kde se jakákoli aplikace může chovat jako server nebo klient. ESB podporuje agilitu a flexibilitu, pokud jde o komunikaci na vysoké úrovni mezi aplikacemi. Jeho primární použití je v integrace podnikových aplikací (EAI) heterogenních a komplexních služebních oblastí.
Architektura
Koncept podnikové servisní sběrnice je analogický s autobus koncept nalezen v architektura hardwaru počítače v kombinaci s modulárním a souběžným designem vysoce výkonných počítačových operačních systémů. Motivací pro vývoj architektury bylo najít standardní, strukturovaný a obecný koncept popisu implementace volně vázaných softwarových komponent (tzv. služby ), u nichž se očekává, že budou v síti nezávisle nasazeny, spuštěny, heterogenní a nesourodé. ESB je také běžným vzorem implementace pro architektura orientovaná na služby, včetně vnitřně přijatého síťového designu Celosvětová Síť.
Pro koncepty nebo implementace podnikové sběrnice služeb neexistují žádné globální standardy.[1] Většina poskytovatelů middleware orientovaný na zprávy přijali koncept podnikové sběrnice služeb jako de facto standard pro architekturu orientovanou na služby. Implementace použití ESB událost-řízený a na zprávách založený middleware na bázi standardů v kombinaci s fronty zpráv jako technologické rámce.[2] Někteří výrobci softwaru však označují stávající middleware a komunikační řešení za ESB, aniž by přijali zásadní aspekt konceptu sběrnice.
Funkce
ESB uplatňuje koncepci moderního designu operační systémy nezávislým službám běžícím v sítích různorodých a nezávislých počítačů. Stejně jako souběžné operační systémy poskytuje ESB kromě přijetí, překladu a směrování požadavků klientů také komoditní služby k odpovídajícím odpovídacím službám.
Hlavní povinnosti ESB jsou:
- Směřujte zprávy mezi službami
- Monitorujte a kontrolujte směrování výměny zpráv mezi službami
- Vyřešte spor mezi komunikujícími komponentami služby
- Řiďte nasazení a správu verzí služeb
- Marshal využití nadbytečných služeb
- Poskytovat komoditní služby, jako je zpracování událostí, transformace a mapování dat, řazení a řazení zpráv a událostí, zabezpečení nebo zpracování výjimek, převod protokolu a vynucování správné kvality komunikační služby.
Dějiny
První publikované použití pojmu „podnikový autobus“ je připisováno Royi W. Schulteovi ze skupiny Gartner Group 2002 a knize Enterprise Service Bus David Chappell. I když si za vytvoření této fráze připisuje uznání řada společností, Schulte v rozhovoru uvedl, že poprvé tuto frázi uslyšel od společnosti jménem Sonic, a dále řekl: „Nejpřímějším předkem ESB byl romský produkt společnosti Candle od roku 1998 “, ale produkt společnosti Sonic z roku 2002 byl prvním ESB na trhu.[3]
- Služba - označuje ne iterativní a samostatně prováděné programy, které komunikují s jinými službami prostřednictvím výměny zpráv
- Sběrnice - používá se obdobně jako hardware počítače autobus
- Enterprise - koncept byl původně vyvinut za účelem snížení složitosti integrace podnikových aplikací v rámci podniku; omezení se stalo zastaralým, protože moderní internetová komunikace již není omezena na právnickou osobu
ESB jako software
ESB je implementován v softwaru, který funguje mezi obchodními aplikacemi a umožňuje komunikaci mezi nimi. V ideálním případě by ESB měla být schopna nahradit veškerý přímý kontakt s aplikacemi na sběrnici, aby veškerá komunikace probíhala přes ESB. K dosažení tohoto cíle musí ESB zapouzdřit funkčnost nabízenou jeho komponentními aplikacemi smysluplným způsobem. K tomu obvykle dochází při použití model podnikových zpráv. Model zpráv definuje standardní sadu zpráv, které ESB vysílá a přijímá. Když ESB obdrží zprávu, směruje ji do příslušné aplikace. Protože se tato aplikace vyvinula bez stejného modelu zprávy, musí ESB zprávu transformovat do formátu, který aplikace dokáže interpretovat. Softwarový adaptér plní úkol uskutečňovat tyto transformace, analogicky k fyzickému adaptér.[4]
ESB se spoléhají na přesnou konstrukci modelu podnikových zpráv a správné navrhování funkcí nabízených aplikacemi. Pokud model zprávy není úplně zapouzdřit funkčnost aplikace, pak další aplikace, které si tuto funkci přejí, budou muset obejít sběrnici a vyvolat neshodné aplikace přímo. Tímto způsobem porušujete zásady modelu ESB a vylučujete mnoho výhod používání této architektury.
Krása ESB spočívá v jeho platformně-agnostické povaze a schopnosti integrovat se s čímkoli za jakýchkoli podmínek. Je to důležité Správa životního cyklu aplikace prodejci skutečně využívají všechny možnosti ESB ve svých integračních produktech a zároveň si je osvojují SOA. Proto výzvy a příležitosti pro EAI prodejci mají poskytnout integrační řešení, které je levné, snadno konfigurovatelné, intuitivní, uživatelsky přívětivé a otevřené všem nástrojům, které si zákazníci vyberou.

Vlastnosti
Kategorie | Funkce |
---|---|
Vyvolání | podpora synchronních a asynchronních transportních protokolů, mapování služeb (lokalizace a vazba) |
Směrování | adresovatelnost, statické / deterministické směrování, směrování podle obsahu, směrování podle pravidel, směrování podle zásad |
Zprostředkování | adaptéry, transformace protokolu, mapování služeb |
Zprávy | zpracování zpráv, transformace zpráv a vylepšení zpráv |
Procesní choreografie ¹ | implementace komplexních podnikových procesů |
Orchestrace služby ² | koordinace více implementačních služeb vystavených jako jediná agregovaná služba |
Složité zpracování událostí | interpretace událostí, korelace, porovnávání vzorů |
jiný kvalita služeb | zabezpečení (šifrování a podepisování), spolehlivé doručení, správa transakcí |
Řízení | monitorování, audit, protokolování, měření, administrátorská konzole, BAM (BAM není schopnost správy, jinými slovy, ESB nereaguje na konkrétní prahovou hodnotu. Jedná se o schopnost obchodních služeb, která se objevila u koncových uživatelů.) |
Agnosticismus | obecný agnosticismus vůči operačním systémům a programovacím jazykům; například by měl umožňovat interoperabilitu mezi Jáva a .SÍŤ aplikace |
Konverze protokolu | komplexní podpora standardů služeb aktuálních komunikačních protokolů |
Vzory pro výměnu zpráv | podpora různých poslanců (Vzory pro výměnu zpráv ) (například: synchronní požadavek / odpověď, asynchronní požadavek / odpověď, odeslání a zapomenutí, publikování / přihlášení k odběru) |
Adaptéry | adaptéry pro podporu integrace se staršími systémy, případně na základě standardů, jako je JCA |
Bezpečnostní | standardizovaný model zabezpečení pro autorizaci, autentizaci a audit používání ESB |
Proměna | usnadnění transformace datových formátů a hodnot, včetně transformačních služeb (často prostřednictvím XSLT nebo XQuery ) mezi formáty odesílající aplikace a přijímající aplikace |
Validace | ověření proti schématům pro odesílání a přijímání zpráv |
Správa věcí veřejných | možnost jednotného uplatňování obchodních pravidel |
Obohacení | obohacující zprávy z jiných zdrojů |
Rozdělit a sloučit | rozdělení a kombinování více zpráv a zpracování výjimek |
Abstrakce | zajištění jednotné abstrakce napříč více vrstvami |
Směrování a transformace | podmíněné směrování nebo transformace zpráv na základě ne centralizované politiky (bez nutnosti centrálního nástroje pro pravidla) |
Komoditní služby | zajišťování běžně používaných funkcí jako sdílených služeb v závislosti na kontextu |
¹ Někteří nepovažují procesní choreografii za funkci ESB. Například viz M.Richards.[5]
² Zatímco procesní choreografie podporuje implementaci komplexních obchodních procesů, které vyžadují koordinaci více podnikání služby (obvykle využívající BPEL ), orchestrace služby umožňuje koordinaci několika implementačních služeb (nejvhodněji vystavených jako agregovaná služba), které slouží jednotlivým požadavkům.
Tato řešení se často zaměřují na nízkoúrovňové funkce ESB, jako je připojení, směrování a transformace, a pro implementaci orchestrace vyžadují kódování nebo skriptování.[6] Vývojáři pracující na projektové nebo taktické úrovni, např. Jen se snažící vyřešit problém, často tíhnou k lehkým technologiím sběrnice služeb, ale mezi těmito iniciativami a podnikovou architekturou, jejímž cílem je optimalizovat infrastrukturu napříč více projekty, často existuje napětí.[7]
Pokud zprostředkovatel zpráv, software ESB, přeloží zprávu z jednoho formátu do jiného, pak jako u každého překladu dojde k problému sémantiky zprávy. Například záznam lze přeložit z JSON do XML, ale stejnou sadu polí lze interpretovat odlišně různými aplikacemi, konkrétně v případě různých rohových případů, které jsou obvykle známé pouze vývojářům, kteří mají s aplikací rozsáhlé zkušenosti který je připojen k ESB. U známých rohových případů se počet testů, které pokrývají všechny rohové případy, exponenciálně zvyšuje s každou aplikací, která je připojena k ESB, protože každá aplikace připojená k ESB musí být testována proti každé jiné aplikaci, která je připojena k ESB.
Klíčové benefity
- Stupnice od bodových řešení po celopodnikové nasazení (distribuovaná sběrnice)
- Více konfigurace než integrační kódování
- Žádný centrální systém pravidel, žádný centrální makléř
- Snadné zasunutí a zasunutí a volný spojovací systém
Klíčové nevýhody
- Pomalejší rychlost komunikace, zejména u těch již kompatibilních služeb
- Jediný bod selhání, může snížit veškerou komunikaci v Enterprise
- Vysoká složitost konfigurace a údržby
produkty
Pozoruhodné produkty zahrnují:
- Komerční
- IBM App Connect, dříve IBM Integration Bus a IBM WebSphere ESB
- InterSystems Soubor
- Information_Builders Správce služeb iWay
- Microsoft Azure Service Bus
- Microsoft BizTalk Server
- Mezek ESB
- Oracle Enterprise Service Bus
- Software Progress Sonic ESB (získaný Trilogie )
- Integrace procesů SAP
- Software TIBCO ActiveMatrix BusinessWorks
- webové metody podniková sběrnice služeb (získaná Software AG )
- Sonic ESB od Aurea
Viz také
- Vzory podnikové integrace
- Zprávy založené na událostech
- Java obchodní integrace
- Řízení podnikových procesů
- Univerzální integrační platforma
- Integrace podnikových aplikací
- Poskytovatel obchodních služeb
- Middleware orientovaný na zprávy
- Složité zpracování událostí
- Zpracování proudu událostí
- Programování řízené událostmi
- Porovnání softwaru pro obchodní integraci
- Srovnání motorů BPEL
- Porovnání motorů BPMN 2.0
- Složená aplikace
- Událostní SOA
- Integrační platforma jako služba (iPaaS)
Reference
- ^ Lapeira, Raul. „ESB je architektonický styl, softwarový produkt nebo skupina softwarových produktů?“. Artefaktové poradenství. Archivovány od originál dne 8. 8. 2014. Citováno 2010-04-16.
První věc, kterou by architekt ESB měl mít na paměti, je, že od roku 2010 neexistuje žádný globální standard pro ESB.
- ^ Curry, Edwarde. 2004. „Middleware zaměřený na zprávy“[trvalý mrtvý odkaz ]. v Middleware pro komunikaci, vyd. Qusay H. Mahmoud, 1-28. Chichester, Anglie: John Wiley and Sons. doi:10.1002 / 0470862084.ch1. ISBN 978-0-470-86206-3
- ^ „Rozdíl mezi zprostředkovatelem zpráv a ESB“. Citováno 2017-07-19.
- ^ http://shop.oreilly.com/product/9780596006754.do
- ^ Richards, Marku. „Role Enterprise Service Bus (prezentace)“. Citováno 2009-06-04.
Nepovažuji procesní choreografii za součást ESB, pokud považujeme ESB za middleware pro vysokorychlostní zasílání zpráv. Procesní choreografii však považuji za součást platformy ESB *. Naštěstí většina prodejců ESB odděluje tyto hlavní komponenty do různých produktů, ale balí je do konsolidované nabídky ESB. V nejpřísnějším slova smyslu tedy ne, nepovažoval bych to za součást ESB. Jedná se o související schopnost.
- ^ Feraga, Matthias (6. června 2011). „Jak: výběr mezi lehkými a tradičními ESB“. Octo. Citováno 23. dubna 2014.
- ^ Fulton, Larry (12. září 2007). „Naučte se, jak přijmout lehké ESB“. Fo2014.
Další čtení
- David Chappell, „Enterprise Service Bus“ (O’Reilly: červen 2004, ISBN 0-596-00675-6)
- Binildas A. Christudas, „Service-Oriented Java Business Integration“ (Packt Publishers: únor 2008, ISBN 1-84719-440-0; ISBN 978-1-84719-440-4)
- Michael Bell, „Service-Oriented Modeling: Service Analysis, Design, and Architecture“ (2008 Wiley & Sons, ISBN 978-0-470-14111-3)
externí odkazy
- „Trvalý koncept nebo nejnovější módní slovo?“ (Nicolas Farges, 2003)
- Podnikové servisní autobusy vyrazily na cestu: Infoworld Test Center (22. července 2005)
- JSR-208: Java Business Integration (Srpen 2005)
- Role Enterprise Service Bus (InfoQ - videoprezentace) (23. října 2006)
- Rounding ESB Část první: Definování ESB (InfoQ) (13. července 2006)
- ESB Roundup Část druhá: Pouzdra použití (InfoQ) (5. července 2006)
- „Services Fabric - Fine Fabrics for New Era Systems“ (Binildas A. Christudas, 2007)
- „ESB v roce 2007: Nasazení sběrnice Open Source Bus na SOA“ (Dennis Byron, 20. září 2007)
- Agregované služby v ServiceMix JBI ESB: PACKT Publishers (Binildas A. Christudas, 30. listopadu 2007)
- Alternativy topologie ESB (InfoQ, A. Louis, 23. května 2008)
- Přehodnocení ESB: Vytvoření jednoduché, bezpečné a škálovatelné servisní sběrnice pomocí brány SOA (Computerworld, J. Ryan, 2011)
- Louis, Adrien; Marc Dutoo (02.07.2010). „Volba mezi směrováním a orchestrací v ESB“. InfoQ. Citováno 2009-07-02.
- Enterprise Service Bus, znovu přezkoumáno (Vývojář IBM, Greg Flurry a Kim Clark, květen 2011)