Services and Models in a Large IT System
description
Transcript of 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
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
3 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012
Credit Suisse and IT Overview
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.
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
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
– 70,000 email accounts
1 As of March 2012 2 MW = Mega Watt 3 MIPS = Million Instructions per Second
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)
8 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012
15 years of SOA @ Credit Suisse
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
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)
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
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
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
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)
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
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
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
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
19 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012
Services and Models @ Credit Suisse
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
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
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
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
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
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
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()
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
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
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
30 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012
Tooling – Models in IFMS
Visualizing Application Dependencies in UML
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
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
33 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012
Outlook
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, …
35 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012
Q&A
Contact/Disclaimer
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]
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.