• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Services and Models in a Large IT System
 

Services and Models in a Large IT System

on

  • 330 views

Presentation by Carl Worms and Ksenia Wahler at CHOOSE Forum 2012

Presentation by Carl Worms and Ksenia Wahler at CHOOSE Forum 2012

Statistics

Views

Total Views
330
Views on SlideShare
233
Embed Views
97

Actions

Likes
0
Downloads
4
Comments
0

2 Embeds 97

http://www.scoop.it 96
http://choose.s-i.ch 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Services and Models in a Large IT System Services and Models in a Large IT System Presentation Transcript

    • Services and Models in a Large IT SystemCHOOSE FORUM 2012 Transition Layouts PowerPoint 2003 Use only until deployment of iDesktop (Microsoft Office 2010)© CREDIT SUISSE AG, Carl Worms and Ksenia WahlerDecember 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 TechnologyPartnering Closely with the Business in All RegionsNew York London ZurichMain Business: Main Business: Main Business:Investment Investment Private Banking,Banking Banking Private and Corporate ClientsRaleigh Wroclaw India SingaporeNear-shore Near-shore Outsourced and Mainly serving fastdevelopment center, primarily co-managed off- growing marketscenter, primarily supporting EMEA shore center in of APAC regionsupporting NY and Switzerland different locations © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 5
    • Information TechnologyFacts 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 accounts1 Asof March 20122 MW = Mega Watt3 MIPS = Million Instructions per Second © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 6
    • Information TechnologyCMMI 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 SuisseWe 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-endsSeen 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. Thecompany is fully experiencing the benefits of SOA and the componentization of corebusiness applications. However, to reach that desired state, Credit Suisse went through alengthy and expensive endeavor that only leading-edge, technically sophisticated enterpriseswill be able to tackle." Gartner Group © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 9
    • 15 years SOA @ Credit SuisseThe 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 PlatformObjectives 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 ServicesTechnology 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 SuisseMultiple 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 SuisseFrom 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 SuisseInterface 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 SuisseTesting and Versioning of InterfacesDiMA*-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 SuisseThe 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 SuisseAchievement 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 SuisseChallenge: From Regional to Global Services/Security Switzerland EMEA – Today Global - Future Multiple Applications Single Application Multiple ApplicationsSOA 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 SuisseTarget 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 stakeholdersBridging 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 ModelsStatic 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 ModelsViews 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 ModelsContracts 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 ViewDefines 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_C6 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 Modellevels 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 Generatorserialized 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 IFMSGeneration 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 IFMSModelHub 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 IFMSVisualizing Application Dependencies in UML © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 30
    • Tooling – Models in IFMSZooming 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 IFMSA 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
    • ContactCredit Suisse in the Web: www.credit-suisse.comOur email addresses:carl dot f dot worms@credit-suisse.comksenia dot wahler@credit-suisse.com © CREDIT SUISSE AG, Carl Worms and Ksenia Wahler December 14, 2012 37
    • DisclaimerThis document was produced by and the opinions expressed are those of Credit Suisse AGas of the date of writing and are subject to change. It has been prepared solely forinformation purposes and for the use of the recipient. The information and analysis containedin this document have been compiled or arrived at from sources believed to be reliable butCredit Suisse AG does not make any representation as to their accuracy or completenessand does not accept liability for any loss arising from the use hereof. This document may notbe 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