Changing the world with SOA? Lalo Steinmann Enterprise Technology Architect lalos@microsoft.com
Agenda Looking back a few years Lessons Learned Themes around SOA Foundations Frameworks Application Platform infrastructure Bridging Worlds Maturity models Cloud Platforms
The Evolution of Application Architecture Mainframe PCs DBMS Business Logic T Client/Server DBMS Business Logic Business Logic GUI Web Multi-Tier DBMS Business Logic Browser Services Clients Service- Oriented DBMS Business Logic Business Logic
What Exactly Is a Service? Endless debate about the meaning of service It s analogous to the earlier argument about object In practice, a service is what is implemented by your current infrastructure, e.g., WCF It s what SOAP and the major WS-* specs define A service is a program you interact with via message exchanges Services are built to last Availability and stability are critical
Tenet 1 Boundaries are Explicit Services interact by exchanging messages Each message exchange traverses boundaries and may have costs SO formalizes intentional, and explicit interaction
Tenet 2 Share Schema and Contract, Not Types Services expose schemas defining data structures and contracts defining available operations Contracts and schema may be independently versioned over time
Tenet 3 Policy defines Service Compatibility Policy is the statement of communication requirements necessary for service interaction Service capabilities and requirements are expressed in terms of a policy expression A policy can contain multiple assertions
Tenet 4 Services Are Autonomous Autonomy Independence Topology of a system evolves over time Unlike OO, services do not share behavior Services gracefully handle failure
Some myths and realities Myth SO is a technology or set of technologies SO is revolutionary SO is the end goal SO requires business and technology overhaul SO is complex and requires an army of consultants Reality SO is an architectural paradigm for building distributed systems SO is evolutionary SO is a means to an end SO can and should be an incremental process SO is easy and can be done inhouse The only way you can use SOA for everything is to rename everything to SOA Roy Schulte, Gartner
The SOA ROI Crisis The Dark Side of SOA InformationWeek, September 4, 2006 24% say projects fell short of expectations 55% say project introduced more complexity 41% say project cost more than expected but failed to generate promised return Only 7% say results exceeded expectations The Truth About SOA CIO Magazine, June 15, 2006 Services built in isolation, without taking into account the architectural and business goals of the company may fail outright. Grand architectural planning exercises may drag on endlessly, without providing any real business benefit.
So why isn t SOA pervasive already?
Unhelpful attitudes towards SOA... It s about technology not business It s about marginal improvement not disruptive change It s about data not process It s about implementation not design
Setting up SOA to succeed... Always start from the business need not the IT here and now Design the services then design their implementation The key benefit is business agility not component reuse Start small and prioritise don t boil the ocean Expect change don t avoid it
Lessons Learn Access and address capabilities gaps Skills, Process, Architecture, Infrastructure and Application Plan in alignment with organization goals Project selection, Success Metrics, Service Planning Execute iteratively to deliver value consistently Follow a common pattern of Expose, Compose, Consume Approach adoption incrementally Introduce infrastructure, processes as needed SOA is not about infrastructure and processes, it s about enabling organizations to be agile in solving business problems
Key Themes in SOA Foundations Maturity Models Services Management & Scale Cloud Platforms Bridging Worlds
Key Themes in SOA Foundations Maturity Models Services Management & Scale Cloud Platforms Bridging Worlds
Foundations Languages Dynamic Languages Functional Languages Polyglot environment Frameworks REST, Web Services Support Workflow support
.NET Framework 4.0 Windows Communication Foundation RESTful support REST Starter Kit Messaging enhancements Windows Workflow Foundation Improvements in performance and scalability More workflow models and prebuilt activities Enhanced workflow designer Rules seamlessly integrated with workflow engine Declarative Workflow Services
Key Themes in SOA Foundations Maturity Models Services Management & Scale Cloud Platforms Bridging Worlds
Disruptors and Trends TECHNOLOGY DISRUPTORS CHEAP PROCESSING AND STORAGE VIRTUALIZATION APPLICATION TRENDS Composite Applications Model Driven Scale-Out ADVANCES IN NETWORKING ADVANCES IN WEB TECHNOLOGIES EMERGENCE OF SERVICES PLATFORMS Elastic Failure Resilient Always Available Multi-Tenant Staged Production
MULTI-USER Industry Trends SEPARATION OF DATA AND LOGIC SERVICE-ORIENTATION ELASTIC SCALE Client Server Multi-Tier Enterprise Middleware Cloud like
App Fabric Software Stack Detailed Toolbox Visual Studio Templates Debugging Server Mgmt Modules IIS Manager App Mgmt Modules Instance Mgmt Modules Management APIs (PowerShell command-lets) Server Mgmt Command-lets App Mgmt Command-lets Instance Mgmt Command-lets Runtime Services & Components Persistence Framework Persistence SQL Instance Store Instance Control Endpoint Persistence schema Management Service WCF Discovery Framework Hosting XAML & Config Activation Auto-Start Provider Service Hosting Environment Routing Service Runtime Databases WF Tracking Framework WF Monitoring WF ETW Tracking Event Collector WCF Message Logging Monitoring schema WCF Analytic Tracing System Center Dublin Management Pack Messaging Framework Channels Correlation Service Model Workflow Service Host Web Runtime Activity Model Compensation Expressions Activities Designer Framework ASP.NET Transactions Serialization XAML Configuration System IIS/WAS
Key Themes in SOA Foundations Maturity Models Services Management & Scale Cloud Platforms Bridging Worlds
Today's IT Landscape: Complexity Spaghetti PROCUREMENT: Build Buy (off the shelf) Buy and Customize DEPLOYMENT: On-Premises Off-Premises/Hosted SaaS/Cloud Hybrid Sales force automation Sales forecasts and reports Customer service Operations New product idea portal New product portfolio analysis Financial reporting New Regulatory compliance portal Compliance reports Supply chain integration Trading partner portal Existing Applications ERP Finance Inventory CRM Operations Other Partners & Customers Infrastructure SQL Server Windows Oracle Solaris SQL Server Windows Oracle DB Unix DB2 Z/OS
Simplifying Interoperability Unify Diverse Protocols Interop in the Cloud:.NET Services Federated Identity Federated Connectivity Federated Workflow Interop In the Box: BizTalk Server LOB applications: B2B standards: Message buses: Heritage (IBM): Other formats: SAP Siebel Applications PeopleSoft Enterprise JD Edwards OneWorld JD Edwards Enterprise One XML EDI (EDIFACT, ANSI X12, HIPAA) AS2 SWIFT HL7 RosettaNet WebSphere MQ MSMQ/MSMQT TIBCO Rendezvous TIBCO Enterprise Message Service CICS, IMS 3270, APPC COBOL, RPG DB2, VSAM SQL Server SharePoint Oracle DBMS File, FTP HTTP, SOAP POP3/SMTP Interop in the Framework: Windows Communication Foundation Unified Protocols: Messaging & Metadata: Security, Reliability & Transactions: Web 2.0 ASMX WSE.NET Remoting COM+ MSMQ SOAP, WS-Addressing, MTOM WSDL, WS-MetadataExchange, WS-Policy WS-Security, WS-SecureConversation, WS-Trust POX WS-Reliable Messaging, WS-Coordination, REST WS-AtomicTransaction JSON RSS/ATOM Extended by hundreds of solutions from the partner ecosystem
Key Themes in SOA Foundations Maturity Models Services Management & Scale Cloud Platforms Bridging Worlds
Rethinking IT as an Investment Portfolio Asset class, risk and return, strategy Increased control Better information Better integration Improved quality Faster cycle time 13% Cut costs Increase throughput ( ) = public sector 20% 13% INFORMATIONAL STRATEGIC TRANSACTIONAL INFRASTRUCTURE (Innovation) (Major Change) (Facilitation) (High Value Added) (Interact with customers) Increased sales Competitive advantage Competitive necessity Market positioning 54% Source: Weill & Broadbent Leveraging the New Infrastructure: How market leaders capitalize on IT, Harvard Business School Press, 1998. Percentages reflect data collected in 2001/02 from 140 firms. Business integration Business flexibility Reduced marginal cost of BU s IT Reduced IT costs standardization
Architecture maturity Assess IdentifyPrioritize Measure Grounded in industry analyst and academic work Capability sequencing framework to help you build an optimized infrastructure Provides guidance and framework of best practices for implementation Drives cost reduction, security and efficiency gains as well as enabling agility Based upon: Gartner s Infrastructure Maturity Model MIT s Architecture Maturity Model
Model to Achieve Maturity Efficiently Uncoordinated, manual infrastructure Managed IT Infrastructure with limited automation Managed and consolidated IT Infrastructure with maximum automation Fully automated management, dynamic resource Usage, business linked SLA s Cost Center More Efficient Cost Center Business Enabler Strategic Asset
Key Themes in SOA Foundations Maturity Models Services Management & Scale Cloud Platforms Bridging Worlds
Fifth Generation of Computing Cloud SOA Web Client-Server Mainframe
Cloud computing tiered model SaaS (Software-as-a-Service) Finished applications delivered as a service. Business applications that deliver full functionality online. PaaS (Platform as-a-service) Development and runtime environments which enable organizations to build customer applications online. IaaS (Infrastructure-as a-service) Physical infrastructure: data center, power, racks, routers, load balancers, etc.
Compute Compute Compute Compute Workload patterns for cloud On and Off Growing Fast Inactivity Average Period Usage Average Usage Time Time On and off workloads (e.g. batch job) Over provisioned capacity is wasted Time to market can be cumbersome Successful services needs to grow/scale Keeping up w/growth is big IT challenge Complex lead time for deployment Unpredictable Bursting Predictable Bursting Average Usage Average Usage Time Unexpected/unplanned peak in demand Sudden spike impacts performance Can t over provision for extreme cases Time Services with micro seasonality trends Peaks due to periodic increased demand IT complexity and wasted capacity
Cloud Options Store Data in the Cloud Extend Applications to the Cloud Move Applications to the Cloud Create New Cloud Services Create New Solutions by Combining Cloud Services
About the cloud The cloud creates opportunities and responsibilities The cloud learns and helps you learn, decide and take action The cloud enhances your social and professional interactions The cloud wants smarter devices The cloud drives server advances that drive the cloud
SOA @ today Standards have been widely adopted Cloud accelerate it and vice versa Software is mature and available Governance is well-defined Best practices are in place
Gracias Thank You Obrigado Grazie Danke Merci 37