Case Study: New Client Adoption and Reverse Check: HWA+iControl
In this blog, we will look at a banking case study wherein we are going through the “New Client Adoption and Reverse Check” business process. This is a very important process in the banking industry, so as we look into the business process, we will also look at the associated Business KPIs and how they are tracked by iControl at the business level. As the whole process is automated in HCL Workload Automation (HWA), we will see how any potential KPI breach is addressed by HWA in real time and the how the automated recovery is carried out in HWA. This ultimately prevents a real SLA breach from happening.
New Client Adoption and Reverse Check Business Process:
This is an important process for the banking industry, as nightly batches of screen potential customers and existing customers run to keep a tab on customers who are part of various types of sanctions lists. Highlighted below are the steps in the business process that enable this feature:
- Pull a list of individuals/customers who have political exposure or are part of the Political Exposure Watchlist
- Pull a list of individuals/customers who are part of the Adverse Media Watchlist
- Pull a list of individuals/customers who are part of the sanctions lists of other countries
- Download all the three watchlists from the URLs of different regulatory authorities over REST API
- Load all watchlists into the database of the bank for reference
- Load client records from the Internal DB of the bank to fetch both new customers as well as existing customers of the bank from the bank’s core banking system
- Technical checks are performed on the client records, based on the watchlists downloaded
- Screening process is carried out on the client records, based on the watchlists downloaded to capture exceptions
- Each exception is then separately investigated on a separate case-by-case basis
There are various KPIs associated with this process, which need to be tracked in real time and acted upon so that we don’t breach any business SLA. This also allows for business processes to finish within a specific timeline and for deadlines to be met.
Here are just some of the KPIs that are tracked in real time during this process:
- The screening records for Politically Exposed Persons (PEP) must be received by agreed thresholds
- The screening records for Adverse Media Watchlists must be received by agreed thresholds
- The screening records for “Other Sanctions Lists” must be received by agreed thresholds
- The number of watchlists not loaded successfully must be equal to the agreed thresholds
- All watchlists should be loaded into the system within agreed thresholds
The entire business process is to be carried out prior to business hours every day and should be ready by 9 a.m. each morning.
Solution Realization in HCL Workload Automation and iControl :
The entire flow is automated within HCL Workload Automation for consistency and ease of use, coupled with security measures. Highlighted below are the steps of the automated business process:
- RESTFUL job pulls all PEP/customers through regulatory authorities by using a RESTFUL call from a URL shared specifically for this purpose by the Regulatory Authority
- RESTFUL job pulls all Adverse Media individuals/customers through Regulatory Authorities by using a RESTFUL call from a URL shared specifically for this purpose by the Regulatory Authority
- RESTFUL job pulls all sanctioned individuals/customers from other countries exposed through Regulatory Authorities of other countries by using a RESTFUL call from a URL shared specifically for this purpose by the Regulatory Authority
- File transfer job which downloads all watchlists from various sources locally within the bank
- DB job loads watchlists job into the bank database
- DB job fetches all client records–existing and new– from the bank database
- AWS Lambda Step job or similar carries out several technical checks on client records, based on the watchlists downloaded
8. AWS Lambda Step job or similar carries out a screening of client records based on the watchlists downloaded, to capture exceptions. Each exception is then separately investigated on a case-by-case basis (manually) outside the workflow as part of overall business process and tracked via iControl
In each of the above steps, KPIs are tracked in real time through iControl .
Example and illustration of the process:
Flow within iControl to drive the anti-money-laundering process:
Flow within HCL Workload Automation that drives the anti-money-laundering process:
Flow in action within HCL Workload Automation:
- At 06:15pm IST, the Adverse Media Watchlist job starts executing from the HWA-defined start time
- At 08:15pm IST, the PEP screening job starts running, based on defined start time
- At 08:30pm IST, the Sanction Lists job starts executing, based on defined start time
- As jobs execute the HWA-defined start times and end times, stats are relayed to iControl, along with the job log information
- If the Adverse Media Watchlists job abends, you will see an error message:
In the job log, issues with the feed or exceptions must locate a new replacement file. Once the replacement file is obtained in the system, the job executes again. This time, the job finishes successfully and fetches the Adverse Media Watchlist:
KPIs Breached in iControl :
iControl tracks the associated KPIs that are affected due to the failure:
- “The screening records for adverse media must be received by the agreed threshold”
- Business is aware and kept informed that the KPI affected due to this Batch Job Abend
Successful Run post receiving the Replacement File:
The PEP screening job also completes successfully within a few minutes, as does the Sanctions Lists job.
The file transfer job downloads watchlists for Adverse Media, PEP Screening and Sanctions record pull etc. from a repository mandated by a Regulatory Authority. The job starts around 08:30pm IST and finishes by 08:34pm IST.
The Load Client Record job starts around 08:34 pm IST and finishes within a few seconds.
The Load Watchlists job starts running by 08:34pm IST and after downloading the PEP List and Adverse Media Listing, the DB Connections get exhausted and are stuck:
= JOB : MASTER_DA#NEW_CLIENT_ADOPT[(0000 01/23/23),(0AAAAAAAAAAAAJSW)].LOAD_WATCHLISTS
= USER : unixda
= JCLFILE : /home/unixda/LoadWatchLists.sh
= TWSRCMAP :
= AGENT : MASTER_DA
= Job Number: 584130431
= Mon 01/23/2023 20:34:17 IST
Loading WatchLists into Databases
[09/09/22 16:12:02:835 ICT] 00000001 com.ibm.ws.kernel.launch.internal.FrameworkManager I CWWKE0002I: The kernel started after 0.935 seconds
[09/09/22 16:12:02:881 ICT] 0000002c com.ibm.ws.kernel.feature.internal.FeatureManager I CWWKF0007I: Feature update started.
[09/09/22 16:12:03:366 ICT] 00000020 com.ibm.ws.security.ready.internal.SecurityReadyServiceImpl I CWWKS0007I: The security service is starting…
[09/09/22 16:12:04:053 ICT] 00000024 com.ibm.ws.cache.ServerCache I DYNA1001I: WebSphere Dynamic Cache instance named baseCache initialized successfully.
[09/09/22 16:12:04:053 ICT] 00000024 com.ibm.ws.cache.ServerCache I DYNA1071I: The cache provider default is being used.
[09/09/22 16:12:04:053 ICT] 00000024 com.ibm.ws.cache.CacheServiceImpl I DYNA1056I: Dynamic Cache (object cache) initialized successfully.
[09/09/22 16:12:04:460 ICT] 00000038 com.ibm.ws.security.token.ltpa.internal.LTPAKeyCreateTask I CWWKS4105I: LTPA configuration is ready after 0.070 seconds.
[09/09/22 16:12:04:460 ICT] 00000020 com.ibm.ws.security.ready.internal.SecurityReadyServiceImpl I CWWKS0008I: The security service is ready.
[09/09/22 16:12:06:006 ICT] 00000020 com.ibm.ws.sib.utils.ras.SibMessage I CWSID0108I: JMS server has started.
[09/09/22 16:12:06:116 ICT] 00000020 com.ibm.ws.security.jaspi.AuthConfigFactoryWrapper I CWWKS1655I: The default Java Authentication SPI for Containers (JASPIC) AuthConfigFactory class com.ibm.ws.security.jaspi.ProviderRegistry is being used because the Java security property authconfigprovider.factory is not set.
[09/09/22 16:12:06:381 ICT] 00000020 org.apache.cxf.bus.osgi.CXFActivator I Adding the extensions from bundle com.ibm.ws.org.apache.cxf.cxf.rt.ws.addr.2.6.2 (206) [org.apache.cxf.ws.addressing.policy.AddressingAssertionBuilder, org.apache.cxf.ws.addressing.policy.UsingAddressingAssertionBuilder, org.apache.cxf.ws.addressing.policy.AddressingPolicyInterceptorProvider, org.apache.cxf.ws.addressing.impl.AddressingWSDLExtensionLoader, org.apache.cxf.ws.addressing.WSAddressingFeature, org.apache.cxf.ws.addressing.MAPAggregator]
[09/09/22 16:12:06:397 ICT] 00000020 org.apache.cxf.bus.osgi.CXFActivator I Adding the extensions from bundle com.ibm.ws.org.apache.cxf.cxf.rt.bindings.soap.2.6.2 (209) [org.apache.cxf.binding.soap.SoapBindingFactory, org.apache.cxf.binding.soap.SoapTransportFactory]
[09/09/22 16:12:06:397 ICT] 00000020 org.apache.cxf.bus.osgi.CXFActivator I Adding the extensions from bundle com.ibm.ws.org.apache.cxf.cxf.rt.bindings.xml.2.6.2 (215) [org.apache.cxf.binding.xml.XMLBindingFactory, org.apache.cxf.binding.xml.wsdl11.XMLWSDLExtensionLoader]
[09/09/22 16:12:06:397 ICT] 00000020 org.apache.cxf.bus.osgi.CXFActivator I Adding the extensions from bundle com.ibm.ws.org.apache.cxf.cxf.rt.frontend.jaxws.2.6.2 (217) [org.apache.cxf.jaxws.context.WebServiceContextResourceResolver]
[09/09/22 16:12:06:397 ICT] 00000020 org.apache.cxf.bus.osgi.CXFActivator I Adding the extensions from bundle com.ibm.ws.org.apache.cxf.cxf.rt.management.2.6.2 (219) [org.apache.cxf.management.InstrumentationManager]
[09/09/22 16:12:06:397 ICT] 00000020 org.apache.cxf.bus.osgi.CXFActivator I Adding the extensions from bundle com.ibm.ws.org.apache.cxf.cxf.rt.transports.http.2.6.2 (223) [org.apache.cxf.transport.http.HTTPTransportFactory, org.apache.cxf.transport.http.HTTPWSDLExtensionLoader, org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder, org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder, org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorProvider]
[09/09/22 16:12:06:397 ICT] 00000020 org.apache.cxf.bus.osgi.CXFActivator I Adding the extensions from bundle com.ibm.ws.org.apache.cxf.cxf.rt.ws.policy.2.6.2 (225) [org.apache.cxf.ws.policy.PolicyEngine, org.apache.cxf.policy.PolicyDataEngine, org.apache.cxf.ws.policy.AssertionBuilderRegistry, org.apache.cxf.ws.policy.PolicyInterceptorProviderRegistry, org.apache.cxf.ws.policy.PolicyBuilder, org.apache.cxf.ws.policy.PolicyAnnotationListener, org.apache.cxf.ws.policy.attachment.ServiceModelPolicyProvider, org.apache.cxf.ws.policy.attachment.external.DomainExpressionBuilderRegistry, org.apache.cxf.ws.policy.attachment.external.EndpointReferenceDomainExpressionBuilder, org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider, org.apache.cxf.ws.policy.mtom.MTOMAssertionBuilder, org.apache.cxf.ws.policy.mtom.MTOMPolicyInterceptorProvider]
[09/09/22 16:12:06:819 ICT] 00000020 com.ibm.ws.security.wim.VMMService I CWIMK0009I: The user registry federation service is ready.
[09/09/22 16:12:08:585 ICT] 00000024 com.ibm.ws.transport.iiop.internal.ORBWrapperInternal A CWWKI0001I: The CORBA name server is now available at corbaloc:iiop:localhost:2809/NameService.
[09/09/22 16:12:09:319 ICT] 00000045 com.ibm.ws.app.manager.AppMessageHelper I CWWKZ0018I: Starting application TWSEngineModel.
[09/09/22 16:12:09:319 ICT] 00000039 com.ibm.ws.app.manager.AppMessageHelper I CWWKZ0018I: Starting application SchedulerEAR
[09/09/22 16:12:09:319 ICT] 00000045 bm.ws.app.manager.ear.internal.EARDeployedAppInfoFactoryImpl I CWWKZ0135I: The TWSEngineModel application is using the expanded directory at the D:\Program Files\wa\usr\servers\engineServer\apps\TWSEngineModel.ear location.
[09/09/22 16:12:09:319 ICT] 00000039 bm.ws.app.manager.ear.internal.EARDeployedAppInfoFactoryImpl I CWWKZ0135I: The SchedulerEAR application is using the expanded directory at the D:\Program Files\wa\usr\servers\engineServer\apps\SchedulerEAR.ear location.
[09/09/22 16:12:09:600 ICT] 00000038 com.ibm.ws.webcontainer.osgi.webapp.WebGroup I SRVE0169I: Loading Web Module: RESTAPIDiscoveryUI.
[09/09/22 16:12:09:600 ICT] 00000031 com.ibm.ws.webcontainer.osgi.webapp.WebGroup I SRVE0169I: Loading Web Module: PublicRESTAPIDiscoveryServlet.
[09/09/22 16:12:09:600 ICT] 00000054 com.ibm.ws.webcontainer.osgi.webapp.WebGroup I SRVE0169I: Loading Web Module: com.ibm.ws.rest.api.discovery.subscription.
[09/09/22 16:12:09:600 ICT] 00000040 com.ibm.ws.webcontainer.osgi.webapp.WebGroup I SRVE0169I: Loading Web Module: ibm/api.
[09/09/22 16:12:09:600 ICT] 0000003a com.ibm.ws.webcontainer.osgi.webapp.WebGroup I SRVE0169I: Loading Web Module: PublicRESTAPIDiscoveryUI.
[09/09/22 16:12:09:600 ICT] 00000040 com.ibm.ws.webcontainer I SRVE0250I: Web Module ibm/api has been bound to default_host.
[09/09/22 16:12:09:600 ICT] 00000038 com.ibm.ws.webcontainer I SRVE0250I: Web Module RESTAPIDiscoveryUI has been bound to default_host.
[09/09/22 16:12:09:600 ICT] 00000054 com.ibm.ws.webcontainer I SRVE0250I: Web Module com.ibm.ws.rest.api.discovery.subscription has been bound to default_host.
[09/09/22 16:12:09:600 ICT] 00000031 com.ibm.ws.webcontainer I SRVE0250I: Web Module PublicRESTAPIDiscoveryServlet has been bound to default_host.
[09/09/22 16:12:09:600 ICT] 0000003a com.ibm.ws.webcontainer I SRVE0250I: Web Module PublicRESTAPIDiscoveryUI has been bound to default_host.
Export: Release 220.127.116.11.0 – Production on friday, 09 September, 2022 16:18:01
Copyright (c) 2018, 2019, Oracle. All rights reserved.
Connected to: Oracle Database 10g Express Edition Release 18.104.22.168.0 – Production
Starting SYSTEM.SYS_EXPORT_SCHEMA_01: SYSTEM/******** SCHEMAS=hr
DIRECTORY=dmpdir DUMPFILE=schema.dmp LOGFILE=expschema.log
Estimate in progress using BLOCKS method…
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 448 KB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE
Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
Processing object type SCHEMA_EXPORT/VIEW/VIEW
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/TRIGGER
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported PEP.WATCHLIST 6.093 GB 225 rows
. . exported ADVERSEMEDIA.WATCHLIST 6.640 GB 227 rows
[09/09/22 16:12:09:600 ICT] [ERROR] [pool-3-thread-3] riodicNotificationService – Error org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a connection, pool exhausted
Associated KPIs on iControl Side :
- “The number of watchlists not loaded successfully must be equal to the Agreed thresholds”
- “All watchlists should be loaded in the System within the Agreed Threshold”
So the business becomes aware of the associated KPIs affected, given the long-running job.
An event rule named CONNPOOL_EXTEND is defined, which would execute when the Load Watchlists job goes beyond the max duration, which in turn executes the recovery action to extend the connection pool—and accommodates more connections:
Next the CARRYOUT_SCREENING job is executed at around 08:39pm and completes by 08:41pm IST.
This completes the whole AML chain within the SLA, with every step tracked closely for Business KPIs, as well as individual steps within HWA.
Using a solution comprised of HCL Workload Automation and HCL iControl, we are able to completely automate each step in the anti-money-laundering process, while also tracking each step in real time. In case of any job failures or long runners, we can readily track the Business KPIs in real time, which affects business contacts/owners directly. With HCL’s iControl, you can automate recovery in each step of the process (through HWA via Event Rules or Conditional Dependencies). Contact your HCL Software expert to get started.