Web Services and the Devices Profile Jorgen Thelin Program Manager Connected Systems Division JThelin@microsoft.com Microsoft Confidential What Is Web Services? Software talking to Software Services Servers PCs WS Protocols TCP/IP Microsoft Confidential What Is Web Services on devices? Software talking to Software on devices Services Servers Devices PCs Device Profile for Web Services WS Protocols TCP/IP Microsoft Confidential Web Services Scales “Scales Up” on large systems “Scales In” on a machine “Scales Down” to devices Microsoft Confidential “Scales Away” spans organizations & geographies “Scales Out” by adding machines Why Web Services Devices need to interoperate! Building devices that work with 3rd party applications increases value to customer Build devices that work with Internet services could add revenue streams HTML and browsers are limited Browsers can’t automatically collect data Browsers can’t automatically control devices Custom protocols are costly Microsoft Confidential Quality WS protocols will be long-lived They’re general purpose and are being adopted by many large companies Enterprise-ready framework Already proven in the enterprise Allow your devices to move seamlessly between So-Ho and enterprise environments Multi-party reviews and interop events for each spec Microsoft Confidential Security Integrity, Confidentiality Channel-Based (TLS) Message-Based (WS-Security) Secure content Scenario – print job content securely over the wire, allowing devices to be implemented at secure sites Secure communications Scenario – secure check printing Microsoft Confidential The Device Profile for Web Services Scaling WS to limited resource devices Microsoft Confidential Profile Recipe: Staple, Redline, Glue SOAP 1.2 WSAddressing WSMetadata WSDL 1.1 Exchange WSDiscovery WSEventing Policy Policy Assertions Assertions Microsoft Confidential Pull relevant specs into scope “Redline” Add constraints on use of those specs “Glue” Conformance Claim ThisModel ThisDevice Metadata Metadata “Staple” Action Filter Define missing bits between specs Some will migrate back into specs Device Profile for Web Services Lightweight subset of WS specifications Described in Device Profile for Web Services (DPWS) specification Security based on SSL/TLS Shipping in Windows Vista and Windows CE Microsoft Confidential Device Profile for Web Services Built on the foundation of industry standard Web Services Extensible Markup Language (XML) Simple Object Access Protocol (SOAP) WS-Discovery, WS-Addressing… (WS-*) Web Service Definition Language (WSDL) Message Transmission Optimization Mechanism (MTOM) Developed using the WS workshop process Co-Authors include Intel, Canon, Ricoh, and Lexmark. Microsoft Confidential Print DMR IGD Commands Print DMR IGD Events Protocol Print DMR IGD Capabilities Metadata Devices Profile WS-Metadata Exchange WS-Discovery Device Extensions Assurances WS-Security TLS BP 1.1 Sec. 4 WS-Eventing SOAP WS-Addressing Microsoft Confidential Messaging MTOM XML Infoset XML 1.0 MIME WSDL XML Schema SOAP / UDP XML Namespaces WS-Policy SOAP / HTTP Foundation Devices Profile Discovery Bootstrap Devices Profile Discovery Bootstrap – Discovery Hello UDP Multicast UDP Unicast HTTP WS-Discovery Hello (containing EPR) WS-D - Resolve (to EPR) Client WS-D – Resolve Match containing EPR Transfer - Get message to device – over HTTP Transfer – Get Response containing DP meta data Microsoft Confidential Device Typical Devices Profile Message Exchanges Microsoft Confidential Microsoft Implementations Microsoft Confidential Vista WS device support PC Discovery People Near Me BITS 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 Microsoft Confidential 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 Microsoft Confidential Building Your Device Microsoft Confidential Building Embedded Implementation DPWS Protocol components HTTP & TCP/IP SOAP and XML parser TLS/SSL optional for security WS-* Specifications WS-Discovery WS-Transfer WS-Eventing Use 3rd Party stacks for rapid development eSOL Microsoft Confidential Building Custom Clients Microsoft Confidential Building WS on devices in WCF Indigo is now Windows Communication Foundation Managed code in C# for rapid development WCF Samples include WS-Discovery and SOAP over UDP transports. Interop tested with many industry stacks Great rapid prototype environment for both clients and devices Microsoft Confidential Building WSD Client/Server in Native Code WSDAPI.DLL is the foundation for Printer and Projector support. Abstracts WSD for the application developer WSD Client or Service Integrated with Plug and Play-X (PnP-X) Device Class component WSDL definition to drive codegen tool Codegen output becomes part of your application Application software Write to codegen generated functions Microsoft Confidential Web Services On Devices Resources WS and WSD Sites 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/webservice basics/default.aspx Devices Profile for Web Services http://msdn.microsoft.com/ws/2006/02/devprof (soon) http://msdn.microsoft.com/ws/2005/05/devprof WS-Discovery http://msdn.microsoft.com/ws/2005/04/ws-discovery/ Microsoft Confidential Questions? Microsoft Confidential Backup WS-* Specifications Process Step 1 Initial Development Idea Specification Published Step 2 Broader Community Participation Feedback and Interop Workshops Revise spec Step 3 Standardization Step 4 Profiling Standards Org WS-I Increasing Industry Participation Microsoft Confidential Process reconciles conflicting goals • Quality of engineering • Time to market • Breadth of industry support WS-* Spec Status WS-Federation WS-Management Devices Profile WS-Secure Conversation WS-Business Activity WS-Trust WS-Atomic Transaction WS-Security WS-Reliable Messaging WS-Coordination WS-Transfer WS-Enumeration WS-Eventing SOAP WS-Addressing MTOM XML Infoset XML 1.0 Microsoft Confidential Step 2 – Workshops & Community Dev Step 3 – Standardization Step 4 – Approved Standard Infrastructure and Profiles Assurances MIME WS-Metadata Exchange WS-Discovery UDDI WS-Policy Messaging WSDL XML Schema SOAP / UDP XML Namespaces Metadata SOAP / HTTP Foundation 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 Confidential Microsoft WS-* Product Roadmap “R2” Wave Windows Server 2003 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 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 Longhorn Wave 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 Management Microsoft Confidential WS-Management Devices WS-* - Industry Adoption Assurances Security Messaging Microsoft IBM BEA BEA A SUN RSA A Google Systinet Amazon Apache eBay Layer7 A Apache DataPower Whitemesa CA gSOAP SUN Ricoh SAP Epson Tibco HP IONA Xerox WebMethods Fuji-Xerox Nokia Microsoft IBM A A Cape Clear Canon Sonic gSOAP Ping ID A Netegrity A A Verisign A A A OpenNetwork A A A Oracle/Oblix Released product Co-Author Only © 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. Intel Canon BEA A WebMethods A Ricoh Microsoft IBM BEA A Cape Clear Epson Systinet HP Blue Titan Xerox Rogue Wave Fuji-Xerox Sonic Brother IONA Toshiba JBoss Exceptional Innovation Choreology Peerless Schneider Systinet gSOAP Apache Tibco Metadata Intel Public interop A Microsoft Lexmark A Microsoft IBM A Mgmt BEA A Microsoft SAP A Intel Sun A Sun Verisign A Dell Sonic AMD A Layer 7 CA A Apache Sonic A CA A gSOAP WebMethods A Systinet A Systinet WEBM gSOAP NetIQ Opportunities in Web Services Devices are moving to Web Services Printer Scanner Projectors IGD Industries are moving to Web Services Healthcare Retail Devices Integrate with existing Web Services Amazon, Mappoint, Terraserver, and many others Microsoft Confidential Opportunities in Web Services Opportunities exist for new revenue streams Create secure end-to-end applications that provide great end user benefits Directly sell services or supplies to your customers From Consumables, toner Extended warranty Product upgrades To Data services Storage services And more Integrate with existing Web Services Amazon, Mappoint, Terraserver, and many others Microsoft Confidential