Porovnání integračních technologií RNDr. Ondřej Zýka ondrej.zyka@profinit. eu
description
Transcript of Porovnání integračních technologií RNDr. Ondřej Zýka ondrej.zyka@profinit. eu
Porovnání integračních technologií
RNDr. Ondřej Zý[email protected]
Obsah
• Integrační technologie– Replikace– ETL – Extract/Transform/Load– EAI – Enterprise Application Integration– EII – Enterprise Information Integration
• Porovnání– Rychlost– Konzistence– Reakce na chyby– Úroveň abstrakce– Architektura– Bezpečnost– Dostupnost
Integrační technologie
• Replikace – 70 léta• ETL – 80 léta• EAI – 90 léta• EII – dnes
• Vývoj kopíruje– schopnosti techniky– požadavky praxe– rozhled a schopnosti uživatelů
Další termíny
• MDM Master Data Management• EIM Enterprise Information Management• CDI Customer Data Integration• PIM Product Information Management• SOA Service Oriented Architecture• ESA Enterprise Service Architecture• EDQ Enterprise Data Quality
Replikace
• Synchronizace vícenásobného uložení dat– databáze– souborové systémy
• Pracuje se nejčastěji na úrovni tabulek (nebo databází, souborů, adresářů)
• Replikace podmnožiny sloupců, řádků, replikování procedur
• Konsistence na úrovni transakcí
Technologie
• Asynchronní × Synchronní zpracování– Dvojfázový commit ??
• Snapshots × Transakce– kdy načítat snapshot– čtení transakčního logu– použití triggerů
• Publisher-subscriber × Point-to-point– kdy považovat transakci za doručenou
Replikace
• Cíle– Zvládnout velké tabulky, velké objemy dat– Nízké nároky na komunikace– Jednoduché nastavení– Jednoduchá správa
• Slabiny – Malá možnost transformace dat– Malá možnost podmíněných transformací
nebo složitějších konstrukcí
Replikace - administrace
Sybase replication server - sledování a administrace replikačního systému
ETL
• Přenos dat mezi jednotlivými úložišti (souborové systémy, databáze)
• Konsolidace dat, úpravy dat, čištění dat
• Zdroje na úrovni tabulek (datasetů)
• Zpracování v dávkách, nástroje na správu dávek
• Řešení chybových stavů
ETL
• Cíle– Vytváření a správa složitých transformačních
pravidel– Použití metadat– Zvládnutí velikých objemů dat– Zvládnutí složitých plánovacích a transformačních
schémat
• Slabé stránky– Malá možnost reakce na události– Určeno pro dávkové zpracování (datové sklady)– Zdroje jsou zejména tabulky
ETL – návrh transformací
Informatika PowerCenter – design transformace
ETL – dohled zpracování
Informatika PowerCenter – dohled zpracování
Enterprise Application Integration
Analýza jednotlivých transformací mezi dvěma systémy
Enterprise Application Integration • Propojení systémů na vyšší abstraktní
úrovni• Maximální nezávislost (aplikací,
operačních systémů, dodavatelů,…) • Cíle
– Vytvořit univerzální koncepty (J2EE)– Vytvořit univerzální protokoly (XML, JDBS,
JMS, CORBA, COM, SOAP, WSDL, BPEL)– Vytvořit univerzální prostředí (J2EE
servery, BizTalk, Commerce Server 2000)
Enterprise Application Integration• „Slabá“ stránka – komplikovanost
– Snaha vyřešit vše• Integrace na úrovni dat • Integrace uživatelského prostředí • Integrace aplikací • Sjednocení metodologie integrace
– Vazba na obchodní procesy• Identifying sources of data • Building the enterprise metadata model • Process integration • Identifying application interfaces • Mapping information movement • Selecting and applying the technologies • Testing• Maintenance
Enterprise Application Integration
Vytváření transformačních schémat v BizTalk Serveru
SOAP
• SOAP (Simple Object Access Protocol, 1998) zpráva je XML dokument, který obsahuje následující elementy:
• Obálku (Envelope) element, která identifikuje XML dokument jako SOAP zprávu - povinný
• Hlavičku (Header) element, který obsahuje popis - nepovinný• Tělo (Body), které obsahuje informace požadavku nebo
odpovědi - povinné• Chybový (Fault) element, který obsahuje informace o chybých
při zpracování
• Některá pravidla syntaxe• SOAP zpráva musí být XML• SOAP zpráva musí použít SOAP Envelope jmenný prostor • SOAP zpráva musí použít SOAP Encoding jmenný prostor• SOAP zpráva nesmí obsahovat DTD• SOAP zpráva nesmí obsahovat XML Procesní instrukce
WSDL
• WSDL (Web Services Description Language, 2001) je specifikace jak popsat web servisy společnou XML gramatikou. Popisuje čtyři základní části dat:– Informace o interface popisuje veřejně dostupné
funkce.– Informace o datech pro všechny požadavky a
odpovědi. – Transportní informace o použitých protokolech. – Adresní informace pro nalezení specifikovaných
služeb
BPEL
• BPEL (Business Process Execution Language, 2003) je jazyk umožňující organizovat činnost systémů nabízející vebové služby.
• Používá XML• Používá webové služby jako základní prvky• Definuje (popisuje) podnikové procesy• Definuje množinu operací protojující web servisy• Podporuje operace s datovými prvky• Podoruje definici instancí procesů• Podporuje životní cyklus instancí procesů• Podporuje transakční model• Nedefinuje grafickou reprezentaci, neobsahuje
metodologii
BPEL příklad
<assign><copy>
<from variable="c1"/><to variable="c2"/>
</copy><copy>
<from variable="c1" part = "address"/>
<to variable="c3"/></copy>
</assign>
Příklady produktů pro EAI
• Sun: – Java Composite Application Platform Suite
(SeeBeyond)– Messaging Server
• Tibco– DataExchange – Rendezvous– Enterprise servis bus
• Oracle– BPEL Process Manager
• IBM– WebSphere Enterprise Service Bus– WebSphere MQ
Enterprise Information Integration
• Provázanost koncových uživatelů s aktuálními a integrovanými daty
• Distribuce jednotných pohledů na data v celém podniku
• Cíle – Vytvořit jednotné prostředí pro práci s daty
z mnoha systémů– Zapojení mnoha prostředí pro práci s daty– Přístup k strukturovaným (databáze),
semistrukturovaným (email, XML, spreadsheed) a nestrukturovaným (dokumenty, content management systems) datům
– Umožnit měnit některá data
Enterprise Information Integration
• Důvody– zvýšení typů koncových uživatelů– mobilita koncových uživatelů
• Slabiny – Extrémní komplikovanost – Málo zkušeností– Nutnost reagovat na vývoj technologií
Enterprise Information Integration
Architektura EII podle IPEDO. Inc
ShrnutíReplikace ETL EAI EII
Distribuce dat a synchronizace dat
Konsolidace dat pro DSS aplikací
Komunikace aplikací mezi sebou
Zajištění aktuálních informací pro uživatele/aplikace
Udržování kopií dat pro různé druhy zpracování
Shromažďování dat do centrálního úložiště
Point-to-point předávání informací
Spoke-hub
Service BUS
Pohledy na existující data v celém podniku
Distribuce transakcí Rozsáhlé přenosy a transformace dat
Zprávy mezi aplikacemi
Minimální migrace dat
Pouze strukturovaná data
Většinou strukturovaná data, složité transformace
Transformace mezi jednotlivými formáty
Strukturovaná data, Semistrukturovaná data, nestrukturovaná data.
-- -- Přístup k historickým datům a snapshotům
Přístup k aktuálním datům
Univerzální distribuce transakcí
Nikdy nemění data ve zdrojových systémech
Může změnit data předáním příslušné zprávy
Může měnit definovanou množinu dat
Architektura řešení
Pattern Point-to-point
Jednoúčelové aplikace
Podle Sun - J2EE
Architektura řešení
Pattern Systém hub
Založeno na midleware
Architektura řešení
Pattern Spoke-hub
Centralizované
řešení
Architektura integračních technologií
• Jádro – Schopnosti– Obsah vlastního
katalogu– Abstrakce dat– Robustnost– Škálovatelnost– Propustnost – Administrovatelnost
• Konektory– Typy– Množství– Připravenost– Složitost nastavení,
konfigurovatelnost– Upravovatelnost– Možnost vlastního
vývoje
Porovnání
• Rychlost
• Konzistence dat
• Chování v případě výpadků
• Dostupnost, bezpečnost
Rychlost• Synchronní přenos
– Dvoufázový commit– Distribuované transakce
• Asynchronní přenos– Okamžitě – Jak rychle infrastruktura dovolí– Dávkově– Na vyžádání
• Další faktory– Jak zatížíme zdrojové systémy– Jak zatížíme komunikaci– Jak zatížíme cílové systémy
Konzistence dat
• Konzistence – Na úrovni transakcí– Na úrovni aplikací– Na úrovni podniku
• Otázky– Jak zajistit konzistenci– Jak zjistit, že je porušena– Jak reagovat, když zjistíme, že je porušena
Chování v případě výpadků
• Výpadky provozních systémů• Výpadky integračních technologií
– Schopnost zálohovat konfiguraci– Schopnost automatického zotavení po
výpadku– Schopnost technologií
• Uchovávat přenášená data• Vypořádat se s duplicitou dat• Zjistit výpadek v datech
Dostupnost
• Závislost jednotlivých komponent na dostupnost ostatních komponent
• Zvýšení nároků na dostupnost pro adresářové služby a služby autentizace
• Zvýšení nároků na dohled background systémů
• Zvýšení nároků na dostupnost pro všechny systémy
Bezpečnost
• Formát přenosu mezi systémy
• Napadnutelnost, oprávněnost přístupu
• Důvěryhodnost middleware
• Jednotný systém ověření a práv
Závěr
• Dotazy• Komentáře• Připomínky• Upřesnění
Děkuji za pozornost