SOA Governance Thomas Reimer Enterprise Technology Strategist (CATM) Microsoft Corporation SOA provides opportunity to leverage and reuse IT resources Benefits can accrue quickly Abstracting back end systems from customers and clients Automating mission-critical processes Enabling new channels and business models Providing visibility and governance across disparate heterogeneous systems How can I ensure service developers can easily publish and discover services? How can I guarantee existing SLAs when I add new consumers? How can I ensure that services created are easily discovered and not re-invented? Ensure that services created adhere to governance policies? How can I manage services in a scalable way? Service A ServiceA’ Application Owner UI • Operation 1 • Operation 2 v1.5 • Operation 3 Logic Data Application Owner UI Logic Data Governance Corporate Governance SOX Codes of Business Conduct IT Governance Enterprise Architecture IT Portfolio Management Project Governance SOA Governance Design time Governance Runtime Governance Envisioning Planning Service Analysis Service Development Service Decommission Developing Management Service Change Management Governance Service Testing Stabilizing Service Provisioning Service Consumption Deploying Service Operation Microsoft Confidential Envisioning Planning Capability Assessment Service design Project management Event & Schema design Programme Management Policy / standards specification Reporting Service taxonomy Portfolio Management Capability Repository Asset Management Service Repository Developing & Stabilizing Service development Deploying Management Stage Management SLA enforcement Provisioning Service testing Service Monitoring Rogue Service discovery Dependency Analysis Service publishing Service discovery Exception Management Service versioning Build processes Reporting Notification Services Service Discovery Service Creation Discover existing services – not reinvent Key Create service in Registry Service Validation Service Publication Validation Service Against Governance Policies Design Time Governance Publish validated Services for runtime consumption Runtime Service Discovery Define & apply runtime policies Discovery dependencies on other services dynamically Define usages policies to control runtime access Runtime Time Governance Runtime Service Monitoring Enforce policies and SLAs at runtime Envisioning Planning Capability Assessment Service design Project management MSBA, SOM Developing & Stabilizing Service development Event & Schema design MSF Programme Management Policy / standards specification Service taxonomy Service publishing Capability Platform Windows Server Portfolio Management Repository Asset Management Service Repository Partners Management Stage Management SLA enforcement Service discovery .NET 3.0 (WCF) MOF Service Monitoring Provisioning Service testing Visual Studio Team System 2005 Reporting Deployment Rogue Service discovery Dependency Analysis Exception Management Service versioning SCOM 2007,Reporting MSE Build processes Partners Notification Services Applies across Envisioning, Planning & Developing phases Design Time Governance includes capabilities such as: Service / Capability determination Service Registry / Repository Service Visibility Service Trust Change Management / Dependency Analysis Policy Management / design time enforcement Project Compliance Business Architecture methodology tackles “how and where to start with SOA?” Methodology is endorsed by the creators of Six Sigma, business process reengineering, and Zachman. MSBA delivers: Business Architecture Project recommendations Structure and focus for SOA decisions No need to spend 6 –12 months on SOA analysis and paralysis. Business case for initiating SOA projects. Schematic language that is easily understood by business and IT stakeholders. Industry templates and tools. Exposes high-value business areas. Risk mitigation approach for large SOA projects (typically 2 – 8 week projects). Structured methodology to analyze governance and compliance. Business Architecture Where you really are Business Architecture 1 Capability 1.1 Capability 1.2 Capability Define Future Business Architecture 2 Capability Business Architecture 1 Capability 2.1 Capability Alignment Technology Architecture Where you want to be 1.1 Capability Microsoft Services Service Oriented Modelling 1.2 Capability 1.1 Capability 1.2 Capability Business Architecture 2 Capability 2.1 Capability 2.1 Capability Alignment Technology Architecture 1 Capability 2 Capability 1 Capability Define Future Technical Architecture 1.1 Capability 1.2 Capability 2 Capability 2.1 Capability SOM is an Approach to bridge the gap between Business Architecture and Technology Architecture using connected models SOM enables Visibility Visibility of Business Architecture through Capability Models and Heat Maps Rapid Decision Making Visibility enables business to focus doing the right thing Agility Agility comes from ability to react Accountability SOM ultimately provides accountability for chosen project SOM provides a foundation for Incremental, Consistent and Repeatable Service Delivery through modelling: Capability, Process, Service and Entity Models Where you really are Where you want to be Service Oriented Modelling Capability Models Process Models Service Models Services Capability Modelling Process Modelling Service Modelling Implementation Business Architects Architects Architects Development Teams Industry Templates Templates Templates Backwards Traceability and Forward Engineering Templates Repository Orchestration, Workflow and Service Engines MSE ESB Guidance Repository Adapters Runtime Adapters Automation Adapters SOM Forms SOM Modellers Modelling Framework Import Adapters Existing Models Customisation Development Capability Models Process Models Entity Models Consolidated Information Service Models SOM Lead Microsoft Server Platform Microsoft Services Business Architecture Direct Transformation •BizTalk •BAM •WF •WCF •SQL •Etc. Microsoft Development Platform MSBA Drives SOM Delivery •Source Code •Configuration •WCF Factory •EntLib •Etc. Process Models SOAMM Drives SOM Customisation Entity Models Capability Models Factory Transformation Service Models Software Factories, App Blocks and Guidance Service Administration Service Consumption Service Implementation Capability Basic security Enterprise Security Deployment Management Scenario Impact Analysis Basic Governance Enterprise Governance Provisioning Management Business Analytics Maintenance Efficiency Organizational Alignment Advanced Monitoring Explicit Contracts Uniform Contracts Semantic Services Composable Policy Service Identification Service Discoverability Self Service Back Channel Messaging Service Boundaries Testing Support Service Level Agreements Extensible Service Channels Service Adoption Loosely-coupled Composition Consumable Type System Extensible Security •SharePoint (WF) •Office Docs •InfoPath •Etc. Progressive Composition Design Patterns Versioning Support Rules Driven Policy Development Process Efficiency Common Entities Executable Policy Process Modeling Support Basic Standardized Advanced Dynamic Integration Efficiency Direct Transformation Maturity Level SOA Maturity Model Microsoft Office Platform Once services or capabilities have been identified – service development Lots of challenges Service versioning Change management Multiple roles engaged / collaboration Transparency Visual Studio Team System Design time governance comprehensive support Developer Designer Database Professional Tester Architect Business Analyst Software Quality Project transparency IT / Project Manager Change Management Planning Architecture & Design Capability Assessment Service design Project manageme nt Programme Manageme nt Event & Schema design Policy / standards specificatio n Service taxonomy Reporting Portfolio Manageme nt Asset Manageme nt Construction Deployment Management Service developme nt Stage Manageme nt SLA enforcemen t Provisioning Service Monitoring Service testing Dependenc y Analysis Service publishing Capability Repository Service Repository Service discovery Service versioning Build processes Rogue Service discovery Exception Manageme nt Reporting Notification Services Service Versioning Team Collaboration Reporting Microsoft Solutions Framework Software development processes, principles & proven practices Methodology templates MSF for Agile Software Development MSF for CMMI Process Improvement Planning Capability Assessment Project management Programme Management Reporting Architecture & Design Service design Event & Schema design Policy / standards specification Service taxonomy Portfolio Management Capability Repository Asset Management Service Repository Developing & Stabilizing Deployment Management Service development Stage Management SLA enforcement Provisioning Service testing Dependency Analysis Service publishing Service discovery Service versioning Build processes Service Monitoring Rogue Service discovery Exception Management Reporting Notification Services enacts Visual Studio 2005 Team System Microsoft Solutions Framework guides Shared Services published During development – need to discover and consume Microsoft Windows UDDI Server Part of Windows Server 2003 platform Publish and discover services Enables client applications to programmatically interact Supports UDDI version 2.0 Future support for v3.0 SDK for developers to publish and discover services Windows UDDI server Microsoft SOA platform also interoperates with Service Registry/Repository vendors such as HP Systinet SOA Software Visual Studio Registries / Repositories Applies across Deployment, Management phases Typical capabilities include: Service Virtualization Service Management Service Monitoring Service Discovery Service Usage Service Control Planning Architecture & Design Capability Assessment Service design Project management Programme Management Event & Schema design Policy / standards specification Reporting Service taxonomy Portfolio Management Capability Repository Asset Management Service Repository Developing & Stabilizing Deployment Management Service development Stage Management SLA enforcement Provisioning Service testing Dependency Analysis Service publishing Service discovery Service versioning Build processes Service Monitoring Rogue Service discovery Exception Management Reporting Notification Services Managed Service Engine (MSE) System Center Operations Manager 2007 Platform - WCF runtime discovery Patterns & Practices: Microsoft Operations Framework Standards based approach Partner Interoperability Amberpoint Demo Planning Architecture & Design Capability Assessment Service design Project management Programme Management Reporting Portfolio Management Asset Management Event & Schema design Policy / standards specification Service taxonomy Developing & Stabilization Deployment Management Service development Stage Management SLA enforcement Provisioning Service testing Dependency Analysis Service publishing Capability Repository Service Repository Service discovery Service versioning Build processes Service Monitoring Rogue Service discovery Exception Management Reporting Notification Services Host Service Address Binding Contract Virtual Service Messenger Broker Dispatcher Service Intermediary A A A B Address C B Binding ContractB C Service Repository C Built on metadata and runtime messaging Service Catalog (Meta Data Repository) Service Logic Client (Service Runtime Engine) The Managed Services Engine (MSE) is one approach to facilitating Enterprise SOA through service virtualization Built upon the Windows Communication Foundation (WCF) and the Microsoft Server Platform (BizTalk Server, UDDI) Developed by Microsoft Services to help customers address the challenges of SOA in the enterprise Service virtualization through a Service Repository Deploy services faster Coordinate change management Maximize the reuse of various service elements Versioning Abstraction Service management Routing, and runtime policy enforcement AIM Healthcare Exposed SQL Server Stored Procs and Biztalk Orchestrations Multiple consumer authentication models, AzMan for authorization • • End-to-End Service Management • • Best of Breed for Windows • Increased Efficiency and Control • Proactive management of your IT services Integrated monitoring of distributed applications, the end user perspective, and supporting infrastructure Reduced problem resolution time Management packs that include Microsoft expertise for applications, servers, and clients Simplifies managing your IT environment and improves time to value Role based security, self monitoring infrastructure, and improved scalability Envisioning Planning Capability Assessment Service design Project management Event & Schema design Programme Management Policy / standards specification Reporting Service taxonomy Portfolio Management Capability Repository Asset Management Service Repository Developing & Stabilizing Service development Deploying Management Stage Management SLA enforcement Provisioning Service testing Service Monitoring Rogue Service discovery Dependency Analysis Service publishing Service discovery Exception Management Service versioning Build processes Reporting Notification Services Windows Communication Foundation (WCF) Service Trace Viewer Tool WCF Live Service Trace Viewer Service dependency analysis Envisioning Planning Capability Assessment Service design Project management Event & Schema design Programme Management Policy / standards specification Reporting Service taxonomy Portfolio Management Capability Repository Asset Management Service Repository Developing & Stabilizing Service development Deploying Management Stage Management SLA enforcement Provisioning Service testing Service Monitoring Rogue Service discovery Dependency Analysis Service publishing Service discovery Exception Management Service versioning Build processes Reporting Notification Services Governance Solutions Compliance Checking Policy Management Service Discovery Lifecycle Management Exception Management Reliability and performance management Tolerance and mediation Decoupling Security Solutions Trust enablement SOA Policy Management Policy management Policy enforcement Metric collection and analysis Compliance management and reporting COUNCIL