ARC304: Case Study - Commonwealth Bank of Australia
SOA Best Practices Commonwealth Bank of Australia CommSee Son Jeung Min Architect Evangelist [email protected] Microsoft Korea Agenda Project Overview Architecture and Design Lessons Learnt Summary 2 CommSee Background Business Goals Enhance customer service capabilities
Single View of Customer Build instead of buy Enhance Premium Financial Services CRM app Common client to replace/integrate BU apps Consume backend services built across the bank Architectural changes required to 3 CBA Objectives & Scope Objectives Architectural and design guidance Future Proofing: Align with future MS technology Knowledge and skills transfer Performance and scalability testing
Scope .NET Smart Client application Common Services Framework 4 Methodology and Approach Agile Iterative, incremental Mitigate risk Test first Different mindset Drive increased quality Pair Programming Natural in co-location Continual Integration Reduces it only works on my machine 5
Agenda Project Overview Architecture and Design Lessons Learnt Summary 6 Changes From To VB 6 Tab-based navigation Single view MDI style C#, WindowsForms .NET Web-like navigation
Role based views Smart Client Portal Variety of comms mechanisms Bespoke backend Batch load Web Services as standard Services framework Real time interfaces 7 Changes (2) From Separate security for each application Maintenance separate from biz process Apps on NT 3.51
etc Many different applications ALT-TAB integration Disparate applications To Common security, centralized based on AD Maintenance tied in with HR processes Apps on Windows XP All functions within single application Seamless integration Contextual awareness 8 Application Architecture
Client tier WinPart Agent WS Proxy Local Cache Private Services Security Configuration Instrumentation SOFA Private service Private
service n Service Helpers Config Data Integration Authz Authn Orchestration Legacy systems SOFA Data storage IFW Service IFW
Service n Mainframe Mainframe n Oracle Active Directory 9 Deployment Overview Branch site Data centre Other Application Servers, Oracle
Smart Client SOFA Farm HIS Farm Mainframe Smart Card Every Service authorized against AD Local AD AD Farm BizTalk Farm 10
User Interface Tier Smart Client Superior user experience Leverage power of client Bandwidth friendly Integration capabilities Developer model Flexible, yet simple Abstract away low-level plumbing Designers, code generators, tools WinParts Adhere to defined programming model Can also easily integrate other components 11 Navigation Workspace WinParts
Are non-blocking Consume data from services 12 Service Tier All interactions via Web Services SOFA High throughput, reliability, availability etc Consolidate data from many sources Stateless Based on EDRA Biztalk Complex orchestrations Long running transactions Host Integration Server 13
Services Tier (2) Public Services Using IBMs IFW banking model and Rational XSD compliant schemas Currently ~125 Private Services Application specific Currently ~600 14 Service Design Based on EDRA 1 Business Action per [WebMethod] Grouped by Team and Subject Team maps 1:1 to vidr (eg CRM) Subject maps 1:* to asmx (eg Customer Details
Use case centric 15 Caching Service side Async increased load Caching handler Reduced load on Mainframe by 40% Client side Config reveals service endpoints and cache-ability In-memory or disk 16 Statistics (Aug 2005) 2.5 MM LOC 10K code files 80 VS solutions
35Mb Client installer 110-120Mb server installer 680 client DLLs 1650 server DLLs (many dupes) ~30 backend systems 17 Security WS-Security model Service All requests authenticated and authorized by SOFA Trust boundary security perimeter Client Authorization for usability Leverage Windows security Traffic encrypted using SSL Currently using IIS, can switch to load balancer
18 Service Security Agent 4. CBT attached to message 2. IIS integrated Authn Return: CBT 3. Get Authorization Info WSE Smart Client WSE Shared secret Business Service
5. Decrypt & verify token Verify msg 6. Authorize Authentication Service Shared secret 1. Logon to Windows Active Directory 19 Operations Leverage existing operations infrastructure Monitoring All services publish extensive array of counters Perfmon BMC Patrol Trans/sec, avg response times etc
Load balancers can Concentrate connections Direct traffic SSL encryption Not using these features currently SOFA Servers Identical software images on each server 20 Deployment Client SMS (previously Radia) Currently all or nothing Server Initially, difficult to get configuration correct Now use Altiris build all servers
identically and quickly Over 700 services on each server, multiple versions 21 Development tools Visual Studio 2003, .NET 1.1 BizTalk nUnit Cruise Control.NET Wise Installer WIX XMLSpy Rational and IFW Scitech .NET memory profiler Custom tools Visual Studio plug-ins for developing WinParts Code Generators Simplified schema generator
22 Statistics (Aug 2005) Users >10,000 total ~7,500 concurrent (peak) Increasing to ~30,000 by end CY05 8x dual 3Ghz CPU Intel SOFA servers 2Gb memory ~40 tps/server (320 tps across farm) CPU ~40% Memory ~70% Expect ~16 servers for ~30,000 users 6x HIS Servers 2x Biztalk servers 3x Solaris nodes for Oracle 23
Mar04 Apr04 Jul04 Sep04 Dec04 Mar05 Core development in Redmond Close connection with Product Groups Virtual team Apr05 ou t *N co ati m on pl al et ro e ll
Qu se ali tu fic p at Ar io n c De hi an sig tec d t n u (R re ed an Co m d nt on in
d) ue d De Pr ve od lo pm uc ti o en n t re Pr le od as uc e tio
1 n re le Pr as od e uc 2 tio n re le Na as co tio e 3 m na m lr e
o ... nce llo s ut Timeline Dec05 Transition to Sydney Integrate into CBA environment Transfer knowledge to dev team CBA MS Redmond MS Australia *Anticipated date 24
Public Service Development Approach (atomic or composite) Information Architect Model in BOM Information Architect Model in IDM and auto-generate XML schema Information Architect Document Service Rules Developer Define XSLT
Identify Service Requirements Business Analyst Identify existing transaction(s) required Business Analyst Develop lightweight XML representation of mainframe transaction Developer Implement business rules and service Developer
Deploy service and documentation Release Manager 25 Highlights CommSee Windows Forms .NET Smart Client ASP.NET Web Services ~30,000 users, 1000+ branches On time, on budget Great user feedback, press Incremental delivery Practical Aug2005: 10,000+ users, 600 branches, all call centers On target to decommission legacy platforms by end 2005
Reuse Mainframe and legacy systems VB6, Win32 front end assets 26 Agenda Project Overview Architecture and Design Lessons Learnt Summary 27 Lessons Learnt Development Memory leaks initially happen! Scitech http://www.scitech.se/ Asynchronous UI Hard to build
Unexpected backend consequences Caching is critical VS Designers = black magic Config Needs to be centrally controlled Frameworks need to be shrink- 28 Lessons Learnt Process Agile process Continuous Build and unit tests Time consuming to setup Pays off Ability to put new code into test environment daily Incremental delivery key
29 Lessons Learnt Operations and deployment All or nothing not a good model Build in auto-update features early Configuration management hard Use a tool Instrument, Instrument, Instrument! 30 Agenda Project Overview Architecture and Design Lessons Learnt Summary
31 Summary CommSee Windows Forms .NET Smart Client ASP.NET Web Services ~30,000 users, 1000+ branches On time, on budget Great user feedback, press Incremental delivery Practical Currently: 10,000+ users, 600 branches, all call centers On target to decommission legacy platforms by end 2005 Reuse Mainframe and legacy systems VB6, Win32 front end assets 32
2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 33
"Oh, The Power To Be Strong And The Wisdom To Be Wise, All These Things Will Come To You In Time. On This Journey That You're Making There'll Be Answers That You'll Seek, And It's You Who'll Climb The Mountain,...
STRATEGIES FOR FACULTY. Do provide students with a detailed syllabus at the beginning of the term. Include due dates for all assignments, quizzes, and exams as well as the reading to be covered and your grading policy. Syllabi which are...
Crash Maths Practise Paper A. Helpful Hints. Helpful Questions to ask yourself at the start of each question. What is the main topic here? e.g. differentiation, trigonometry. What are the key words associated with this topic?
Financial Services. Scenario: Real-time RiskContinuous insight into market conditions and exposure. Continuous low-latency market monitoring. Manage risks across traders and per desk with aggregate and individual thresholds
Disclaimer. These slides do not replace the prescribed material. All prescribed material need to be studied for assignment and examination purposes. Some of the slide content is based on the 2015 Cengage Learning Instructor resources.
Tucks directly under bonnet at the top of the wall to repel rain fall. ... Bent plates used to weld Louver to column. 1 Chop-Saw Paint Repair Equipment 1 Gang Box 6 Fire Blankets 5 sets Protective Equipment 2 Saws...
A: A CSI is an applicant who has submitted: An Application Resume Master's Degree Transcript Proof of LCAS Credentialing Signed Code of Ethical Conduct Documentation of 15 hours of clinical supervision specific training Fingerprint and Authority for Release of Information...
Ready to download the document? Go ahead and hit continue!