2. Agenda
What is SOA
How it could benefit Banking Industry
Concern on Performance Issues with SOA
Service Level Agreements (SLA’s) for SOA
Infrastructure & Capacity Planning
Key to SOA Performance Testing
SOA Performance Testing Challenges
Overcoming Challenges
Methodology and Approach
TCS’s Experience in SOA Market
Summary
3. What is SOA
Service Oriented Architecture
Architectural pattern/model
Variety of heterogeneous systems (dissimilar)
Different locations and owners
Web Services?
SOA creates a lot of value which could be divided into
four basic categories:
Reduces expensive integration
Allows for more asset reuse
Increased business agility
Reduces business risk
4. How it could benefit Banking Industry
In order to be successful in Banking, the Banking
Industry needs to be customer-centric. Becoming more
customer-centric requires banks to focus on four key
areas:
Customer Information Management
Multi-Channel Integration
Operational Excellence
Intelligent Inbound Cross-Selling
5. Customer Information Management
Bank wants an easy way to access customer, product, and account
information spread across all lines-of-business.
Deploying SOA, where customer data can be consolidated and integrated
across the different product silos, can provide a single, comprehensive real-
time view of a customer’s relationship with the bank. By connecting back-
end legacy systems to front-end delivery channels, an SOA enables
customer data to be made available in real-time at all the bank’s touch
points – ATMs, online banking, call centers and retail branches – so that the
bank is able to provide accurate, personalized service based on a complete
relationship profile.
6. Multi-Channel Integration
Customers want to interact with their
bank using a variety of channels.
However, over time, channel growth and
expansion has led to lack of integration
between channels as they are often
managed separately from one another.
The result is little or no sharing of
information across the different channels,
unsatisfactory multi-channel experience
for the customer.
Traditional point-to-point
integration approach
7. Multi-Channel Integration Cont.
Adopting an SOA approach delivers a
more consistent multi-channel
experience. Data, applications and
processes are exposed as services,
which can be re-used across the
different channels, ensuring that all
channels have access to a common
set of processes, systems and data.
Banks can achieve tighter
coordination and integration of their
channels so that customer
interactions can be managed, tracked
and completed across multiple
channels. For example, a customer
can initiate an activity such as
applying for a loan via one channel
and complete it using another.
Converging isolated back-office systems into a single,
consistent data and services hub
8. Operational Excellence (By Automation)
A complex IT environment can lead to automation gaps in business
processes, which result in customer service issues. For example, a
fragmented mortgage origination process often leads to lengthy
‘time to offer’ cycles, which ultimately causes the customer to be so
frustrated that he ends up taking his business elsewhere.
BPM technology can help banks achieve operational excellence by
bridging automation gaps and enabling banks to standardize on
best-in-class practices across the different channels and product
lines.
Advantages:
Reduced processing time
Reduction of employee cost
by automation
Adjust business rules rapidly
Increased Accuracy
10. Intelligent Inbound Cross-Selling
Banks have now reached a position where they know their customers well,
are servicing them effectively and efficiently and can better understand their
present and future needs.
This presents an ideal environment in which banks can generate
opportunities for intelligent inbound cross-selling.
11. Concern on Performance Issues with SOA
Can implementation of SOA affect
performance?
YES.
SOA offers enterprises the
flexibility and efficiency they need,
but they can have unforeseen
effects on the overall performance
and scalability in production.
SOA applications are composite
applications, composed of many
services often developed, tested,
and deployed independently by
separate development teams,
therefore more vulnerable to
network outages.
12. SOA Application must satisfy SLA
A service-level agreement (SLA) is a formal contract
between a service provider and a consumer
Service availability
Performance
Traffic levels
Messages / queries per hour / minute / second
Response time
Rejected transactions
Errors
… Poor Response Time
Missed SLA
Noncompliance with industry
and government regulations
13. What to do now?
Hence in order to fulfill the SLA, and sort out performance,
availability and scalability issues we must
Proactively do necessary analysis and do proper capacity
planning, followed by implementation and testing.
In production, do an end-to-end monitoring of the performance
across all application tiers, back-end databases and Web Services,
to pinpoint and address performance bottlenecks within the
application and find root causes.
14. Capacity Planning
Within the network infrastructure there are many components that impact
performance and capacity including connection speeds, routers, switches,
traffic load balancers, encryption (SSL) and transformation (XLST)
accelerators, application server, database.
SOA is a composite application made of services with varying performance
and availability characteristics. One must consider the SLA of every service
within the composite service since the weakest link impacts overall
performance and availability.
To establish a capacity plan one must establish the baseline performance
characteristics of the infrastructure then plan for future growth. Once the
initial infrastructure is setup, establish a set of processing patterns to test
capacity. The processing patterns need to cover typical SOA design patterns
and exercise all the components within the infrastructure. Processing
patterns should include a mix of simple, medium and complex patterns. For
example, a simple pattern would be validate (a schema), transform (XLST)
and publish (a message). More complex patterns would include work flows,
database lookups (cross reference and enrichment), message routing and
database transactions.
15. Infrastructure Best Practices
* Properly plan for infrastructure cost, time, deliverables and
dependences as part of the SOA project plan
* Consider professional services for hardware sizing, software
installation, configuration and certification
* Put the software vendor on the hook to support the initial
architecture, configuration and performance of the infrastructure
* Dedicate an administrator to the SOA infrastructure early in the
project to work with the vendor though the installation, configuration
and testing
* Send the administrator to the administration training courses
* Do a capacity test on the production environment before
deployment
* Track your systems dependencies and include them in an
operations guide as part of project transition
16. Key to SOA Performance Testing
The key to successful performance testing in general require:
Understanding the application and the infrastructure
Understanding the user/stakeholders of the application
Generate accurate anticipated volumes of traffic
Investigate the impact of the traffic on the application and systems
under test
SOA Adds Complexity to Performance Testing
Wide range of technologies
Many different applications and usages
Different hardware / infrastructure
Knowledge of the application and the technologies
Replicating traffic patterns
17. SOA Performance Testing Challenges
SOA being a distributed environment, find candidates with right skill sets
who possess in-depth knowledge of involved platforms, applications,
databases and any middleware.
Assign appropriately skilled team of performance engineers to the test effort
with knowledge of the systems to monitor and analyze the impact of testing
An in-depth understanding of the service is required for adequate testing
and evaluation
A significant increase in testing activities and test assets (performance
testing suites that include sophisticated harnesses and stubs) will be
required at a service level
Predicting the future usage of services to assist with performance, load,
stress, scalability
Test strategy differs from traditional testing and generally has to encompass
many internal political factors e.g. ownership and responsibility
18. Overcoming Challenges
To simplify performance testing for SOA
applications break them down into the
smallest components possible:
Individual Service
Systems
Databases
Technology
Protocols
Messaging
Functionality
Evaluate and analyze the performance of
individual services based on components
19. Methodology and Approach
Discovery: Narrow the testing event to the smallest element/service and
understand the transaction, application service and the
environment/systems
Test Plan: Document the testing approach and the expected deliverables
Automation: Develop automation to replicate transactions
Test Execution: Conduct testing generating traffic increasing the traffic to
pre-defined levels
Monitoring: Monitor the response time for the requests sent under varying
traffic levels and the impact of the traffic on the application and
infrastructure under varying traffic levels
Measurement and Analysis: Analyze the traffic patters to with the
traffic/load
20. Test Planning
Test Plan - Document the Following:
Services and sub services
Infrastructure
Transaction
Automation
Data
SLA requirements (load/transactions)
Pass / fail criteria
21. Test Execution
Load Testing (up to defined SLA transactions per second or other)
Stress Testing (up to service failure)
Volume Testing (introducing large amounts of data into system)
Reliability Testing (high levels of load over long periods of time)
22. Monitoring
Load Size (transactions per second/other)
Throughput
Response Time
Hardware
OS
Disk
Web (for Web Services)
Application specific counters
Database
23. Monitoring Tools
Standard Business Activity Monitoring (BAM) Tools are available in the market to
Enable business operations workers and managers to:
Monitor business processes & services in real-time
Key Performance Indicators (KPIs)
Service-Level Agreements (SLAs)
Analyze events as they occur through complex event processing
Correlate events & key performance indicators
Identify trends as they emerge
Alert users to bottlenecks, exceptions,
and solutions to business problems
Act on current conditions either automatically or manually
Event-driven Alerts
Real-time Dashboards
BPEL Processes & Web Services Integration
Provides IT with a set of web-based applications to:
Capture real-time data from any database, message queue or application
Construct data objects for analysis
Define metrics, dashboards, alerts & automated actions
24. Summary
Banking and financial sector can be highly benefited by adopting SOA
SOA is not a destination, it’s a journey
For making SOA success good planning, implementation and monitoring is
mandatory
SLAs play critical role in success of SOA based projects