Řešení integrace Profinit ESB
Michal Bureš
28. 8. 2014
Proč vznikl Profinit ESB ›
Naši zákazníci hledají řešení podnikové integrace a SOA –
Máme zkušenosti s podnikovou integrací •
›
›
Provádíme vývoj na komerčních integračních platformách (zejména Oracle)
–
Podílíme se na revizích a návrzích aplikační architektury, middleware a SOA
–
Profinit je partnerem Informatica pro datovou integraci
Zákazníci poptávají cenově efektivní, nikoliv ‘levné’ řešení –
Očekávají funkcionality srovnatelné s komerčními produkty
–
Požadují stabilitu dodavatele i produktu
–
Vyžadují technickou podporu s SLA
Profinit má bohaté zkušenosti s dodávkou open-source řešení –
Aplikační kontejnery, Gephi, Spring, iText
Profinit ESB = open-source komponenty + naše know-how a služby 2
Integrační platforma Profinit ESB Kompletní řešení ESB postavené na prověřených open-source komponentách ›
Talend ESB – – –
›
Vizuální vývojové nástroje v prostředí Eclipse –
›
Metriky služeb, stav infrastruktury
Metodika modelování služeb v Enterprise Architect –
›
Grafický návrh mapování dat i procesů
Monitoring pomocí Hyperic HQ nebo vašeho stávajícího nástroje –
›
Webové služby, zpracování asynchronních zpráv, přístup k podnikovým aplikacím Transformace a mapování dat, orchestrace služeb Zabezpečení, audit, rozložení zátěže
Metodika modelování služeb pomocí integračních vzorů
SOA governance –
Správa služeb, procesy, postupy 3
Možná struktura řešení Profinit ESB Enterprise Architect
Portály
Metodika, governance
Open Studio
ESB
B2B
Externí systémy
Monitoring Podnikové systémy a databáze
4
Platforma Talend ESB ›
Postaveno na open-source komponentách Apache – – – – – – – –
›
Aplikační kontejner Apache Karaf Webové služby Apache CXF ActiveMQ pro zpracování asynchronních zpráv Run-time engine pro orchestraci služeb s grafickým návrhem Pokročilé možnosti práce s daty a XML, konverze datových formátů Rozsáhlá knihovna komponent a adaptérů Možnost využití Apache Camel pro jednoduché routování zpráv Možnost napojení na workflow engine (Bonita BPM)
Dostupná ve dvou edicích – –
Open source bez licenčních poplatků Enterprise verze formou předplatného
5
Knihovna komponent ›
Komunikační protokoly – – – – –
›
Datové zdroje – –
›
MS SQL Server, Oracle, FireBird a další LDAP
Datové formáty a transformace mezi nimi – –
›
Webové služby SOAP / HTTP(S), REST Messaging MQ, JMS Nativní .Net konektor (volání DLL) Soubory lokální, (S)FTP atd. Windows named pipes
XML, CSV, fixed-length, delimited Nestrukturované – HL7, EDIFACT
Konektory pro business aplikace a cloud – –
Microsoft CRM, SalesForce Amazon, Google
6
Talend Open Studio ›
Vizuální vývojové prostředí postavené na Eclipse s rozsáhlou paletou knihoven
›
Grafický návrh process flows Talend a routes Camel –
›
Grafické mapování dat – –
›
Není nutná znalost jazyka Java
XML, CSV, fixed-length DB tabulky
Integrovaný debugger
7
Infrastrukturní služby ›
Service Activity Monitor – –
›
Service Locator – –
›
Dynamická správa a vyhledávání end-pointů webových služeb Podporuje load-balancing back-endových systémů
Registr služeb (pouze enterprise verze) –
›
Automatické logování veškerých příchozích i odchozích zpráv do DB Korelační identifikátory umožňují sledování toku zpráv pro jeden případ od začátku do konce
Spravuje služby, politiky a přístupy
Autentizace uživatelů a autorizace přístupu ke službám – – – –
Podpora WS-Security, NTLM, basic authenticaton, možnost LDAP Security Token Service – podpora standardů WS-Trust a SAMLv2, jednoduché SSO Autorizace přístupu na základě rolí Enterprise verze obsahuje komplexní identity a access management s web GUI
8
Administrace ›
Základní webová konzole v open-source verzi – – –
›
Přehled běžících služeb a jejich správa (start, stop, refresh, deploy) Správa rolí a uživatelů Prohlížení logů a konfiguračních souborů
Rozšířená administrační konzole (pouze v Enterprise verzi) – –
Komplexní správa identit a přístupů Uživatelské rozhraní k Service Activity Monitoring
9
Monitoring Profinit ESB ›
Adaptéry na monitorovací systémy – –
›
Hyperic HQ dodáván jako součást platformy Profinit ESB Nagios nebo jiný stávající systém zákazníka
Monitorovat lze –
Metriky služeb (dostupnost, doba odezvy, počet vyřízených požadavků, četnost chyb) •
– – –
Monitorovací systém upozorní administrátora při překročení hraničních hodnot metrik
Zprávy ve frontách ActiveMQ Aplikační a systémové logy Stav a vytížení infrastruktury (servery, disky, DB, aplikační kontejner atp.)
10
Systémové požadavky Profinit ESB ›
Doporučená konfigurace serverů – –
›
Operační systém Windows či Linux –
›
Runtime min. 4GB RAM, 2 jádra, doporučeno 8GB RAM, 4-8 jader Zátěžový test: 7GB RAM, 8 jader – cca jednotky tisíc požadavků / sec.
Ve Windows může běžet jako služba
Databáze –
MS SQL Server, Oracle, atp.
11
Metodika návrhu a vývoje služeb ›
Návrh a modelování služeb – –
Schémata generovaná z modelu v repositáři Enterprise Architect Knihovna integračních vzorů s podrobnými popisky scénářů a řešení •
›
SOA governance – –
›
Cílem je standardizovat integraci a omezit variabilitu
Životní cyklus služeb a verzování Evidence služeb v návaznosti na model v Enterprise Architect
Vývoj služeb – –
Sada příkladů navázaná na integrační vzory Best practices
12
Integrační vzory ›
Struktura vzoru – – – – – – –
Problém Řešení problému Modelování Varianty a doporučení Trasování požadavků Ošetření chyb Ukázka implementace
sd Serv iceProxy
cmp Serv iceProxy
:FrontEndSystem
:ESB
:BackEndSystem
«system» FrontEndSystem request() opt
validate message()
«soap/http» SalesService
request()
Service proxy neprovádí transformaci dat
Využití infrastrukturních služeb: logování, auditování, autentizace, autorizace, rozložení zátěže
alt [success or error code]
«system» «service... ESB SalesServ ice
response()
response() process result or error code() [fault] fault()
«soap/http»
fault()
handle error()
SalesService [timeout or communication error]
«system» BackEndSystem
exception()
fault()
handle error()
13
Porovnání s konkurencí
Porovnání s konkurencí – open source ›
Mule ESB – – –
›
Velice dobře hodnoceno Gartnerem, zejména s v oblasti cloudu Dobře zvládnuté transformace dat v grafickém mapperu Implementace webových služeb vyžaduje znalost Javy a včetně EE
Apache ServiceMix / JBoss Fuse – –
Postaveno na Apache Camel, CXF a MQ Ideální pro jednoduché routování zpráv či jednoduché proxy služby •
–
›
Transformace dat i složitější funkce vyžadují dobrou znalost a použití Javy včetně EE
JBoss SwitchYard – –
›
Implementace služby s několika operacemi a transformací dat však ztrácí na přehlednosti
Postaveno na moderní architektuře SCA, běží v kontejneru JBoss První finální verze vydána 2014, velké riziko nestability
WSO2 – –
Má širokou škálu modulů (Service Repository, Business Activity Monitoring atd.) Efektivní middleware pro jednoduché proxy webových služeb •
–
Složitější funkcionalita se ale implementuje velice obtížně
Stručná dokumentace, málo informačních zdrojů 15
Děkujeme za pozornost Profinit, s.r.o., Tychonova 2, 160 00 Praha 6 Tel: +420 224 316 016, www.profinit.eu