Presentation is loading. Please wait.

Presentation is loading. Please wait.

SOA Best Practices Commonwealth Bank of Australia – CommSee

Similar presentations


Presentation on theme: "SOA Best Practices Commonwealth Bank of Australia – CommSee"— Presentation transcript:

1 SOA Best Practices Commonwealth Bank of Australia – CommSee
17년 4월 20일 23시 12분 18초 SOA Best Practices Commonwealth Bank of Australia – CommSee Son Jeung Min Architect Evangelist Microsoft Korea © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

2 Agenda Project Overview Architecture and Design Lessons Learnt Summary

3 CommSee Background Business Goals Single View of Customer
17년 4월 20일 23시 12분 18초 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 scale from 2000 to ~30,000 users © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

4 CBA Objectives & Scope Objectives Scope
17년 4월 20일 23시 12분 18초 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 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

5 Methodology and Approach
17년 4월 20일 23시 12분 18초 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” Artifacts Functional and technical specifications on various areas Weekly status reports Architecture and design documents Reference implementation Developer notes Etc... Principle: translate guidance into code, make it easy for developers to use © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

6 Agenda Project Overview Architecture and Design Lessons Learnt Summary

7 Changes From To C#, WindowsForms .NET VB 6 Web-like navigation
17년 4월 20일 23시 12분 18초 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 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

8 Changes (2) From To Common security, centralized based on AD
17년 4월 20일 23시 12분 18초 Changes (2) From To Separate security for each application Maintenance separate from biz process Apps on NT 3.51 etc… Common security, centralized based on AD Maintenance tied in with HR processes Apps on Windows XP Many different applications ALT-TAB integration Disparate applications All functions within single application Seamless integration Contextual awareness © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

9 Application Architecture
17년 4월 20일 23시 12분 18초 Application Architecture Client tier Configuration Instrumentation Security WinPart Local Cache Agent WS Proxy Private Services SOFA Private service Private service n Config Authz Authn Service Helpers Data Integration Orchestration 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 Oracle database “Public Services” Using IBMs IFW banking model and Rational XSD compliant schemas Currently ~125 “Private Services” Application specific Currently ~600 Legacy systems SOFA Data storage IFW Service IFW Service n Oracle Active Directory Mainframe Mainframe n © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

10 Deployment Overview Other Application Servers, Oracle Smart Client
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

11 User Interface Tier Smart Client Developer model “WinParts”
17년 4월 20일 23시 12분 18초 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 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

12 Navigation Workspace WinParts Are non-blocking Consume data from services

13 Service Tier All interactions via Web Services SOFA Biztalk
High throughput, reliability, availability etc… Consolidate data from many sources Stateless Based on EDRA Biztalk Complex orchestrations Long running transactions Host Integration Server Oracle database

14 Services Tier (2) Public Services Private Services
Using IBMs IFW banking model and Rational XSD compliant schemas Currently ~125 Private Services Application specific Currently ~600

15 Service Design Based on EDRA Grouped by Team and Subject
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

16 Caching Service side Client 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

17 Statistics (Aug 2005) 2.5 MM LOC 10K code files 80 VS solutions
17년 4월 20일 23시 12분 18초 Statistics (Aug 2005) 2.5 MM LOC 10K code files 80 VS solutions 35Mb Client installer Mb server installer 680 client DLLs 1650 server DLLs (many dupes) ~30 backend systems 2.5 MM (25,000 코드 라인) © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

18 Security WS-Security model Service Client Traffic encrypted using SSL
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

19 3. Get Authorization Info
Service Security Shared secret Smart Client Business Service 4. CBT attached to message WSE WSE Agent 2. IIS integrated Authn Return: CBT 5. Decrypt & verify token Verify msg 3. Get Authorization Info 6. Authorize Authentication Service Shared secret 1. Logon to Windows Active Directory

20 Operations Leverage existing operations infrastructure Monitoring
17년 4월 20일 23시 12분 18초 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 Load balancers can... Take out servers if they are having problems © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

21 Deployment Client Server 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

22 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 Dependency tool

23 Statistics (Aug 2005) Users 8x dual 3Ghz CPU Intel SOFA servers
>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

24 Timeline Core development in Redmond
17년 4월 20일 23시 12분 18초 Timeline Architecture and Design (Redmond) Continued Development Production release 1 Production release 2 Production release 3 National rollout commences *National rollout complete Qualification and setup ... Mar04 Apr04 Jul04 Sep04 Dec04 Mar05 Apr05 Dec05 Core development in Redmond Close connection with Product Groups Virtual team CBA MS Redmond MS Australia Transition to Sydney Integrate into CBA environment Transfer knowledge to dev team Project execution Agile development Weekly iterations Meetings with various product group experts across Microsoft Virtual team Several different teams from CommSee Difficult to bring them all together and get them focused on ks goal Total of 16 people at peak including: Various CBA teams Readify (a partner) MCS resources *Anticipated date © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

25 “Public” Service Development Approach (atomic or composite)
17년 4월 20일 23시 12분 18초 “Public” Service Development Approach (atomic or composite) Identify Service Requirements Business Analyst Identify existing transaction(s) required Business Analyst Information Architect Model in BOM Develop lightweight XML representation of mainframe transaction Developer Model in IDM and auto-generate XML schema Information Architect Before using IFW, we previously used to model directly in an XML schema. This approach served us well initially, but as the scale of our delivery increased, it became a bottle-neck to development, and would have been difficult to maintain in the future. Modelling in IFW has allowed us to have more than one modeller working on a model at once, and abstracts the T definition from the model. Define desired function of a service Identify existing transaction(s) required to deliver service Model in IFW Business Object Model (BOM) Design service in IFW Interface Definition Model (IDM). Generate XML Schema from IFW/Rational Document Business rules, sample XML requests and responses, and a service cut-down schema. Build integration and light-weight XML representation of Cobol Copybook(s) Design XSLT transformation from XML representation of Cobol Copybook(s) to IFW Mark-up SOFA tags in business implementation and auto-generate SOFA plumbing (interfaces, configs etc.) Information Architect Document Service Rules Developer Define XSLT Implement business rules and service Developer Deploy service and documentation Release Manager © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

26 Highlights CommSee On time, on budget Great user feedback, press
17년 4월 20일 23시 12분 18초 Highlights CommSee Windows Forms .NET Smart Client ASP.NET Web Services ~30,000 users, 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 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

27 Agenda Project Overview Architecture and Design Lessons Learnt Summary

28 Lessons Learnt Development
Memory leaks initially happen! Scitech 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-wrapped

29 Lessons Learnt Process
17년 4월 20일 23시 12분 18초 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 Pay off – 결말을 잘 짓게 해줌 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

30 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!

31 Agenda Project Overview Architecture and Design Lessons Learnt Summary

32 Summary CommSee On time, on budget Great user feedback, press
17년 4월 20일 23시 12분 18초 Summary CommSee Windows Forms .NET Smart Client ASP.NET Web Services ~30,000 users, 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 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

33 © 2005 Microsoft Corporation. All rights reserved.
17년 4월 20일 23시 12분 18초 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Download ppt "SOA Best Practices Commonwealth Bank of Australia – CommSee"

Similar presentations


Ads by Google