Post on 13-Feb-2017
Op#mizing Service Pla2orms With SOA Governance
Milan Joshi Technical Lead Barclays
Barclaycard US Introduction
Ø US Credit Card Division of Barclays Bank PLC.
Ø Provides Partnership & Co-branded credit cards
Ø 9th largest issuer in the United States
Ø Supports and manages integrations with • Partners like Apple , Priceline, Best Western , LL Bean • Associations like VISA, AMEX • Banking Platforms like TSYS & FDR
Channel & Partner Integrations
Ø Customer Website consuming SOAP Services & leveraging ESB (for bulk loading of account data)
Ø Telephony – Avaya interfacing with Voice XML & leveraging ESB Ø Acquiring Web App leveraging ESB (Apply)
Ø Customer Care – C# application consuming SOAP services Ø Over 70+ Partners – Communication happens using web services both SOAP & REST Ø Account Aggregator – Using the OFX interface to fetch account and transaction data
(www.yodlee.com – leveraging ESB !!!) Ø Vendors – Interacting with vendors like Crowd Twist for Rewards (leveraging ESB !!!)
SOA & Its Stages !!
Ø Create/Expose Services
Ø Identify Services
Ø Test Services
Ø Manage (Monitor) Services
Ø Integrate Services (ESB)
Why ESB ??? Ø Allows loose coupling of
components & processes Ø Provides flexibility for
changing & integrating applications
Ø Centralizes global functions
like logging, security and administration
Ø Allows data to be aggregated
at a point and also routed to multiple destinations reducing number of point to point connections
Why ESB ??? Ø Being Open Source, it is also
comparatively inexpensive Ø The synapse-config provides an insight
of the source code Ø Provides excellent service
orchestration Ø Provides a variety of useful mediators
like throttle, XSLT, clone, Iterate and aggregate
Ø A decent service level monitoring setup Ø API Management Ø Excellent WSO2 support
WSO2 & Governance
Ø Governance is a key issue for SOA
Ø Governance is fundamentally classified into
• Design Time • Change Time • Run Time
WSO2 Governance Registry helps resolve this. It comprises of the following components : Ø Service Registry/Repository
Service Directory Service Interface Storage
Ø Service Manager Service lifecycle management Service version management
Ø Policy Server Policy management
ESB Integration in BarclaycardUS space
WSO2 Components leveraged ….
ESB
Proxies to services
Transforma#ons
APIs (REST & SOAP)
Governance Server
Manage APIs
Service Registry
Monitoring
Service Usage
Call Tracking
Deployment Strategy ??? q Using Maven for building ESB and registry artifacts q Configured build and deployment jobs in Jenkins for continuous
integration q “CAR” based synapse artifact deployments q In the recent past, we have moved away from using the worker/manager
setup of ESB to manager only setup q Yes, so we have moved away from using the SVN based Deployment
Synchronizer. Deployment Synchronizer allows you to synchronize these deployment artifacts across the nodes of a product cluster
Worker – Manager Setup
Use Case (Account Aggregators) Ø Aggregators used to screen scrap our customer website with over 500
logins per minute Ø Goal was to provide them a single API, a proxy that collates, aggregates
and returns them the required data Ø Utilize OFX protocol for complete message transformations returned by
SOAP services Ø Utilize throttling to limit the volume of calls Ø Utilize clone for creating multiple independent requests Ø Utilize aggregate for aggregating data, returning with the complete
aggregated data in OFX format Ø Utilize XSLT for extensive message transformations Ø Utilize Callout for dependent (timed-waited) calls
Use Case (Account Aggregators)
Account Aggregator ThroMle
Enterprise Service Bus REST API
(OFX transforma#ons)
Account
Statement
Payment
Transac#on
Thank You