.NET Micro Framework
Devices Profile For Web Services
DPWS
Jim Mateer
Program Manager.NET Micro Framework
222Confidential2
Partner Logo Here
.NET Micro Framework
Microsoft’s latest offering for embedded
development
Small, resource constrained devices
Underlying OS is not necessary
Managed execution environment
Visual Studio development environment
Extensible hardware emulator
333Confidential3
Partner Logo Here
Portable Media Center
Extending the Microsoft Embedded Story
Windows Mobile
Smartphone
Increasing Functionality
Windows CE
Windows Mobile
Pocket PC Phone
Wearable Devices
.NET Micro
Framework Windows XP Embedded
Windows
Automotive
VoIP Phones
Mobile
Handhelds
Gateways
Set-top Boxes
Medical Devices
Windows-based
Terminals
Retail Point-of-Sale
Entertainment Devices
Sensor Nodes
Auxiliary Displays
Health Monitoring
Remote Controls
Security
Building Automation
Visual Studio + Managed Code
Decreasing Size
444Confidential4
Partner Logo Here
Advantages of the .NET Micro Framework
Visual Studio Development Environment
.NET Managed development and execution
No native or core development required
Small footprint
555Confidential5
Partner Logo Here
.NET Micro Framework V2.0
V1 was an internal build
V2.0 was released at Embedded World,
Germany 02/2007
Service Pack 1 released 9/18/2007 at
ESC East
666Confidential6
Partner Logo Here
Service Pack 1
TFFont.EXE
Improved deployment feedback
Improved sockets
Firmware and Application IP protection
Extended flash management tool (MFDeploy)
Greatly expanded documentation
Customer reported bug fixes
777Confidential7
Partner Logo Here
Architecture
888Confidential8
Partner Logo Here
Microsoft Web Services Architecture
Windows Communication Foundation (WCF)
The next-generation Microsoft programming platform and runtime system
for building, configuring, and deploying network-distributed services.
Network Connected Devices (NCD)
A set of 4 technologies that enable virtually connected devices
to appear as if they were physically connected
Devices Profile for Web Services (DPWS)
Enables basic interoperability between
IP-capable Devices and Web services.
.NET Micro Framework DPWS (MF-DPWS)
A DPWS stack developed specifically
for the .NET Micro Framework
999Confidential9
Partner Logo Here
DPWS – Service Hosting
Examples of devices hosting one or more services
Fax/Printer/Scanner
A device can host multiple services. Each service operates as a separate, individual
entity with its own endpoints
Projector
The Printer and Projector device profiles are included in Windows Vista
Thermostat
Any device running the .NET Micro Framework can host or consume web services. All
that is needed is a Device Profile for that device
Smart CoffeeMaker
MF-DPWS provides the DPWS stack and necessary base classes to enable creating
Device Profiles
101010Confidential10
Partner Logo Here
DPWS Clients
Examples of devices as clients
PDA
SmartPhone
MP3 Player
Remote controls
Examples of things client devices can do
Subscribing to Web Services, such as a Stock Ticker
Subscribing to traffic flow services
Subscribing to a home event notification service
Subscribe to a home music delivery service
Initiate service actions
Remotely control devices
111111Confidential11
Partner Logo Here
MF-DPWS – Hybrid Devices
Hybrid Devices
Intelligent power monitoring
Subscribing to power company service to determine best rates
(Client)
Providing rate information to smart appliances (Service)
Navigation System
Subscribing to local services (Client)
Gas prices
Restaurant seating availability
Traffic conditions
Providing location information (Service)
Current location
Destination (if a route is active)
Speed and Direction
121212Confidential12
Partner Logo Here
MF-DPWS Stack (1)
What is included
Most of everything from the DPWS 2/2004 specification
Discovery
Probe and Match
Metadata Exchange
Eventing
Hello
Bye
Subscriptions
Attachments
MTOM
131313Confidential13
Partner Logo Here
MF-DPWS Stack (2)
What is not included
WS-Policy is not supported
WS-Security is not supported
DateTime types not supported for Subscription Duration/Renewal
IPv6
141414Confidential14
Partner Logo Here
MF-DPWS A Typical operation
151515Confidential15
Partner Logo Here
MF-DPWS Stack Classes
MFDpwsStack.DLL
All Managed Code (C#)
Base services and extensibility features
Provides tools to develop custom DPWS profiles
HTTP and UDP Transport Services
Service Endpoint classes
SOAP message parsers
Service dispatchers
MTOM processor
XML Services
161616Confidential16
Partner Logo Here
MF-DPWS Client Classes
MFDpwsClient.DLL
Classes provide boilerplate DPWS/WS* Services
Client specific
Discovery
Eventing (Subscribing)
Application developers derive custom classes from DPWS
client classes
Used to create device specific client implementations
171717Confidential17
Partner Logo Here
MF-DPWS Device Classes
MFDpwsDevice.DLL
Frame work for device specific implementations
Base methods called by MF-DPWS services
Dispatching Requests
Dispatching Events
Stores actions and events
Used by application developers to develop device specific
functionality
181818Confidential18
Partner Logo Here
MF-DPWS Availability
Beta program available now
Contact [email protected] for details
.NET Micro Framework DPWS Code generation tool under
development (ETA ~Q1/2008)
MF specific version of Svcutil.EXE
Generates WSDL from a Service
Generate an MF-Client from a WSDL
Generate an MF-Service stub from a WSDL
Currently only supported on Digi ConnectME device
Other platforms support expected 12/2007
191919Confidential19
Partner Logo Here
Questions?
Jim Mateer
Microsoft Program Manager
.NET Micro Framework