Service Virtualization - Northwestern University Information
Transcription
Service Virtualization - Northwestern University Information
SOA Technical Overview Achieve Business Agility Glenn Gettman, WebSphere Connectivity Specialist 1 History has not been Kind to Brittle Businesses • In 1917, BC Forbes compiled his first list of the 100 largest American companies • In 1987, Forbes published its Forbes 100 list and compared it to its 1917 list • Of the original group, 61 had ceased to exist! Of the remaining 39, only 18 had managed to stay in the top 100. How will your company transform its business to beat competition and deliver increasing customer value over time? Be prepared for change. It’s the only thing you can count on. 2 Business flexibility depends on IT flexibility “Today’s IT architectures are the biggest roadblocks most companies face when making strategic moves.” –McKinsey “Flexible IT, Better Strategy” Why are today’s architectures roadblocks? Mainframe apps - Blue PC/NT apps - Green Unix apps - Yellow 3rd party interface - Orange Lines: Colors have no special meaning. DRAFT AIS Reports Budget Analysis Tool Vendor Maintenance Insertions Orders AIS Calendar Due Dates General Maintenance Broadcast Filter Stores & Mrkts Best Buy - Application Diagram V4 November 10, 1999 Vendor Setup They are to help make the diagram easier to read. For More Information: See the database containing information about each application: Application V4.mdb Process Servers (Imaging) Printer Maintenance NEW Soundscan NPD Group AIG Warranty Guard Mesa Data S20-Sales Polling Printer PO DRAFT Page 1 of 2 Depository Banks UAR - Universal Account Reconcilliation Sterling VAN Mailbox (Value) Roadshow I13- Auto Replenishment I06 - Customer Order S01 - Sales Corrections I17 Customer Perceived In-Stock I15 Hand Scan Apps I06 Warehouse Management Print Costing Invoice App E13 E3 Interface Fringe PO Smart Plus M03 - Millennuim 3.0 Smart Plus Launcher • S04 - Sales Posting S07 - Cell Phones P16 - Tally Sheet Complexity L02-Resource Scheduling (Campbell) A04 - Cust Refund Chks E01-EDI Frick Co CTS ACH V02-Price Marketing Support CTO2.Bestbuy. com V04-Sign System Prodigy I10 Cycle Physical Inventory I04 Home Deliveries I02 Transfers B01 - Stock Status Spec Source SKU Tracking S08 - Vertex Sales Tax Intercept I11 Price Testing I09 Cycle Counts S02 Layaways NPD, SoundScan Spec Source Scorecard - HR S03-Polling I35 - CEI Hidden interfaces Store Monitor K02 Customer Repair Tracking I18 SKU Rep SKU Selection Tool Arthur Planning I35 Early Warning System I55 SKU Information ELT PowerSuite SKU Performance L60 MDF Coop I05 Inventory Info V01-Price Management System ASIS Rebate Transfer X92-X96 Host to AS400 Communication Supplier Compliance I01 PO Receiving V03- Mkt Reactions P09 Bonus/HR Washington, RGIS, Ntl Bus Systems S11 - ISP Tracking U18 - CTO POS Plan Administrators (401K, PCS, Life, Unicare, Solomon Smith Barney) E02-Employee Purchase • L01-Promo Analysis 1 AAS P01Employee Masterfile P09 - P17 Cyborg Banks - ACH and Pos to Pay S09 - Digital Satellite System I12 Entertainment Software P14 On-line New Hire Entry Cobra Monolithic and silo’d applications S06 - Credit App Equifax P15 EES Employee Change Notice Resumix • I03 Return to Vendor D01 Post Load Billing M02 - Millennium Stock Options I07 Purchase Order Ad Expense G02 - General Ledger Store Scorecard Sign System Texlon 3.5 NARM I14 Count Corrections Store Budget Reporting Valley Media U16-Texlon • B02 Merchandise Analysis CopyWriter's Workspace Custom coded connections Merch Mngr Approval Batch Forcasting Ad Measurement AIMS Admin Ad Launcher AIMS Journal Entry Tool Kit A05 - AP Cellular Rollover AIMS Reporting S05 - House Charges Optika PSP C02 - Capital Projects Data Warehouse • BMP - Bus performance Mngt EDI Coordinator (Interfaces to and from the Data Warehouse are not displayed on this diagram) Not designed for change US Bank Recon File Connect 3 ICMS Credit SiteSeer In-Home Repair Warranty Billing System OTHER APPS - PC AP - Collections/Credit TM - Credit Card DB F06 - Fixed Assets Star Repair Connect 3 PDF Transfe Connect 3 Reports Cash Over/ Short Cash Receipts/Credit Misc Accounting/Finance Apps - PC/NT COBA (Corp office Budget Assistant) PCBS(Profit Center Budget System) Merchandising Budget INVENTORY CONTROL APPS - PC Code Alarm Debit Receivings Devo Sales Display Inventory In Home Junkouts Merchandise Withdrawl Promo Credits RTV Accrual Shrink AP Research - Inv Cntrl AP Research-Addl Rpts Book to Perpetual Inventory Close Out Reporting Computer Intelligence Data Count Corrections Cross Ref for VCB Dnlds Damage Write Off Debit Receivings DFI Vendor Database Display Inventory Reconcil Display Inventory Reporting INVENTORY CONTROL APPS - PC DPI/CPI IC Batching Inventory Adj/Count Correct Inventory Control Reports Inventory Levels Inventory Roll Merchandise Withdrawl Open Receivings PI Count Results PI Time Results from Inv Price Protection Sales Flash Reporting Shrink Reporting SKU Gross Margin SKU Shrink Level Detail USM VCB Downloads Actual application architecture for a consumer electronics company 3 ACCTS REC APPS - PC 990COR Bad Debt Benefical Fees Beneficial Reconcil JEAXF JEBFA JEBKA JEDVA JESOA JEVSA JEVSF NSF TeleCredit Fees Prepared by Michelle Mills The Big Divide Verify Part availability Fulfill order Bill and collect EJBs and servlets access database PeopleSoft adapter RPG Program • Poor communication between LOB and IT • Business managers view IT as costly and slow • IT maintenance cost absorb 70+% of the funding • IT too often viewed as a cost center not a strategic business tool 4 What is a Service? • Consider interacting with a waiter in a restaurant: o o o o Order food Brings food Refills glasses Brings bill • How the waiter achieves the task is not important, only that he does • Waiter acts as an Interface to the restaurant • Waiter is your view of the restaurant service 5 Services from Existing Software • Existing software can be described as Services o Through adapters o Through “Web Services” o Through technology • J2EE • .NET • … others 6 Services from New Applications • Services can be constructed for new applications o Web Services o J2EE EJBs o .NET assemblies • Services can be constructed for new applications that interact with existing software o Bridges o Gateways 7 Services in your Business • A wide variety of systems to be integrated • Each one has a distinct set of APIs and associated semantics • A very difficult task to write “glue” code to join them all together 8 Services Oriented Architecture Steps • Step 1: Break down your business into components o Decide what is strategically important, what is just operations in the value chain, prioritize and scope your transformation projects • Step 2: Define a Service Model o Identify your business services based on your business components, Identify your business processes, specify the services, processes and components accordingly • Step 3: Implement a Service Model o Develop a service-oriented architecture to support the Componentized Business, Implement service based scoping policy for projects, Implement appropriate governance mechanism 9 1 0 For Successful SOA, Keep It Simple Instead of: 10 Start with: Enterprise-wide initiatives End-to-end departmental projects Architecture for architecture’s sake Focus on IT professional’s needs Complete re-engineering Integrating existing organizational structures Dispelling Myths about SOA • Web Services • ESB = = SOA SOA • Component Architectures (and previous architectures) failed • The primary value of SOA is code reuse and programmer productivity 11 SOA Reference Architecture Business Innovation & Optimization Services Business Monitoring Business Dashboards Interaction Services Process Services Ad hoc composition Service Choreography Master Data Management User Integration Business Rules Information Integration Device Integration Staff Data Management IT Service Management Development Services Business Modeling Information Services Implement Interoperability Mediation ESB (Connectivity) Security Registry/Repository Asset Mgmt. Policy Partner Services Business App Services Access Services Partner Management Component Service Enablement Protocol Data Object Discovery Document Handling Edge Event Capture Infrastructure Services Workload Management 12 Virtualization High Availability Apps & Info Assets Deployment IT Monitoring SOA with an ESB – Simplifying Interfaces and Applications Turning this… Application Application Application …into this. Application Service Service Service Service Enterprise Service Bus (inc Backbone) Application Application Application Application Service Service Service Service = interface SOA + ESB: Introduces rich business abstractions to describe the application interface. Decouples interfaces from the business applications and reduces technical complexity. Consolidate multi vendor platforms into a unified messaging backbone, enable re-use of both the business applications and their interfaces, QoS to match business need, sending the right data to the right service, logs and correlates events The ESB Virtualizes access to services. 13 Two Core Principles Enable Flexibility The ESB facilitates the decoupling of interactions between requestor(s) and provider(s) Service Provider Service Requestor Service Virtualization Service Requestor Service Requestor Aspect Oriented Connectivity Routing Security Log and Audit Protocol and transports Management etc … Event tracking Transformation of interfaces 14 Service Requestor Service Provider Agile Connectivity Begins with Integration The Enterprise Service Bus (ESB) Connects everything to everything Matches & routes communications between applications ESB Distributes Business events Converts between different transport protocols Transforms between different data formats An ESB enables flexible connectivity for integrating business applications, services and processes 15 WebSphere Message Broker • Universal Connectivity – • Simplify application connectivity to provide a flexible and dynamic infrastructure Routes and transforms messages FROM anywhere, TO anywhere – Supports a wide range of protocols • MQ, JMS 1.1, HTTP(S), Web Services (SOAP, REST), File, ERP (SAP, SEBL…), TCP/IP, SCA – Supports a broad range of data formats • Binary (C/COBOL), XML, SOAP, CSV, Industry (SWIFT, EDI, HL7…), IDoc, User Defined – Interactions and Operations • Route, Filter, Transform, Enrich, Monitor, Distribute, Decompose, Sequence, Correlate, Detect • Simple programming – Patterns based for top-down, parameterized connectivity of common use cases • e.g. Web Service façades, Message oriented processing, Queue to File… – Construction based for bottom-up assembly of bespoke connectivity logic • • • • • Operational Management and Performance – – – – 16 Message Flows to describe application connectivity comprising… Message Nodes which encapsulate required integration logic which operate on… Message Tree which describes the data in a format independent manner Transformation options include Graphical mapping, PHP, Java, ESQL, XSL and WTX Extensive Administration and Systems Management facilities for developed solutions Wide range of operating system and hardware platforms supported Offers performance of traditional transaction processing environments Available in Trial, Remote Deployment, Get Started and Enterprise deployment options Message Broker Toolkit is Visual and Graphical 17 Event Driven Architecture (EDA) • Publish and Subscribe – Publication node to publish using WebSphere MQ • Multiple Inputs – Collector node groups incoming messages from multiple sources – Correlated set of messages or events propagated downstream • Sequence / Resequence nodes – Messages arrive in any order, propagated according to monotonic sequence number – Sequence groups have defined start and end, propagated in order within group – Strong synergy with aggregation and collector nodes – Fully multi-threaded and handles parallel sequence groups • Fan out / Fan In (Aggregation) – Generate multiple requests from single request • Coordinate the responses to provide single consolidated response – Improve response time because requests performed in parallel – Fits nicely with several typical ESB patterns 18 Extensive Security Capabilities • PEP node for Authentication, Authorization and Identity Mapping – Can be placed anywhere in message flow to perform security functions • Additional flexibility adds to existing input node security • Enhanced Security Token Support for PEP and Input nodes – SAML, Kerberos, LTPA & RACF PassTickets complement existing user, password & X509 tokens – PEP node: all new tokens available • Users can easily extend to support custom and non-standard tokens – e.g. LTPA v1.1, Liberty tokens, TAM credentials… – SOAP nodes: adds support for SAML, Kerberos & LTPA tokens • SAML WS-Security supports Passthrough/‘Bearer’ scenarios • Implementation allows for future addition of Sender Voucher & Holder of Key authentications – MQ/HTTP nodes: adds SAML support to existing tokens • Security Policy Decision Point (PDP) – WS-Trust 1.3 for token authentication & authorization – TFIM and LDAP PDPs also supported out-of-the-box – Kerberos WS-Security will exploit Key Distribution Cache • e.g. Active Directory on Windows… • Operational Control – Security Profiles allow operational reconfiguration of PDP without redeploy – Resource manager security statistics; totals, passes, exceptions, cached 19 Derive Value from an Application Inventory Understand your application assets and control their access dynamically Catalog application and service assets using a registry, e.g. WSRR – Web Service and MQ Service definitions – Classifications: by function, owning department – Relationships: applications dependencies for lifecycle management, versioning – User defined properties (metadata): Application=GOLD or Service=SILVER Service Provider Use registry information in ESB routing – Built-in facilities allow ESB to access registry – Enables policy based processing Virtual Service Primary use cases: Service Requestor Visibility: application catalog & relationships Governance: who accesses which applications/services Dynamicity: update registry to change ESB behavior without redeploy Policy based Processing: policy enforcement and policy based service selection 20 Use metadata to implement ‘smart’ mediations 3 2 Advertise availability of the ‘virtual services’ A’ A Service Registry 1 Capture metadata about services for use by Service Bus Why Governance is Important Sales Accounting department App. 1 Legal App. 2 Order fulfillment Purchasing Currency conversion service 1. A currency service is created for a specific line of business (LOB) 21 2. Other LOBs start using the service 3. LOBs increase use of service / quality suffers 4. Service is fixed at provider’s expense 5. Fix works 6. Maintenance temporarily costs soar / but problem provider reappears ends service Without Proper Management and Governance of SOA… This could become… The promise of SOA … like this A pile of services … and so would go the promised benefits of SOA 22 Basics of an End-to-End SOA Governance Infrastructure Design-Time, Service Development, Registry / Repository Run-Time, Systems Gateways, Policy Enforcement Management Run-time Policy SOA GOVERNANCE 23 What is a registry … a repository? Registry? Repository? Contains Service Metadata Stores Service Artifacts An integrated Registry / Repository Solution is needed govern and manage SOA for maximum value Business process vitality 24 New value through reuse of assets Improved connectivity Closer alignment of IT to business Business Flexibility The WebSphere Service Registry and Repository provides Value throughout the SOA Lifecycle WebSphere Service Registry and Repository Publish Publish Find Enrich Manage Govern Find Enrich Encourage Reuse Find and reuse services for building blocks for new composite applications. Govern Enable Governance Govern services throughout the service lifecycle 25 Enhance Connectivity Enable dynamic and efficient interactions between services at runtime. Manage Help optimize service performance Enable enforcement of policies. Impact analysis WSRR is your Enterprise SOA Registry/Respository Highly Prescriptive Service Lifecycle Governance Register your services for visibility and reuse Optimize resource costs by governing service consumption with service contract management Accelerate reuse with Automated Service Discovery across heterogeneous environments Reduce business risk with prescriptive service lifecycle governance including MQ Applications Tailor Service Governance implementation to fit your business needs Apply operational policies consistently to help achieve reliability and compliance 26 WSRR 3 Layer Security Architecture User Web Interface Eclipse Plug -in External ESBs Systems Process Servers Appliances 3rd Registries & Party Repositories + Events generated Programming Interfaces Content models WSRR Authorization Java SOAP Registry & Repository Create Retrieve Update Delete Query Validation Admin Import/Export configure Access Control Governance Transition Validate Notify Impact analysis Audit Lifecycle Notification Classifications Validators JMX Events RDB WAS Authorization J2EE Security WAS Authentication WAS Server JAAS JMX Security Security Server URI User Registry 27 Extensions & Integrations WS-SEC Granting Access to Service 1. Service found in WSRR User Web Interface 2. Request for Access Made Eclipse Plug -in External ESBs Systems Process Servers Appliances 3rd Registries & Party Repositories Events generated 3. Governance Board Approves Request Programming Interfaces 4. WSRR Access Updated Java Extensions & Integrations SOAP 5. Security Info Given to Requestor Registry & 6. Requestor Makes Updates WSRR Authorization Admin Import/Export configure Access4Control Governance Transition Validate Notify Impact analysis Audit Lifecycle Classifications Validators 1 Repository Content models Create Retrieve Update Delete Query Validation 4 JMX Notification WAS Authorization J2EE Security WAS Server 3 Events JAAS JMX Security Security Server URI User Registry 28 2 RDB WAS Authentication + WS-SEC Configure Fine Grain Role Based Security with Ease WSRR Access Control Editor • • • • 29 WSRR Access Control editor provides guidance for authoring roles and permissions Allows for advanced permissions with the specification of an XPath expression Click-to-Assign permissions to roles Easy view for understanding what permissions are assigned to the various roles ESB Integration + Dynamic Endpoint Selection 1) 2) 3) 4) ESB mediation is invoked Mediation queries WebSphere Service Registry and Repository for information about the requestor and candidate provider Mediation matches requestor with best candidate provider Message is routed WebSphere Service Registry and Repository Publish Find Availability Management 1) 2) 3) 4) Selected provider fails to respond due to failure Mediation queries WebSphere Service Registry and Repository to find other candidate providers Mediation matches requestor with best candidate provider Message is routed Manage Enrich Policy Enforcement 1) 2) 3) 4) 30 Govern Mediation queries WebSphere Service Registry and Repository for information about the requestor and candidate provider Mediation retrieves policy information from registry Requestor and provider are matched based on these policies Message is routed 31 32