Download presentation
Presentation is loading. Please wait.
Published byPeter Ray Modified over 9 years ago
1
Tom Maguire William Vambenepe Metadata for WS-Resources WS-Resource Metadata Descriptor OASIS WSRF F2F Tuesday, May 17 th, 2005
2
2 Motivation Support a broad and evolving range of WS-Resource types –Need to be able to discover the descriptions of these resources –Interfaces (described in WSDL) –Additional descriptors The broader the range of WS- Resources to be supported, the more descriptive information required
3
3 Requirements Define an information model representing metadata about operations, resource properties and other information associated with a WS- Resource interface. Define a standard annotation for associating meta data descriptions with other description artifacts of the WS-Resource, particularly its WSDL 1.1 portType and its resource properties document definition. Define the standard schema for representing the aspects of the information model.
4
4 WS-Resource Metadata Descriptor Defines a mechanism for providing additional description on interfaces and WS-Resource implementations: –Properties –Operations –Extensibility for other descriptions Description is required at both: –design time No WS-Resources available (install, provisioning) Development of support for new WS-Resources –execution time Introspection of WS-Resources
5
5 Canonical portType OperatingSystem portType Windows2003Server descriptor LinuxRedHat descriptior “Canonical” manageability portTypes Most derived manageability portType for a managed resource. Defines the schema for the resourceProperties document that represents the state of the resource. Windows2003Server Managed resource type LinuxRedHat Managed resource type WS-Resource Descriptor document for each portType Individual resource types that implement the port type provides its own descriptor that forms a template that resources of the type will match Windows2003Server WS-Resource LinuxRedHat WS-Resource OperatingSystem descriptor Descriptor Combined by copy-and-paste.Combined by reference Individual portType descriptors are combined via references into a document that specializes the description of the interface Implements Describes Overview X
6
6 Canonical portType OperatingSystem portType Windows2003Server descriptor LinuxRedHat descriptior “Canonical” manageability portTypes Most derived manageability portType for a managed resource. Defines the schema for the resourceProperties document that represents the state of the resource. Windows2003Server Managed resource type LinuxRedHat Managed resource type WS-Resource Descriptor document for each portType Individual resource types that implement the port type provides its own descriptor that forms a template that resources of the type will match Windows2003Server WS-Resource LinuxRedHat WS-Resource OperatingSystem descriptor Descriptor Combined by copy-and-paste. Combined by copy-and-paste Individual portType descriptors are combined via copy and paste into a document that specializes the description of the interface Implements Describes Overview
7
7 Operating System portType … xmlns:os=”http://example.com/ns/OperatingSystem” … <portType name="OperatingSystem“ wsrf-rp:ResourceProperties="os:OSResourceProperties"..wsrmd:metadataDescriptor=”os:OperatingSystemDescriptor”..wsrmd:metadataDescriptorLocation=”http://example.com/ns/OperatingSystem http://example.com/prototypes/OperatingSystem.wsrmd”> … The portType annotation for the Resource Property GED (next page). The descriptor which corresponds to this portType. …and where that descriptor is located.
8
8 Operating System portType … xmlns:os=”http://example.com/ns/OperatingSystem” … <portType name="OperatingSystem“ wsrf-rp:ResourceProperties="os:OSResourceProperties"..wsrmd:metadataDescriptor=”os:OperatingSystemDescriptor”..wsrmd:metadataDescriptorLocation=”http://example.com/ns/OperatingSystem http://example.com/prototypes/OperatingSystem.wsrmd”> … But if we use WS-MetadataExchange like thing it would only be…… But we lose the design time introspection capability (when starting from the portType). Is this a concern?
9
9 Operating System Property definitions … xmlns:os="…
10
10 Identification Property definitions
11
11 (001) <Definitions (002) xmlns=”http://docs.oasis-open.org/wsrf/2004/10/wsrf-WS-ResourceMetadataDescriptor-1.0- draft-01.xsd” (003) xmlns:id=”http://example.com/ns/Identification” (004) targetNamespace=”http://example.com/ns/Identification”> (005) <MetadataDescriptor (006) name=”IdentificationMetadataDescriptor” (007) interface=”id:Identification” (008) wsdlLocation=”http://example.com/ns/Identification (009) http://example.com/wsdl/Identification.wsdl” > (010) <Property path=”id:ResourceID” (011) mutability=”constant” (012) modifiability=”read-only” /> (013) <Property path=”id:ResourceType” (014) mutability=”constant” (015) modifiability=”read-only” /> (016) (017) Identification portType Descriptor The Definitions component is a container for a set of MetadataDescriptor components. The Definitions component defines a targetNamespace which forms the {namespace} property of all components it contains. The MetadataDescriptor component is a container for a set of metadata descriptions and constraints on a WS-Resource. The MetadataDescriptor component contains additional information that describes or constrains various aspects of a WS-Resource. This descriptor corresponds to the Identification portType. The Identification portType is at this location. The ResourceID resource property element of the id:Identification resource property document. Will always have a constant value…and it cannot be changed by the wsrp:SetResourceProperties operation. The ResourceType resource property element of the id:Identification resource property document.
12
12 Operating System portType Descriptor (001)<Definitions (002) xmlns=”http://docs.oasis-open.org/wsrf/2004/10/wsrf-WS-ResourceMetadataDescriptor-1.0-draft- 01.xsd” (003) xmlns:id=”http://example.com/ns/Identification” (004) xmlns:os=”http://example.com/ns/OperatingSystem” (005) targetNamespace=”http://example.com/ns/OperatingSystem”> (006) <MetadataDescriptor (007) name=”OperatingSystemMetadataDescriptor” (008) interface=”os:OperatingSystem” (009) wsdlLocation=”http://example.com/ns/OperatingSystem (010) http://example.com/wsdl/OperatingSystem.wsdl” (011) specializes=”id:IdentificationMetadataDescriptor” (012) metadataDescriptorLocation=”http://example.com/ns/Identification (013) http://example.com/metadataDescriptors/Identification.wsrmd” > … next page Property metadata descriptions … (037) (038) This descriptor corresponds to the OperatingSystem portType. This descriptor specializes the Identification descriptor. The Identification MetadataDescriptor is at this location.
13
13 Operating System Descriptor Properties (014) (015) (016) OperatingSystem (017) SuSELinux (018) IBMzOS (019) MicrosoftWindows_XP (020) (021) (022) <Property path="os:numberOfProcesses" (023) mutability="mutable" (024) modifiability="read-only" /> (025) <Property path=”os:processor” (026) mutability=”constant” (027) modifiability=”read-only” /> (028) (029) (030) Pentium Family (031) Power PC 750 (032) 68xxxx Family (033) IBM390 Family (034) G5 (035) (036) This property element augments any property element that may appear in the Identification prototype. The set of valid values the ResourceType resource property element may contain (restrictive) associated with a WS-Resource of type OperatingSystem. The os:numberOfProcesses resource property elements value may change over time. X Replace not augment
14
14 Windows XP WS-Resource Descriptor ( 001)<Definitions (002) xmlns=”http://docs.oasis-open.org/wsrf/2004/10/wsrf-WS-ResourceMetadataDescriptor-1.0- draft-01.xsd” (003) xmlns:id=”http://example.com/ns/Identification” (004) xmlns:os=”http://example.com/ns/OperatingSystem” (005) targetNamespace=”http://example.com/ns/OperatingSystem/WinXP”> (006) <MetadataDescriptor (007) name=”WindowsXPPrototype” (008) interface=”os:OperatingSystem” (009) wsdlLocation=”http://example.com/ns/OperatingSystem (010) http://example.com/ns/OperatingSystem.wsdl” (011) specializes=”os:OperatingSystemMetadataDescriptor” (012) metadataDescriptorLocation=”http://example.com/ns/OperatingSystem (013) http://example.com/metadataDescriptors/OperatingSystem.wsrmd” > … next page Property metadata descriptions … (026) (027)
15
15 Windows XP WS-Resource Properties (014) (015) (016) OperatingSystem (017) MicrosoftWindows_XP (018) (019) (020) <Property path=”os:processor/os:processorFamily” (021) (022) Pentium Family (023) AMD (024) (025)
16
16 Logical Model X X
17
17 Information Model X
18
18 Key design decisions Provides templates to describe instantiated resources implementations of those interfaces All instances of a resource conform to the same descriptor document Exactly one ‘Descriptor’ document associated with a WSDL interface or portType Descriptor ‘points to’ the WSDL document with which it is associated Allows additional domain specific extensions – e.g. for notifications, relationships
19
Pseudo Schemas
20
20 Definitions <Definitions targetNamespace=”xs:anyURI” {anyAttribute}* > ? * {any}* Originally had Definitions component to contain multiple MetadataDescriptors and to establish targetNamespace. Is this still needed? The nature of this is really just properties now so should it be PropertiesDescriptor?
21
21 MetadataDescriptor <MetadataDescriptor name=”xs:NCName” interface=”xs:QName” specializes=”list of xs:QName”? wsdlLocation=”list of xs:anyUri”? metadataDescriptorLocation=”list of xs:anyUri”? {anyAttribute}* > ? * {any}* Do we need this? Not doing tree walking anymore. Maybe? If not then….
22
22 Property <Property path=”xs:QName [/ [xs:QName | xs:NCName ]]* [/@[xs:QName | xs:NCName ]]?” mutability=”[constant|appendable|mutable]” ? modifiability=”[read-only|read-write]” ? subscribability=”xs:boolean” ? {anyAttribute}* > ? [ {any}* | <ValidValueRange lowerBound="xs:anySimpleType"? upperBound="xs:anySimpleType"? /> ] ? {any}* ? {any}* Would like to see this be simplified to just RPEs…
23
23 Path of a Property component (Overlaps) Overlapping path iff, A1 = B1. This is equivalent to saying that Property A and Property B pertain to the same Resource Property, but either or both of those components may pertain only to a descendant of the resource property. For example, if the {path} of Property A is “tns:a/b” and the {path} of Property B is “tns:a”, we say that the {path} of Property A and the {path} of Property B overlap. X
24
24 Path of a Property component (identical) identical path iff, for each value of i, Ai = Bi. This is equivalent to saying the {path} of Property A is equivalent to the {path} of Property B. X
25
25 Path of a Property component (narrower) “narrower” path iff the path length of Property B is less than the Path length of Property A, and for each value of i, where i is less than the path length of B, Ai = Bi. This is equivalent to saying that Property A is scoped to a more specific sub part of the resource property. For example, if the {path} of Property A is “tns:a/b” and the {path} of Property B is “tns:a”, we say that Property A has narrower scope, it describes or constrains only the descendant nodes of the resource property “tns:a” rooted at the element “b”. Property B has a “broader” (or less narrow) path, in that it pertains to the entire resource property “tns:a”. X
26
26 Operation <Operation name=”xs:NCName” inputMessage=“xs:QName” ? outputMessage=”xs:QName” ? idempotent=”xs:Boolean” ? {anyAttribute}* > ? {any} X
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.