SlideShare a Scribd company logo
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
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
Credit Suisse and IT Overview




© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler                December 14, 2012   3
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
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
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
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
15 years of SOA @ Credit Suisse




© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler           December 14, 2012   8
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
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
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
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
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
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 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
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
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
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
Services and Models @ Credit Suisse




© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler           December 14, 2012   19
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
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
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
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
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
Bringing the Models Together…
      …To Systematically Derive Business-Relevant IT Solutions
      An Example with Focus on Data Models
                                      Project                     Other Consumer                External
                                    Requirements                   Requirements                Standards              Analyze
                                                                                                                         &
                                                                                                                     Consolidate


                        Conceptual                               Business Object Model
levels of abstraction




                                                                                                                         Derive
                                                                                                                           &
                                                                                                                         Design
                                            Logical                  Obj.-Oriented           Service
                         Logical                                                           Info Model
                                           Data Model                   Model                (Logical)
                                                                                                                       Generate
                                                                                                                          &
                                            Physical                  Executable             Service                  Implement
                         Physical          Data Model                 Model/Code           Info Model
                                                                                          (Tech.Specific)


                                          “Data at Rest”            “Data at Work”       “Data in Flight”
                                           Persistence              Business Logic          Services

                                                                        concerns
                                    © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler                        December 14, 2012     25
Bringing the Models Together…
…To Document IT Solutions in a Uniform Way
                                                                                                                                                                 uc Use Case Details diagram                                                                                                                                                                       class aBOM Sales Opportunity


                                                                                                                                                                                                                 GFS Sales Opportunities                                                                                                                                                               «BusinessObject»




 Software Architecture Document is
                                                                                                                                                                                                                                                                                                                                                                                                           Partner

                                                                                                                                                                                                                                                                                                                                                                                   «Attribute»
                                                                                                                                                                                                                                                                                                                                                                                   - isUndesiredClient :int
                                                                                                                                                                                                                        Edit Opportunity                                                                                                                                           - primeRole :int
                                                                                                                                                                                                                                                                                                                                                                                   - partnerBusinessID :int
                                                                                                                                                                                                                                                                                                                                                                                   - domicile :int
                                                                                                                                                                                                                                                                                                                                                                                   - comment :int
                                                                                                                                                                                                                                                                                                                                                                                   - state :int
                                                                                                                                                                                                                                                                                                                                                                                   - stateChangeTimestamp :int
                                                                                                                                                                                                                                                                                                                                                                                   - attribute1 :int




 a collection of views on an IT application
                                                                                                                                                                                                                                                                                                                                                                                                   -partner       1..1
                                                                                                                                                                                                                                                             Assign Internal
                                                                                                                                                                                                                                                               Participant
                                                                                                                                                                                                                                                                                                                                                                               «Application»
                                                                                                                                                                                                                                                                                                                                                                                               assignOpportunity
                                                                                                                                                                                                                                                                                                                                                                               SalesOpportunities




                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 «BusinessObject»




 model, each view is customized to
                                                                                                                                                                                                                                                                                                                                                                             -opportunityPartnerRelation 0..*                                                                                SalesInitiativ eDescription
                                                                                                                                                                                                                                                                Select Single Product                                                                                                          «BusinessObject»                                                                              «Attribute»
                                                                                                                                                                                                                                                                                                                                                                                           OpportunityPartnerContext                                                                         - subject :int
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             - language :int
                                                                                                                                                                                                                                                                                                                                                                                        «Attribute»                                                                                          - description :int
                                                                                                                                                                                                                                                                                                                                                                                        - type :OpportunityPartnerType
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               -salesInitiativeDescription       1..*
                                                                                                                                                                                                                                                                                                                                                                            -opportunityPartnerRelation           0..*

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       describe




 stakeholder requirements – e.g.
                                                                                                                                                                                                                                                                                                                                                                                                       assignParticipant
                                                                                                                                                                                                                                        Get Opportunity List                               Manage Customized
                                                                                                                                                                                                                                           extension points:                                       List
                                                                                                                                                                                                                                           ExtensionPoint1                                   in Public Profile                                                                         -salesOpportunity 1..1                                                                               -salesInitiative 1..1                                            «ExternalBusinessOb...
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  InternalUser
                                                                                                                                                                      Authorised User                                                                                                                                                                                                               «BusinessObject,DataStructure»                                                                «BusinessObject...
                                                                                                                                                                                                                                                                                                                                                                                                          SalesOpportunity                                                                         SalesInitiativ e                                        «Attribute»
                                                                                                                                                                                                                                                                                                                                                                                                                                            -salesOpportunity belongsTo     -salesInitiative                                           owner               - personalIdentifier :int
                                                                                                                                                                                                                                                                                                                                                                                        «Attribute»                                                                                              «Attribute»                                               - lastName :int
                                                                                                                                                                                                                                                                                                                                                                                        - closureReason :ClosureReason [0..1]               0..*                                        0..1     - validFrom :int    0..*                                1 - firstName :int




 requirements view, component view,
                                                                                                                                                                                                                                                                                                                                                                                        - comment :int [0..1]                                                                                    - validTo :int                                            - salutation :int
                                                                                                                                                                                                                                                                                       Manage Customized
                                                                                                                                                                                                                                                                                                                                                                                        - creationDate :int [0..1]                                                                               - BusinessUnit :int                                       - eMail :int
                                                                                                                                                                                                                                                                                               List                                                                                     - expectedBV :int [0..1]
                                                                                                                                                                                                                                                                                        in Priv ate Profile                                                                             - expectedBVCurrency :int
                                                                                                                                                                                                                                                                                                                                                                                        - expectedClosureDate :int
                                                                                                                                                                                                                                                                                                                                                                                        - expectedCVNI :int [0..1]
                                                                                                                                                                                                                                                                                                                                                                                        - expectedCVNICurrency :int
                                                                                                                                                                                                                                                                                                                                                                                        - expectedNNA :int [0..1]
                                                                                                                                                                                                                                                                                                                                                                                        - expectedNNACurrency :int
                                                                                                                                                                                                                                                                                                                                                                                        - expectedRevenue :int [0..1]
                                                                                                                                                                                                                                                                                                                                                                                        - expectedRevenuesCurrency :int




 service view, security view
                                                                                                                                                                                                                                                                                                                                                                                        - focusTopic :FocusTopic
                                                                                                                                                                                                                                                                                                                                                                                        - fundingDate :int [0..1]
                                                                                                                                                                                                                                                                                                                                                                                        - opportunityCurrency :int
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    «BusinessObject»
                                                                                                                                                                                                                                                                                                                                                                                        - opportunityId :int                                -salesOpportunity assign user
                                                                                                                                                                                                                                                                                                                                                                                                                                                              -customerCareForOpportunity      CustomerCareForOpportunity                                         FunctionContext
                                                                                                                                                                                                                                                                                                                                                                                        - otherExternalParticipants :int [0..1]
                                                                                                                                                                                                                                                                                                                                                                                        - probability :int [0..1]                           1..1                                        1..*                                                                      «BusinessObj...
                                                                                                                                                                                                                                                                                                                                                                                        - qualityCheck :SalesOpportunityQualityCheck [0..1]                                                                                                                       CustomerCare
                                                                                                                                                                                                                                                                                                                                                                                        - stage :SalesStage
                                                               cmp Application Context Diagram                                                                                                                                                                                                                                                                                          - status :SalesOpportunityStatus [0..1]
                                                                                                                                                                                                                                                                                                                                                                                        - subject :String
                                                                                                                                                                                                                                                                                                                                                                                        - type :SalesOpportunityType


                                                                                                                                                                                                                    «Application»
                                                                                                                                                                                                                       Portal




                                                                                                                                                                                                                 «InformationFlow»




 Standard modeling notation and tools
                                                                                                                                                                                                                            Portal-> GFSSALESOPP


                                                                    «Application»
                                                                                                                                                                                             «Application»
                                                                   ICTO-24632: CS
                                                                                                                                                                                         GFS Sales Opportunities                                                                                                                                                   cmp GfssalesoppInitiativ eBlCompIfc - Transfer Obj ects
                                                                 Jav a Serv er Faces -                «use»                                                                                                                                                                                                                                                                                            SalesInitiativeCA_1_2
                                                                        CSJSF




 used to document IT solutions in
                                                                   «InformationFlow»
                                                                             JavaFramework-> CSJSF                                                                                                                                                                                                                                                                                                                            «DesignComponent»
                                                                                                                                                                                                                                                                                                                                «Application»
                                                                                                                                                                                                                                                                                         «InformationFlow»                                                                                                               GfssalesoppInitiativ eBlCompIfc
                                                                                                                                                                                                                                                                                                                              ICTO-20181: GFS
                                                                     «Application»                                                                                                                                                                                                            GFSINTCONT->                    Internal Contacts
                                                                   Jav a Framew ork       «InformationFlow»                                                                                                                                                                                   GFSSALESOPP                      -GFSINTCONT -
                                                                                                                                                                                                                                                                                                                                 GFSINTCONT




 a uniform way across the organization
                                                                                           JavaFramework-> GFSSALESOPP
                                                                                                                                                                                                                                                                                                                                                                                                                              SalesInitiative_1_2


                                                                       «Application»
                                                                                      «InformationFlow»
                                                                  ReferenceDataProv ider                                                                                                                                                                                                                                                                                                                                                                                                                                                                 AbstractAdaptable
                                                                                                                                                                                                                                                                                                                                                                                                                                            SearchSalesInititiativesINTO_1_0
                                                                                         ReferenceDataProvider->                                                                                                                                                                                                                                                                                                                                                                                                                                            TransferObject
                                                                                         GFSSALESOPP                                                                                                                                                                                                                                                                                                               iface::SearchSalesInitiativ esINTO_1_1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            iface::GetSalesInitiativ esINTO_1_1
                                                                                                                                                                                                                                                                                                                                                                                               -        serialVersionUID :long = 3903765761855185929L {readOnly}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             -      serialVersionUID :long = -82484530146726... {readOnly}
                                                                                                                                                                                                                                                                                                                                                                                               -        ownerPid :String = null
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             -      buId :String = null
                                                                                                                                                                                                                                                                                                                                                                                               -        validFrom :Date = null
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             -      initiativeUuId :String = null
                                                                                                                     «InformationFlow»                                                                                                                                                                                                                                                         -        validTo :Date = null
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             -      languageCode :ReferenceCode = null
                                                                                                                              GS_SalesOpportunity->
                                                                                                                              GFSSALESOPP
                                                                                            «InterfaceGroup»
                                                                                                                                       «InformationFlow»
                                                                                            GS_SalesOpportunity
                                                                                                                                                 GS_Product-> GFSSALESOPP                                                                                                                                                                                                                                                                             AbstractAdaptable                                                                                  AbstractAdaptable
                                                                                                                                                                  «InformationFlow»                                                                                                                                                                                                                                                                      TransferObject




 All details captured directly in the model,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          iface::GetInitiativ eOw nerInfoINTO_1_0
                                                                                                                                                                                                                                           GS_SalesInitiative->                                                                                                                                                    iface::CreateSalesInitiativ eINTO_1_0
                                                                                                                                                         «InterfaceGroup»                                                                  GFSSALESOPP                                                                                                                                                                                                                                                       -      serialVersionUID :long = -89067102169053... {readOnly}
                                                                                                                                                         GS_Product                                                                                                                                                                                                                                -      serialVersionUID :long = -32681715674833... {readOnly}                                             -      buId :String = null
                                                                                                                                                                                                                                                                                                                                                                                                   -      salesInitiative :SalesInitiativeTO_1_1 = null                                                      -      ownerPid :String = null
                                                                                                                                                                                                                                                                                                                                                                                                   -      buId :String = null
                                                                                                                                                                                                                       «InterfaceGroup»
                                                                                                                                                                                                                       GS_SalesInitiativ e                                                                                                                                                                                                                                                                                                               AbstractAdaptable
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            TransferObject




 which is used to generate documentation
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         iface::SalesInitiativ eDescriptionTO_1_0

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        -           serialVersionUID :long = -32681715674833... {readOnly}
                                                                                                                                                                                                                                                                                                                                                                                                                         -salesInitiative
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        -           subject :String = null
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           -detailsList -           description :String = null
                                                                                                                                                                                                                                                                                                                                                                                                                                                           TransferObject
                                                                                                                                                                                                                                                                                                                                                                                                                           iface::SalesInitiativ eTO_1_1                                                -           languageCd :String = null
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   0..*

                                                                                                                                                                                                                                                                                                                                                                                               -         serialVersionUID :long = -32681715674833... {readOnly}
                                                                                      sd Get Opportunity List                                                                                                                                                                                                                                                                                  -         ownerPid :String = null                                                                                                                           AbstractAdaptable
                                                                                                                                                                                                                                                                                                                                                                                               -         salesInitiativeId :String = null                                                                                                                     TransferObject
                                                                                                          «DesignComponent»                                  «Application»                            «interface»                            «DesignComponent»                                  «DesignComponent»                      «DesignComponent»
                                                                                        GfssalesoppOpportunityPlCompUilGetSearchOpportunity...           Java Framework                           IListModelProvider      GfssalesoppOpportunityPlCompUcslGetOpportunityListOverview      GfssalesoppOpportunityBlCompSal        GfssalesoppOpportunityBlCompSil                               -         buId :String = null                                        -salesInitiative                                       iface::UpdateSalesInitiativ eINTO_1_0
                                                                                                                                                                                                                                                                                                                                                                                               -         detailsList :List<SalesInitiativeDescriptionTO_1_0> = null
                                                                                                                                                        RegionalSettings
                                                                                                                                                                                                                                                                                                                                                                                               -         dataCredentialTO :DataCredentialsTO_1_0 = null                                                 -        serialVersionUID :long = 8037616669607362111L {readOnly}
                                                                                                                                                        (from Application
                                                                                                                                                                                                                                                                                                                                                                                               -         validFrom :Date = null                                                                         -        salesInitiative :SalesInitiativeTO_1_1 = null
                                                                                                                                                           Platform Java
                                                                                                                            getIsoCurrency() :
                                                                                                                                                            Enterprise)                                                                                                                                                                                                                        -         validTo :Date = null                                                                           -        buId :String = null
                                                                                                                            String
                                                                                                                                                                                                                                                                                                                                                                                               -         salesInitiativeUuId :String = null
                                                                                                                          getNumberLocale() :Locale
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    -salesInitiative




 Ownership of models evolves from
                                                                                                                                                                                                                                                                                                                                                                                               -         employeeInfo :EmployeeTransferObject = null
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         AbstractAdaptable
                                                                                                                           getDateLocale() :Locale
                                                                                                                                                                                                                                                                                                                                                                            -salesInitiativeList            -salesInitiatives
                                                                                                                                                                                                                                                                                                                                                                                                             0..*           -salesInitiative                                                                                                                TransferObject
                                                                                                                                                                                    «interface»
                                                                                                                                                                                IListModelContext                                                                                                                                                                                                                                                                                                                           iface::CreateSalesInitiativ eTO_1_0

                                                                                                                                           setBusinessUnit(String)                                                                                                                                                                                                                                                                                                                                           -      serialVersionUID :long = -32681715674833... {readOnly}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             -      salesInitiative :SalesInitiativeTO_1_1 = null
                                                                                                                                            setLanguage(String)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             -      remarks :Remark ([]) = null




 project to solution/application owner
                                                                                                         createListModel(IListModelContext, Map<"uniqueTypeKey",
                                                                                                         "sales.opportunity.currency">) :IListModel

                                                                                                           createListModel(IListModelContext, Map<"uniqueTypeKey",
                                                                                                           "sales.opportunity.type">) :IListModel

                                                                                                           createListModel(IListModelContext, Map<"uniqueTypeKey",                                                                                                                                                                                                                                                                                                                                                                                       AbstractAdaptable
                                                                                                           "sales.opportunity.stage">) :IListModel
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            TransferObject
                                                                                                                                                                             populateOpportunityList() :String
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             iface::GetSalesInitiativ esTO_1_1
                                                                                                                                                                                                                                             searchOpportunity(SearchOpportunityINTO_1_0) :
                                                                                                                                                                                                                                             SearchOpportunityTO_1_0                                                                                                                                                                                                                                         -      serialVersionUID :long = -48828630155053... {readOnly}
                                                                                                                                                                                                                                                                                          searchOpportunity(SearchOpportunityINTO_1_0) :                                                                                                                                                                     -      salesInitiative :SalesInitiativeTO_1_1 = null
                                                                                                                                                                                                                                                                                          SearchOpportunityTO_1_0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             -      remarks :Remark ([]) = null


                                                                                                                                                                                                                                                                                                                             searchOpportunity()
                                                                                                                                                                                                                                                               ref
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         AbstractAdaptable
                                                                                                                                                                                                                                                                     GfssalesoppOpportunityBlCompBl - searchOpportunity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            TransferObject
                                                                                                                alt partnertype                                                                                                                                                                                                                                                                                                                                                                                             iface::UpdateSalesInitiativ eTO_1_0
                                                                                                                [partnertype = 3rd party OR contact person]
                                                                                                                                                                                                                                                                                                                                                                                                                                                        AbstractAdaptable                                    -      serialVersionUID :long = -32681715674833... {readOnly}
                                                                                                                                  do NOT render "create" button()
                                                                                                                                                                                                                                                                                                                                                                                                                                                           TransferObject                                    -      salesInitiatives :SalesInitiativeTO_1_1 = null
                                                                                                                [else]                                                                                                                                                                                                                                                                                            iface::SearchSalesInitiativ esTO_1_1                                                       -      remarks :Remark ([]) = null
                                                                                                                                  render "create" button()
                                                                                                                                                                                                                                                                                                                                                                                           -       serialVersionUID :long = 1531988088787146169L {readOnly}
                                                                                                                                                                                                                                                                                                                                                                                           -       salesInitiativeList :List<SalesInitiativeTO_1_1> = null
                                                                                                                                                                                                                                                                                                                                                                                           -       remarks :Remark ([]) = null




            © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler                                                                                                                                                                                                                                                                                                                                                                    December 14, 2012                                                                                                                       26
Tooling – Models in IFMS
  Architecture that Supports Model Driven Engineering

    Abstract syntax                          Service Meta Model
  conforms to


       DSL Editor                                      IFMS                                  ModelHub
                                                                          xmi
    textual or graphical                              web app
                                                                                   Generator
serialized form

            XMI                                         RDB                                               UML
                                                                                                        (Profiled)

                                                                        PLI     WSDL          Java
                                                                                       IDL
                                                                       (CLI)    XSD          (JSB)


                                                                                                           RSM           Enterprise
                                                                                                                         Architect




                    © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler                                 December 14, 2012           27
Tooling – Models in IFMS
Generation of Implementation Artifacts
 Our SOA strategy accommodates different                           Facts & Figures for Sep/Oct 2012
 integration technologies, which we support                          462 generations accomplished:
 by adopting Platform Independent Models                               –     CLI for 406 Interfaces
 of service interfaces                                                 –     JSB for 142 Interfaces
                                                                       –     WSDL for 316 Interfaces
                                                                       –     XSD for 317 Interfaces
 Generation of technology and platform
                                                                       –     No IDLs only were generated
 specific artifacts reduces implementation
 costs, increases quality and ensures                                  50’895 generated artifacts
 standard compliance
                                                                        Generations per day during Sep/Oct 2012
 This approach is sustainable, since life                      80
 time of a service interface is often longer
 than life time of an integration                              60                                                                     #xsd

 infrastructure                                                40
                                                                                                                                      #wsdl
                                                                                                                                      #jsb
                                                                                                                                      #idl
 Generators support migrations of                              20
                                                                                                                                      #cli
 infrastructures
                                                               -
                                                                    1-Sep   8-Sep 15-Sep 22-Sep 29-Sep 6-Oct 13-Oct 20-Oct 27-Oct



            © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler                                                      December 14, 2012          28
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




           © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler           December 14, 2012   29
Tooling – Models in IFMS
Visualizing Application Dependencies in UML




         © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler   December 14, 2012   30
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




           © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler              December 14, 2012   31
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




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




© CREDIT SUISSE AG, Carl Worms and Ksenia Wahler   December 14, 2012   33
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, …




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




      © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler   December 14, 2012   35
Contact/Disclaimer
Contact
Credit Suisse in the Web: www.credit-suisse.com

Our email addresses:

carl dot f dot worms@credit-suisse.com

ksenia dot wahler@credit-suisse.com




             © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler   December 14, 2012   37
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.




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

More Related Content

Viewers also liked (14)

PDF
Practical Models in Practice
CHOOSE
 
PDF
Choose'10: Ralf Laemmel - Dealing Confortably with the Confusion of Tongues
CHOOSE
 
PDF
Choose'10: Uwe Zdun - Compliance in service-oriented architectures: A model-d...
CHOOSE
 
PDF
Choose'10: Stephane Ducasse - Powerful DSL engineering in Smalltalk
CHOOSE
 
PPT
Security patterns and model driven architecture
bdemchak
 
PPTX
CPI, Inflation for Belize, July 2014 (PowerPoint)
Adele Ramos
 
PDF
Ralph Jocham The Risks Of Scrum Handout
CHOOSE
 
PPTX
SEO, Influencers, or Quality - What's Your Trump Card in Content Marketing?
Social Media Today
 
PDF
Denker - Pharo: Present and Future - 2009-07-14
CHOOSE
 
PDF
Communicating Your Design - UXSofia 2014
Kathryn Parkes
 
PDF
Getting Started With Apex REST Services
Salesforce Developers
 
PPTX
Cart Abandonment Case Study DEMCO Silverpop Adobe
Silverpop
 
PDF
Continuous Architecting of Stream-Based Systems
CHOOSE
 
PPTX
Agentes atmosfericos del planeta
Neida Salazar Perez
 
Practical Models in Practice
CHOOSE
 
Choose'10: Ralf Laemmel - Dealing Confortably with the Confusion of Tongues
CHOOSE
 
Choose'10: Uwe Zdun - Compliance in service-oriented architectures: A model-d...
CHOOSE
 
Choose'10: Stephane Ducasse - Powerful DSL engineering in Smalltalk
CHOOSE
 
Security patterns and model driven architecture
bdemchak
 
CPI, Inflation for Belize, July 2014 (PowerPoint)
Adele Ramos
 
Ralph Jocham The Risks Of Scrum Handout
CHOOSE
 
SEO, Influencers, or Quality - What's Your Trump Card in Content Marketing?
Social Media Today
 
Denker - Pharo: Present and Future - 2009-07-14
CHOOSE
 
Communicating Your Design - UXSofia 2014
Kathryn Parkes
 
Getting Started With Apex REST Services
Salesforce Developers
 
Cart Abandonment Case Study DEMCO Silverpop Adobe
Silverpop
 
Continuous Architecting of Stream-Based Systems
CHOOSE
 
Agentes atmosfericos del planeta
Neida Salazar Perez
 

Similar to Services and Models in a Large IT System (20)

PDF
Distinguishing, Evaluating, and Selecting Cloud Service Providers
GartnerJessica
 
PPTX
Architects In Recession Economy
iCMG International
 
PPTX
considering the cloud? From IaaS to SaaS and Beyond - Find Your Path to the C...
Web2Present
 
PDF
Cloud Tools for Connected Communities
Peter Coffee
 
PDF
Choosing Your Windows Azure Platform Strategy
drmarcustillett
 
PDF
Having the Cloud Conversation: Why the Business Architect Should Care
Peter Coffee
 
PDF
Waters Power Conference
kopac1am
 
PDF
Smart Clouds for Smart Companies
Peter Coffee
 
PPT
Douglas Bellamy Resume June 2012
dbellamy59
 
PDF
Moving Beyond Migration: Reinventing Process in the Cloud
Peter Coffee
 
PDF
Transforming SOA Landscape Towards SOA+BPM Landscape
Tarmo Ploom
 
PDF
Benno Zollner - Reshaping IT
Fujitsu France
 
PPTX
Building SaaS Enabled Applications
Movate
 
PDF
Day 3 p4 - cloud strategy
Lilian Schaffer
 
PDF
Day 3 p4 - cloud strategy
Lilian Schaffer
 
PDF
SugarCON partner presentation by IBM
Bevdewitt
 
PDF
TechEd Preconference
Simon Guest
 
PDF
Data Center Virtualization @ Cisco
vmug
 
PDF
Csc Company Profile
Wader Zhang
 
Distinguishing, Evaluating, and Selecting Cloud Service Providers
GartnerJessica
 
Architects In Recession Economy
iCMG International
 
considering the cloud? From IaaS to SaaS and Beyond - Find Your Path to the C...
Web2Present
 
Cloud Tools for Connected Communities
Peter Coffee
 
Choosing Your Windows Azure Platform Strategy
drmarcustillett
 
Having the Cloud Conversation: Why the Business Architect Should Care
Peter Coffee
 
Waters Power Conference
kopac1am
 
Smart Clouds for Smart Companies
Peter Coffee
 
Douglas Bellamy Resume June 2012
dbellamy59
 
Moving Beyond Migration: Reinventing Process in the Cloud
Peter Coffee
 
Transforming SOA Landscape Towards SOA+BPM Landscape
Tarmo Ploom
 
Benno Zollner - Reshaping IT
Fujitsu France
 
Building SaaS Enabled Applications
Movate
 
Day 3 p4 - cloud strategy
Lilian Schaffer
 
Day 3 p4 - cloud strategy
Lilian Schaffer
 
SugarCON partner presentation by IBM
Bevdewitt
 
TechEd Preconference
Simon Guest
 
Data Center Virtualization @ Cisco
vmug
 
Csc Company Profile
Wader Zhang
 
Ad

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
  • 25. Bringing the Models Together… …To Systematically Derive Business-Relevant IT Solutions An Example with Focus on Data Models Project Other Consumer External Requirements Requirements Standards Analyze & Consolidate Conceptual Business Object Model levels of abstraction Derive & Design Logical Obj.-Oriented Service Logical Info Model Data Model Model (Logical) Generate & Physical Executable Service Implement Physical Data Model Model/Code Info Model (Tech.Specific) “Data at Rest” “Data at Work” “Data in Flight” Persistence Business Logic Services concerns © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 25
  • 26. Bringing the Models Together… …To Document IT Solutions in a Uniform Way uc Use Case Details diagram class aBOM Sales Opportunity GFS Sales Opportunities «BusinessObject» Software Architecture Document is Partner «Attribute» - isUndesiredClient :int Edit Opportunity - primeRole :int - partnerBusinessID :int - domicile :int - comment :int - state :int - stateChangeTimestamp :int - attribute1 :int a collection of views on an IT application -partner 1..1 Assign Internal Participant «Application» assignOpportunity SalesOpportunities «BusinessObject» model, each view is customized to -opportunityPartnerRelation 0..* SalesInitiativ eDescription Select Single Product «BusinessObject» «Attribute» OpportunityPartnerContext - subject :int - language :int «Attribute» - description :int - type :OpportunityPartnerType -salesInitiativeDescription 1..* -opportunityPartnerRelation 0..* describe stakeholder requirements – e.g. assignParticipant Get Opportunity List Manage Customized extension points: List ExtensionPoint1 in Public Profile -salesOpportunity 1..1 -salesInitiative 1..1 «ExternalBusinessOb... InternalUser Authorised User «BusinessObject,DataStructure» «BusinessObject... SalesOpportunity SalesInitiativ e «Attribute» -salesOpportunity belongsTo -salesInitiative owner - personalIdentifier :int «Attribute» «Attribute» - lastName :int - closureReason :ClosureReason [0..1] 0..* 0..1 - validFrom :int 0..* 1 - firstName :int requirements view, component view, - comment :int [0..1] - validTo :int - salutation :int Manage Customized - creationDate :int [0..1] - BusinessUnit :int - eMail :int List - expectedBV :int [0..1] in Priv ate Profile - expectedBVCurrency :int - expectedClosureDate :int - expectedCVNI :int [0..1] - expectedCVNICurrency :int - expectedNNA :int [0..1] - expectedNNACurrency :int - expectedRevenue :int [0..1] - expectedRevenuesCurrency :int service view, security view - focusTopic :FocusTopic - fundingDate :int [0..1] - opportunityCurrency :int «BusinessObject» - opportunityId :int -salesOpportunity assign user -customerCareForOpportunity CustomerCareForOpportunity FunctionContext - otherExternalParticipants :int [0..1] - probability :int [0..1] 1..1 1..* «BusinessObj... - qualityCheck :SalesOpportunityQualityCheck [0..1] CustomerCare - stage :SalesStage cmp Application Context Diagram - status :SalesOpportunityStatus [0..1] - subject :String - type :SalesOpportunityType «Application» Portal «InformationFlow» Standard modeling notation and tools Portal-> GFSSALESOPP «Application» «Application» ICTO-24632: CS GFS Sales Opportunities cmp GfssalesoppInitiativ eBlCompIfc - Transfer Obj ects Jav a Serv er Faces - «use» SalesInitiativeCA_1_2 CSJSF used to document IT solutions in «InformationFlow» JavaFramework-> CSJSF «DesignComponent» «Application» «InformationFlow» GfssalesoppInitiativ eBlCompIfc ICTO-20181: GFS «Application» GFSINTCONT-> Internal Contacts Jav a Framew ork «InformationFlow» GFSSALESOPP -GFSINTCONT - GFSINTCONT a uniform way across the organization JavaFramework-> GFSSALESOPP SalesInitiative_1_2 «Application» «InformationFlow» ReferenceDataProv ider AbstractAdaptable SearchSalesInititiativesINTO_1_0 ReferenceDataProvider-> TransferObject GFSSALESOPP iface::SearchSalesInitiativ esINTO_1_1 iface::GetSalesInitiativ esINTO_1_1 - serialVersionUID :long = 3903765761855185929L {readOnly} - serialVersionUID :long = -82484530146726... {readOnly} - ownerPid :String = null - buId :String = null - validFrom :Date = null - initiativeUuId :String = null «InformationFlow» - validTo :Date = null - languageCode :ReferenceCode = null GS_SalesOpportunity-> GFSSALESOPP «InterfaceGroup» «InformationFlow» GS_SalesOpportunity GS_Product-> GFSSALESOPP AbstractAdaptable AbstractAdaptable «InformationFlow» TransferObject All details captured directly in the model, iface::GetInitiativ eOw nerInfoINTO_1_0 GS_SalesInitiative-> iface::CreateSalesInitiativ eINTO_1_0 «InterfaceGroup» GFSSALESOPP - serialVersionUID :long = -89067102169053... {readOnly} GS_Product - serialVersionUID :long = -32681715674833... {readOnly} - buId :String = null - salesInitiative :SalesInitiativeTO_1_1 = null - ownerPid :String = null - buId :String = null «InterfaceGroup» GS_SalesInitiativ e AbstractAdaptable TransferObject which is used to generate documentation iface::SalesInitiativ eDescriptionTO_1_0 - serialVersionUID :long = -32681715674833... {readOnly} -salesInitiative - subject :String = null -detailsList - description :String = null TransferObject iface::SalesInitiativ eTO_1_1 - languageCd :String = null 0..* - serialVersionUID :long = -32681715674833... {readOnly} sd Get Opportunity List - ownerPid :String = null AbstractAdaptable - salesInitiativeId :String = null TransferObject «DesignComponent» «Application» «interface» «DesignComponent» «DesignComponent» «DesignComponent» GfssalesoppOpportunityPlCompUilGetSearchOpportunity... Java Framework IListModelProvider GfssalesoppOpportunityPlCompUcslGetOpportunityListOverview GfssalesoppOpportunityBlCompSal GfssalesoppOpportunityBlCompSil - buId :String = null -salesInitiative iface::UpdateSalesInitiativ eINTO_1_0 - detailsList :List<SalesInitiativeDescriptionTO_1_0> = null RegionalSettings - dataCredentialTO :DataCredentialsTO_1_0 = null - serialVersionUID :long = 8037616669607362111L {readOnly} (from Application - validFrom :Date = null - salesInitiative :SalesInitiativeTO_1_1 = null Platform Java getIsoCurrency() : Enterprise) - validTo :Date = null - buId :String = null String - salesInitiativeUuId :String = null getNumberLocale() :Locale -salesInitiative Ownership of models evolves from - employeeInfo :EmployeeTransferObject = null AbstractAdaptable getDateLocale() :Locale -salesInitiativeList -salesInitiatives 0..* -salesInitiative TransferObject «interface» IListModelContext iface::CreateSalesInitiativ eTO_1_0 setBusinessUnit(String) - serialVersionUID :long = -32681715674833... {readOnly} - salesInitiative :SalesInitiativeTO_1_1 = null setLanguage(String) - remarks :Remark ([]) = null project to solution/application owner createListModel(IListModelContext, Map<"uniqueTypeKey", "sales.opportunity.currency">) :IListModel createListModel(IListModelContext, Map<"uniqueTypeKey", "sales.opportunity.type">) :IListModel createListModel(IListModelContext, Map<"uniqueTypeKey", AbstractAdaptable "sales.opportunity.stage">) :IListModel TransferObject populateOpportunityList() :String iface::GetSalesInitiativ esTO_1_1 searchOpportunity(SearchOpportunityINTO_1_0) : SearchOpportunityTO_1_0 - serialVersionUID :long = -48828630155053... {readOnly} searchOpportunity(SearchOpportunityINTO_1_0) : - salesInitiative :SalesInitiativeTO_1_1 = null SearchOpportunityTO_1_0 - remarks :Remark ([]) = null searchOpportunity() ref AbstractAdaptable GfssalesoppOpportunityBlCompBl - searchOpportunity TransferObject alt partnertype iface::UpdateSalesInitiativ eTO_1_0 [partnertype = 3rd party OR contact person] AbstractAdaptable - serialVersionUID :long = -32681715674833... {readOnly} do NOT render "create" button() TransferObject - salesInitiatives :SalesInitiativeTO_1_1 = null [else] iface::SearchSalesInitiativ esTO_1_1 - remarks :Remark ([]) = null render "create" button() - serialVersionUID :long = 1531988088787146169L {readOnly} - salesInitiativeList :List<SalesInitiativeTO_1_1> = null - remarks :Remark ([]) = null © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 26
  • 27. Tooling – Models in IFMS Architecture that Supports Model Driven Engineering Abstract syntax Service Meta Model conforms to DSL Editor IFMS ModelHub xmi textual or graphical web app Generator serialized form XMI RDB UML (Profiled) PLI WSDL Java IDL (CLI) XSD (JSB) RSM Enterprise Architect © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 27
  • 28. Tooling – Models in IFMS Generation of Implementation Artifacts Our SOA strategy accommodates different Facts & Figures for Sep/Oct 2012 integration technologies, which we support 462 generations accomplished: by adopting Platform Independent Models – CLI for 406 Interfaces of service interfaces – JSB for 142 Interfaces – WSDL for 316 Interfaces – XSD for 317 Interfaces Generation of technology and platform – No IDLs only were generated specific artifacts reduces implementation costs, increases quality and ensures 50’895 generated artifacts standard compliance Generations per day during Sep/Oct 2012 This approach is sustainable, since life 80 time of a service interface is often longer than life time of an integration 60 #xsd infrastructure 40 #wsdl #jsb #idl Generators support migrations of 20 #cli infrastructures - 1-Sep 8-Sep 15-Sep 22-Sep 29-Sep 6-Oct 13-Oct 20-Oct 27-Oct © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 28
  • 29. 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 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 29
  • 30. Tooling – Models in IFMS Visualizing Application Dependencies in UML © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 30
  • 31. 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 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 31
  • 32. 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 © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 32
  • 33. Outlook © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 33
  • 34. 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, … © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 34
  • 35. Q&A © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 35
  • 37. Contact Credit Suisse in the Web: www.credit-suisse.com Our email addresses: carl dot f dot [email protected] ksenia dot [email protected] © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 37
  • 38. 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. © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 38