BOA - KARASH

Download Report

Transcript BOA - KARASH

BOA
Islamic Core Banking Application Development
Platform
BOA (Business Oriented Architecture)
10 months of design and development process
Just enough architecture, more enough business
Simple, Performant, Scalable, 3 tiered architecure
Atomic business components reused in Orchestration
and Process layers
A unique approach: Automated transaction
management
Standardized code generation (Code Generator for
Developers)
Scalable and Fault-Tolerant
3 Tiered Architecture
Technology
.Net Framework 4.0
WPF
WCF, Custom Channel
WAS (Windows Process Activation Service)
Visual Studio .Net 2012
Team Foundation Server 2012
Windows Server 2008 R2 64 Bit
SQL Server 2008 R2
Citrix Netscaler NLB
BOA Architecture
Why WPF ?
Utilize hardware and OS resources
Strong binding capabilities
Next generation rich user experience
Declarative programming
Flexibility of user controls (Listbox, Tooltip)
Style and theme management made easy
Good career path for developers
Microsoft’s New UI Approach is based on WPF
UI Layer
Plug-in architecture
Every screen (resource)
is a seperate dll
Both Web and WPF
forms are supported
Over 100 Wrapped
User Controls
Over 75 Business
Components
Theming
User Components and Forms Inheritance Hiearchy
Implementing
INotifyPropertyChanged
for Binding Mechanism
WPF Inheritance
Mechanism with Base
Forms (Standard WPF
does not support this)
Dialog Forms and
Standard Forms
EditorBase for Editors
BusinessControlBase for
BusinessControls
Automated Generation of Toolbar and
Command Buttons (Actions)
The toolbar is generated
dynamically according
to the rights of the
current user
Actions, rights and
relationship with the
screens are fully
declarative
Even Workflow actions
are generated
accordingly
Command pattern for
the button clicks
The Container
3 Levels of
Navigation Support
(Ribbon, Carousel,
Tree Menu)
Fully Customizable
Screens
Floating Windows
BOA Portal
(Welcome Window)
Last 20 Transactions
Last 20 Customers
My Favorites
My Duties
Quick Access Toolbar
User Experience Studies
User Experience and
Ergonomy Study with
Microsoft and
BunnyFoot in Oxford
Ergonomy Assessment
with the Academic
World (Prof. Dr. Fethi
Çalışır)
As a result: UserCentric Design
Methodology for IU
design
Application Layer
Request/Response Communication
decryption
decompression
UI UI
BOA Response
decompression
decryption
BOA Request
compression
encryption
encryption
compression
NonTransactionalRequest (default)
TransactionalRequest (suitable for
transactional requests)
MultipleRequest
(suitable for batch requests. decreases
round-trips.)
MultipleTransactionalRequest (suitable
for batch transactional requests)
Activation and Transport
Channel Infrastructure
Protocol and channel details are abstracted from the service
design
Declarative transport channel management
Ability to use non-HTTP protocols such as Net-Tcp
Custom Channel
Custom Encryption
Custom Compression
Enterprise Service Bus Topology
Automated worker process health and recovery management
Recycle the worker process if it grows too big or consumes to
much resource
Request throttling: tuning for optimal number of concurrent
connections
BOA Engines
Definition based
(Change without
coding)
Plugin model
(Easily
add/remove)
Developer friendly
model (Minimum
code to
implement)
Auto integrated to
each request
Channeld based
pipeline
Parameterized
Commission
Definitions w/o
Manual Coding
Parameterized
Slip Definitions
w/o Manual
Coding
Commission
Engine
Slip Engine
Account
Exception
Engine
Transaction
Cancellation
Engine
Banknote
Engine
Process
Orchestration
Rule Engine
Rule Engine
Accounting
Engine
Workflow
Engine
Parameterized
Workflows
w/o Manual
Coding
Authorizatio
n Engine
Parameterized
Accounting
Definitions w/o
Manual Coding
Engine Execution Principal
Business Key – BOA’s National ID
Every request stamped
with a unique 27 digit key
Tracking the journey of
request through layers
Execution Tree
No request allowed
without a business key
Client+Server+Database Logging, Journal
4 levels of
logging
All business
transactions
are serialized
to Journal
Logging at Every Layer
Client Errors
+
Performance
Application
Server Errors
+
Performance
Database
triggers
BOALOG
Journal
Tracking/Monitoring the Journal
Tracking any
request
Tracking any
window’s
requests
External Integration
Security
Custom Gzip Compression at transport layer over customized
channel
Rijndael Encryption at transport layer over customized
channel
SSL over Integration Layer
Login branch vs. user branch cross check
Assembly version and hash control
Business Key
Fraud System
Tries to find fraud
transactions of
employees and
customers.
Analyzes abnormal
internet branch
transactions to find
fraud operations.
Analyzes call center
employee actions to
find suspicious persons.
Analyzes customer
actions to find
suspicious transactions.
Fraud Engine
Fraud Subsystem
Fraud
Windows
Service
Fraud
Defination
Fraud
Detection
Fraud Tiger
Team
Integrated Workflow with Full Designer Support
Fluent user friendly
designer
Fully integrated to
transactional
system
Sub Flow
Mechanism
Auto Assigning
based on rules
Easily History
Tracking
Centralized Authorization System
Every Window is a
Resource
Every Button is an
Action
Action Based
Authorization
Authorization For
Workgroups, Roles
and Users
Resource | Channel
Centralized Business Services
BOA Container
BOA Internet
Hundreds of
centralized business
services flows through
18 Channels and 1100
Screens
XTM
EOD
Deposite
Internal
Money
Transfer
Internet
Branch
Change
Password
Business Service Pool
BOA Mobile
Information Engine
BOA COMMUNICATION
E-MAIL
SMS
BOA
Alert
FAX
INSTANCE
BOA COMMUNICATION JOURNAL
DEFINITION
Third Parties
and Other DBs
E-MAIL
QUEUE
COEX
E-MAIL
QUEUE
SMS
QUEUE
COEX
SMS
QUEUE
FAX
QUEUE
COEX
FAX
QUEUE
Rule Engine
Framework embedded
Tightly Coupled and Loosely Coupled rules
No integration needed
Can use BOA Kernel Libraries
End-to-End Transaction Performance Metrics
Any request-anywhere
Durations
Execution Tree
Request content and Response content
Performance HealthCheck Reports and Alerts
Performance
Report Screens
Daily Emailed
Performance
Report
Daily Emailed
Consistency
Report
Daily Emailed
Error Report
Daily Emailed DB
Error Report
Daily Emailed
Slowest Requests
Report
Kuveyt Turk Modules
Important Figures
Info
Count
# of Customers
1.959.996
# of Customer Accounts
4.609.206
# of Core Tables
1499
# of Core Stored Procedures
5914
# of Channels
18
# of Business Actions
6928
# of Resources (Screens)
2349
# of Daily Transaction Count
~1.500.000
# of Daily App. Server Hits
~9.000.000
# of Daily Slip Count
250.000~400.000
Filestream Technology
Infrastructure for the
New Generation
Integrated Document
Management System
Reduced Costs and
Better Performance
Ensuring Transactional
Integrity for Document
Management Operations
Integration with
Transactional System
Automated Business Activation
No Blocking !
Loose Coupling and Workload Flexibility
Related Message Locking
Async Transactional Integrity
SCENARIOS
When money is
deposited, update
blockages
Trigger external fund
transfer without blocking
Fraud controls
Alternative to long
running transactional
database triggers
Rich Device Integration
Smatic – Ticket
Machine
(Numerator)
iHunter (Cash
Counter
Machine)
Camera
Integration For
Customer
Photos
XTM
XTM
Push/Pull Models for Deployment
Flexible package
deployment
Per branch
deployment
Build&Deployment
Automation
Change
Management
Automation using
BCP (Boa Change
Protocol)
Standards Ensured At Every Level
Standard Solution Structure
Standart
Coding
Blocks
Standart Snippets
Standart Stored
Procedures
Preset Project and Form Templates for Developer
Project Templates
Business
Orchestration
Types
UI
Form Templates
Browse Form
Transaction Form
Transactional
Browse Form
BOA Code Metrics – Maintainability Index
Halstead Volume (V)= N * log2 n
N (Program Length) = Total # of Operators and Operands, n = unique # of operators and operands
Project
* Maintainability Cyclomatic
Index
Complexity
BOA.Base
75
BOA.BusinessBus
78
BOA.Common
92
BOA.Common.Constant
95
BOA.Integration
83
BOA.Orchestration
66
BOA.Process
43
BOA.Proxy
80
BOA.ServiceBus
77
BOA.UI
82
BOA.UI.Business
93
BOA.UI.Business.Customer360
100
BOA.UI.Common
95
BOA.UI.Container
77
BOA.UI.Exceptions
95
BOA.UI.Resources
89
BOA.UI.Splash
100
BOA.WCFService
82
BusinessObjects\BOA.Business.Internal
57
BusinessObjects\BOA.Business.Kernel
56
BusinessObjects\BOA.Business.Security
56
207
1100
6954
16
39
1026
405
86
199
2117
1541
0
67
476
16
76
1
10
256
1155
107
Green (good)
Yellow (so so)
Red (bad)
: 20 - 100
: 10 - 19
: 0 - 9
Depth of
Class
Lines of Code
Inheritance Coupling
2
60
503
2
143
3778
6
357
8136
1
5
33
1
19
79
1
388
3361
1
83
1420
2
55
236
3
105
496
13
434
4505
11
365
3581
1
0
0
1
25
132
3
207
988
4
3
16
1
22
106
1
0
1
1
4
28
2
59
1862
2
191
6903
2
42
611
Munich Benchmark
October 2009
8 Application Servers (Total 68 cores), 1 SQL Server
(16 cores, 60 GB RAM)
2,950 Financial Transactions/sec
36,000 SQL Transactions/sec
Avg. Response Time: 30 ms.
Seattle Benchmark
March 2010
49 Application Servers (552 Cores), 1 SQL Server
(48 Cores, 128 GB RAM)
14,200 Financial Transactions/sec
102,000 SQL Transactions/sec
Avg. Response Fime: 20 ms.
World Record
Adoption to ITIL V 3.0 Processes
Synthetic Transactions Channel for Diagnostics and
Monitoring
Performance and Service Interruption Management
Coexistance Methodology
Immediate/Delayed Synchronization
Both systems coexisting “Peacefully”
Smooth Culture and Module Transitions
Low burden on resources