The Windows Communication Foundation Jorgen Thelin Connected Systems Division Microsoft Corporation [email_address]
The Imperative to Connect MOBILE EMPLOYEES CUSTOMERS MOBILE EMPLOYEES CUSTOMERS
What We Heard From People “ What API should I use?” “ How do I build service-oriented systems?” “ How can I send messages securely & reliably?” “ How do I develop interoperable applications?”
Windows Communication Foundation The Unified Programming Model For Rapidly Building  Service-Oriented Applications
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
Components of Business Interoperability Agreed  syntax  representations E.g. XML Agreed  protocols E.g. SOAP + WS-* specs (such as WS-ReliableMessaging) Agreed  payload  formats E.g. HL7 schemas for healthcare data Profiled  composition E.g. Pre-defined options to ensure functionality Agreed  business scenarios E.g. Well defined interaction scenarios / use cases
Interop Profiles Define a subset of specifications 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
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
WS DEVICES
Connected Devices – Ad-hoc / Unmanaged Environment Example Joe works for a health care provider. He visits a patient at home and uses his laptop to discover and configure a sensor in the client’s location in ad-hoc mode.  After device discovery, Joe changes the sensitivity level of the sensor and directs the sensor to send notifications to a monitoring server in his office.  Provider’s  Office Customer’s Home Notifications Configure Ad-hoc  Discovery Sensor
Devices Profile Protocol DMR Capabilities DMR Commands DMR Events Protocol IGD Capabilities IGD Commands IGD Events Assurances Messaging SOAP WS-Security MTOM WS-Addressing Metadata WSDL WS-Metadata Exchange XML Schema TLS Foundation SOAP / HTTP MIME XML Infoset XML 1.0 XML Namespaces BP 1.1 Sec. 4 Device Extensions Protocol Print Capabilities Print Commands Print Events WS-Eventing WS-Transfer WS-Policy SOAP / UDP WS-Discovery
Vista WS device support Printers “ Plug and Play” experience for network printers Security Control over who can connect to the printer Privacy of data sent to the printer Rich printer status Scanners “ Plug and Play” experience for network scanners enable one-button scanning Secure scan delivery
Vista WS device support PC Discovery Messenger - People Near Me BITS - Background Intelligent Transfer Service  Projectors Integration with current IT systems Remote diagnostics and configuration Asset and usage tracking  Speeds flow of meeting Automatic display and audio settings Easy to transition between presenters
Resources - Web Services On Devices Web Services http://msdn.microsoft.com/webservices/default.aspx http://msdn.microsoft.com/windowsvista/connected/ Web Services Feedback Workshops http://msdn.microsoft.com/webservices/community/workshops/ Web Services Basics http://msdn.microsoft.com/webservices/understanding/webservicebasics/default.aspx Devices Profile for Web Services http://msdn.microsoft.com/ws/2006/02/devprof/ WS-Discovery http://msdn.microsoft.com/ws/2005/04/ws-discovery/
THE BIGGER PICTURE – WCF and WINFX
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 InfoCard 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…
WinFX Ship Vehicle Down-level support on Windows XP and Windows Server 2003 Consistent development experience Optimizations for Vista Windows Vista introduces breakthroughs in user experience, security and reliability, enabling you to build applications that bring clarity to the user's complex world of information.
Getting WinFX WinFX Beta1 WinFX Ships! July 2005 Nov 2006 WinFX Feb CTP Feb 2006
Start programming with Visual Studio 2005 Download and evaluate WinFX Give us your feedback! 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
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 WS-I Idea
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
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
Delivering WS-* - Microsoft Microsoft is delivering implementations of all WS-* specs WSE 2.0 / 3.0 Interim coverage of  evolving security and policy specs Indigo Full coverage of all SRTP Advanced Web Services specs Security Reliable Messaging Transactions Policy Windows Server 2003 Release 2 WS-Management stack for interoperable system management Windows Longhorn WS-Devices stack for printer and networked device connectivity
Microsoft WS-* Product Roadmap VS 2005 + WSE 3.0 SOAP 1.1, 1.2  WSDL 1.1  MTOM WS-Addressing 2004/08 (or REC) WS-Security 1.0  (U/P, X509, Kerberos) WS-Secure Conversation WS-Trust  WS-Policy based Limited wire Interop with WSE 2.0 AD Federation Services in R2 Cross-organizational Identity Federation Web SSO SQL Server 2005 SOAP 1.1,1.2  WSDL1.1 WS-Security 1.0 Management WS-Management VS2003 + Web Services  Enhancements (WSE) 2.0 SOAP 1.1 WSDL 1.1 WS-Addressing 2004/03 WS-Security 1.0 (U/P, X509, Kerberos) WS-Secure Conversation 2004/04 WS-Trust 2004/04 WS-Policy based Indigo Wire-level interop with WSE3.0 In addition: MTOM SAML Token Profile 1.0 Security Policy WS-Federation Active Client - Enables easy to build STS WS-RM 2005/02, Policy WS-AT/WS-C 2005/02, Policy WS-Policy/PolicyAttachment WS-MEX Easy to use Digital Identity / InfoCard Active Directory: Federation WSD API: Device Profile Longhorn Wave Windows Server 2003 “ R2” Wave
WS-* - Industry Adoption WS-P Messaging Security Assurances Devices Mgmt Metadata DPWS WS-SecureConv WS-Security WS-Trust WS-RM WS-AT MEX WS-D SOAP / WSDL MTOM © 2003-2006 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-M WS-XFer / Enum WS-Fed Microsoft   Intel   Sun   Dell   AMD A CA A Sonic A gSOAP  Systinet A WEBM   NetIQ    Released product  Public interop A Co-Author Only Microsoft   IBM   BEA  A Cape Clear  Systinet  Blue Titan  Rogue Wave  Sonic  IONA   JBoss  Choreology  Apache   Tibco  Microsoft     IBM     BEA    A RSA    A Systinet    Apache    Layer7  A  DataPower   CA  A A SUN  SAP  Tibco  IONA  WebMethods  Nokia  Cape Clear  Sonic  gSOAP  Ping ID  A   Netegrity  A A  Verisign  A A A OpenNetwork A A A  Oracle/Oblix     Microsoft   IBM  BEA  SUN   Google  Amazon  eBay  Apache   Whitemesa   gSOAP   Ricoh   Epson   HP   Xerox   Fuji-Xerox   Intel   Canon   Microsoft   Intel   Canon   BEA A WebMethods A Ricoh   Epson   HP   Xerox   Fuji-Xerox   Brother   Toshiba   Exceptional Innovation   Peerless   Schneider   Systinet  gSOAP  Lexmark A Microsoft   IBM A  BEA A  SAP A  Sun A  Verisign A Sonic  Layer 7  Apache  CA A WebMethods A Systinet  gSOAP 
Connected Devices – Ad-hoc / Unmanaged Environment Example Joe works for a health care provider. He visits a patient at home and uses his laptop to discover and configure a sensor in the client’s location in ad-hoc mode.  After device discovery, Joe changes the sensitivity level of the sensor and directs the sensor to send notifications to a monitoring server in his office.  Provider’s  Office Customer’s Home Notifications Configure Ad-hoc  Discovery Sensor
Connected Devices – Managed Environment Example Joe works for a health care provider. He visits a patient at home and uses his laptop to discover and configure a sensor via discovery proxy.  After device discovery, Joe changes the sensitivity level of the sensor and directs the sensor to send notifications to a monitoring server in his office.  Provider’s  Office Customer’s Home Notifications Configure Sensor Discover  via DP Hello DP

Overview of Windows Vista Devices and Windows Communication Foundation (WCF)

  • 1.
  • 2.
    The Windows CommunicationFoundation Jorgen Thelin Connected Systems Division Microsoft Corporation [email_address]
  • 3.
    The Imperative toConnect MOBILE EMPLOYEES CUSTOMERS MOBILE EMPLOYEES CUSTOMERS
  • 4.
    What We HeardFrom People “ What API should I use?” “ How do I build service-oriented systems?” “ How can I send messages securely & reliably?” “ How do I develop interoperable applications?”
  • 5.
    Windows Communication FoundationThe Unified Programming Model For Rapidly Building Service-Oriented Applications
  • 6.
    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
  • 7.
  • 8.
    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
  • 9.
    WCF extends the.NET Framework Services are built in Visual Studio 2005 using any .NET programming language
  • 10.
    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
  • 11.
    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
  • 12.
    WCF Runtime ArchitectureBinding Address Contract
  • 13.
    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; } }
  • 14.
    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; } }
  • 15.
    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; } }
  • 16.
  • 17.
  • 18.
    WS-* Protocol SupportXML Messaging Security Transactions Reliable Messaging Metadata
  • 19.
    Components of BusinessInteroperability Agreed syntax representations E.g. XML Agreed protocols E.g. SOAP + WS-* specs (such as WS-ReliableMessaging) Agreed payload formats E.g. HL7 schemas for healthcare data Profiled composition E.g. Pre-defined options to ensure functionality Agreed business scenarios E.g. Well defined interaction scenarios / use cases
  • 20.
    Interop Profiles Definea subset of specifications 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
  • 21.
    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
  • 22.
    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
  • 23.
  • 24.
    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
  • 25.
    Four Tenets ofService Orientation SERVICE ORIENTATION Compatibility Based On Policy Share Schema & Contract, Not Class Services Are Autonomous Boundaries Are Explicit
  • 26.
  • 27.
    Connected Devices –Ad-hoc / Unmanaged Environment Example Joe works for a health care provider. He visits a patient at home and uses his laptop to discover and configure a sensor in the client’s location in ad-hoc mode. After device discovery, Joe changes the sensitivity level of the sensor and directs the sensor to send notifications to a monitoring server in his office. Provider’s Office Customer’s Home Notifications Configure Ad-hoc Discovery Sensor
  • 28.
    Devices Profile ProtocolDMR Capabilities DMR Commands DMR Events Protocol IGD Capabilities IGD Commands IGD Events Assurances Messaging SOAP WS-Security MTOM WS-Addressing Metadata WSDL WS-Metadata Exchange XML Schema TLS Foundation SOAP / HTTP MIME XML Infoset XML 1.0 XML Namespaces BP 1.1 Sec. 4 Device Extensions Protocol Print Capabilities Print Commands Print Events WS-Eventing WS-Transfer WS-Policy SOAP / UDP WS-Discovery
  • 29.
    Vista WS devicesupport Printers “ Plug and Play” experience for network printers Security Control over who can connect to the printer Privacy of data sent to the printer Rich printer status Scanners “ Plug and Play” experience for network scanners enable one-button scanning Secure scan delivery
  • 30.
    Vista WS devicesupport PC Discovery Messenger - People Near Me BITS - Background Intelligent Transfer Service Projectors Integration with current IT systems Remote diagnostics and configuration Asset and usage tracking Speeds flow of meeting Automatic display and audio settings Easy to transition between presenters
  • 31.
    Resources - WebServices On Devices Web Services http://msdn.microsoft.com/webservices/default.aspx http://msdn.microsoft.com/windowsvista/connected/ Web Services Feedback Workshops http://msdn.microsoft.com/webservices/community/workshops/ Web Services Basics http://msdn.microsoft.com/webservices/understanding/webservicebasics/default.aspx Devices Profile for Web Services http://msdn.microsoft.com/ws/2006/02/devprof/ WS-Discovery http://msdn.microsoft.com/ws/2005/04/ws-discovery/
  • 32.
    THE BIGGER PICTURE– WCF and WINFX
  • 33.
    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 InfoCard Streamlines user registration and one-click login Mitigates common attack vectors (Phishing) Seamless integration with WCF
  • 34.
    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…
  • 35.
    WinFX Ship VehicleDown-level support on Windows XP and Windows Server 2003 Consistent development experience Optimizations for Vista Windows Vista introduces breakthroughs in user experience, security and reliability, enabling you to build applications that bring clarity to the user's complex world of information.
  • 36.
    Getting WinFX WinFXBeta1 WinFX Ships! July 2005 Nov 2006 WinFX Feb CTP Feb 2006
  • 37.
    Start programming withVisual Studio 2005 Download and evaluate WinFX Give us your feedback! Take the Next Step
  • 38.
  • 39.
  • 40.
    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
  • 41.
    Facilitates implementation/platform interopIndependent deployment, versioning, mgmt Promotes technology reuse Benefits of Service Orientation
  • 42.
    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
  • 43.
    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
  • 44.
    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
  • 45.
  • 46.
    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
  • 47.
    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 WS-I Idea
  • 48.
    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
  • 49.
    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
  • 50.
    Delivering WS-* -Microsoft Microsoft is delivering implementations of all WS-* specs WSE 2.0 / 3.0 Interim coverage of evolving security and policy specs Indigo Full coverage of all SRTP Advanced Web Services specs Security Reliable Messaging Transactions Policy Windows Server 2003 Release 2 WS-Management stack for interoperable system management Windows Longhorn WS-Devices stack for printer and networked device connectivity
  • 51.
    Microsoft WS-* ProductRoadmap VS 2005 + WSE 3.0 SOAP 1.1, 1.2 WSDL 1.1 MTOM WS-Addressing 2004/08 (or REC) WS-Security 1.0 (U/P, X509, Kerberos) WS-Secure Conversation WS-Trust WS-Policy based Limited wire Interop with WSE 2.0 AD Federation Services in R2 Cross-organizational Identity Federation Web SSO SQL Server 2005 SOAP 1.1,1.2 WSDL1.1 WS-Security 1.0 Management WS-Management VS2003 + Web Services Enhancements (WSE) 2.0 SOAP 1.1 WSDL 1.1 WS-Addressing 2004/03 WS-Security 1.0 (U/P, X509, Kerberos) WS-Secure Conversation 2004/04 WS-Trust 2004/04 WS-Policy based Indigo Wire-level interop with WSE3.0 In addition: MTOM SAML Token Profile 1.0 Security Policy WS-Federation Active Client - Enables easy to build STS WS-RM 2005/02, Policy WS-AT/WS-C 2005/02, Policy WS-Policy/PolicyAttachment WS-MEX Easy to use Digital Identity / InfoCard Active Directory: Federation WSD API: Device Profile Longhorn Wave Windows Server 2003 “ R2” Wave
  • 52.
    WS-* - IndustryAdoption WS-P Messaging Security Assurances Devices Mgmt Metadata DPWS WS-SecureConv WS-Security WS-Trust WS-RM WS-AT MEX WS-D SOAP / WSDL MTOM © 2003-2006 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-M WS-XFer / Enum WS-Fed Microsoft   Intel   Sun   Dell   AMD A CA A Sonic A gSOAP  Systinet A WEBM   NetIQ    Released product  Public interop A Co-Author Only Microsoft   IBM   BEA  A Cape Clear  Systinet  Blue Titan  Rogue Wave  Sonic  IONA   JBoss  Choreology  Apache   Tibco  Microsoft     IBM     BEA    A RSA    A Systinet    Apache    Layer7  A  DataPower   CA  A A SUN  SAP  Tibco  IONA  WebMethods  Nokia  Cape Clear  Sonic  gSOAP  Ping ID  A   Netegrity  A A  Verisign  A A A OpenNetwork A A A  Oracle/Oblix     Microsoft   IBM  BEA  SUN   Google  Amazon  eBay  Apache   Whitemesa   gSOAP   Ricoh   Epson   HP   Xerox   Fuji-Xerox   Intel   Canon   Microsoft   Intel   Canon   BEA A WebMethods A Ricoh   Epson   HP   Xerox   Fuji-Xerox   Brother   Toshiba   Exceptional Innovation   Peerless   Schneider   Systinet  gSOAP  Lexmark A Microsoft   IBM A  BEA A  SAP A  Sun A  Verisign A Sonic  Layer 7  Apache  CA A WebMethods A Systinet  gSOAP 
  • 53.
    Connected Devices –Ad-hoc / Unmanaged Environment Example Joe works for a health care provider. He visits a patient at home and uses his laptop to discover and configure a sensor in the client’s location in ad-hoc mode. After device discovery, Joe changes the sensitivity level of the sensor and directs the sensor to send notifications to a monitoring server in his office. Provider’s Office Customer’s Home Notifications Configure Ad-hoc Discovery Sensor
  • 54.
    Connected Devices –Managed Environment Example Joe works for a health care provider. He visits a patient at home and uses his laptop to discover and configure a sensor via discovery proxy. After device discovery, Joe changes the sensitivity level of the sensor and directs the sensor to send notifications to a monitoring server in his office. Provider’s Office Customer’s Home Notifications Configure Sensor Discover via DP Hello DP