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
Prokaryotic Gene Regulation @To conserve resources, prokaryotes regulate their activities, producing only those genes necessary for the cell to [email protected] It would be wasteful for a bacterium to produce enzymes that are needed to make a molecule that is readily...
Mobility models are the evaluation tools for routing protocols and the sources for movement pattern analysis. Analytical results contribute to new mobility models with increased ﬂexibility in reproducing desired network scenarios. Routing protocols can make use of underlying mobile topological...
BILL - become LAW. Bills are prefixed with H.R. when introduced in the House and S. when introduced in the Senate.. Usually applies to public or public monies. Bills deal with domestic and foreign issues and programs, and they also...
- long complex sentences - academic lecture or formal text - shorter sentences, contractions, interruptions, non-fluency features are more frequently found in informal conversations - use of regional dialect or grammar can help place a target audience geographically, socially, or...
In this model, everyone's efforts are harnessed and directed toward the DoD Strategic Mission and Goals. Individuals know the importance of their efforts and how their work fits in with the work of others and the larger organization. ... Fosters...
Why choose WAM? We have a track record in delivering CPD and leadership development. All sessions will be delivered by practising leaders. We offer more face-to-face days than most providers. We offer experienced and highly regarded local coaches. We have...
Allows entry on main team colours (shirt, shorts & socks) if different from club colours. Team . Photos - All players need to have a passport style photograph. If no photograph is present EMC will make that player ineligible. Top...
Overview Using imagery and altimetry to create mosaics and topographic models (DEMs or DTMs), for planning, simulation, training, navigation, and operations Existing and planned data sources <- Just covered by M. Robinson Most important data sources Mapping product formats -...
Ready to download the document? Go ahead and hit continue!