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