WS-CIM mapping using WSDM
-
Upload
lewis-mcfarland -
Category
Documents
-
view
26 -
download
0
description
Transcript of WS-CIM mapping using WSDM
WS-CIM mapping using WSDM
Igor Sedukhin ([email protected]) Heather Kreger ([email protected])Andreas Maier ([email protected])
Tom Maguire ([email protected]) Bryan Murray ([email protected])
William Vambenepe ([email protected]) Andrea Westerinen ([email protected])
Objectives
Use of WS protocols for management Common tooling/platforms. Many required features are included.
Make management capabilities more accessible Easy to implement and use Isolation of information from implementation
aspects Wide-range distributed management
Variety of interconnected resources Self-management
Using CIM
ManagementApplication
CIM Server
CIM Provider
CIM Provider
CIM Provider
ProprietaryIntegration
Proprietary Protocolsor WEBM
Using CIM Access the objects
Enumerate objects Query/set properties of objects Invoke methods on objects Traverse associations/links between objects Create objects Query metadata (qualifiers) about objects
Access the model Navigate class hierarchy Enumerate classes Query metadata (qualifiers) about classes Traverse associations/links between classes Query/set properties of classes* Invoke methods on classes* Create classes*
Subscribe to events (indications)
Evolutionary step 1
ManagementApplication
CIM Server
“SMASH”
CIM Provider
WS impl.
Web services Protocols
Evolutionary step 2
ManagementApplication
Management Server
“SMASH”
CIM OM
WS impl.
Web services Protocols
WS impl.
WS impl.
Web services access to Manageable Resources
Interoperability based on XML message exchanges Multiple network transports Message-level composable features
Security Reliability Asynchrony Etc. (Extensible)
Describable Resource-centric
No need to implement all full-scale CIMOM services
Web services access to Resources
Resource
endp
oint
XML Representation
<x:Customer><x:Name>John Doe</x:Name><x:Address>…</x:Address></x:Customer>
…
Policies
Schemas
WSDL
messagesw/ WSA & otherinformation inthe headers
EPR
refers to
Web servicesApplication
known to
WS-Resource
Web Services Platform Standards
XML Schema – captures information model SOAP – XML messaging WSDL – describes message exchanges (e.g. operations) WS-ResourceProperties
Discover resource properties Get/set resource properties Value change notifications
WS-ResourceLifetime Know when a resource is/will be destroyed Destroy a resource
WS-ServiceGroup Query a group of resources Register a resource
WS-BaseNotification Subscribe to notifications Notify message wrapper
WS-Topics – description of notification messages and topic classification
ManageableServer
Resource
Applying Web Services to CIM
ManagementApplication
CIM OMDirectly WS-enable CIM OM access
Becomes similar to a WS access to anobject database
ManagementApplication
CIM OM
ManageableServer
Resource
ManageableService
ResourceServiceUsers
WS-enable access to Manageable Resources
Focus on responsibilities of Manageable ResourcesAdequate for implementation in SOA applicationsManageability as a design-time, architectural aspectCan be done along with general SOA-enablementProvides for distributed management
Focus on responsibilities of CIM OM
WSDM
Focus on resources Isolation from implementation Composability
Of implementation aspects Of manageability capabilities
Bases on Web Services access to Resources Also applicable to new breed of resources whose functions are
exposed as Web Services Provides support for
Identity Relationships Event Format and Notification Topics Discovery and Advertisement Etc.
WS-CIM using WSDM protocol
ManageableApplication
WSDM
WSRF/WSN
WS
CIM OM
WSDM
WSRF/WSN
WS
CIM
Pro
vid
er
CIM
Pro
vid
er
CIM
Pro
vid
er
“SMASH”
WSDM
WSRF/WSN
WS
SM
AS
H P
rov
ider
SM
AS
H P
rov
ider
SM
AS
H P
rov
ider
ManagementApplication
Proprietary/WEBM
Command-Line
WS-CIM using WSDM protocol
WS = basic XML messaging, descriptions, security, etc. WSRF+WSN = resource application patterns using WS WSDM =
1) basic manageability capabilities (e.g. identity) 2) manageability mechanisms (e.g. association traversal) 3) a methodology to define other manageability capabilities
CIM = management information model WS-CIM = joining it all together
Resource mapping
ManagementApplication
WS-CIMimplementation
Get(OtherIdentifyingInfo)
RequestStateChange(...)
endpoint
XML Representation<cim-cs:CIM_ComputerSystem><muws-xs1:ResourceId>...</muws-xs1:ResourceId><cim-cs:OtherIdentifyingInfo>…</cim-cs:OtherIdentifyingInfo>...</cim-cs:CIM_ComputerSystem>
…
Policies
Schemas
WSDL
EPR
manageable resources mark
Other objects mapping
ManagementApplication
WS-CIMimplementation
Get(SampleInterval)
ResetSelectedStats(...)
endpoint
XML Representation
<cim-sd:CIM_StatisticalData>...<cim-sd:SampleInterval>…</cim-sd:SampleInterval>...</cim-sd:CIM_StatisticalData>
…
Policies
Schemas
WSDL
EPR
Instances collection
ManagementApplication
WS-CIMimplementation
Query
endpoint
…
Policies
Schemas
WSDL
EPR
Instance 1 EPR1
Instance 2 EPR2
Instance ? EPR?
Association traversal
Objectives Ability to traverse associations between manageable
resources and business applications/processes Association instances accessible via Web services Any Web service can provide for association traversal
A manageable resource can provide its own associations with other resources (if known)
A service can facilitate traversal of all discovered associations across many resources
Provide for backward-compatible association introspection via CIM operations (queries, associators and references)
Association traversal
1) Query association instances, resolve reference properties
2) Common association traversal service
3) Every manageable resource provides associations it knows and wants to expose to managers
Association traversal
ManagementApplication
WS-CIMimplementation
QueryRelationshipsByType(AssociatedPowerManagementService) Get(PowerState) SetPowerState(...)
EPR EPR EPR
Association traversalManagement Application
WS-CIMimplementation
WS-CIMimplementation
WS-CIMimplementation
AssociationProvider
HWManager
SWManager
Association traversal
<wsdm:Relationship><wsdm:Type><cim:AssociatedPowerManagementService>...<wsdm:Participant>
<wsdm:Role>.../ServiceProvided</wsdm:Role></wsdm:Participant>...<cim-apm:PowerState>...</cim-apm:PowerState><cim-apm:PowerOnTime> ......
ManagementApplication
WS-CIMimplementation
QueryRelationshipsByType(AssociatedPowerManagementService)
SetPowerState(...)
EPR
EPR
OUT
IN
Indications
Objectives Provide a subscription mechanism
Can be implemented by a manageable resource which emits its own notifications
Can be implemented by an events service which emits various notifications about various resources
Provide a classification/description mechanism In order to describe which indications correspond to which
notification messages Provide a mechanism to discover what indications are available Provide a representation of an indication as an notification
message Used as a notification message body Interoperable representation of indication instances
Provide a notification message delivery mechanism
Resource-specific notifications
ManagementApplication
WS-CIMimplementation
Get(Topics)
endpoint
XML Representation<cim-cs:CIM_ComputerSystem><muws-xs1:ResourceId>...</muws-xs1:ResourceId><cim-ele:EnabledState>…</cim-ele:EnabledState>...</cim-cs:CIM_ComputerSystem>
…
Policies
Schemas
WSDL
EPR
Observationsabout thisComputerSystem
Topic Spaces<TopicSpace targetNamespace=“...cim-ele...”><Topic name=“EnabledState” messageType=“wsdm:ManagementEvent”><MessagePattern Dialect=“...XPath...”>wsdm:ManagementEvent[wsrp:PropertyValueChangeNotification]</MessagePattern></Topic></TopicSpace>
cim-ele:EnabledState
Resource-specific notifications
ManagementApplication
WS-CIMimplementation
Subscribe(cim-ele:EnabledState)
endpoint
XML Representation<cim-cs:CIM_ComputerSystem><muws-xs1:ResourceId>...</muws-xs1:ResourceId><cim-ele:EnabledState>…</cim-ele:EnabledState>...</cim-cs:CIM_ComputerSystem>
…
Policies
Schemas
WSDL
EPR
Observationsabout thisComputerSystem
TopicSpaces
Notification Message<wsdm:ManagementEvent><wsrp:PropertyValueChangeNotification><cim-ele:EnabledState>…</cim-ele:EnabledState><wsrp:PropertyValueChangeNotification></wsdm:ManagementEvent>
CIM-specific notifications
ManagementApplication
WS-CIMimplementation
Get(Topics)
endpoint
…
Policies
Schemas
WSDL
EPR
Topic Spaces<TopicSpace targetNamespace=“...cim-root...”><Topic name=“CIM_InstIndication”><Topic name=“CIM_InstMethodCall” messageType=“wsdm:ManagementEvent”><MessagePattern Dialect=“...XPath...”>wsdm:ManagementEvent[cim-root:CIM_InstMethodCallMessage]</MessagePattern></Topic></Topic></TopicSpace>
cim-root:CIM_InstIndication/cim-root:CIM_InstMethodCall
Observationsabout thisComputerSystem
CIM_ComputerSysteminstance
CIM-specific notifications
ManagementApplication
WS-CIMimplementation
Subscribe(cim-root:CIM_InstIndication/cim-root:CIM_InstMethodCall)
endpoint
…
Policies
Schemas
WSDL
EPR
Observationsabout thisComputerSystem
TopicSpaces
Notification Message<wsdm:ManagementEvent><cim-root:CIM_InstMethodCall>…</cim-root:CIM_InstMethodCall></wsdm:ManagementEvent>
CIM_ComputerSysteminstance
CIM-specific notifications
ManagementApplication
WS-CIMimplementation
Get(Topics)
endpoint
…
Policies
Schemas
WSDL
EPR
Topic Spaces<TopicSpace targetNamespace=“...cim-root...”><Topic name=“CIM_InstIndication”><Topic name=“CIM_InstCreation” messageType=“wsdm:ManagementEvent”><MessagePattern Dialect=“...XPath...”>wsdm:ManagementEvent[cim-root:CIM_InstCreationMessage]</MessagePattern></Topic></Topic></TopicSpace>
cim-root:CIM_InstIndication/cim-root:CIM_InstCreation
Observationsabout allComputerSystem instances
CIM_ComputerSystemclass
CIM-specific notifications
ManagementApplication
WS-CIMimplementation
Subscribe(cim-root:CIM_InstIndication/cim-root:CIM_InstCreation)
endpoint
…
Policies
Schemas
WSDL
EPR
Observationsabout allComputerSysteminstances
TopicSpaces
Notification Message<wsdm:ManagementEvent><cim-root:CIM_InstCreation>…</cim-root:CIM_InstCreation></wsdm:ManagementEvent>
CIM_ComputerSystemclass
CIM IndicationsProducer
CIM-specific notifications
ManagementApplication
WS-CIMimplementation
Get(Topics)
endpoint
…
Policies
Schemas
WSDL
EPR
Topic Spaces<TopicSpace targetNamespace=“...cim-root...”><Topic name=“CIM_InstIndication”><Topic name=“CIM_InstCreation” messageType=“wsdm:ManagementEvent”><MessagePattern Dialect=“...XPath...”>wsdm:ManagementEvent[cim-root:CIM_InstCreationMessage]</MessagePattern></Topic><Topic name=“CIM_InstMethodCall” messageType=“wsdm:ManagementEvent”><MessagePattern Dialect=“...XPath...”>wsdm:ManagementEvent[cim-root:CIM_InstMethodCallMessage]</MessagePattern></Topic></Topic></TopicSpace>
cim-root:CIM_InstIndication/cim-root:CIM_InstCreation;cim-root:CIM_InstIndication/cim-root:CIM_InstMethodCall
Observationsabout everything
CIM IndicationsProducer
CIM-specific notifications
ManagementApplication
WS-CIMimplementation
Subscribe(cim-root:CIM_InstIndication/*,{...CQL Selector...} ... )
endpoint
…
Policies
Schemas
WSDL
EPRObservationsabout everything
TopicSpaces
Notification Message<wsdm:ManagementEvent><cim-root:CIM_InstCreation>…</cim-root:CIM_InstCreation></wsdm:ManagementEvent>
Classes mapping
endpoint
Instance 1 I1
Instance 2 I2
Instance Y IY
endpoint
Class 1 C1
Class 2 C2
Class X CX
Instances Collection Classes Collection
MyClass
endpoint
X Instance 1 X1
X Instance Y XY
Class X
Instance Y of Class XMX
IC CC
WS
-Se
rvic
eG
rou
pW
S-S
erv
ice
Gro
up
WS
-Se
rvic
eG
rou
p
Class definition
InstancesCollection
ServiceGroup background
Service groups aggregate Web services and WS-Resources for a domain specific purpose
Three sets of service group message exchanges allow: Query and retrieval of service group details Query and retrieval of entry details Ability to add entries
WS-CIM “domain specific purposes” for service groups: To group classes in a namespace (as exposed by a CIMOM) To group instances in a namespace (as exposed by a CIMOM) To group instances of a particular class (mandates that every CIM
class definition include the WS-ServiceGroup operations in its portType)
Accessing metadata
ManagementApplication
WS-CIMimplementation
WS-MeX:GetMetadata
endpoint
…
Policies
Schemas
WSDL
EPR
TopicSpaces
WSRF-MD
Instances provide metadata about themselves
Classes provide metadata about themselves and instances
CIMQualifiers
Qualifier mapping
Qualifier information returned using WS-RMD (WS-ResourceMetadataDescriptor) WS-RMD specifies an XML document to define property/operation metadata
in a WS-ResourceProperty compliant WSDL portType Metadata document is found through a reference on the WSDL portType
Most CIM qualifiers mapped as specific attributes on a property or operation Defined for each class resource For example:
<rmd:Operation name="SetPowerState" idempotent="true"> <cim:Deprecated>true</cim:Deprecated> <cim:Parameter name="PowerState" direction="IN"> <cim:ValueMap value=“1”>Full Power</cim:ValueMap> <cim:ValueMap value=“2”>Power Save - Low Power Mode</cim:ValueMap> <!-- other values omitted --> </cim:Parameter> <cim:Parameter name="Time" direction="IN"/> </rmd:Operation>
Conclusion
CIM Functionality coverage
Instance Access GetInstance – WS-RF RP
GetResorucePropertiesDocument ModifyInstance - WS-RF RP SetResourceProperties GetProperty – WS-RF RP GetResourceProperty SetProperty- WS-RF RP SetResourceProperties
Associations Associators – WSDM Relationships AssociatorNames – WSDM Relationships References – WSDM Relationships ReferenceNames – WSDM Relationships
CIM Functionality coverage
Instance Management DeleteInstance – WS-RF Resource Lifetime Delete CreateInstance – Creation Capability
Discovery Enumerate – WS-RF ServiceGroup query ExecQuery – WS-RF ServiceGroup query EnumerateInstances – WS-RF ServiceGroup Query EnumerateInstanceNames – WS-RF ServiceGroup
Query
CIM Functionality Coverage
Schema Management EnumerateClasses – Class ServiceGroup query EnumerateClassNames – Class ServiceGroup query GetClass – GetMetaData – WSDL (RP,WS-RMD) GetQualifier – XQuery over WS-RMD document EnumerateQualifiers – XQuery over WS-RMD
document
DeleteClass - future CreateClass - future ModifyClass - future SetQualifier - future DeleteQualifier - future
Summary
Relatively straight forward mapping between Web services and CIM
Scales large and small Based on existing specification that are on the
standards track w/ significant industry support Implementations are available
Meets requirements of WS-CIM Document provided
To provide more details for understanding To be used by the WS-CIM group as we develop WS-CIM
specifications
Q&AQ&A