Software
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 Software Group
© 2008 IBM Corporation
Software
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 © 2008 IBM Corporation
Software
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 © 2008 IBM Corporation
Software
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 © 2008 IBM Corporation
Software
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 © 2008 IBM Corporation
Software
Enterprise Service Bus – referenční architektura Enterprise Service Bus Směrování
Mediační komponenty XSLT
Logging
Endpoint Lookup
DB Lookup
Split/Merge
…
Custom Mediation Primitives
Datové Modely ACORD
EDIFACT
RosettaNet
HL7
Cobol Copybook
…
XML/HTTP
XML/JMS
String/MQ
FTP
Komunikační protokoly SOAP/HTTP
6
SOAP/JMS
Kvalita služeb, infrastruktura (bezpečnost, monitoring)
Datové toky (interakční scénáře)
Common 18.-20.5.2008, Brno © 2008 IBM Corporation
Software
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 © 2008 IBM Corporation
Software
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 © 2008 IBM Corporation
Software
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 Primitive
Response Flow
Mediation Chain Mediation
9
Mediation
Mediation
Mediation
Mediation
Mediation Primitive Mediation Primitive
Mediation Primitive
Mediation
Common 18.-20.5.2008, Brno © 2008 IBM Corporation
Software
Komponenty datového toku ESB Funkce
Symbol
Message Logger
Message Filter
Database Lookup
Ukládání informace do DB
Filtrování obsahu na základě podmínky
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 10
Popis
Vývoj vlastní logiky pro zpracování dat
Common 18.-20.5.2008, Brno © 2008 IBM Corporation
Software
Vývojové prostředí
1
2
Datový tok
3
Operace mezi SR a SP Paleta komponent
1
Mediační primitivy 11
2 Zde jsou vkládány mediační primitivy pro definici operací v ESB
3
Vizuální kompozice datového toku
Common 18.-20.5.2008, Brno © 2008 IBM Corporation
Software
Editor datového toku v ESB Vstupní operace
Chyba
Operace
Paleta komponent
12
Volané služby (aplikační funkce) Odpověď
Common 18.-20.5.2008, Brno © 2008 IBM Corporation
Software
Message Broker – mediační komponenty MQ Input/Output/Get/Reply
MQe Input/Output
Realtime
Publication
Timeout Control/Notification
Check/Validate
ResetContentDescriptor SCADA input/Output
Database
Transformation
Filter
Aggregation
Throw/Trycatch JMS
CICS Program Call FlowOrder/Routing
HTTP Input/Output
VSAM File Access Passthrough
JMS client
Complex Event Processing Trace
TIBCO RV
File input/Output
Custom … C++, Java 13
Common 18.-20.5.2008, Brno © 2008 IBM Corporation
Software
Vývoj mediací v WebSphere Message Broker Toolkit
Mediační primitivy 14
Operace mezi SR a SP
Common 18.-20.5.2008, Brno © 2008 IBM Corporation
Software
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
Message Flow MP
MP
Security Decision Service
Requestor Mediation Chain
15
Provider
Common 18.-20.5.2008, Brno © 2008 IBM Corporation
Software
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
Logging Service
Message Flow MP
MP
Provider
Requestor Mediation Chain
16
Common 18.-20.5.2008, Brno © 2008 IBM Corporation
Software
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) Vyhledání nejvhodnějšího poskytovatele proběhne v registru.
3
? 4
(4) Proběhne určení nejvhodnějšího poskytovatele.
5
6
(7) Operace je logována
(5) Protokol a QoS je zvolena pro cílovou službu.
Services Registry & Repository
17
7
(6) Formátování dat pro cílovou aplikaci.
Existující aplikace
Common 18.-20.5.2008, Brno © 2008 IBM Corporation
Software
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 © 2008 IBM Corporation
Software
Příklad 1: ESB na principu aplikačního serveru Problém
Prezentační vrstva (FE)
EXPO externí poradenství
Klientský portál
Zaměstnanecký portál
– Efektivita podnikání; unifikovaný přístup k datům v různých back-end systémech
CSOB-Group portál
FireWall
Řešení
Integrační vrstva
– ESB: aplikační server
Integrační sběrnice ESB
– Integrace .NET front-end systémů s Back end aplikacemi na principech ESB
Back-end systémy
SAMAC
19
PRES
IBP
SAP
DIS
PoDok
CODIS
Common 18.-20.5.2008, Brno © 2008 IBM Corporation
Software
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 © 2008 IBM Corporation
Software
Příklad 3: Case Study
Pre-paid Mobile Phone Recharging Citibank SOA on your terms and our expertise
© 2008 IBM Corporation
Software
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 © 2008 IBM Corporation
Software
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 © 2008 IBM Corporation
Software
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í
SMS
Client
SMS
TO2 HTTPS
TIF Agent
Production Cobrand Database (MSSQL)
Polling app.
DB Synchronizer File Generator app.
LogDB
WMB
Cobrand DB (DB2)
Settlement file Reconciliation files OLA/ECS
Runtime environmnet
24
Common 18.-20.5.2008, Brno © 2008 IBM Corporation
Software
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 © 2008 IBM Corporation
Software
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 © 2008 IBM Corporation