A Service Oriented Architecture For Order Processing In The I B M Supp...
Develop Composite Business Services To Enable Reuse In A Service Oriented Architecture
1. Develop Composite Business Services(CBS) to Enable Reuse in a Service-Oriented Architecture Carl Osipov, Software Architect, IBM Software Group Strategy [email_address] Dr. German Goldszmidt, Distinguished Engineer, IBM Software Group Strategy [email_address]
2.
3. The Team German Goldszmidt Mgr, SWG STAI Vamsi Mudiam Mgr, ISL Devaprasad Nadgir ISL, IT Architect Kirill Osipov (Carl) STAI, Software Architect Jatinder Malik ISL Mary Taylor, STAI Software Engineer Sobha Warrier ISL http://tssi.raleigh.ibm.com/pmwiki.php?n=Projects.Seminole CBS Incubation Project Strategy, Technology, Architecture and Incubation India Software Labs Dharan Veetil ISL
4. … service oriented architecture (SOA)? An IT architectural style that supports service orientation What is …? … service orientation? A way of integrating your business as linked services and the outcomes that they bring … a business service? A repeatable business task – e.g., check customer credit; open new account. Business services can be developed as coarse grained web services … a composite business service (CBS)? A collection of business services built around a complex, end-to-end business process and may be optimized to a specific industry
5. Service Oriented Architecture Different Things to Different People A programming model complete with standards, tools, methods and technologies such as web services A set of services that a business wants to expose to customers and clients Roles An architectural style which requires a service provider, requestor and a service description A set of architectural principles and patterns which address characteristics such as modularity, encapsulation, loose coupling, separation of concerns, reuse, composable and single implementation Implementation Architecture Business
6. CBS Business Intents: Nonfunctional Requirements Policy and role based authentication and authorization Secure Conformance to prevailing standards Standards-based The ability to accommodate change and support multiple concurrent releases/versions Flexible Creation of an environment that supports IBM , Business Partner and 3rd party services Ecosystem Ability to measure the business value of using a service Measurable Ability to tailor behavior using business policies , business rules , and configuration parameters Configurable The replacement of predominantly manual tasks with a computerized process Automation Publishing of CBSs to allow for viewing and subscription through service contracts Published Ability to service multiple clients from a shared, common environment Multi-tenant The ability to react to events that occur at run time Dynamic Description Intents
7. Overview of Architectural Decisions WSRR for IT level services and metadata Published Tivoli Access Manager, Federated Identity Manager, Directory Integrator Secure Industry de facto standards for banking/insurance models Standards-based SOA architecture WSRR to help with service change management Flexible WSRR to expose services to 3 rd parties through Portal UI. WBSF mediation modules for integration with 3 rd party services Ecosystem Apache Ant for end-to-end task orchestration of IBM WebSphere wsAdmin scripting, IBM WebSphere Portal xmlAccess scripting Automation WPF dashboard framework for ad-hoc measurements WebSphere Business Monitor for business process KPIs Measurable WPS Business Rule Manager WebSphere Service Registry & Repository(WSRR) for storage of metadata Configurable WebSphere Portal virtual portals to enable multi-tenancy Multi-tenant WebSphere Business Services Fabric (WBSF) for points of variability (PoV) using SCA, ESB WebSphere Portlet Factory dynamic profiles Dynamic Architectural Decision Intents
14. Scope : Business Components (BCs) Retail Banking Component Business Model (CBM) Component Component Primary BCs: All component feature services implemented Secondary BCs: scenario service interfaces implemented Financial Management Business & Resource Admin Business Portfolio Management Customer Sales & Servicing New Business Development Product Delivery Customer Management Distribution Services Operational Services Financial Policies & Plans Staff Planning Systems Planning External Relations Asset & Liability Policy & Planning Segment Analysis & Planning Acquisition Planning Product Fulfillment Planning Credit Policy & Planning Product Services Planning Account Services Planning Business & Systems Architecture Business Unit Tracking Audit & Legal Compliance Product Design Oversight Relationship & Credit Oversight Business Unit Planning Building & Facilities Planning Product Portfolio Planning Financial Control Asset & Liability Oversight Product Services Oversight Account Services Oversight Product Tracking Facilities Maintenance & Operations Systems Development & Deployment Production Assurance (Help Desk) Business Unit Administration Staff Administration Systems Operations Customer Sale &Servicing Planning Customer Base (Portfolio & Analysis) Sales/ Servicing Administration Treasury/ Trading Asset & Liability Tracking General Ledger Financials Consolidation Fixed Asset Register Collections & Recovery Card Fulfilment Retail Advisory Services Retail Lending Fulfillment Wholesale Products Campaign Management Securitization/ Syndication Decisioning Account Reconciliation Case & Exception Handling Product Operations Oversight Fraud/AML Detection Application Processing Oversight Commissions Product Development Campaign Execution Marketing & Advertising Collateral Handling Credit Administration Branch non-cash Inventory Cash & Currency Handling Information Dissemination Document Administration Payments Deposit Fulfilment Customer Behavior Modeling Product Deployment Oversight Product Bundling Contact Routing Contact Handler Product Matching Contact/ Event History Customer Recognition Relationship Management Rewards Administration Correspondence Customer Accounting Customer Agreements Branch Design (all channels) Branch Operations Channel (non-branch) Operations Market Analysis Training & Awareness Internal Acquisition
15. BC Interaction “Bubble” Diagram (PowerPoint) Up-sell/Cross-sell Identification Customer Servicing Customer Sales Initiation Customer Behavior Modeling Customer Base (Portfolio & Analysis) Relationship Management 7 Customer Recognition Deposit Fulfillment Product Development Training & Awareness Product Matching Customer Agreements Contact Handler 19 Contact Routing 9 25 Contact/ Event History Internal Acquisition 1 3 Selected components and descriptive interactions for 3 CRM Banking scenarios get filtering model 4 Segment shortfalls 2 initiate sales discussion 21 14 get sales guidance tagged for eligibility 6 5 select candidates 6a deposit activity 8 hot prospect 10 verify customer 11 initiate dialogue 13 check recent activity 15 get product specifics 17 initiate set-up 20 get campaign guidance 22 initiate set-up 23 update campaign 24 wrap up contact 26 update history check eligibility 14 16 negotiate terms detect hot prospect 18 12 update address
16.
17.
18. Design Technique and Artifacts Technical arch. specifications analyzed bottom-up Requirements (Bus. Use Cases) Bus. Component Specifications Banking Industry Models (IFW) 1 2 Bus. arch. specifications in PPT (informative) Map of Business Components Services Candidate Services ReqPro maintained by defined by analyzed top-down specified by derived from derived from Process/Interface Design Model organize & specify Bus. Use Case Associations & Collaborations Bus. Component Collaborations defined by Logical Data Model Physical Data Model Service Specifications User Experience Model Operational Model
19.
20.
21. Use the Segment Shortfalls as an Example Up-sell/Cross-sell Identification Customer Servicing Customer Sales Initiation Customer Behavior Modeling Relationship Management 7 Deposit Fulfillment Product Development Training & Awareness Product Matching Customer Agreements Contact Handler 19 Contact Routing 9 25 Contact/ Event History Customer Recognition get filtering model 4 detect hot prospect 18 initiate sales discussion 21 13 get sales guidance tagged for eligibility 6 5 select candidates 6a deposit activity 8 hot prospect 10 verify customer 11 initiate dialogue 12 check recent activity 15 get product specifics 17 initiate set-up 20 get campaign guidance 22 initiate set-up 23 update campaign 24 wrap up contact 26 update history check eligibility 14 16 negotiate terms Customer Base (Portfolio & Analysis) Segment shortfalls 2 Internal Acquisition AO-OpInd 1 3
22. Structural Mapping of a BC to UML Business Activities Business Features Internal Acquisitions BC Services BC Business Term Model Internal Campaign … Propose Campaign Plan << businessTerm >> Internal Campaign <<businessComponent >> Internal Acquisitions <<businessActivity>> Operate on Internal Campaign <<businessService >> Propose Campaign Plan Business Information Business Information << businessTerm >> Campaign Approach << businessTerm >> Campaign Analysis <<feature>> Schedule and initiate campaign activity across all involved parties derived from derived from Bus. Use Case Associations & Collaborations organize & specify Bus. Component Specifications
23. Formalization of Associations between BC elements in UML Business Activities Business Features Internal Acquisitions BC Services BC Business Term Internal Campaign <<businessActivity>> Operate on Internal Campaign <<businessComponent >> Internal Acquisitions … Propose Campaign Plan Business Information Business Information <<businessTerm >> Internal Campaign << businessTerm >> Campaign Approach << businessTerm>> Campaign Analysis <<feature>> Schedule and initiate campaign activity across all involved parties <<businessService >> Propose Campaign Plan derived from derived from Bus. Use Case Associations & Collaborations organize & specify Bus. Component Specifications
24.
25. Structural Elements of Top-down Service Identification Internal Campaign realize has substitution Campaign Analysis realize for analyzed by <<businessTerm>> Campaign Approach <<businessTerm>> Campaign Analysis use case independent use case specific i.e. Segment Shortfalls CRM Retail Banking use case UML representation of BA Industry Model Service Endpoints & Implementation Campaign Segment Activity <<businessTerm>> Internal Campaign <<businessComponent >> Internal Acquisitions Services Candidate Services analyzed top-down specified by BDW Logical Data Model
26.
27.
28.
29.
30.
31.
32. CRM Business Components Targeted for Reuse Component Component Reused Components Non-reused Components Financial Management Business & Resource Admin Business Portfolio Management Customer Sales & Servicing New Business Development Product Delivery Customer Management Distribution Services Operational Services Financial Policies & Plans Staff Planning Systems Planning External Relations Asset & Liability Policy & Planning Segment Analysis & Planning Acquisition Planning Product Fulfillment Planning Credit Policy & Planning Product Services Planning Account Services Planning Business & Systems Architecture Business Unit Tracking Audit & Legal Compliance Product Design Oversight Relationship & Credit Oversight Business Unit Planning Building & Facilities Planning Product Portfolio Planning Financial Control Asset & Liability Oversight Product Services Oversight Account Services Oversight Product Tracking Facilities Maintenance & Operations Systems Development & Deployment Production Assurance (Help Desk) Business Unit Administration Staff Administration Systems Operations Customer Sale &Servicing Planning Customer Base (Portfolio & Analysis) Sales/ Servicing Administration Treasury/ Trading Asset & Liability Tracking General Ledger Financials Consolidation Fixed Asset Register Collections & Recovery Card Fulfilment Retail Advisory Services Retail Lending Fulfillment Wholesale Products Campaign Management Securitization/ Syndication Decisioning Account Reconciliation Case & Exception Handling Product Operations Oversight Fraud/AML Detection Application Processing Oversight Commissions Product Development Campaign Execution Marketing & Advertising Collateral Handling Credit Administration Branch non-cash Inventory Cash & Currency Handling Information Dissemination Document Administration Payments Customer Behavior Modeling Product Deployment Oversight Product Bundling Contact Routing Contact Handler Product Matching Contact/ Event History Rewards Administration Correspondence Customer Accounting Customer Agreements Branch Design (all channels) Branch Operations Channel (non-branch) Operations Market Analysis Internal Acquisition Customer Agreements Product Matching Contact Routing Product Development Training And Awareness Training & Awareness Deposit Fulfillmenth Deposit Fulfilment Relationship Management Relationship Management Customer Recognition Customer Recognition Business components referenced in a Request Quote insurance scenario Customer Behavior Modeling Relationship Management Customer Recognition Internal Acquisition Deposit Fulfilment Training & Awareness Retail Banking Component Business Model (CBM)
33.
34.
35. Illustrated decomposition of a businessService into IFW and IAA operations Retail Banking Feature Insurance Feature IFW IAA BPEL BPEL getCustomerName() getAccessToken() getCreditRating() getImportanceLevel() getPropensityScore() retrieveCustomerDetails() retrieveContactHistory() GetRiskSegment GetCustomerPersonalDetails <<feature >> Support various combinations of flags and indicators <<feature >> Support multiple tiers of ID verification/ authorization GetCustomerPersonalDetails GetMarketSegment GetUserDetails
36. Runtime CBS with Industry Specific Features Runtime Integration getCustomerPersonalDetails() getMarketSegment() getUserDetails() getRiskSegment() WebSphere Process Server WebSphere Service Registry and Repository Multi-Role Multi- Channel IVR WebSphere Portal Server Broker CSR Operational Capability exposed as Web Service GetRiskSegment GetCustomerPersonalDetails Bind Common services Enforce Mediate GetCustomerPersonalDetails GetMarketSegment GetUserDetails WebSphere Business Service Fabric (WBSF) <<businessService >> Manage Customer Profile Information Banking Services Insurance Services
37. Customer Recognition Contact Routing 2 verify customer <<businessOperation >> Operate on Customer Snapshot <<businessService >> Manage Customer Profile Information GetRiskSegment GetCustomerPersonalDetails GetCustomerPersonalDetails GetMarketSegment <<feature >> Support multiple tiers of ID verification/ authorization <<feature >> Support various combinations of flags and indicators Retail Banking Feature Insurance Feature <<businessComponent >> Customer Recognition GetUserDetails IFW IAA Interaction Diagram UML Representation BPEL on Process Server IFW/IAA Services at runtime getCustomerName() getAccessToken() getCreditRating() getImportanceLevel() getPropensityScore() retrieveCustomerDetails() retrieveContactHistory()