Interoperability and  Windows Communication Foundation Jorgen Thelin Connected Systems Division Microsoft Corporation [email_address]
The Imperative to Connect MOBILE EMPLOYEES CUSTOMERS MOBILE EMPLOYEES CUSTOMERS
What is Interoperability? Applications  working together Different  platforms Different   languages Different  companies Different  versions Integration  = Combining software or hardware components or both into an overall system. Interoperability  = The ability to exchange and use information (usually in a large heterogeneous network made up of several local area networks) The ability of software and hardware on multiple machines from multiple vendors to communicate Source : Dictionary.com http://dictionary.reference.com/search?q=interoperability http://dictionary.reference.com/search?q=integration
Interoperability means  connecting people, data, and diverse systems It gives  customers control over the data they create  and want to share Vendors create  innovative solutions that bridge technologies  to address real customer needs in an innovative manner  The nature of software allows for  translatability in lieu of uniformity
Integration via Interoperability Network App Other Vendor Stack App Other MSFT Stack App WCF App WCF Wire level interoperability achieves integration in a heterogeneous environment. App WSE Assurances Messaging SOAP WS-Security MTOM WS-Addressing Metadata WS-Policy WSDL WS-Discovery UDDI WS-Metadata Exchange WS-Transfer WS-Enumeration WS-Eventing XML Schema WS-Reliable Messaging WS-Coordination WS-Atomic Transaction WS-Business Activity WS-Trust WS-Secure Conversation Infrastructure and Profiles WS-Management WS-Federation Devices Profile Foundation SOAP / HTTP SOAP / UDP MIME XML Infoset XML 1.0 XML Namespaces WS-* Protocols
Enabling Interoperability Metadata Data  Formats Protocols
Microsoft’s Commitment to Interoperability Bill Gates’ Executive E-mail –  “Building Software That Is Interoperable By Design”  http://www.microsoft.com/mscorp/execmail/2005/02-03interoperability.asp Plus deep commitment at the execution level Specification development and standardization WS-* Spec authorship Participation in Standards bodies Participation in WS-I Adopting XML and WS-* as the universal glue  eg. Systems Management, Connected Devices, Identity Management Shipping products: Early WS-* implementations (WSE) Strategic WS-* platform (“Indigo” / WCF) Easy-to-use development environment (Visual Studio) Community feedback and testing WS-* Workshop Process Plug-fests - Product testing of multi-vendor interop
WS-* Specifications Process Step 2 Broader  Community Participation Step 1 Initial Development Process reconciles conflicting goals Quality of engineering Time to market Breadth of industry support Step 3 Standardization Step 4 Profiling Increasing Industry Participation Specification Published Feedback and Interop Workshops Revise spec Standards Org Such as: WS-I, HL7, ACORD, Devices Profile Idea
What Are Interop Profiles? Define a subset of specifications and options that are: Composable Scoped Work together Examples: Secure RM  – WS-ReliableMessaging + WS-Trust/SecureConversation/Security ACORD Messaging Profile  – WS-* + ACORD payload schemas Who defines the profile? Vertical domain org – eg. ACORD Horizontal org – eg. WS-I Customer – singly or in groups
Profile Recipe: Staple, Redline, Glue – Device Profile Example “ Staple” Pull relevant specs into scope “ Redline” Add constraints on use of those specs “ Glue” Define missing bits between specs Some will migrate back into specs ThisModel Metadata ThisDevice Metadata Action Filter Conformance Claim Policy Assertions Policy Assertions SOAP 1.2 WS-Addressing WS-Metadata Exchange WSDL 1.1 WS-Discovery WS-Eventing
Why Do We Need Interop Profiles? Need to constrain (soften) runtime options to achieve out-of-box interoperability WS-* Architecture is designed for general applicability across a wide range of industries / scenarios Often too much optionality in the base specifications Tailor to specific domain / environment E.g. Devices Profile only requires SOAP 1.2 not SOAP 1.1 to lower implementation footprint Guide implementation and deployment choices Achieve a proven composition of protocols and payloads Allows simplification of application deployment  e.g. WCF allows selection of interop profile to use
Summary - Interoperability Interoperability is the best way to achieve system integration in a heterogeneous IT environment Wire-level interoperability is the real goal Web Services WS-* Architecture designed to support multi-vendor environments Profiling is an important tool for achieving business interoperability Microsoft is deeply committed to delivering products with proven interoperability that work well in heterogeneous environments Other vendors also delivering implementations for WS-* specs too
What We Heard From You “ What API should I use?” “ How do I build service-oriented systems?” “ How can I send messages securely & reliably?” “ How do I build dynamic, decoupled applications?”
Microsoft .NET Framework The Managed Code  Programming Model for Windows
Windows Communication Foundation INTEROPERABILITY PRODUCTIVITY SERVICE-ORIENTED DEVELOPMENT Broad Support for WS-* specifications Compatible with existing MS distributed application technologies Unifies today’s distributed technologies Attribute-based development Visual Studio 2005 integration Enables development of loosely-coupled services Config-based communication
PRODUCTIVITY
Unified Programming Model Interop with other platforms ASMX Attribute-  Based Programming Enterprise Services WS-* Protocol Support WSE Message- Oriented Programming System.Messaging Extensibility Location transparency .NET Remoting Unified Programming Model
WCF extends the .NET Framework  Services are built in Visual Studio 2005 using any .NET programming language
WCF Composable Architecture Service Code Service Model Layer Influences and adds to  the programming  model based on  incoming messages Messaging Layer Moves messages back and forth and adds  transfer semantics (channels) Transaction Behavior CLR Type Integration Instancing Behavior Security Channel TCP Transport Security Channel TCP Transport Transaction Behavior CLR Type Integration
WCF Composability in Action Service Model Layer Messaging Layer Behaviors Channels Transaction Behavior CLR Type Integration Instancing Behavior Security Channel HTTP Transport Custom Channel Reliable Messaging Queue Transport MSMQ Integration TCP Transport Named Pipes Throttling Behavior Error Handling Behavior Concurrency Behavior Metadata Behavior Custom Behavior HTTP Transport TCP Transport Security Channel Custom Channel Reliable Messaging CLR Type Integration Instancing Behavior Transaction Behavior
WCF Runtime Architecture Binding Address Contract
Productivity - DIY Using Visual Studio .NET 2003 20,379 lines   security 5,988 lines reliable messaging 25,507 lines   transactions Total lines  56,296 4,442 lines  infrastructure class HelloService { [WebMethod] public String Hello(String Greeting) {  X509CertificateCollection collection = new X509CertificateCollection(); IntPtr blob = Marshal.AllocHGlobal(Marshal.SizeOf(   typeof(CRYPTOAPI_BLOB)));  IntPtr data = (IntPtr)((int)blob +  Marshal.SizeOf(typeof(CRYPTOAPI_BLOB))); … SeqAckRange range = new SeqAcknRange(id, low, high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); … hr = pITxDispenser->BeginTransaction (NULL,  ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions,  &pITransaction); … return Greeting;  } }
Productivity - WSE Using Visual Studio .NET 2003 and WSE 10 lines  security 1,804 lines  reliable messaging 25,507 lines   transactions Total lines  27,321 class HelloService { [WebMethod] public String Hello(String Greeting) {  foreach ( SecurityToken tok in  requestContext.Security.Tokens  {   X509SecurityToken token = tok as X509SecToken } … SeqAckRange range = new SeqAcknRange(id,low,high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); … hr = pITxDispenser->BeginTransaction (NULL,  ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions,  &pITransaction); … return Greeting;  } }
Productivity - WCF Using  Visual Studio 2005  and  Indigo 1 line  security 1 line  reliable messaging 1 line   transactions Total lines  3 [ServiceContract(SecureChannel, SecurityMode =“Windows")] [Reliability(Guarantees.ExactlyOnce | Guarantees.InOrder)] [ServiceContract] class HelloService  {  [ServiceOperation(TransactionFlowAllowed = true)] String Hello(String Greeting)  {  return Greeting;  } }
INTEROPERABILITY
Investment Protection SIDE-BY-SIDE Interop UPGRADE
WS-* Protocol Support XML Messaging Security Transactions Reliable Messaging Metadata
SERVICE ORIENTATION
From Objects to Services Polymorphism Encapsulation Subclassing Message-based Schema+Contract+Policy Broad Interop Location Transparent Tight Coupling Runtime Metadata Object-Oriented Service-Oriented Component-Oriented 1980s 2000s 1990s
Four Tenets of Service Orientation SERVICE ORIENTATION Compatibility Based On Policy Share Schema & Contract, Not Class Services Are Autonomous Boundaries Are Explicit
THE BIGGER PICTURE – WCF and .NET 3.0
Next Gen Windows Technology Foundation Vector-based Resolution independent Rich media 3D user interfaces Windows Communication Foundation Secure Web services Reliable transacted distributed apps Interoperability with WS-* protocols Any transport and any host Engine built into platform System and human workflow Composite apps Windows Presentation Foundation Windows Workflow Foundation Windows CardSpace Streamlines user registration and one-click login Mitigates common attack vectors (Phishing) Seamless integration with WCF
Services, Workflow & BizTalk WCF WF Tools and engine for building workflow-enable apps API for building secure, reliable interoperable services Application to application and B2B integration Connects multiple services built with WCF Adapters to multiple products like SAP and MQSeries Business activity monitoring Vertical solutions and industry accelerators Message transformation services Enterprise single sign-on End-to-end health and activity tracking And more…
Get started with Visual Studio 2005 Download Microsoft .NET Framework Give us feedback .NET Framework – Take the Next Step
 
Backup Slides
The Four Tenets of Service-Orientation Services and consumers are independently versioned, deployed, operated, and secured. Services are autonomous Data never includes behavior;  Objects with data and behavior are a local phenomenon. Share schema & contract, not class Capabilities and requirements represented by a unique public name; Used to establish service suitability. Compatibility  based on policy Developers opt-in to consuming, exposing, and defining public-facing service façade. Boundaries  are Explicit
Facilitates implementation/platform interop Independent deployment, versioning, mgmt Promotes technology reuse Benefits of Service Orientation
WCF Architecture Detail Application Service Model Messaging Hosting  Environments TCP Channel HTTP Channel Queue Channel Secure Channel Reliable Channel Binary Encoder Text/XML Encoder … … ASP.NET Avalon WinForm NT Service COM+ Instance  Behavior Throttling  Behavior Type Integ.  Behavior Transaction Behavior Concurrency Behavior Error Behavior Metadata Behavior … WAS
End-to-end Security Confidentiality, integrity, authentication, authorization X509, Username/Password, Kerberos, SAML, custom End-to-end Reliable messaging In-order guarantees Exactly once guarantees Transactions Guaranteed atomic success or failure across services WCF Feature Overview Security, Reliability, Transactions
WCF Feature Overview Hosting Models Indigo services can be hosted in any managed application ASP.NET, COM+, EXE, NT Service, Windows Forms, Avalon Windows Activation Service – Used by Indigo and IIS7  Windows Activation Service (WAS) HTTP.SYS TCP Transport Listener Named Pipes Transport Listener HTTP Listener Adapter (IIS7) NP Listener Adapter TCP Listener Adapter
WCF Runtime Overview
WS-* Architecture Assurances Messaging SOAP WS-Security MTOM WS-Addressing Metadata WS-Policy WSDL WS-Discovery UDDI WS-Metadata Exchange WS-Transfer WS-Enumeration WS-Eventing XML Schema WS-Reliable Messaging WS-Coordination WS-Atomic Transaction WS-Business Activity WS-Trust WS-Secure Conversation Infrastructure and Profiles WS-Management WS-Federation Devices Profile Foundation SOAP / HTTP SOAP / UDP MIME XML Infoset XML 1.0 XML Namespaces
80+ WS-* Workshop Participants  Actional Fujitsu Newisys Sharp Labs AMD Grand Central Nokia Siebel American Megatrends Hewlett-Packard Oasis Semiconductor Software AG ANL IBM Oblix Sonic Software Apache Project iDesign OPC Foundation Sun Axalto Intel OpenNetwork Systinet BEA Intermec Oracle Tibco Blue Titan Iona OSA Technologies Toshiba Boeing IPO Group Peerless Tyco Safety Systems Brother Jboss Ping Identity Univ of Sydney Canon JibxSoap Printronix VeriSign Choreology KnowNow QuickTree Veritas CommerceOne Layer 7 Tech Quovadx Visa Computer Associates Lexmark Reactivity Vitria Content Guard Lockheed Martin Ricoh WRQ Cornell University Microsoft Roxio webMethods Dell Motive RSA Security WSO2 Epson NEC SAP Xerox Exceptional Innovation NEON Schneider Electric Zoran Feature Software Netegrity SeeBeyond Unaffiliated
WS-* Spec Status Assurances Messaging SOAP WS-Security MTOM WS-Addressing Metadata WS-Policy WSDL WS-Discovery UDDI WS-Metadata Exchange WS-Transfer WS-Enumeration WS-Eventing XML Schema WS-Reliable Messaging WS-Coordination WS-Atomic Transaction WS-Business Activity WS-Trust WS-Secure Conversation Infrastructure and Profiles WS-Management WS-Federation Devices Profile Foundation SOAP / HTTP SOAP / UDP MIME XML Infoset XML 1.0 XML Namespaces Step 4  –  Approved Standard Step 3  –  Standardization Step 2  –  Workshops & Community Dev
WS-* Protocols - Industry Adoption WS-P Messaging Security Assurances Devices System Mgmt Metadata DPWS WS-SecureConv WS-Security WS-Trust WS-RM WS-AT MEX WS-D SOAP/WSDL MTOM © 2003-2007 Microsoft Corporation.  All rights reserved.  The information contained in  this document represents the current view at the time of publication and is subject to change. WS-Man WS-XFer / Enum WS-Fed UDDI AMD Inc. A Computer Associates A Dell Inc.   gSOAP  Intel Corp.   HP / Mercury / Systinet A Microsoft   Oracle   SAP  Sonic Software A Sun Microsystems, Inc.   WEBM Solutions, Inc.    Released Product  Public Interop A Co-Author Apache (WSO2)   BEA Systems Inc.  A Choreology Ltd  IBM Corp.   IONA Technologies   RedHat  (JBoss / Arjuna)  HP / Mercury / Systinet  Microsoft   Oracle  SAP  Progress / Sonic Software  Sun Microsystems Inc.   Tibco Software, Inc.  Apache (WSO2)    BEA Systems Inc.    A BMC (OpenNetwork) A A A  Canon Inc.  Cape Clear Software Inc.  Computer Associates (Netegrity)  A A  gSOAP  IBM Corp. (DataPower)     IONA Technologies  RedHat  (JBoss / Arjuna)  Layer 7 Technologies Inc.  A  A HP / Mercury / Systinet    Microsoft     Nokia  Novell  Oracle     EMC (RSA Security)    Ping Identity Corp.  A   SAP    Sonic Software  Sun Microsystems, Inc.     Tibco Software, Inc.  Verisign Inc  A A A Software AG (WebMethods)  Apache (WSO2)   Amazon  BEA Systems Inc.   Cape Clear Software Inc.   Canon Inc.   eBay Inc.  Epson Corp.   Fuji-Xerox   Google  gSOAP   HP   IBM Corp.   Intel Corp.   Iona   RedHat  (JBoss / Arjuna)   Microsoft   Novell  Oracle   Ricoh Co.   SAP   Sun Microsystems, Inc.   Xerox Corp.   BEA Systems Inc. A Brother Industries   Canon Inc.   Epson Corp.   Exceptional Innovation   Fuji-Xerox Co.   gSOAP  HP   Intel Corp.   Lexmark International, Inc. A Microsoft   Peerless Systems Corp.   Schneider Electric SA   Toshiba   Software AG (WebMethods) A Xerox Corp.   Apache (WSO2)   BEA Systems Inc.    Computer Associates A gSOAP  IBM Corp.    RedHat  (JBoss / Arjuna)  Layer 7 Technologies  HP / Mercury / Systinet   Microsoft    Novell  Oracle    SAP A   Sun Microsystems, Inc.   Sonic Software  Software AG (WebMethods) A

Interoperability and Windows Communication Foundation (WCF) Overview

  • 1.
    Interoperability and Windows Communication Foundation Jorgen Thelin Connected Systems Division Microsoft Corporation [email_address]
  • 2.
    The Imperative toConnect MOBILE EMPLOYEES CUSTOMERS MOBILE EMPLOYEES CUSTOMERS
  • 3.
    What is Interoperability?Applications working together Different platforms Different languages Different companies Different versions Integration = Combining software or hardware components or both into an overall system. Interoperability = The ability to exchange and use information (usually in a large heterogeneous network made up of several local area networks) The ability of software and hardware on multiple machines from multiple vendors to communicate Source : Dictionary.com http://dictionary.reference.com/search?q=interoperability http://dictionary.reference.com/search?q=integration
  • 4.
    Interoperability means connecting people, data, and diverse systems It gives customers control over the data they create and want to share Vendors create innovative solutions that bridge technologies to address real customer needs in an innovative manner The nature of software allows for translatability in lieu of uniformity
  • 5.
    Integration via InteroperabilityNetwork App Other Vendor Stack App Other MSFT Stack App WCF App WCF Wire level interoperability achieves integration in a heterogeneous environment. App WSE Assurances Messaging SOAP WS-Security MTOM WS-Addressing Metadata WS-Policy WSDL WS-Discovery UDDI WS-Metadata Exchange WS-Transfer WS-Enumeration WS-Eventing XML Schema WS-Reliable Messaging WS-Coordination WS-Atomic Transaction WS-Business Activity WS-Trust WS-Secure Conversation Infrastructure and Profiles WS-Management WS-Federation Devices Profile Foundation SOAP / HTTP SOAP / UDP MIME XML Infoset XML 1.0 XML Namespaces WS-* Protocols
  • 6.
    Enabling Interoperability MetadataData Formats Protocols
  • 7.
    Microsoft’s Commitment toInteroperability Bill Gates’ Executive E-mail – “Building Software That Is Interoperable By Design” http://www.microsoft.com/mscorp/execmail/2005/02-03interoperability.asp Plus deep commitment at the execution level Specification development and standardization WS-* Spec authorship Participation in Standards bodies Participation in WS-I Adopting XML and WS-* as the universal glue eg. Systems Management, Connected Devices, Identity Management Shipping products: Early WS-* implementations (WSE) Strategic WS-* platform (“Indigo” / WCF) Easy-to-use development environment (Visual Studio) Community feedback and testing WS-* Workshop Process Plug-fests - Product testing of multi-vendor interop
  • 8.
    WS-* Specifications ProcessStep 2 Broader Community Participation Step 1 Initial Development Process reconciles conflicting goals Quality of engineering Time to market Breadth of industry support Step 3 Standardization Step 4 Profiling Increasing Industry Participation Specification Published Feedback and Interop Workshops Revise spec Standards Org Such as: WS-I, HL7, ACORD, Devices Profile Idea
  • 9.
    What Are InteropProfiles? Define a subset of specifications and options that are: Composable Scoped Work together Examples: Secure RM – WS-ReliableMessaging + WS-Trust/SecureConversation/Security ACORD Messaging Profile – WS-* + ACORD payload schemas Who defines the profile? Vertical domain org – eg. ACORD Horizontal org – eg. WS-I Customer – singly or in groups
  • 10.
    Profile Recipe: Staple,Redline, Glue – Device Profile Example “ Staple” Pull relevant specs into scope “ Redline” Add constraints on use of those specs “ Glue” Define missing bits between specs Some will migrate back into specs ThisModel Metadata ThisDevice Metadata Action Filter Conformance Claim Policy Assertions Policy Assertions SOAP 1.2 WS-Addressing WS-Metadata Exchange WSDL 1.1 WS-Discovery WS-Eventing
  • 11.
    Why Do WeNeed Interop Profiles? Need to constrain (soften) runtime options to achieve out-of-box interoperability WS-* Architecture is designed for general applicability across a wide range of industries / scenarios Often too much optionality in the base specifications Tailor to specific domain / environment E.g. Devices Profile only requires SOAP 1.2 not SOAP 1.1 to lower implementation footprint Guide implementation and deployment choices Achieve a proven composition of protocols and payloads Allows simplification of application deployment e.g. WCF allows selection of interop profile to use
  • 12.
    Summary - InteroperabilityInteroperability is the best way to achieve system integration in a heterogeneous IT environment Wire-level interoperability is the real goal Web Services WS-* Architecture designed to support multi-vendor environments Profiling is an important tool for achieving business interoperability Microsoft is deeply committed to delivering products with proven interoperability that work well in heterogeneous environments Other vendors also delivering implementations for WS-* specs too
  • 13.
    What We HeardFrom You “ What API should I use?” “ How do I build service-oriented systems?” “ How can I send messages securely & reliably?” “ How do I build dynamic, decoupled applications?”
  • 14.
    Microsoft .NET FrameworkThe Managed Code Programming Model for Windows
  • 15.
    Windows Communication FoundationINTEROPERABILITY PRODUCTIVITY SERVICE-ORIENTED DEVELOPMENT Broad Support for WS-* specifications Compatible with existing MS distributed application technologies Unifies today’s distributed technologies Attribute-based development Visual Studio 2005 integration Enables development of loosely-coupled services Config-based communication
  • 16.
  • 17.
    Unified Programming ModelInterop with other platforms ASMX Attribute- Based Programming Enterprise Services WS-* Protocol Support WSE Message- Oriented Programming System.Messaging Extensibility Location transparency .NET Remoting Unified Programming Model
  • 18.
    WCF extends the.NET Framework Services are built in Visual Studio 2005 using any .NET programming language
  • 19.
    WCF Composable ArchitectureService Code Service Model Layer Influences and adds to the programming model based on incoming messages Messaging Layer Moves messages back and forth and adds transfer semantics (channels) Transaction Behavior CLR Type Integration Instancing Behavior Security Channel TCP Transport Security Channel TCP Transport Transaction Behavior CLR Type Integration
  • 20.
    WCF Composability inAction Service Model Layer Messaging Layer Behaviors Channels Transaction Behavior CLR Type Integration Instancing Behavior Security Channel HTTP Transport Custom Channel Reliable Messaging Queue Transport MSMQ Integration TCP Transport Named Pipes Throttling Behavior Error Handling Behavior Concurrency Behavior Metadata Behavior Custom Behavior HTTP Transport TCP Transport Security Channel Custom Channel Reliable Messaging CLR Type Integration Instancing Behavior Transaction Behavior
  • 21.
    WCF Runtime ArchitectureBinding Address Contract
  • 22.
    Productivity - DIYUsing Visual Studio .NET 2003 20,379 lines security 5,988 lines reliable messaging 25,507 lines transactions Total lines 56,296 4,442 lines infrastructure class HelloService { [WebMethod] public String Hello(String Greeting) { X509CertificateCollection collection = new X509CertificateCollection(); IntPtr blob = Marshal.AllocHGlobal(Marshal.SizeOf( typeof(CRYPTOAPI_BLOB))); IntPtr data = (IntPtr)((int)blob + Marshal.SizeOf(typeof(CRYPTOAPI_BLOB))); … SeqAckRange range = new SeqAcknRange(id, low, high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); … hr = pITxDispenser->BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction); … return Greeting; } }
  • 23.
    Productivity - WSEUsing Visual Studio .NET 2003 and WSE 10 lines security 1,804 lines reliable messaging 25,507 lines transactions Total lines 27,321 class HelloService { [WebMethod] public String Hello(String Greeting) { foreach ( SecurityToken tok in requestContext.Security.Tokens { X509SecurityToken token = tok as X509SecToken } … SeqAckRange range = new SeqAcknRange(id,low,high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); … hr = pITxDispenser->BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction); … return Greeting; } }
  • 24.
    Productivity - WCFUsing Visual Studio 2005 and Indigo 1 line security 1 line reliable messaging 1 line transactions Total lines 3 [ServiceContract(SecureChannel, SecurityMode =“Windows")] [Reliability(Guarantees.ExactlyOnce | Guarantees.InOrder)] [ServiceContract] class HelloService { [ServiceOperation(TransactionFlowAllowed = true)] String Hello(String Greeting) { return Greeting; } }
  • 25.
  • 26.
  • 27.
    WS-* Protocol SupportXML Messaging Security Transactions Reliable Messaging Metadata
  • 28.
  • 29.
    From Objects toServices Polymorphism Encapsulation Subclassing Message-based Schema+Contract+Policy Broad Interop Location Transparent Tight Coupling Runtime Metadata Object-Oriented Service-Oriented Component-Oriented 1980s 2000s 1990s
  • 30.
    Four Tenets ofService Orientation SERVICE ORIENTATION Compatibility Based On Policy Share Schema & Contract, Not Class Services Are Autonomous Boundaries Are Explicit
  • 31.
    THE BIGGER PICTURE– WCF and .NET 3.0
  • 32.
    Next Gen WindowsTechnology Foundation Vector-based Resolution independent Rich media 3D user interfaces Windows Communication Foundation Secure Web services Reliable transacted distributed apps Interoperability with WS-* protocols Any transport and any host Engine built into platform System and human workflow Composite apps Windows Presentation Foundation Windows Workflow Foundation Windows CardSpace Streamlines user registration and one-click login Mitigates common attack vectors (Phishing) Seamless integration with WCF
  • 33.
    Services, Workflow &BizTalk WCF WF Tools and engine for building workflow-enable apps API for building secure, reliable interoperable services Application to application and B2B integration Connects multiple services built with WCF Adapters to multiple products like SAP and MQSeries Business activity monitoring Vertical solutions and industry accelerators Message transformation services Enterprise single sign-on End-to-end health and activity tracking And more…
  • 34.
    Get started withVisual Studio 2005 Download Microsoft .NET Framework Give us feedback .NET Framework – Take the Next Step
  • 35.
  • 36.
  • 37.
    The Four Tenetsof Service-Orientation Services and consumers are independently versioned, deployed, operated, and secured. Services are autonomous Data never includes behavior; Objects with data and behavior are a local phenomenon. Share schema & contract, not class Capabilities and requirements represented by a unique public name; Used to establish service suitability. Compatibility based on policy Developers opt-in to consuming, exposing, and defining public-facing service façade. Boundaries are Explicit
  • 38.
    Facilitates implementation/platform interopIndependent deployment, versioning, mgmt Promotes technology reuse Benefits of Service Orientation
  • 39.
    WCF Architecture DetailApplication Service Model Messaging Hosting Environments TCP Channel HTTP Channel Queue Channel Secure Channel Reliable Channel Binary Encoder Text/XML Encoder … … ASP.NET Avalon WinForm NT Service COM+ Instance Behavior Throttling Behavior Type Integ. Behavior Transaction Behavior Concurrency Behavior Error Behavior Metadata Behavior … WAS
  • 40.
    End-to-end Security Confidentiality,integrity, authentication, authorization X509, Username/Password, Kerberos, SAML, custom End-to-end Reliable messaging In-order guarantees Exactly once guarantees Transactions Guaranteed atomic success or failure across services WCF Feature Overview Security, Reliability, Transactions
  • 41.
    WCF Feature OverviewHosting Models Indigo services can be hosted in any managed application ASP.NET, COM+, EXE, NT Service, Windows Forms, Avalon Windows Activation Service – Used by Indigo and IIS7 Windows Activation Service (WAS) HTTP.SYS TCP Transport Listener Named Pipes Transport Listener HTTP Listener Adapter (IIS7) NP Listener Adapter TCP Listener Adapter
  • 42.
  • 43.
    WS-* Architecture AssurancesMessaging SOAP WS-Security MTOM WS-Addressing Metadata WS-Policy WSDL WS-Discovery UDDI WS-Metadata Exchange WS-Transfer WS-Enumeration WS-Eventing XML Schema WS-Reliable Messaging WS-Coordination WS-Atomic Transaction WS-Business Activity WS-Trust WS-Secure Conversation Infrastructure and Profiles WS-Management WS-Federation Devices Profile Foundation SOAP / HTTP SOAP / UDP MIME XML Infoset XML 1.0 XML Namespaces
  • 44.
    80+ WS-* WorkshopParticipants Actional Fujitsu Newisys Sharp Labs AMD Grand Central Nokia Siebel American Megatrends Hewlett-Packard Oasis Semiconductor Software AG ANL IBM Oblix Sonic Software Apache Project iDesign OPC Foundation Sun Axalto Intel OpenNetwork Systinet BEA Intermec Oracle Tibco Blue Titan Iona OSA Technologies Toshiba Boeing IPO Group Peerless Tyco Safety Systems Brother Jboss Ping Identity Univ of Sydney Canon JibxSoap Printronix VeriSign Choreology KnowNow QuickTree Veritas CommerceOne Layer 7 Tech Quovadx Visa Computer Associates Lexmark Reactivity Vitria Content Guard Lockheed Martin Ricoh WRQ Cornell University Microsoft Roxio webMethods Dell Motive RSA Security WSO2 Epson NEC SAP Xerox Exceptional Innovation NEON Schneider Electric Zoran Feature Software Netegrity SeeBeyond Unaffiliated
  • 45.
    WS-* Spec StatusAssurances Messaging SOAP WS-Security MTOM WS-Addressing Metadata WS-Policy WSDL WS-Discovery UDDI WS-Metadata Exchange WS-Transfer WS-Enumeration WS-Eventing XML Schema WS-Reliable Messaging WS-Coordination WS-Atomic Transaction WS-Business Activity WS-Trust WS-Secure Conversation Infrastructure and Profiles WS-Management WS-Federation Devices Profile Foundation SOAP / HTTP SOAP / UDP MIME XML Infoset XML 1.0 XML Namespaces Step 4 – Approved Standard Step 3 – Standardization Step 2 – Workshops & Community Dev
  • 46.
    WS-* Protocols -Industry Adoption WS-P Messaging Security Assurances Devices System Mgmt Metadata DPWS WS-SecureConv WS-Security WS-Trust WS-RM WS-AT MEX WS-D SOAP/WSDL MTOM © 2003-2007 Microsoft Corporation. All rights reserved. The information contained in this document represents the current view at the time of publication and is subject to change. WS-Man WS-XFer / Enum WS-Fed UDDI AMD Inc. A Computer Associates A Dell Inc.   gSOAP  Intel Corp.   HP / Mercury / Systinet A Microsoft   Oracle   SAP  Sonic Software A Sun Microsystems, Inc.   WEBM Solutions, Inc.    Released Product  Public Interop A Co-Author Apache (WSO2)   BEA Systems Inc.  A Choreology Ltd  IBM Corp.   IONA Technologies   RedHat (JBoss / Arjuna)  HP / Mercury / Systinet  Microsoft   Oracle  SAP  Progress / Sonic Software  Sun Microsystems Inc.   Tibco Software, Inc.  Apache (WSO2)    BEA Systems Inc.    A BMC (OpenNetwork) A A A  Canon Inc.  Cape Clear Software Inc.  Computer Associates (Netegrity)  A A  gSOAP  IBM Corp. (DataPower)     IONA Technologies  RedHat (JBoss / Arjuna)  Layer 7 Technologies Inc.  A  A HP / Mercury / Systinet    Microsoft     Nokia  Novell  Oracle     EMC (RSA Security)    Ping Identity Corp.  A   SAP    Sonic Software  Sun Microsystems, Inc.     Tibco Software, Inc.  Verisign Inc  A A A Software AG (WebMethods)  Apache (WSO2)   Amazon  BEA Systems Inc.   Cape Clear Software Inc.   Canon Inc.   eBay Inc.  Epson Corp.   Fuji-Xerox   Google  gSOAP   HP   IBM Corp.   Intel Corp.   Iona   RedHat (JBoss / Arjuna)   Microsoft   Novell  Oracle   Ricoh Co.   SAP   Sun Microsystems, Inc.   Xerox Corp.   BEA Systems Inc. A Brother Industries   Canon Inc.   Epson Corp.   Exceptional Innovation   Fuji-Xerox Co.   gSOAP  HP   Intel Corp.   Lexmark International, Inc. A Microsoft   Peerless Systems Corp.   Schneider Electric SA   Toshiba   Software AG (WebMethods) A Xerox Corp.   Apache (WSO2)   BEA Systems Inc.    Computer Associates A gSOAP  IBM Corp.    RedHat (JBoss / Arjuna)  Layer 7 Technologies  HP / Mercury / Systinet   Microsoft    Novell  Oracle    SAP A   Sun Microsystems, Inc.   Sonic Software  Software AG (WebMethods) A

Editor's Notes

  • #2 Speaker Notes This 1-hour presentation provides a technical overview of the Windows Communication Foundation, previously codenamed “Indigo.” This presentation is targeted primarily at developers and architects. By the end of this presentation, you will understand the what, why, and how of WCF: What WCF is and what it provides developers, Why Microsoft is building it (the challenges we hope to overcome with WCF), and How WCF works, how it interacts with other Microsoft products (including the .NET Framework 2.0, Visual Studio 2005, and BizTalk Server), and how you can take advantage of WCF when building connected systems. Transition to next slide: Let’s begin by discussing the motivation behind WCF. 06/06/09 15:48 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. Next Generation Business Solutions Platform Strategy Review