Ř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 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 Vizuální vývojové nástroje v prostředí Eclipse Grafický návrh mapování dat i procesů Monitoring pomocí Hyperic HQ nebo vašeho stávajícího nástroje Metriky služeb, stav infrastruktury Metodika modelování služeb v Enterprise Architect 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 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 Datové zdroje MS SQL Server, Oracle, FireBird a další LDAP Datové formáty a transformace mezi nimi 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 Není nutná znalost jazyka Java Grafické mapování dat XML, CSV, fixed-length DB tabulky Integrovaný debugger 7
Infrastrukturní služby Service Activity Monitor 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 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) 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ů 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. Operační systém Windows či Linux Databáze Ve Windows může běžet jako služba 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í Cílem je standardizovat integraci a omezit variabilitu SOA governance Ž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 cmp Serv iceproxy «system» FrontEndSystem «soap/http» SalesService «system» «service... ESB SalesServ ice sd Serv iceproxy :FrontEndSystem :ESB :BackEndSystem alt request() [success or error code] response() opt process result or error code() validate message() request() response() Service proxy neprovádí transformaci dat Využití infrastrukturních služeb: logování, auditování, autentizace, autorizace, rozložení zátěže «soap/http» [fault] fault() fault() SalesService «system» BackEndSystem handle error() [timeout or communication error] fault() handle error() exception() 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 Implementace služby s několika operacemi a transformací dat však ztrácí na přehlednosti Transformace dat i složitější funkce vyžadují dobrou znalost a použití Javy včetně EE JBoss SwitchYard 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