Enterprise Service Bus (ESB)

Podobné dokumenty
SOAP & REST služby. Rozdíly, architektury, použití

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

Využití JBoss Fuse ve skandinávské energetice

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

X33EJA Web Services. Martin Ptáček, KOMIX s.r.o.

Úvod do Web Services

Integrací aplikací proti blackoutům

Servisně orientovaná architektura a její aplikace v systémech sledování a řízení výroby

Správa a sledování SOA systémů v Oracle SOA Suite

Řešení integrace Profinit ESB. Michal Bureš

Požadavky pro výběrová řízení TerraBus ESB/G2x

Podniková sběrnice služeb

Vnořený Ensemble nové integrované aplikace. Martin Zubek, Account manager

Centrální přístupový bod k informačním zdrojům resortu Ministerstva zemědělství Portál MZe a Portál eagri

Zabezpečení platformy SOA. Michal Opatřil Corinex Group

Service Component Architecture a komponenty Oracle SOA Suite

Nasazení webových služeb do enterprise prostředí. Petr Steckovič

Sem vložte zadání Vaší práce.

Semináˇr Java X J2EE Semináˇr Java X p.1/23

ATS Global B.V. ATS Bus.

UAI/612 - Cloudová Řešení. Technologie

Vytvoření procesně integrační nástavby KUBIKI pro ERP systém MAX+

Dodávka systému pro Integrační server

Java Message Service (JMS) Martin Ptáček, KOMIX s.r.o.

InternetovéTechnologie

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

Komponenta Human Task v Oracle SOA Suite


emedocs Exchange Medical Document System David Zažímal Petr Pavlinec

Architektura orientovaná na služby Návrh orientovaný na služby. Ing. Petr Weiss. VUT v Brně,, FIT, UIFS

1 PODNIKOVÁ SBRNICE SLUŽEB SONIC (SONIC ESB)

SOA a Cloud Computing

Servisně orientovaná architektura Základ budování NGII

SOA Enterprise Service Bus

Testování SOA systémů v Oracle SOA Suite

MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) Požadavky zákazníka.

Komponentový návrh SW

Integrace dat. RNDr. Ondřej Zýka

PROPOJOVÁNÍ POČÍTAČOVÝCH APLIKACÍ

Základy počítačových sítí Model počítačové sítě, protokoly

Softwarové komponenty a Internet

KIV/SI. Rozílová témata. Jan Valdman, Ph.D.

Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace

Korporátní identita - nejcennější aktivum

ERP-001, verze 2_10, platnost od

Sjednocení dohledových systémů a CMDB

ČESKÁ TECHNICKÁ NORMA

Centralizace aplikací ve VZP

Integrace podnikových Open Source aplikací v praxi. RNDr. Petr Novák, Open Source Conference Praha, 19. duben 2011

Počítačové sítě Teoretická průprava II. Ing. František Kovařík

Kolokvium KSI MFF UK 5. dubna Architektura v SOA. SOSG

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

Petr Vlk KPCS CZ. WUG Days října 2016

Systémová administrace portálu Liferay

Dejte sbohem papírovým fakturám. Vítejte ve světě elektronických faktur!

Techniky sériové komunikace > Synchronní přenos

ENUM Nová dimenze telefonování. CZ.NIC z.s.p.o. Pavel Tůma / pavel.tuma@nic.cz

Integrace dat. MI-DSP 2013/14 RNDr. Ondřej Zýka,

[ 1 ] Ing. Tomáš Melen náměstek pro informatiku a ekonomiku 2009 Státní ústav pro kontrolu léčiv

Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging

Distribuované transakce

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Jak vybírat vhodnou infrastrukturu pro SOA

IBA CZ průmyslový partner FI MU

Koncept centrálního monitoringu a IP správy sítě

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů.

Integrace dat. RNDr. Ondřej Zýka

Komponentní technologie

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

Komunikace systémů pomocí Hradec Králové

IBA CZ průmyslový partner FI MU

Tvorba informačních systémů

Identifikátor materiálu: ICT-3-03

Propojení elektronických systémů spravujících dokumenty. Tomáš Lechner Vysoká škola ekonomická v Praze Národohospodářská fakulta Katedra práva

Michal Krátký, Miroslav Beneš

[ 1 ] Seminář Centrální úložiště elektronických receptů, Praha, Státní ústav kontrolu léčiv

PRODEJ Prodej je pochopitelně základní funkcí pokladního systému. Systému MERCATOR umožňuje prodej realizovat ve 3 režimech:

Vaše jistota na trhu IT ISSS Řešení datových schránek, spisové služby a archivace pro obce PO1/PO2. Petr Oplátek, ICZ a.s

Bakalářská práce, FEL ČVUT Praha. Michal Turek. červenec 2007

Architektury Informačních systémů. Jaroslav Žáček

Ekonomické aspekty přechodu na. ochrana vašich investic

UAI/612 - Cloudová Řešení. Návrh aplikací pro cloud

Turris:Sentinel. Nový systém pro sběr dat. Robin Obůrka

Business Intelligence

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Pokročilé architektury počítačů

ČMSS: CRM systém pro efektivní práci s klienty

Architektury integrace pro rozsáhlé informační systémy a ekonomické aspekty systémové integrace

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly.

SÚKL HOW. makes progress CENTRÁLNÍ ÚLOŽIŠTĚ ELEKTRONICKÝCH RECEPTŮ SÚKL

TECHNICKÁ SPECIFIKACE PŘEDMĚTU VEŘEJNÉ ZAKÁZKY

Ukládání a vyhledávání XML dat

Tvorba podnikových aplikací v jazyce JAVA. Josef Pavlíček KII PEF CZU

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o.

Platební systém XPAY [

Retail Summit 2008 Technologie které mohou pomáhat

Role datových schránek v elektronické komunikaci zdravotnických zařízení

Technologická centra krajů a ORP

Implementace SOA v GE Money

Transkript:

Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Přednáška pro PDI 8. prosince 2015 Marek Rychlý Přednáška pro PDI, 8. prosince 2015 1 / 32

Obsah 1 Cesta k ESB Problémy accidental architecture 2 Marek Rychlý Přednáška pro PDI, 8. prosince 2015 2 / 32

Problémy accidental architecture Sběrnice pro rozsáhlou decentralizovanou integraci aplikací. (propojení rozhraní autonomních systémů různých formátů, technologií a lokací) Pro asynchronní komunikaci pomocí zasílání zpráv. (představuje tzv. Message-oriented Middleware, MOM) Pro implementaci páteře SOA architektury. (respektuje principy SOA, tj. volnou vazbu, standardizaci, znovupoužitelost, atd.) Postavená na standardech komunikace a integrace komponent. (JMS, JCA, JBI, WS-*, SOAP, WSDL, XML, XSLT, XPath, XRef, XQuery,... ) Implementovaná mnoha způsoby v mnoha produktech. (Windows Azure SB, Oracle ESB, JBoss ESB, Mule ESB, Spring Integration,... ) (diagram převzat z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 4 / 32

Proč ESB? Cesta k ESB Problémy accidental architecture Globální podniky/organizace chtějí/musí integrovat lokální systémy. Postupná integrace zavedených řešení vede k accidental architecture. Přenos dat z jedné komponenty na druhou řešen hromadně a dávkově. (typicky automaticky jednou denně, nebo dokonce manuálně přes CSV atp.) (diagram převzat z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 5 / 32

Problémy accidental architecture Problémy accidental architecture : Mnoho rozhraní Postupná integrace vyžaduje tvorbu nových rozhraní a spojení. (napojení apl. C na A zn. zachování původních rozhraní A a přidání nového C-A) Nejhorší případ (každý s každým) pro n apl. je n(n 1)=2 spojení. (pro 5 apl. je to 10 spojení, pro 13 je to 78, ale pro 100 už 4.950 spojení) Velký počet rozhraní zvyšuje náklady na jejich údržbu i riziko selhání. (problém závislostí např. při zavedení nové verze apl., bezpečnosti, atd.) (diagram převzat z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 6 / 32

Problémy accidental architecture Problémy accidental architecture : ETL integrace (I) Populární integrace pomocí Extract, Transform, & Load (ETL) via FTP. (apl. S periodicky exportuje do souboru, který si přes FTP stahuje a načítá apl. W) (diagram převzat z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 7 / 32

Problémy accidental architecture Problémy accidental architecture : ETL integrace (II) Zpoždění mezi integrací aplikací přes ETL může způsobit chybu. (než se propaguje změna počtu kusů na centrálním skladu z pobočky na jinou pobočku, tak tam mezitím může někdo objednat/vrátit chybějící kusy) Běžně se řeší nad-dimenzováním skladových zásob! zbytečné náklady (diagram převzat z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 8 / 32

Problémy accidental architecture Problémy accidental arch. : Centrální hub&spoke Řešení je zavést centrální komunikační platformu/ hub. (tj. middleware, centrální server nebo sběrnici) Problém je, že centrální hub vyžaduje důvěru zúčastněných. (není možné, pokud jsou účastníci konkurenti, nebo nechtějí centralizovat data) (diagram převzat z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 9 / 32

Problémy accidental architecture Další problémy a požadavky na middleware/esb Schopnost vytvářet elektronické trhy. (e-marketplaces and vertical trading hubs) Schopnost zavést monitoring a řízení vyžadované legislativou. (např. v USA: Sarbanes-Oxley, the PATRIOT Act, and FCC regulations) Schopnost reálného monitoringu součinnosti systémů a businessu. (tzv. Business Activity Monitoring, BAM; bez měření není řízení) Eliminace zbytečného zpracování, transformace a předávání dat. (tzv. Straight-Through Processing, STP) Schopnost (postupné) integrace legacy systémů. (nelze vše zbořit a postavit znovu, je nutno integrovat postupně existující) Bezpečnost a spolehlivost. (šifrování, podepisování, zaručené doručení, transakce, selektivní autorizace, atd.) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 10 / 32

Postupný vývoj middleware k ESB ESB = best-practices v Enterprise Application Integration (EAI). ( Mater artium necessitas, tj. nouze je matka vynalézavosti ; W. Horma, 1519) Zobecňuje koncept Java Message Service (JMS) v Java EE. ( Point-to-Point Messaging queues a Publish/Subscribe Messaging domains ) Vychází z aplikačních serverů/kontejnerů hostujících komponenty. (kontejner poskytuje prostředí/standardizované rozhraní pro komponenty) Snaží se šetřit, dobře zdůvodnit a optimalizovat náklady na IT. (prasknutí internetové bubliny, ekonomická krize, outsourcing IT, atd.) (diagram převzat z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 12 / 32

JMS modely komunikace zasílání zpráv v ESB (pub-sub vs. p2p a hierachie témat v pub-sub; diagramy převzaty z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 13 / 32

ESB kontejner a jeho schopnosti Integrované systémy jsou napojeny přes ESB kontejner. (kontejner hostuje systémy jako ESB komponenty a poskytuje rozhraní k ESB) V jednom kontejneru může být provozováno současně více komponent. (tyto komponenty spolu mohou komunikovat přímo, nemusí přes ESB) (diagramy převzaty z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 14 / 32

Rozhraní a obsah ESB kontejneru ESB kontejner může hostovat různé druhy komponent. (vč. speciálních komponent pro modifikaci a řízení ESB zpráv) Kontejner poskytuje komponentě různé druhy rozhraní. (diagramy převzaty z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 15 / 32

ESB endpoint připojení komponenty do kontejneru ESB kontejner nabízí různé způsoby připojení hostovaných komponent (nativní JMS, HTTP&SOAP pro Web-services, různé adaptéry vč. file/db-adapters či JMS pro C++/C#/.NET) ESB však podporuje jen asynchronní komunikaci/zasílání zpráv. (synchronní komunikaci lze nasimulovat, ale je to nespolehlivé/hrozí timeout) (diagramy převzaty z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 16 / 32

Napojení různých komponent/systémů na ESB (diagram převzat z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 17 / 32

Message Oriented Middleware (MOM) ESB funguje jako MOM. (API a protokol komunikace s MOM po vzoru JMS, vizte modely komunikace na str. 13) (diagramy převzaty z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 18 / 32

MOM a volná vazba rozhraní propojených komponent Komunikace zasíláním zpráv umožňuje volnou vazbu (loose coupling). (komunikující komponenta zná pouze sběrnici, nikoliv protistranu komunikace) Sběrnice zajišt uje doručení zpráv ve vhodném formátu. (kompatibilita vysílajícího a přijímacího rozhraní transformací zpráv na sběrnici) Rozhraní komponenty je nezávislé na jeho použití protistranou. (každé komponentě pak stačí pouze jedno rozhraní; tedy máme celkem n rozhraní pro n komponent, ve srovnání s n(n 1)=2 rozhraními přímé komunikace na str. 6) (diagramy převzaty z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 19 / 32

Spolehlivé doručení zpráv v MOM/ESB Sběrnice využívá úložiště průchozích zpráv pro jejich spolehlivé doručení. (zpráva je uložena a doručena jedenkrát, až je příjemce připraven a podaří se to) Odesílatel se může spolehnout na jisté asynchronní doručení v ESB. (implementace/inspirace ze standardu WS-ReliableMessaging) (P2P a pub-sub komunikace; diagramy převzaty z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 20 / 32

Lokální transakce nad zprávami v MOM/ESB Spolehlivé doručení umožňuje transakční komunikaci s ESB. (transakce vždy odesílatel-esb nebo příjemce-esb, nikoliv odesílatel-příjemce) V jedné transakci lze sdružit odeslání a příjem několika zpráv. (je to skutečně transakce, tj. pro komunikovaná data platí ACID) Transakci lze provést dvoufázově, např. v kombinaci s DB operací. (tzn. do transakce lze zahrnout jiné zdroje, např. transakční databáze, ty však musí respektovat XOpen/XA two-phase-commit transaction protocol ) (diagramy převzaty z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 21 / 32

Request/reply komunikace v MOM/ESB U asyn. zprávy s požadavkem odpovědi, je nutno vědět kam odpovídat. (zpráva obsahuje hlavičku replyto s adresou příjemce odpovědi) Odpověd může obdržet ten kdo se tázal, nebo i úplně někdo jiný. (lze tak zprávu skrz příjemce zpracovat a přeposlat jinam) (diagramy převzaty z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 22 / 32

VETO a VETRO integrační vzory VETO = V + E + T + O Validate ověříme zda je zpráva validní, jinak odmítneme Enrich doplnění obsahu zprávy o chybějící data (např. údaje zákazníka z jeho ID, město z PSČ, atp.) Transform konverze zprávy do cílového (nebo kanonického) formátu Operate vlastní zpracování zprávy cílovou aplikací/komponentou VETRO = VETO + R Route po transformaci zprávu směrujeme ke správné aplikaci/komponentě (diagramy převzaty z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 23 / 32

Validate, Enrich & Transform; Two-Step XRef Pattern Pro VET využívá ESB formát XML zpráv a nástroje pro práci s XML. (pro validaci XML Schema/Schematron, obohacení XRef a transformaci XSLT) Snaha rozdělit komponenty vykonávající více z VETRO operací. (pak je možno využít standardní komponenty pro jednotlivé operace) Two-Step XRef Pattern pro přípravu XML a jeho doplnění o data. (XML se připraví ze vstupu transformací XSLT a pak doplní pomocí XRef) (před a po aplikaci vzoru; diagramy převzaty z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 24 / 32

Směrování (routing) zpráv v ESB Podobně jako pro VET, tak i pro R ve VETRO je standardní komponenta. (např. komponenta Mediator se směrovacími pravidly, či BPEL proces s popisem orchestrace, tj. postupného volání jednotlivých služeb/komponent/aplikací ESB) Směrování na základě itineráře ve zprávě či posouzením obsahu zprávy. (tzv. Itinerary-based Routing, IBR, vs. Content-based Routing, CBR) Při IBR je možno itinerář upravovat/doplňovat při průchodu ESB. (komponenty-aplikace ESB naplánují do itineráře, co se se zprávou dále stane) (diagram převzat z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 25 / 32

Paralelní zpracování zpráv v ESB CBR a IBR může zprávu také duplikovat/rozdělit pro paralelní zpracování. (zpráva či její části jsou pak zpracovávány v rámci ESB souběžně) Paralelní zpracování (a jeho výsledky) je možno opět spojit. (opačnou operací/komponentou k split je join ) (diagram převzat z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 26 / 32

(I) Na začátku je accidental architecture. (tzn. přímá propojení aplikací; ETL s periodickou synchronizací a daty v CSV či, v lepším případě, v XML; skryté závislosti a manuální předávání dat mimo systém) Obtížná správa, monitoring a řízení, další integrace ) neudržitelné. (diagramy převzaty z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 27 / 32

(II) ESB se zavede v jednom místě a transparentně při pohledu zvenčí. Pro napojení na stará (legacy) rozhraní se využijí adaptéry. (diagram převzat z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 28 / 32

(III) Postupně (a za běhu) se zavádí ESB do sousedních oblastí. Zvenčí je celé řešení transparentní a bez (větších) výpadků. (diagram převzat z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 29 / 32

(IV) ESB lze zavádět postupně i v rámci jedné oblasti. (aplikace mohou stále ještě komunikovat přímo s aplikacemi ostatních oblastí) Zachování přímé komunikace vhodné pro těžko adaptovatelná rozhraní. (nebo např. při potřebě synchronní komunikace stylu RPC, nebo napojení partnerů, na které nemáme vliv, tedy nemůžeme lehce adaptovat) (diagram převzat z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 30 / 32

(V) Nakonec je celá organizace integrovaná pomocí ESB. Partnerské aplikace mimo organizaci pak komunikují také s ESB. (diagram převzat z David A. Chappell: Enterprise Service Bus, 2004 ) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 31 / 32

Shrnutí a závěr Cesta k ESB ESB je řešení pro integraci rozsáhlých systémů organizací. (geograficky rozsáhlé, s autonomními částmi, heterogenní, atp.) ESB využívá zavedených a ověřených technologií. (JMS, JCA, JBI, WS-*, SOAP, WSDL, XML, XSLT, XPath, XRef, XQuery,... ) ESB není řešení vhodné pro všechny, použití je třeba zvážit. (nevýhodou je třeba vyšší režie na komunikaci, tedy ztráta výkonu) Marek Rychlý Přednáška pro PDI, 8. prosince 2015 32 / 32