WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier
-
Upload
charles-mcdowell -
Category
Documents
-
view
227 -
download
3
description
Transcript of WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier
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
SchemasWSDL
messagesw/ WSA & otherinformation inthe headers
EPRrefers 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 OMWSDM
WSRF/WSN
WS
CIM
Pro
vide
r
CIM
Pro
vide
r
CIM
Pro
vide
r
“SMASH”WSDM
WSRF/WSN
WS
SMA
SH P
rovi
der
SMA
SH P
rovi
der
SMA
SH P
rovi
der
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
SchemasWSDL
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
SchemasWSDL
EPR
Instances collection
ManagementApplication
WS-CIMimplementation
Query
endpoint
…Policies
SchemasWSDL
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 service3) 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
OUTIN
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
SchemasWSDL
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
SchemasWSDL
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
SchemasWSDL
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
SchemasWSDL
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
SchemasWSDL
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
SchemasWSDL
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
SchemasWSDL
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
SchemasWSDL
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
-Ser
vice
Gro
upW
S-S
ervi
ceG
roup
WS
-Ser
vice
Gro
up
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
SchemasWSDL
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