ARC304: Case Study - Commonwealth Bank of Australia

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

Recently Viewed Presentations

  • Been there, done that (III)Time to move on

    Been there, done that (III)Time to move on

    "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,...
  • Accommodating Students with Disabilities Responsibilities and Recommendations for

    Accommodating Students with Disabilities Responsibilities and Recommendations for

    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 - Mrs Mahoney

    Crash Maths Practise Paper A - Mrs Mahoney

    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?
  • DAT204: Real-time Data Management with Microsoft StreamInsight

    DAT204: Real-time Data Management with Microsoft StreamInsight

    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
  • We Beat The Street - woodbridge.k12.nj.us

    We Beat The Street - woodbridge.k12.nj.us

    Chapter 2. Rameck. Attends Catholic School. He gets bored in school. Spends a lot of time in the office in trouble. Was sent to the office because he was throwing pencils in the air to hit the ceiling
  • Chapter 13

    Chapter 13

    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.
  • Ring Wall Ventilation System Readiness Review 11 December

    Ring Wall Ventilation System Readiness Review 11 December

    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...
  • Board Overview and Credentialing Al Greene Institute 2015

    Board Overview and Credentialing Al Greene Institute 2015

    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...