Services and Models in a Large IT System

38
Transition Layouts PowerPoint 2003 Use only until deployment of iDesktop (Microsoft Office 2010) December 14, 2012 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler Services and Models in a Large IT System CHOOSE FORUM 2012

description

Presentation by Carl Worms and Ksenia Wahler at CHOOSE Forum 2012

Transcript of Services and Models in a Large IT System

Page 1: Services and Models in a Large IT System

Transition Layouts PowerPoint 2003

Use only until deployment of iDesktop (Microsoft Office 2010)

December 14, 2012

© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler

Services and Models in a Large IT System

CHOOSE FORUM 2012

Page 2: Services and Models in a Large IT System

2 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Content

Credit Suisse and IT Overview

15 years of SOA @ Credit Suisse

Services and Models @ Credit Suisse

Outlook

Appendix: Contact/Disclaimer

Page 3: Services and Models in a Large IT System

3 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Credit Suisse and IT Overview

Page 4: Services and Models in a Large IT System

4 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

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.

Page 5: Services and Models in a Large IT System

5 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Information Technology

Partnering Closely with the Business in All Regions

Main Business: Investment Banking

Main Business: Investment Banking

Main Business: Private Banking, Private and Corporate Clients

Near-shore center, primarily supporting EMEA and Switzerland

Outsourced and co-managed off- shore center in different locations

Mainly serving fast growing markets of APAC region

Near-shore development center, primarily supporting NY

London Zurich

Wroclaw India Singapore

New York

Raleigh

Page 6: Services and Models in a Large IT System

6 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

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 As of March 2012 2 MW = Mega Watt 3 MIPS = Million Instructions per Second

Page 7: Services and Models in a Large IT System

7 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

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)

Page 8: Services and Models in a Large IT System

8 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

15 years of SOA @ Credit Suisse

Page 9: Services and Models in a Large IT System

9 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

15 years SOA @ Credit Suisse

We do SOA since 1998

"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

Information Bus

1998 until today

1200 services

Seen as benchmark

for the industry

Global SOA

2005 until today

7 countries

> 30 services

5 back-ends

Manage

diversity!

DiMA:

Disentangling

the Mainframe

2005 until today

SOA within the

mainframe

Bring agility to

the mainframe

BIAN: SOA Standards

for the financial industry

36 banks and

major vendors

are involved

Create a market

for standardized

banking components

Page 10: Services and Models in a Large IT System

10 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

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

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 WebSphere MessageBroker / MQ for messaging

ftps for files (“Bulk Services”), File Broker for flow control,

transformation, etc.

About 1200 public services, 70 message publishers 400 Mio. CORBA calls & 120 Mio. messages delivered per month

Facts

Objectives

Technology

Footprint

15 years SOA @ Credit Suisse

The Credit Suisse eXchange Bus (CSXB)*

*originally called Credit Suisse Information Bus (CSIB)

Page 11: Services and Models in a Large IT System

11 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

15 years SOA @ Credit Suisse Multiple Integration Infrastructures

CSXB Service Integration

Synch remote call (RPC)

Asynch store-and-forward

Integration style

Infrastructures

Technologies

Web Ser. SOAP/https

CORBA

WMQ ftps

C:D EMS

Service Bus

Messaging Middleware

File Broker

Infrastructure binding

Abstract styles for service descriptions (repository)

Bulk file transfer

CSXB

– Logical concept

– Multiple integration styles – Standard integration technologies

Example – Requirement: get all customers of

a relationship manager, results to be displayed on a screen

– Integration style: synchronous request response service operation

searchCustomers(r : RelManager) : Customers

– Infrastructure and technology: Web

Service exposed via Service Bus

Page 12: Services and Models in a Large IT System

12 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

15 years SOA @ Credit Suisse

From Monolithic to Loosely Coupled Components

Interface

Inte

rface

Inte

rface

Inte

rface

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

Page 13: Services and Models in a Large IT System

13 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

15 years SOA @ Credit Suisse Interface Engineering Process

* QC = Quality check (typically a formal review)

*

Create interface, describe purpose

Specify IF functionality & contract

Generate artifacts

Perform IT

Deploy to PROD

New interface required

Add business logic to IF,

realize & test

QC1 QC2 QC3 Perform

SAT

Specify suitable test

case, test data and

expected results

Generate required

mocks for testing and

support information

for test cases

Prepare test

environments, run

unit tests, compare

with reference

results

Compile test

reports

Page 14: Services and Models in a Large IT System

14 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

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

Major Version: Test activities like for a new interface

Minor Version:

Test scope like for a new interface

Test of backwards compatibility of

contract

Consumer

Major and Minor Version:

Test scope like for a new

interface

Rely on backwards

compatibility of contract, i.e.

freedom of choice

Less development effort, but higher

test efforts (Regression Tests) Test and development efforts are equal

Decoupled from interface life cycle

*DiMA = Disentangling the MAinframe (a major rearchitecture program for top-down componentization)

Page 15: Services and Models in a Large IT System

15 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

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

Page 16: Services and Models in a Large IT System

16 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

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

200 services available

600 services available

900 services available

800 services available

1100 services available

15 years SOA @ Credit Suisse

Achievement of the Critical Mass

Page 17: Services and Models in a Large IT System

17 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Switzerland Multiple Applications

Switzerland

Single Backend Platform

EMEA – Today Single Application

EMEA Multiple Backend Platforms

Global - Future Multiple Applications

Global Multiple Backend Platforms

SOA

CS Information Bus EMEA SOA CS eXchange Bus (CH / World)

15 years SOA @ Credit Suisse Challenge: From Regional to Global Services/Security

Page 18: Services and Models in a Large IT System

18 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

15 years SOA @ Credit Suisse Target Architecture of the Credit Suisse eXchange Bus (CSXB)

CSXB Portal Integration

CSXB Service Integration

Synchronous

remote call (RPC)

Asynchronous

store-and-forward Bulk

file transfer

OB

PM

: O

ne

Ban

k B

PM

Pla

tfo

rm

IFM

S: In

terf

ace

Man

ag

em

en

t S

yste

m

Application

Application

Application

Domains,

Divisions, Regions

Interfaces

Interfaces

Interfaces

Application

Application

Domains,

Divisions, Regions

Interfaces

Interfaces

Application

Interfaces

User Group Specific Portals

Runtime Environment

Design Repository

Page 19: Services and Models in a Large IT System

19 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Services and Models @ Credit Suisse

Page 20: Services and Models in a Large IT System

20 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Models Everywhere

Bridging Different Concerns

Business

Capabilities Business

Processes

Business

Objects

Various business stakeholders

Business/data architects

Requirements engineers

Application portfolio managers

Application architects

Solution architects

Business View

IT View Enterprise Focus

Project Focus

Domain

Model

cmp Opportunity Ov erv iew

«DesignComponent»

GfssalesoppOpportunityPlCompUcslGetOpportunityListOv erv iew

+ fi lterOpportunities()

+ getOpportunityList()

+ sortOpportunities()

«DesignComponent»

GfssalesoppOpportunityBlCompIfc

SalesOpportunityCA_1_1

SalesOpportunity_1_1

«DesignComponent»

GfssalesoppOpportunityBlCompSal

«DesignComponent»

GfssalesoppOpportunityBlCompSil

«DesignComponent»

GfssalesoppOpportunityBlCompBl

+ dispatch()

«DesignComponent»

GfssalesoppOpportunityPlCompUilGetSearchOpportunityList

+ Operation1()

HTTP(S)

«DesignComponent»

GfssalesoppOpportunityPlCompUilCreateEdit

+ Operation1()

HTTP(S)

«interface»

LdapHelper

+ createConnectionHelper()

+ getConnection()

+ getInstance()

«interface»

Context

+ bind()

+ lookup()

«Application»

Jav a Framework

RegionalSettings

«Application»

Portal

«Application»

ReferenceDataProv ider

IListModelProvider

«InterfaceVersion»

searchSalesOpportunities_2_0

«use»

«use»

«use»

«use»

BusinessUnit (User &

Partner),InternalUser-PID,Partner-UUID

«use»

OpportunityDetailsMB

«use»

user currency, user language

reference data

«use»

Design

Models

Service

Interfaces

Service Information

Models

Service providers/consumers

Integration architects

Service portfolio managers

Page 21: Services and Models in a Large IT System

21 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Business Models

Static and Dynamic Views of Our Business

Business Capability Models – Breakdown of business capabilities, grouped by different

functional areas

– Represents a static view of the business

– 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

– Facilitate information and data management

Business Process Models – Flows of activities and activity interdependencies in business

processes

– Represents a dynamic view of the business

– Key artifacts for process improvement, rationalization and

automation.

Business

Capabilities

Business

Objects

Business

Processes

Page 22: Services and Models in a Large IT System

22 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Application Models

Views of the Landscape and Individual Applications

Domain Model – Definition of our target IT landscape

– Landscape partitioning into functional

areas called domains

– Instrument for managing the complexity of

the application landscape

– Key to our architectural and SOA

governance

– Inter-domain communication occurs only

via public services

Application Design Models – Different architectural views of an IT

application

– Comprise static and dynamic views, which

complement each other by capturing

different aspects of a software solution

– Span requirements views, component views,

security views, service views, etc.

– Facilitate code generation according to

Model Driven Engineering principles

Domain

Model

Interface

Inte

rface

Inte

rface

Inte

rface

cmp Opportunity Ov erv iew

«DesignComponent»

GfssalesoppOpportunityPlCompUcslGetOpportunityListOv erv iew

+ fi lterOpportunities()

+ getOpportunityList()

+ sortOpportunities()

«DesignComponent»

GfssalesoppOpportunityBlCompIfc

SalesOpportunityCA_1_1

SalesOpportunity_1_1

«DesignComponent»

GfssalesoppOpportunityBlCompSal

«DesignComponent»

GfssalesoppOpportunityBlCompSil

«DesignComponent»

GfssalesoppOpportunityBlCompBl

+ dispatch()

«DesignComponent»

GfssalesoppOpportunityPlCompUilGetSearchOpportunityList

+ Operation1()

HTTP(S)

«DesignComponent»

GfssalesoppOpportunityPlCompUilCreateEdit

+ Operation1()

HTTP(S)

«interface»

LdapHelper

+ createConnectionHelper()

+ getConnection()

+ getInstance()

«interface»

Context

+ bind()

+ lookup()

«Application»

Jav a Framework

RegionalSettings

«Application»

Portal

«Application»

ReferenceDataProv ider

IListModelProvider

«InterfaceVersion»

searchSalesOpportunities_2_0

«use»

«use»

«use»

«use»

BusinessUnit (User &

Partner),InternalUser-PID,Partner-UUID

«use»

OpportunityDetailsMB

«use»

user currency, user language

reference data

«use»

Design

Models

Page 23: Services and Models in a Large IT System

23 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Service Interface and Service Information Models

Contracts in our Service Oriented Architecture (SOA)

Service Interfaces – Contracts between applications/domains

providing and consuming services

– Versioned and have a managed life cycle

– Facilitate loose coupling of the domains

– Defined as a Platform Independent Models

used to generate implementation artifacts for

different technologies and platforms

Service Information Models – Comprise message types exchanged by

service provider and consumer

– Defined from a business perspective

– Emphasize reuse of data definitions and

minimized redundancy

– Based upon semantically clear definitions

that abstract from implementation details

Interface

Inte

rface

Inte

rface

Inte

rface

Service

Interfaces

Service Information

Models

Page 24: Services and Models in a Large IT System

24 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Bringing the Models Together…

…To Manage the IT Landscape inline with Business Strategy

3 Processing

4 Risk, Compliance &

Financial Management 1 Sales, Markets & Relationships 5 Strategy & Governance

6.3.1 Com-munications (excl. Client)

6.3.2 Legal 6.3.3

Procurement

6.3.4 Facilities,

Ops & Maint

6.3.5 Pgm & Change Mgmt

6.3.6 Business Continuity

6.1.1 HR

Operations

6.1.2 Strategic

HR Managem

ent

6.2.1 Design Appl.

& IT infra.

6.2.2 Build Appl. &

IT infra.

6.2.3 Operate & Maintain Appl & IT

infra

6.2.4 IT Security

6.3 Other 6.1 HR 6.2 IT

6 Support Infrastructure

5.1.4 Exec. Stake-

holder Mgt

5.1.3 E2E Service Level Mgt

5.1.1 Business Architectu

re

5.1.2 IT

Architecture

5.1 Governance

5.2.3 Alliance Planning

5.2.1 Bus. Res. &

Sales Planning

5.2.2 Bus.

Strategy Planning

5.2 Strategy & Planning

5.2.4 Cust/ Mkt Research &

Analysis

4.1.1 Internal Audit

4.1.2 Regulator

y Complian

ce

4.2.1 Finan. Acct/

Reporting

4.2.2 Decision Support

4.3.1 Mkt Risk

Analysis & Mgt

4.3.2 Credit Risk

Analysis & Mgt

4.3.4 Risk

Reporting

4.3.3 Op. Risk

Analysis & Mgt

4.3.5 Liquidity

Risk & ALM

4.3.6 Econ.

Capital Mgt

2 Product, Client & Trade Support

2.5 Trading Support 2.3 Product Management

2.3.1 Prod. Cat.

Mgt

2.3.3 Product Development

2.3.4 Prod.

Management

2.1.1 Marketin

g & Brandin

g

2.1 Marketing

2.1.2 Mkt.

Com-muncati

ons

2.4.1 Researc

h

2.4 Research

2.2 PB Specific Services

2.2.1 Portfolio

Management

2.2.2 Client Risk

Profiling

2.2.3

Family Office

Services

2.2.4 Financial Planning

2.2.5

Trust & Estate

Planning

2.2.6 Asset

Allocation 4.2.3 Company

Tax

1.3.6 Structure

d Products

1.1.1 Advisory

, M&A

1.3 Trading 1.2 Sales & Relationship Management 1.1 Capital Mkt.

1.3.2 Hedging

1.3.3 Securitiza

tion/ Issuance

1.2.3 EAM

Support

1.2.2 Relationship/Conta

ct Mgt

1.2.1 Sales/Adv/Of-fering

1.2.4 Fin.

Institut. (Insourcin

g)

1.3.5 Pricing/Quot./Contr./Valua

t.

1.3.1 Asset Class

Trading

4.2 Finance

4.3 Risk

4.1 Compliance and Control

4.1.3 Internal

Compliance

Direct Access (Trader)

Relationship Manager

Direct …

2.3.2 Prod,

Servicing, Sourcing

2.5.2 Order

Comp./Routing

2.5.5 Lifecycle and Mkt Evt Mgt

1.2.5 Order

Capture

2.5.7 Trade Alloc/Enrich

m. & Booking

2.5.10 Execution

negotiation

4.4 Management Information

3.2.5 Credit Admin.

3.3.3 Market Data

Management

3.3.2 Fin. Inst. Ref. Data

Mgt

3.3.1 Counterp

arty & Acct. Maint.

3.3.4 Document Managem

ent

3.2.9 Invest/Exc

ept Handling

3.3 Data 3.4 Product Specific 3.1 Client Facing Common Proc.

3.1.7 Client

Reporting

3.1.2 Credit

Approval Mgt

3.1.5 Fees/Comm./Billing

Mgt

3.1.4 Client Vault

Services

3.2.10 Reconcilia

-tion

3.2.7 Payments

3.2.6 Asset

Servicing

3.2.1 Clearing & Settlement

3.2 Common Processing

3.4.3 SLB & Repo

Processing

3.4.2 Com-

mod./Bank-notes Proc.

3.4.1 OTC/ Deriv./SP Processin

g

3.4.4 Funds

Processing

3.2.3 Matching

and Confirmati

on

3.2.2 Collateral Handling

3.1.3 Cash

Services 4.1.4

Depo. Bank

Controlling

3.4.6 Subscr.

Proc (incl. IPO)

3.4.7 FX/MM

Processing

3.4.8 Sec.

Specific Processin

g

3.2.11 Safe

Management

4.4.2 Financial MI

4.4.1 Operational MI

1.3.7 Deal Structuring

3.2.8 Client Bank Pos./

Contr.Acct / Acct

Mgt

3.3.5 Gen. Ref. Data Mgt.

Business View Defines the business strategy, governance, organization, key business processes, business

objects and business capabilities/functions

IT View Describes applications, their interactions,

infrastructure and hardware used to support the business

Cust

om

er &

Part

ner

(CU

S)

1:

Pa

rtn

ers

& P

ers

on

s

Wealth Management &

Advisory

(WMA)

2:

Fin

an

ce

, In

ve

stm

en

t &

Sa

les

3:

Tra

din

g a

nd

Ma

rke

ts

4:

Ca

sh

an

d A

sse

t O

pe

rati

on

s

Payments

(PAY)

Settlement and Clearing

(SCL)

Single Accounts

(SAC)

Acc

ountin

g C

ontr

ol

(A

OC

)

7: Enterprise Com m on Services

Business Partner Applications (BPA) Financial Market Information (FIN) Enterprise Content Management (ECM)

Credits and Syndication

(CRS)

Fin

anci

al A

ccou

ntin

g

(FA

C)

Reg

ula

tory

, R

isk

and

Liq

uid

ity

(R

RL)

6:

Ac

co

un

tin

g, C

on

tro

llin

g a

nd

Re

po

rtin

g

Communication and Access (CHA)

CS Clients,

Prospects & Public Regulators

Partner

Applications

Financial

Service

Providers

Market Data

Providers

Market

Access

Logistics

(LOG)

Basic Facilities

(BAS)

V 0.96 2008/12/03

5: Communications & Collaboration

Street Side Interfaces (SSI)

Trading

(TRA)

Product Control

(PRC)

CS

Employees

Custody

(CDY)

Corporate Actions

(COA)

Cust

om

er R

elatio

nsh

ip M

anagem

ent

(CR

M)

Order and Trade

Management

(OTM)

Full traceability between business and

IT views enables us to manage IT

landscape based on business needs

Business

Functions

Function_A

Function_B

Function_C

...

Function_Z

Business

Objects

Object_A

Object_B

Object_C

...

Object_Z

Technical

Services

Service_A

Service_B

Service_C

...

Service_Z

Page 25: Services and Models in a Large IT System

25 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Bringing the Models Together…

…To Systematically Derive Business-Relevant IT Solutions An Example with Focus on Data Models

Conceptual

Logical

Physical

“Data at Work”

Business Logic

“Data at Rest”

Persistence

“Data in Flight”

Services

concerns

levels

of

ab

str

acti

on

Physical Data Model

Executable Model/Code

Service Info Model

(Tech.Specific)

Business Object Model

Analyze

&

Consolidate

Derive

&

Design

Generate

&

Implement

Logical Data Model

Obj.-Oriented Model

Service Info Model

(Logical)

Project Requirements

Other Consumer Requirements

External Standards

Page 26: Services and Models in a Large IT System

26 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Bringing the Models Together…

…To Document IT Solutions in a Uniform Way

Software Architecture Document is

a collection of views on an IT application

model, each view is customized to stakeholder requirements – e.g. requirements view, component view,

service view, security view

Standard modeling notation and tools used to document IT solutions in

a uniform way across the organization

All details captured directly in the model, which is used to generate documentation

Ownership of models evolves from project to solution/application owner

uc Use Case Details diagram

Authorised User

GFS Sales Opportunities

Edit Opportunity

Select Single Product

Get Opportunity List

extension points:

ExtensionPoint1

Manage Customized

List

in Priv ate Profile

Manage Customized

List

in Public Profile

Assign Internal

Participant

cmp Application Context Diagram

«Application»

GFS Sales Opportunities

«Application»

Jav a Framework

«Application»

Portal

«Application»

ReferenceDataProv ider

«InterfaceGroup»

GS_SalesOpportunity

«InterfaceGroup»

GS_SalesInitiativ e

«InterfaceGroup»

GS_Product

«Application»

ICTO-24632: CS

Jav a Serv er Faces -

CSJSF

«Application»

ICTO-20181: GFS

Internal Contacts

-GFSINTCONT -

GFSINTCONT

ReferenceDataProvider->

GFSSALESOPP

«InformationFlow»

Portal-> GFSSALESOPP«InformationFlow»

GS_Product-> GFSSALESOPP

«InformationFlow»

GS_SalesInitiative->

GFSSALESOPP

«InformationFlow»

JavaFramework-> CSJSF

«InformationFlow»

JavaFramework-> GFSSALESOPP

«InformationFlow»

«use»

GS_SalesOpportunity->

GFSSALESOPP

«InformationFlow»

GFSINTCONT->

GFSSALESOPP

«InformationFlow»

class aBOM Sales Opportunity

«Application»

SalesOpportunities

«BusinessObject»

Partner

«Attribute»

- isUndesiredClient :int

- primeRole :int

- partnerBusinessID :int

- domicile :int

- comment :int

- state :int

- stateChangeTimestamp :int

- attribute1 :int

FunctionContext

«BusinessObj...

CustomerCare

«BusinessObject»

OpportunityPartnerContext

«Attribute»

- type :OpportunityPartnerType

«BusinessObject,DataStructure»

SalesOpportunity

«Attribute»

- closureReason :ClosureReason [0..1]

- comment :int [0..1]

- creationDate :int [0..1]

- expectedBV :int [0..1]

- expectedBVCurrency :int

- expectedClosureDate :int

- expectedCVNI :int [0..1]

- expectedCVNICurrency :int

- expectedNNA :int [0..1]

- expectedNNACurrency :int

- expectedRevenue :int [0..1]

- expectedRevenuesCurrency :int

- focusTopic :FocusTopic

- fundingDate :int [0..1]

- opportunityCurrency :int

- opportunityId :int

- otherExternalParticipants :int [0..1]

- probability :int [0..1]

- qualityCheck :SalesOpportunityQualityCheck [0..1]

- stage :SalesStage

- status :SalesOpportunityStatus [0..1]

- subject :String

- type :SalesOpportunityType

«BusinessObject»

SalesInitiativ eDescription

«Attribute»

- subject :int

- language :int

- description :int

«BusinessObject...

SalesInitiativ e

«Attribute»

- validFrom :int

- validTo :int

- BusinessUnit :int

«BusinessObject»

CustomerCareForOpportunity

«ExternalBusinessOb...

InternalUser

«Attribute»

- personalIdentifier :int

- lastName :int

- firstName :int

- salutation :int

- eMail :int

0..*

owner

1

-salesInitiative 1..1

describe

-salesInitiativeDescription 1..*

-salesOpportunity

0..*

belongsTo -salesInitiative

0..1

-salesOpportunity 1..1

assignParticipant

-opportunityPartnerRelation 0..*

-salesOpportunity

1..1

assign user-customerCareForOpportunity

1..*

-opportunityPartnerRelation 0..*

assignOpportunity

-partner 1..1

cmp GfssalesoppInitiativ eBlCompIfc - Transfer Objects

«DesignComponent»

GfssalesoppInitiativ eBlCompIfc

SalesInitiativeCA_1_2

SalesInitiative_1_2

SearchSalesInititiativesINTO_1_0

iface::SearchSalesInitiativ esINTO_1_1

- serialVersionUID :long = 3903765761855185929L {readOnly}

- ownerPid :String = null

- validFrom :Date = null

- validTo :Date = null

AbstractAdaptable

TransferObject

iface::GetSalesInitiativ esINTO_1_1

- serialVersionUID :long = -82484530146726... {readOnly}

- buId :String = null

- initiativeUuId :String = null

- languageCode :ReferenceCode = null

AbstractAdaptable

TransferObject

iface::CreateSalesInitiativ eINTO_1_0

- serialVersionUID :long = -32681715674833... {readOnly}

- salesInitiative :SalesInitiativeTO_1_1 = null

- buId :String = null

AbstractAdaptable

iface::GetInitiativ eOwnerInfoINTO_1_0

- serialVersionUID :long = -89067102169053... {readOnly}

- buId :String = null

- ownerPid :String = null

AbstractAdaptable

TransferObject

iface::UpdateSalesInitiativ eINTO_1_0

- serialVersionUID :long = 8037616669607362111L {readOnly}

- salesInitiative :SalesInitiativeTO_1_1 = null

- buId :String = null

TransferObject

iface::SalesInitiativ eTO_1_1

- serialVersionUID :long = -32681715674833... {readOnly}

- ownerPid :String = null

- salesInitiativeId :String = null

- buId :String = null

- detailsList :List<SalesInitiativeDescriptionTO_1_0> = null

- dataCredentialTO :DataCredentialsTO_1_0 = null

- validFrom :Date = null

- validTo :Date = null

- salesInitiativeUuId :String = null

- employeeInfo :EmployeeTransferObject = nullAbstractAdaptable

TransferObject

iface::CreateSalesInitiativ eTO_1_0

- serialVersionUID :long = -32681715674833... {readOnly}

- salesInitiative :SalesInitiativeTO_1_1 = null

- remarks :Remark ([]) = null

AbstractAdaptable

TransferObject

iface::GetSalesInitiativ esTO_1_1

- serialVersionUID :long = -48828630155053... {readOnly}

- salesInitiative :SalesInitiativeTO_1_1 = null

- remarks :Remark ([]) = null

AbstractAdaptable

TransferObject

iface::SalesInitiativ eDescriptionTO_1_0

- serialVersionUID :long = -32681715674833... {readOnly}

- subject :String = null

- description :String = null

- languageCd :String = null

AbstractAdaptable

TransferObject

iface::SearchSalesInitiativ esTO_1_1

- serialVersionUID :long = 1531988088787146169L {readOnly}

- salesInitiativeList :List<SalesInitiativeTO_1_1> = null

- remarks :Remark ([]) = null

AbstractAdaptable

TransferObject

iface::UpdateSalesInitiativ eTO_1_0

- serialVersionUID :long = -32681715674833... {readOnly}

- salesInitiatives :SalesInitiativeTO_1_1 = null

- remarks :Remark ([]) = null

-salesInitiatives-salesInitiativeList 0..* -salesInitiative

-salesInitiative

-detailsList

0..*

-salesInitiative

-salesInitiative

sd Get Opportunity List

«DesignComponent»

GfssalesoppOpportunityPlCompUilGetSearchOpportunity...

«DesignComponent»

GfssalesoppOpportunityPlCompUcslGetOpportunityListOverview

«DesignComponent»

GfssalesoppOpportunityBlCompSal

«DesignComponent»

GfssalesoppOpportunityBlCompSil

«interface»

IListModelProvider

«interface»

IListModelContext

«Application»

Java Framework

RegionalSettings

(from Application

Platform Java

Enterprise)

ref

GfssalesoppOpportunityBlCompBl - searchOpportunity

alt partnertype

[partnertype = 3rd party OR contact person]

[else]

getIsoCurrency() :

String

getNumberLocale() :Locale

getDateLocale() :Locale

setBusinessUnit(String)

setLanguage(String)

createListModel(IListModelContext, Map<"uniqueTypeKey",

"sales.opportunity.currency">) :IListModel

createListModel(IListModelContext, Map<"uniqueTypeKey",

"sales.opportunity.type">) :IListModel

createListModel(IListModelContext, Map<"uniqueTypeKey",

"sales.opportunity.stage">) :IListModel

populateOpportunityList() :String

searchOpportunity(SearchOpportunityINTO_1_0) :

SearchOpportunityTO_1_0

searchOpportunity(SearchOpportunityINTO_1_0) :

SearchOpportunityTO_1_0

searchOpportunity()

do NOT render "create" button()

render "create" button()

Page 27: Services and Models in a Large IT System

27 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Tooling – Models in IFMS

Architecture that Supports Model Driven Engineering

DSL Editor textual or graphical

Abstract syntax

conforms to

XMI

serialized form

IFMS web app

Service Meta Model

Generator

RDB

xmi

PLI (CLI)

WSDL

XSD IDL

Java

(JSB)

ModelHub

UML

(Profiled)

RSM Enterprise

Architect

Page 28: Services and Models in a Large IT System

28 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Tooling – Models in IFMS

Generation of Implementation Artifacts

Our SOA strategy accommodates different

integration technologies, which we support

by adopting Platform Independent Models of service interfaces

Generation of technology and platform

specific artifacts reduces implementation

costs, increases quality and ensures standard compliance

This approach is sustainable, since life

time of a service interface is often longer than life time of an integration

infrastructure

Generators support migrations of

infrastructures

Facts & Figures for Sep/Oct 2012

462 generations accomplished: – CLI for 406 Interfaces

– JSB for 142 Interfaces

– WSDL for 316 Interfaces

– XSD for 317 Interfaces

– No IDLs only were generated

50’895 generated artifacts

-

20

40

60

80

1-Sep 8-Sep 15-Sep 22-Sep 29-Sep 6-Oct 13-Oct 20-Oct 27-Oct

Generations per day during Sep/Oct 2012

#xsd

#wsdl

#jsb

#idl

#cli

Page 29: Services and Models in a Large IT System

29 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Tooling – Models in IFMS

ModelHub and UML Service Interface Modeling

ModelHub facilitates interchange of models between IFMS and UML modeling tools

Two main scenarios:

– Model-Last: Service interfaces are designed in IFMS and exported as UML for visualization, analysis and post-documentation

– Model-First: Service interfaces are modeled in UML using a provided UML Profile and imported into IFMS for governance and life cycle management

Page 30: Services and Models in a Large IT System

30 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Tooling – Models in IFMS

Visualizing Application Dependencies in UML

Page 31: Services and Models in a Large IT System

31 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Tooling – Models in IFMS

Zooming in On a Simple Service Interface in UML

Model elements are adorned with stereotypes from a UML Profile

Details such as element ownership and life cycle status can be found in tagged values

associated with the element

Page 32: Services and Models in a Large IT System

32 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Tooling – Models in IFMS

A More Complex Example of a Service Interface in UML

Built-in features of UML modeling tools for working with complex models can be used to

explore complex models, e.g. model search, traceability views, project tree

Page 33: Services and Models in a Large IT System

33 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Outlook

Page 34: Services and Models in a Large IT System

34 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Successful Practices and Outlook

We already successfully use: – Domain Model as a key model to govern and manage our IT landscape – BOMs to derive service interfaces that meet SOA principles – Platform Independent Models to define service interfaces and

to generate implementation artifacts

We are currently establishing: – Better traceability between business and IT models – UML as a standard means of modeling service interfaces – Modeling skills across the organization

Challenges still remain! – Semantic alignment, global governance, …

Page 35: Services and Models in a Large IT System

35 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Q&A

Page 36: Services and Models in a Large IT System

Contact/Disclaimer

Page 37: Services and Models in a Large IT System

37 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Contact

Credit Suisse in the Web: www.credit-suisse.com

Our email addresses:

carl dot f dot [email protected]

ksenia dot [email protected]

Page 38: Services and Models in a Large IT System

38 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012

Disclaimer

This document was produced by and the opinions expressed are those of Credit Suisse AG

as of the date of writing and are subject to change. It has been prepared solely for

information purposes and for the use of the recipient. The information and analysis contained in this document have been compiled or arrived at from sources believed to be reliable but Credit Suisse AG does not make any representation as to their accuracy or completeness

and does not accept liability for any loss arising from the use hereof. This document may not

be reproduced either in whole or in part, without the written permission of Credit Suisse AG.

Copyright 2012 © Credit Suisse Group AG and/or its affiliates. All rights reserved.