d810da35fbb5ddc315ab9a6a9fd0c3ac.ppt
- Количество слайдов: 24
Web Services Discovery Scaling WS to limited resource devices Jorgen Thelin Program Manager Connected Systems Division Microsoft Corporation JThelin@microsoft. com Microsoft Confidential
WS-Discovery - The Big Picture Services to be discovered Clients discover services Discovery Proxy caches found services Hello/Bye Probe. Match Service Hello/Bye Probe / Probe. Match DP Microsoft Confidential Client
WS-Discovery message exchanges 1. 2. 3. 4. 5. 6. Target service sends a multicast Hello when it joins a network. Client listens to the multicast Hello. Likewise, a Target Service may receive multicast a Probe from a Client at any time. The Target Service sends a unicast Probe Match (PM) to the Client if the Target Service matches a Probe. Similarly, a Target Service may receive multicast Resolve from a Client at any time. The Target Service sends a unicast Resolve Match (RM) to the Client if it is the target of a Resolve. When a Target Service leaves a network, it makes an effort to (6) send a multicast Bye. Clients listen to the multicast Bye. Microsoft Confidential
Conceptual Context of Message Exchanges Microsoft Confidential
WS-Discovery Metadata /s: Envelope/s: Body/*/d: Types Set of Types implemented by the Target Service (or Discovery Proxy) /s: Envelope/s: Body/*/d: Scopes Set of Scopes the Target Service (or Discovery Proxy) is in MAY be of more than one URI scheme /s: Envelope/s: Body/*/d: XAddrs Set of Transport addresses that MAY be used to communicate with the Target Service (or Discovery Proxy) /s: Envelope/s: Body/*/d: Metadata. Version Incremented by >= 1 whenever there is a change in the metadata of the Target Service Metadata includes, but is not limited to, . . /d: Types and. . /d: Scopes. MAY be used by the Client and/or Discovery Proxy for cache control of Target Service metadata. Microsoft Confidential
Metadata Matching Rules Type matching If Namespace + Local name are the same Scope matching based on specified rules: rfc 2396 – General URI comparison uuid – UUID URI comparison ldap – LDAP URI comparison strcmp 0 – Case-sensitive string comparison Additional matching rules may be specified But must be equally supported by Client and Service Microsoft Confidential
Device Discovery Bootstrap – Based on DPWS Microsoft Confidential
Typical Device/Service Message Exchanges – Based on DPWS Microsoft Confidential
Profile Recipe: Staple, Redline, Glue - Devices Profile example SOAP 1. 2 WSAddressing WSMetadata 1. 1 WSDL Exchange WSDiscovery WSEventing Policy Assertions Microsoft Confidential Pull relevant specs into scope “Redline” Add constraints on use of those specs “Glue” Conformance Claim This. Model This. Device Metadata “Staple” Action Filter Define missing bits between specs Some will migrate back into specs
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
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
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/ Devices Profile for Web Services http: //msdn. microsoft. com/ws/2006/02/devprof WS-Discovery http: //msdn. microsoft. com/ws/2005/04/ws-discovery/ Microsoft Confidential
Questions? Microsoft Confidential
Backup
WS-Discovery Hello Message Outline <s: Envelope. . . > <s: Header. . . > <a: Action. . . > http: //schemas. xmlsoap. org/ws/2005/04/discovery/Hello </a: Action> <a: Message. ID. . . >xs: any. URI</a: Message. ID> [<a: Relates. To Relationship. Type="d: Suppression" > xs: any. URI </a: Relates. To>]? <a: To. . . >urn: schemas-xmlsoap-org: ws: 2005: 04: discovery</a: To> <d: App. Sequence. . . />. . . </s: Header> <s: Body. . . > <d: Hello. . . > <a: Endpoint. Reference>. . . </a: Endpoint. Reference> [<d: Types>list of xs: QName</d: Types>]? [<d: Scopes>list of xs: any. URI</d: Scopes>]? [<d: XAddrs>list of xs: any. URI</d: XAddrs>]? <d: Metadata. Version>xs: unsigned. Int</d: Metadata. Version>. . . </d: Hello> </s: Body> </s: Envelope> Microsoft Confidential
WS-Discovery Bye Message Outline <s: Envelope. . . > <s: Header. . . > <a: Action. . . > http: //schemas. xmlsoap. org/ws/2005/04/discovery/Bye </a: Action> <a: Message. ID. . . >xs: any. URI</a: Message. ID> <a: To. . . >urn: schemas-xmlsoap-org: ws: 2005: 04: discovery</a: To> <d: App. Sequence. . . />. . . </s: Header> <s: Body. . . > <d: Bye. . . > <a: Endpoint. Reference>. . . </d: Bye> </s: Body> </s: Envelope> Microsoft Confidential
WS-Discovery Probe Message Outline <s: Envelope. . . > <s: Header. . . > <a: Action. . . > http: //schemas. xmlsoap. org/ws/2005/04/discovery/Probe </a: Action> <a: Message. ID. . . >xs: any. URI</a: Message. ID> [<a: Reply. To. . . >endpoint-reference</a: Reply. To>]? <a: To. . . >xs: any. URI</a: To>. . . </s: Header> <s: Body. . . > <d: Probe. . . > [<d: Types>list of xs: QName</d: Types>]? [<d: Scopes [Match. By="xs: any. URI"]? . . . > list of xs: any. URI </d: Scopes>]? . . . </d: Probe> </s: Body> </s: Envelope> Microsoft Confidential
WS-Discovery Probe Match Message Outline <s: Envelope. . . > <s: Header. . . > <a: Action. . . > http: //schemas. xmlsoap. org/ws/2005/04/discovery/Probe. Matches </a: Action> <a: Message. ID. . . >xs: any. URI</a: Message. ID> <a: Relates. To. . . >xs: any. URI</a: Relates. To> <a: To. . . >xs: any. URI</a: To> <d: App. Sequence. . . />. . . </s: Header> <s: Body. . . > <d: Probe. Matches. . . > [<d: Probe. Match. . . > <a: Endpoint. Reference>. . . </a: Endpoint. Reference> [<d: Types>list of xs: QName</d: Types>]? [<d: Scopes>list of xs: any. URI</d: Scopes>]? [<d: XAddrs>list of xs: any. URI</d: XAddrs>]? <d: Metadata. Version>xs: unsigned. Int</d: Metadata. Version>. . . </d: Probe. Match>]*. . . </d: Probe. Matches> </s: Body> </s: Envelope> Microsoft Confidential
WS-Discovery Resolve Message Outline <s: Envelope. . . > <s: Header. . . > <a: Action. . . > http: //schemas. xmlsoap. org/ws/2005/04/discovery/Resolve </a: Action> <a: Message. ID. . . >xs: any. URI</a: Message. ID> [<a: Reply. To. . . >endpoint-reference</a: Reply. To>]? <a: To. . . >xs: any. URI</a: To>. . . </s: Header> <s: Body> <d: Resolve. . . > <a: Endpoint. Reference>. . . </d: Resolve> </s: Body> </s: Envelope> Microsoft Confidential
WS-Discovery Resolve Match Message Outline. . . > <s: Envelope <s: Header. . . > <a: Action. . . > http: //schemas. xmlsoap. org/ws/2005/04/discovery/Resolve. Matches </a: Action> <a: Message. ID. . . >xs: any. URI</a: Message. ID> <a: Relates. To. . . >xs: any. URI</a: Relates. To> <a: To. . . >xs: any. URI</a: To> <d: App. Sequence. . . />. . . </s: Header> <s: Body. . . > <d: Resolve. Matches. . . > [<d: Resolve. Match. . . > <a: Endpoint. Reference>. . . </a: Endpoint. Reference> [<d: Types>list of xs: QName</d: Types>]? [<d: Scopes>list of xs: any. URI</d: Scopes>]? <d: XAddrslist of xs: any. URI</d: XAddrs> <d: Metadata. Version>xs: unsigned. Int</d: Metadata. Version>. . . </d: Resolve. Match>]? . . . </d: Resolve. Matches> </s: Body> </s: Envelope> Microsoft Confidential
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 Step 2 – Workshops & Community Dev Step 3 – Standardization Step 4 – Approved Standard Infrastructure and Profiles Assurances WS-Atomic Transaction WS-Security WS-Reliable Messaging WS-Enumeration WS-Eventing SOAP WS-Addressing UDDI MTOM XML Infoset XML 1. 0 Microsoft Confidential WS-Policy Messaging MIME WSDL XML Schema SOAP / UDP XML Namespaces WS-Metadata Exchange WS-Discovery WS-Coordination WS-Transfer Metadata SOAP / HTTP Foundation
WS-* - Industry Adoption DL S /W M P O OA MT Security S Messaging nv Co y re rit cu ecu ust ed Se -S -Tr -F S S SW WS W W Assurances BEA ü Cape Clear ü Systinet ü Blue Titan ü ü IBM ü ü ü BEA ü A SUN ü RSA ü A Google ü Systinet ü Rogue Wave Amazon ü Apache ü Sonic ü e. Bay ü Layer 7 ü A ü IONA ü Apache ü ü Data. Power ü Whitemesa ü ü CA ü g. SOAP ü ü SUN ü Ricoh ü SAP ü Epson ü Tibco ü HP ü IONA ü Xerox ü Web. Methods ü Fuji-Xerox ü Nokia ü Intel ü Cape Clear ü Canon ü Sonic ü g. SOAP ü Ping ID A ü ü Netegrity A A ü Verisign A A A Open. Network A A A Oracle/Oblix Released product Public interop A Co-Author Only BEA A A JBoss A ü Exceptional Innovation Choreology ü A ü Toshiba A Canon Epson ü Brother ü Fuji-Xerox IBM Intel Ricoh ü ü Xerox ü ü IBM W ü HP Microsoft ü ü ü Peerless ü Schneider Systinet g. SOAP ü Apache ü Tibco Metadata P S- EX W M m Microsoft ü ü Lexmark IBM A Mgmt BEA A ü Microsoft ü ü SAP A Intel Sun © 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. W DP Web. Methods RM AT S- SW W ü ü S D Microsoft S- Devices A Sun Verisign A Dell Sonic ü AMD A Layer 7 CA A Apache Sonic A S- W A M S- W CA A g. SOAP ü Web. Methods A Systinet ü WEBM g. SOAP ü Net. IQ r/ e XF u En
d810da35fbb5ddc315ab9a6a9fd0c3ac.ppt