Contenu connexe
Similaire à Services and Models in a Large IT System (20)
Services and Models in a Large IT System
- 1. Services and Models in a Large IT System
CHOOSE FORUM 2012
Transition Layouts PowerPoint 2003
Use only until deployment of iDesktop
(Microsoft Office 2010)
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler
December 14, 2012
- 2. Content
Credit Suisse and IT Overview
15 years of SOA @ Credit Suisse
Services and Models @ Credit Suisse
Outlook
Appendix: Contact/Disclaimer
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 2
- 3. Credit Suisse and IT Overview
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 3
- 4. Credit Suisse Group today – key facts
Global bank headquartered in Zurich, serving clients in private banking,
investment banking and asset management.
Registered shares of Credit Suisse Group AG (CSGN) are listed in Switzerland
(SIX) and as American Depositary Shares (CS) in New York (NYSE).
Total number of employees: 48,400.
The Group’s long-term ratings are: Moody’s A2, Standard & Poor’s A, Fitch
Ratings A.
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 4
- 5. Information Technology
Partnering Closely with the Business in All Regions
New York London Zurich
Main Business: Main Business: Main Business:
Investment Investment Private Banking,
Banking Banking Private and
Corporate Clients
Raleigh Wroclaw India Singapore
Near-shore Near-shore Outsourced and Mainly serving fast
development center, primarily co-managed off- growing markets
center, primarily supporting EMEA shore center in of APAC region
supporting NY and Switzerland different locations
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 5
- 6. Information Technology
Facts and Figures1
67,750 supported users in 550 locations
4 main hub Production – Disaster Recovery pairs of data
centers consuming 14 MW2 of power (approx. 25,000 US
homes)
Hardware
– 95,600 workstations/laptops
– 23,000 physical servers with more than 28,000 terabytes
of storage
– 8 host/mainframe CPUs with 73,000 MIPS3 provided
Software
– ~6,400 applications
Email
– 70,000 email accounts
1 Asof March 2012
2 MW = Mega Watt
3 MIPS = Million Instructions per Second
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 6
- 7. Information Technology
CMMI ML 3 Development Life Cycles in Switzerland
Standard methods and tools:
Use Cases (Polarion)
Software Architecture Docs (Enterprise
Architect)
almost PL/1 and Java Code (Eclipse)
Test Specifications (Quality Center)
Configuration Management (Subversion)
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 7
- 8. 15 years of SOA @ Credit Suisse
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 8
- 9. 15 years SOA @ Credit Suisse
We do SOA since 1998
DiMA:
Credit Suisse BIAN: SOA Standards
Global SOA Disentangling
Inform ation Bus the Mainfram e for the financial industry
2005 until today
2005 until today 36 banks and
1998 until today 7 countries
SOA within the major vendors
1200 services > 30 services
mainframe are involved
5 back-ends
Seen as benchm ark Manage Bring agility to Create a m arket
for the industry diversity! the m ainfram e for standardiz ed
banking com ponents
"Credit Suisse succeeded in building a highly business-critical integration infrastructure. The
company is fully experiencing the benefits of SOA and the componentization of core
business applications. However, to reach that desired state, Credit Suisse went through a
lengthy and expensive endeavor that only leading-edge, technically sophisticated enterprises
will be able to tackle."
Gartner Group
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 9
- 10. 15 years SOA @ Credit Suisse
The Credit Suisse eXchange Bus (CSXB)*
Facts
Started in 1998, more than 1200 services built up to now
All applications on the Swiss Platform offer and/or consume
services today
Enables Managed Evolution of the Mainframe Platform
Objectives Component architecture for the Swiss Platform
Reuse of core data and functionality (mainly) residing on
the mainframe for modern front-ends
Orbix - CORBA for synchronous services, migrating to Web Services
Technology WebSphere MessageBroker / MQ for messaging
ftps for files (“Bulk Services”), File Broker for flow control,
transformation, etc.
Footprint About 1200 public services, 70 message publishers
400 Mio. CORBA calls & 120 Mio. messages delivered per month
*originally called Credit Suisse Information Bus (CSIB)
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 10
- 11. 15 years SOA @ Credit Suisse
Multiple Integration Infrastructures
CSXB CSXB Service Integration
– Logical concept
– Multiple integration styles Integration style
– Standard integration technologies Synch Asynch Bulk
remote call (RPC) store-and-forward file transfer
Example
Abstract styles for service descriptions (repository)
– Requirement: get all customers of
Infrastructure binding
a relationship manager, results to be
displayed on a screen Infrastructures
– Integration style: synchronous request Service Messaging File
Bus Middleware Broker
response service operation
searchCustomers(r : RelManager) : Technologies
Customers Web Ser. WMQ ftps
– Infrastructure and technology: Web SOAP/https
Service exposed via Service Bus CORBA EMS C:D
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 11
- 12. 15 years SOA @ Credit Suisse
From Monolithic to Loosely Coupled Components
Interface
Interface
Interface
Interface
Define a modular architecture with encapsulated domains (target architecture)
Replace direct access via standardized service interfaces , i.e. introduce interfaces
along the borders of domains
Introduce structural changes without including new functionality
Decouple life cycle of the domains by versioning of the interfaces
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 12
- 13. 15 years SOA @ Credit Suisse
Interface Engineering Process
Create Specify IF Add business Deploy
New Generate Perform Perform
interface, QC1* functionality QC2 logic to IF, QC3 to
interface artifacts IT
describe & contract SAT PROD
required realize & test
purpose
Specify suitable test Prepare test
case, test data and environments, run
expected results unit tests, compare
Generate required with reference Compile test
mocks for testing and results reports
support information
for test cases
* QC = Quality check (typically a formal review)
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 13
- 14. 15 years SOA @ Credit Suisse
Testing and Versioning of Interfaces
DiMA*-compliant interfaces are managed in terms of versions
Major version: the contract is related to an existing interface version but is
not backward compatible
Minor version: the contract description of the new version is compatible with all
the previous interface versions
Provider Consumer
Major Version: Test activities like for Major and Minor Version:
a new interface Test scope like for a new
Minor Version: interface
Test scope like for a new interface Rely on backwards
Test of backwards compatibility of compatibility of contract, i.e.
contract freedom of choice
Less development effort, but higher Test and development efforts are equal
test efforts (Regression Tests) Decoupled from interface life cycle
*DiMA = Disentangling the MAinframe (a major rearchitecture program for top-down componentization)
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 14
- 15. 15 years SOA @ Credit Suisse
The Interface Management System (IFMS)
Service catalog
– Various search tools
– Report engine
Design tool
– Data type repository
– Composition tool
Governance enforcer
– Manage quality gates,
reviews, obligations
Life cycle management
– EOL notifications and
reporting
Code generator
– Extensible generator
– Linked to development
toolchains
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 15
- 16. 15 years SOA @ Credit Suisse
Achievement of the Critical Mass 1100 services
available
200 services 600 services 800 services 900 services
available available available available
Wide use of services follows a critical mass of available services
Today ~ 5 billion service calls a year in Switzerland
Fully decoupled platform some years ahead
Core banking system on mainframe completely decoupled from remainder of platform
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 16
- 17. 15 years SOA @ Credit Suisse
Challenge: From Regional to Global Services/Security
Switzerland EMEA – Today Global - Future
Multiple Applications Single Application Multiple Applications
SOA
CS Information Bus EMEA SOA CS eXchange Bus (CH / World)
Switzerland EMEA Global
Single Backend Platform Multiple Backend Platforms Multiple Backend Platforms
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 17
- 18. 15 years SOA @ Credit Suisse
Target Architecture of the Credit Suisse eXchange Bus (CSXB)
IFMS: Interface Management System User Group Specific Portals
CSXB Portal Integration
OBPM: OneBank BPM Platform
Interfaces Interfaces
Application Application Application
Interfaces
Application Application
Interfaces Interfaces Interfaces
Application
Domains, Domains,
Divisions, Regions Divisions, Regions
CSXB Service Integration
Synchronous Asynchronous Bulk
remote call (RPC) store-and-forward file transfer
Design Runtime
Repository Environment
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 18
- 19. Services and Models @ Credit Suisse
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 19
- 20. Models Everywhere Various business stakeholders
Bridging Different Concerns Business/data architects
Requirements engineers
Business
Business Objects Business
Capabilities Processes
Business View
Enterprise Focus IT View
Project Focus
cmp Opportunity Ov erv iew
Domain Service Information
«Application»
Portal
BusinessUnit (User &
Partner),InternalUser-PID,Partner-UUID
«Application»
HT T P(S) HT T P(S)
Jav a Framew ork
user currency, user language
RegionalSettings
«DesignComponent» OpportunityDetailsMB «DesignComponent»
GfssalesoppOpportunityPlCompUilGetSearchOpportunityList GfssalesoppOpportunityPlCompUilCreateEdit
Model Models
IListModelProvider «use»
reference data
+ Operation1() + Operation1()
«use»
«Application»
ReferenceDataProv ider
«DesignComponent»
GfssalesoppOpportunityPlCompUcslGetOpportunityListOv erv iew
+ filterOpportunities()
+ getOpportunityList()
+ sortOpportunities()
«use»
«use»
SalesOpportunityCA_1_1
«DesignComponent»
GfssalesoppOpportunityBlCompSal
Design Service
«DesignComponent»
GfssalesoppOpportunityBlCompIfc «use»
SalesOpportunity_1_1
«DesignComponent»
GfssalesoppOpportunityBlCompSil
«use»
«use»
Models Interfaces
«DesignComponent»
GfssalesoppOpportunityBlCompBl
+ dispatch()
«interface»
LdapHelper
«interface»
«InterfaceVersion» + createConnectionHelper() Context
searchSalesOpportunities_2_0 + getConnection()
+ bind()
+ getInstance()
+ lookup()
Application portfolio managers Service providers/consumers
Application architects Integration architects
Solution architects Service portfolio managers
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 20
- 21. Business Models
Static and Dynamic Views of Our Business
Business Capability Models
– Breakdown of business capabilities, grouped by different
functional areas
Business – Represents a static view of the business
Capabilities – Used as a means of communication between business and IT
Business Object Models (BOMs)
– Comprise main objects that are important to the business and
relationships between them
– Used to establish a common language within our organization
Business
Objects – Facilitate information and data management
Business Process Models
– Flows of activities and activity interdependencies in business
processes
– Represents a dynamic view of the business
Business
Processes – Key artifacts for process improvement, rationalization and
automation.
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 21
- 22. Application Models
Views of the Landscape and Individual Applications
cmp Opportunity Ov erv iew
«Application»
Portal
Interface
BusinessUnit (User &
Partner),InternalUser-PID,Partner-UUID
«Application» HT T P(S) HT T P(S)
Jav a Framew ork
user currency, user language
RegionalSettings
«DesignComponent» OpportunityDetailsMB «DesignComponent»
IListModelProvider GfssalesoppOpportunityPlCompUilGetSearchOpportunityList «use» GfssalesoppOpportunityPlCompUilCreateEdit
reference data
+ Operation1() + Operation1()
«use»
«Application»
ReferenceDataProv ider
«DesignComponent»
Interface GfssalesoppOpportunityPlCompUcslGetOpportunityListOv erv iew
+ filterOpportunities()
+ getOpportunityList()
+ sortOpportunities()
Interface
«use»
«use»
SalesOpportunityCA_1_1
«DesignComponent»
GfssalesoppOpportunityBlCompSal
Interface
Design
«DesignComponent»
Domain
GfssalesoppOpportunityBlCompIfc «use»
SalesOpportunity_1_1
«DesignComponent»
GfssalesoppOpportunityBlCompSil
«use»
«use»
Model Models
«DesignComponent»
GfssalesoppOpportunityBlCompBl
+ dispatch()
«interface»
LdapHelper
«interface»
«InterfaceVersion» + createConnectionHelper() Context
searchSalesOpportunities_2_0 + getConnection()
+ bind()
+ getInstance()
+ lookup()
Domain Model Application Design Models
– Definition of our target IT landscape – Different architectural views of an IT
– Landscape partitioning into functional application
areas called domains – Comprise static and dynamic views, which
– Instrument for managing the complexity of complement each other by capturing
the application landscape different aspects of a software solution
– Key to our architectural and SOA – Span requirements views, component views,
governance security views, service views, etc.
– Inter-domain communication occurs only – Facilitate code generation according to
via public services Model Driven Engineering principles
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 22
- 23. Service Interface and Service Information Models
Contracts in our Service Oriented Architecture (SOA)
Interface
Interface
Interface
Service Information
Interface
Service
Interfaces Models
Service Interfaces Service Information Models
– Contracts between applications/domains – Comprise message types exchanged by
providing and consuming services service provider and consumer
– Versioned and have a managed life cycle – Defined from a business perspective
– Facilitate loose coupling of the domains – Emphasize reuse of data definitions and
– Defined as a Platform Independent Models minimized redundancy
used to generate implementation artifacts for – Based upon semantically clear definitions
different technologies and platforms that abstract from implementation details
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 23
- 24. Bringing the Models Together…
…To Manage the IT Landscape inline with Business Strategy
Business View IT View
Defines the business strategy, governance, Describes applications, their interactions,
organization, key business processes, business infrastructure and hardware used to
objects and business capabilities/functions support the business
Direct Access
(Trader)
Relationship
Manager
Direct … Business
Partner Financial Market Data Market
Objects
5 Strategy & Governance 4 Risk, Compliance & CS Clients, CS Regulators Service
1 Sales, Markets & Relationships
Financial Management Prospects & Public Employees Applications Providers Access
Providers
1.3 Trading 1.2 Sales & Relationship Management 1.1 Capital Mkt.
5.2 Strategy & Planning
Object_A
5.2.2 1.3.1 1.3.3 1.2.2
5.2.1 1.2.1 1.2.3 1.1.1 4.3 Risk
Bus. Asset 1.3.2 Securitiza Relations
Bus. Res. & Sales/Adv EAM Advisory
tion/
Sales Planning
Strategy
Planning
Class
Trading
Hedging
Issuance /Of-fering
hip/Conta
ct Mgt
Support , M&A
4.3.1 Mkt
4.3.2
Credit
5: Communications & Collaboration
Risk Risk
Business
1.2.4 Analysis
5.2.3 5.2.4 Cust/ Mkt 1.3.5 1.3.6 Analysis & Communication and Access (CHA) Street Side Interfaces (SSI)
Object_B
Fin. 1.2.5 & Mgt
Alliance Research & Pricing/Quot. Structure 1.3.7 Mgt
Institut. Order
Planning Analysis /Contr./Valua d Deal Structuring (Insourcin Capture
t. Products 4.3.3 Op.
g) 4.3.4
Risk
Analysis
Risk Business Partner Applications (BPA) Enterprise Content Management (ECM) Financial Market Information (FIN)
Reporting
& Mgt
Functions
2 Product, Client & Trade Support
5.1 Governance
5.1.1
Business
5.1.2
IT
2.5 Trading Support
2.5.2
Order
2.5.10
2.3 Product Management
2.3.1 2.3.2
Prod,
2.2 PB Specific Services
2.2.1
Portfolio
2.2.2
2.1 Marketing
2.1.1
Marketin
4.3.5
Liquidity
Risk
& ALM
4.3.6
Econ.
Capital
Mgt
Object_C Payments
Execution Prod. Cat. Client Risk g&
(PAY)
Function_A ...
Architectu Architectu Comp./Routi Servicing, Manageme
Customer & Partner
negotiation Mgt Profiling Brandin
ng Sourcing nt
Regulatory, Risk
re re g
Trading
and Liquidity
2.1.2
2: Finance, Investm ent & Sales
5.1.4 4.2 Finance
5.1.3 2.5.7 Trade 2.3.4 2.2.3 Mkt. Wealth Management & Single Accounts
(RRL)
2.5.5 2.2.4
(TRA)
(CUS)
Exec. Alloc/Enrich 2.3.3 Product
3: Trading and Markets
6: Acco unting, Co ntro lling and Repo rting
Com-
4: Cash and Asset Operatio ns
E2E Service Lifecycle and Prod. Family Office Financial
Level Mgt
Stake- m. & Development Management muncati 4.2.1 Advisory
(SAC)
Object_Z
Mkt Evt Mgt Services Planning 4.2.2
Function_B
holder Mgt Booking ons Finan.
Decision
Acct/
Support (WMA)
2.4 Research Reporting
1: Partners & Perso ns
2.2.5 2.2.6
Trust & Estate Asset
Planning Allocation 4.2.3 Order and Trade Settlement and Clearing
2.4.1
Function_C
Researc Company
Tax
Management (SCL)
h
(OTM)
Accounting Control
Customer Relationship Management
Technical
3 Processing
Credits and Syndication Custody
(AOC)
4.1 Compliance and Control
3.3 Data
3.3.1
Counterp
3.3.2
Fin. Inst.
3.4 Product Specific
3.4.1 OTC/
Deriv./SP
3.4.2
Com-
3.1 Client Facing Common Proc.
3.1.2
Credit
3.1.3
3.2 Common Processing
3.2.1 3.2.2
3.2.3
Matching
4.1.1
Internal
Audit
4.1.2
Regulator
y
Complian
... (CRS)
Product Control
(PRC)
(CDY)
Services
arty & mod./Ban Cash Clearing & Collateral and
Ref. Data Processin Approval ce
Corporate Actions
Function_Z
Acct. k-notes Services Settlement Handling Confirmati
(CRM)
Mgt g Mgt 4.1.4
Maint. Proc. on 4.1.3
Depo.
3.3.3 3.3.4
3.4.3 3.4.4 3.1.4 3.1.5
Internal
Bank (COA)
Financial Accounting
Market SLB & 3.2.5 3.2.6 Complian
Document Funds Client Fees/Com 3.2.7 Controllin
Data Repo Credit Asset ce
Managem Processin Vault m./Billing Payments g
Managem Processin Admin. Servicing
Service_A
ent g Services Mgt
ent g 3.2.8
(FAC)
3.4.6 3.4.7 Client
3.2.9
7: Enterprise Co m m o n Services
3.3.5 FX/MM 3.1.7 Bank
Subscr. Invest/Exc 4.4 Management Information
Gen. Ref. Processin Client Pos./
Proc (incl. Contr.Acc ept
Reporting
Data Mgt.
IPO) g
t / Acct Handling Logistics Basic Facilities
Service_B
Mgt 4.4.1 4.4.2
3.4.8
3.2.11 Operational MI Financial MI (LOG) (BAS)
Sec. 3.2.10
Specific Safe
Reconcilia Managem
Processin -tion
g ent
Service_C
6 Support Infrastructure V 0.96 2008/12/03
6.3 Other 6.1 HR 6.2 IT
6.1.2 6.2.3
6.3.1 Com- 6.3.4 6.3.5 6.1.1
6.3.3 6.3.6 Strategic 6.2.1 6.2.2 Operate &
municatio Facilities, Pgm & HR 6.2.4
...
6.3.2 Legal Procurem Business HR Design Appl. Build Appl. & Maintain
ns (excl. Ops & Change Operation IT Security
ent Continuity Managem & IT infra. IT infra. Appl & IT
Client) Maint Mgmt s
ent infra
Service_Z
Full traceability between business and
IT views enables us to manage IT
landscape based on business needs
© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 24