SOA Enterprise Service Bus Common 2008, 18.-20.5.2008, Brno SOA on your terms and our expertise Petr Leština WebSphere Technical Sales IBM Certified IT Specialist IBM Group 2008 IBM Corporation
Agenda Proč Enterprise Service Bus (ESB)? Co je Enterprise Service Bus? Referenční architektura ESB a adaptéry Zpracování dat Vývoj Bezpečnost Příklady Závěr 2 Common 18.-20.5.2008, Brno
Problémy určující potřeby Enterprise Service Busu Oddělení komunikace a aplikační logiky Zprostředkování komunikace nezávisle na Programovacím jazyku Aplikační platformě Programovacím modelu Protokolu Datovém formátu Řešení: Enterprise Service Bus 3 Common 18.-20.5.2008, Brno
Co je Enterprise Service Bus? Enterprise Service Bus (ESB) je flexibilní propojovací infrastruktura pro integraci aplikací a služeb. ESB přínos: redukuje počet, velikost a komplexitu integračních rozhraní. ESB realizuje tyto typy služeb: SMĚROVÁNÍ dat mezi jednotlivými službami KONVERZE protokolů mezi jednotlivými službami TRANSFORMACE převod dat z jednoho formátu do jiného UDÁLOSTNÍ ŘÍZENÍ zpracování na základě události v systému Spojení = Protokol Barva = Datový typ 4 Common 18.-20.5.2008, Brno
Pozicování Enterprise Service Busu v SOA ESB = architektonický koncept, realizovaný různými produkty Není vázán na kokrétní technologii, platformu, programovací jazyk Prostředek pro komunikaci mezi klientem a poskytovatelem služeb Operace na úrovni ESB = mediace Mediation MP MP Requestor Provider Mediation Chain Enterprise Service Bus 5 Common 18.-20.5.2008, Brno
Enterprise Service Bus referenční architektura Enterprise Service Bus Datové toky (interakční scénáře) Směrování Datové Modely Mediační komponenty XSLT Logging Endpoint Lookup DB Lookup Split/Merge ACORD EDIFACT RosettaNet HL7 Cobol Copybook Komunikační protokoly Custom Mediation Primitives Kvalita služeb, infrastruktura (bezpečnost, monitoring) SOAP/HTTP SOAP/JMS XML/HTTP XML/JMS String/MQ FTP 6 Common 18.-20.5.2008, Brno
Co je a co není v ESB Co je v ESB funkce podporující virtualizaci služeb Co není v ESB infrastrukturní služby Ale mohou být infrastrukturou ESB použity Infrastrukturní služby Bezpečnost Správa Registr služeb Aplikační logika Enterprise Service Bus Datové toky Datové modely Komunikační protokoly 7 Common 18.-20.5.2008, Brno
Adaptery pro připojení EIS ESB musí zajistit přístup k existujícím podnikovým systémům Zajištěné prostřednictvím adaptérů, které mohou, ale také nemusí být součástí ESB Technologické adaptéry Aplikační adaptéry Adaptéry pro přístup ke starším systémům Možnosti umístění adaptérů s ohledem na infrastrukturu ESB 1. Součást EIS 2. Mezi EIS a ESB 3. Rozhraní ESB 4. Součást ESB 8 Common 18.-20.5.2008, Brno
Zpracování dat na úrovni ESB Datový tok (Message Flow) zpracovává požadavky a odpovědi mezi poskytovatelem služby a jejím konzumentem Mediation chain: sekvence činností nad daty Mediation node: jednotlivá operace/činnost (např. transformace) Request Flow Message Flow Mediation Chain Mediation Mediation Mediation Mediation Response Flow Mediation Chain Mediation Primitive Mediation Mediation Primitive Mediation Primitive Mediation Primitive Mediation Mediation Mediation Mediation 9 Common 18.-20.5.2008, Brno
Komponenty datového toku ESB Funkce Symbol Popis Message Logger Ukládání informace do DB Message Filter Filtrování obsahu na základě podmínky Database Lookup Přístup do relační databáze na základě zpracovávané informace XSLT Manipulace s daty s využitím XSL transformace Stop Zastavení zpracování, bez vyjímky Fail Zastavení zpracování, vygenerování vyjímky Custom Vývoj vlastní logiky pro zpracování dat 10 Common 18.-20.5.2008, Brno
Vývojové prostředí Datový tok 1 2 Paleta komponent Operace mezi SR a SP 1 Zde jsou vkládány mediační primitivy pro definici operací v ESB 3 2 3 11 Common 18.-20.5.2008, Brno Mediační primitivy Vizuální kompozice datového toku
Editor datového toku v ESB Vstupní operace Chyba Operace Paleta komponent Odpověď Volané služby (aplikační funkce) 12 Common 18.-20.5.2008, Brno
Message Broker mediační komponenty MQ Input/Output/Get/Reply Publication Database MQe Input/Output Timeout Control/Notification Transformation Realtime Check/Validate Filter SCADA input/output ResetContentDescriptor Aggregation JMS HTTP Input/Output JMS client TIBCO RV Throw/Trycatch FlowOrder/Routing Passthrough Trace CICS Program Call VSAM File Access Complex Event Processing File input/output 13 Common 18.-20.5.2008, Brno Custom C++, Java
Vývoj mediací v WebSphere Message Broker Toolkit Mediační primitivy Operace mezi SR a SP 14 Common 18.-20.5.2008, Brno
ESB a bezpečnost ESB NENÍ prostředek řídící bezpečnost služeb Bezpečnost podporována na úrovni vstupu/výstupu ESB by měl být provázán na bezpečnostní infrastrukturu, především pro funkce: Autentikaci & autorizaci Řízení přístupu Integritu dat Requestor Message Flow MP MP Mediation Chain Security Decision Service Provider 15 Common 18.-20.5.2008, Brno
ESB a Správa ESB není prostředkem pro systémový management ESB úzce spolupracuje s nástroji pro správu Resource Monitoring, (log a trace) Resource Management, (start/stop služeb) ESB musí být spravovatelný vlastními prostředky ESB logy a trace Spravovatelný prostředky systémové správy Control Service Message Flow Logging Service MP MP Requestor Mediation Chain Provider 16 Common 18.-20.5.2008, Brno
Využití ESB pro dynamické volání služeb (1) Aplikace požádá ESB o zprostředkování služby. (8) Odpověď zaslána žadateli. Enterprise Service Bus (2) Požadavek nastartuje operace? v ESB (flow). 3 4 5 6 7 (7) Operace je logována (3) Vyhledání nejvhodnějšího poskytovatele proběhne v registru. (4) Proběhne určení nejvhodnějšího poskytovatele. (5) Protokol a QoS je zvolena pro cílovou službu. (6) Formátování dat pro cílovou aplikaci. Services Registry & Repository Existující aplikace 17 Common 18.-20.5.2008, Brno
ESB lze realizovat alternativními technologiemi WebSphere Application Server V6 (WebSphere Platform Messaging) WebSphere MQ/WebSphere Message Broker WebSphere Enterprise Service Bus WebSphere Process Server kombinací výše uvedených technologií 18 Common 18.-20.5.2008, Brno
Příklad 1: ESB na principu aplikačního serveru Prezentační vrstva (FE) Problém EXPO externí poradenství Integrační vrstva Klientský portál Zaměstnanecký portál FireWall CSOB-Group portál Efektivita podnikání; unifikovaný přístup k datům v různých back-end systémech Řešení Integrační sběrnice ESB ESB: aplikační server Back-end systémy Integrace.NET front-end systémů s Back end aplikacemi na principech ESB SAMAC PRES IBP SAP DIS PoDok CODIS 19 Common 18.-20.5.2008, Brno
Příklad 2: ESB na principu Message Brokeru Problém Kontinuita podnikání; zajištění přístupu k datům v různých backend systémech, 7x24 Řešení ESB: Message Broker Integrace front-end systémů s Back end aplikacemi (EIS, Java,.Net, C/C++) 20 Common 18.-20.5.2008, Brno
Příklad 3: Case Study Pre-paid Mobile Phone Recharging Citibank SOA on your terms and our expertise 2008 IBM Corporation
Představení business pohled Projekt Citi banky: 02 reloading Dobíjení předplacených telefonních služeb O2, pomocí jednoduchého příkazu na telefonu Dobíjení probíhá prostřednictvím O2Citi kreditní karty, která je určena jak post-paid zákazníkům, kteří využívají paušální tarif, tak prepaid zákazníkům, kteří preferují předplacené služby. Dobíjení probíhá pouze z mobilního telefonu zákazníka Služba je k dispozici pro všechny Citi O2 zákazníky a je zdarma Jednoduché, rychlé, bezpečné 22 Common 18.-20.5.2008, Brno
Jak celé řešení funguje? Transakce dobíjení v rozmezí 200-9999 Kč spočívá v zaslání SMS zprávy na mobilní číslo Telefonica O2 Formát: *131*recharged mobile phone*amount*cvv2# CVV2 je číslo uvedené na lícní straně O2 Citi karty Celá transakce trvá 10-15 sekund *131*602123456 *800*123# Potvrzení o dobití formou SMS zprávy SMS zpráva na dobití je zdarma Služba funguje i ze zahraničí Dostupnost 24/7 23 Common 18.-20.5.2008, Brno
Architektura řešení TIF agent adapter Zajišťuje HTTPS komunikaci s O2 Používá WebSphere MQ Polling aplikace Dotazuje se T O2 na nové požadavky Časový interval 30 sec WMB WebSphere Message Broker Jádro komunikačního řešení Komunikuje s OLA/ECS back-end systéme, Coobrand a Log DB Cobrand DB Ukládá mobilní čísla & čísla kreditních karet Obsah replikován z PCD(MSSQL) Log DB Operační databáze Log DB Zdrojová databáze pro párování a zůčtování Client File Generator app. Settlement file Reconciliation files SMS SMS Polling app. LogDB TO2 TIF Agent WMB OLA/ECS HTTPS Cobrand DB (DB2) Production Cobrand Database (MSSQL) DB Synchronizer Runtime environmnet 24 Common 18.-20.5.2008, Brno
Současný stav Údaje o projektu Vývoj, test, implementace: 1.11.2006 30.6.2007 Pilot: 1.7.-31.8.2007 V produkci od: 1.9.2007 Údaje z pilotní fáze Celkový počet transakcí: 200 Průměrný čas celé transakce: 15 sec Interní zpracování: méně než 1 sec!!!! Další plány Disaster recovery & vysoká dostupnost 25 Common 18.-20.5.2008, Brno
Závěr Enterprise Service Bus je flexibilní propojovací infrastruktura pro integraci aplikací a služeb. Ucelená sada technologií pro integraci Transport, zprostředkování a management zpráv ESB je základní architektonická šablona (pattern) pro řešení otázky integrace ESB může být implementována produkty, které jsou na trhu již dnes 26 Common 18.-20.5.2008, Brno