Title: WS-CIM mapping using WSDM
1WS-CIM mapping using WSDM
- Igor Sedukhin (Igor.Sedukhin_at_ca.com)
- Heather Kreger (kreger_at_us.ibm.com)
- Andreas Maier (maiera_at_de.ibm.com)
- Tom Maguire (tmaguire_at_de.ibm.com)
- Bryan Murray (Bryan.Murray_at_hp.com)
- William Vambenepe (vbp_at_hp.com)
- Andrea Westerinen (AndreaW_at_cisco.com)
2Objectives
- 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
3Using CIM
Management Application
CIM Provider
CIM Provider
Proprietary Protocols or WEBM
Proprietary Integration
CIM Server
CIM Provider
4Using 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)
5Evolutionary step 1
Management Application
CIM Provider
SMASH
Web services Protocols
CIM Server
WS impl.
6Evolutionary step 2
Management Application
CIM OM
SMASH
Web services Protocols
WS impl.
Management Server
WS impl.
WS impl.
7Web 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
8Web services access to Resources
EPR
Policies
refers to
Schemas
known to
WSDL
Resource
Web services Application
messagesw/ WSA other information in the headers
endpoint
XML Representation ltxCustomergt ltxNamegtJohn
Doelt/xNamegt ltxAddressgtlt/xAddressgt lt/xCustomer
gt
WS-Resource
9Web 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
10Applying Web Services to CIM
Management Application
Directly WS-enable CIM OM access
CIM OM
Becomes similar to a WS access to anobject
database
- Focus on responsibilities of CIM OM
Management Application
WS-enable access to Manageable Resources
Manageable Server Resource
CIM OM
Manageable Server Resource
- Focus on responsibilities of Manageable Resources
- Adequate for implementation in SOA applications
- Manageability as a design-time, architectural
aspect - Can be done along with general SOA-enablement
- Provides for distributed management
Manageable Service Resource
Service Users
11WSDM
- 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.
12WS-CIM using WSDM protocol
Management Application
Command-Line
Proprietary/WEBM
WS
WS
WS
WSRF/WSN
WSRF/WSN
WSRF/WSN
WSDM
WSDM
WSDM
Manageable Application
CIM OM
SMASH
CIM Provider
CIM Provider
CIM Provider
SMASH Provider
SMASH Provider
SMASH Provider
13WS-CIM using WSDM protocol
- WS basic XML messaging, descriptions, security,
etc. - WSRFWSN 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
14Resource mapping
Policies
Schemas
manageable resources mark
WSDL
Management Application
Get(OtherIdentifyingInfo)
WS-CIM implementation
RequestStateChange(...)
EPR
endpoint
XML Representation ltcim-csCIM_ComputerSystemgt ltmu
ws-xs1ResourceIdgt... lt/muws-xs1ResourceIdgt ltcim-
csOtherIdentifyingInfogt lt/cim-csOtherIdentifyin
gInfogt ... lt/cim-csCIM_ComputerSystemgt
15Other objects mapping
Policies
Schemas
WSDL
Management Application
Get(SampleInterval)
WS-CIM implementation
ResetSelectedStats(...)
EPR
endpoint
XML Representation ltcim-sdCIM_StatisticalDatagt .
.. ltcim-sdSampleIntervalgt lt/cim-sdSampleInterva
lgt ... lt/cim-sdCIM_StatisticalDatagt
16Instances collection
Policies
Schemas
WSDL
Management Application
Query
WS-CIM implementation
EPR
endpoint
Instance 1
EPR1
Instance 2
EPR2
Instance ?
EPR?
17Association 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)
18Association traversal
- Query association instances, resolve reference
properties - Common association traversal service
- Every manageable resource provides associations
it knows and wants to expose to managers
19Association traversal
Management Application
WS-CIM implementation
QueryRelationshipsByType( AssociatedPowerManagemen
tService)
Get(PowerState)
SetPowerState(...)
EPR
EPR
EPR
20Association traversal
Management Application
Association Provider
HWManager
SWManager
WS-CIM implementation
WS-CIM implementation
WS-CIM implementation
21Association traversal
Management Application
WS-CIM implementation
SetPowerState(...)
QueryRelationshipsByType( AssociatedPowerManagemen
tService)
OUT
EPR
IN
ltwsdmRelationshipgt ltwsdmTypegtltcimAssociatedPowe
rManagementServicegt... ltwsdmParticipantgt ltwsdmR
olegt.../ServiceProvidedlt/wsdmRolegt lt/wsdmPartici
pantgt ... ltcim-apmPowerStategt...lt/cim-apmPowerSt
ategt ltcim-apmPowerOnTimegt ... ...
EPR
22Indications
- 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
23Resource-specific notifications
Topic Spaces ltTopicSpace targetNamespace...cim-e
le...gt ltTopic nameEnabledState
messageTypewsdmManagementEventgt ltMessagePatter
n Dialect...XPath...gt wsdmManagementEventwsrp
PropertyValueChangeNotification lt/MessagePattern
gtlt/Topicgtlt/TopicSpacegt
Policies
Schemas
WSDL
Management Application
Get(Topics)
WS-CIM implementation
cim-eleEnabledState
EPR
endpoint
Observationsabout thisComputerSystem
XML Representation ltcim-csCIM_ComputerSystemgt ltmu
ws-xs1ResourceIdgt... lt/muws-xs1ResourceIdgt ltcim-
eleEnabledStategt lt/cim-eleEnabledStategt ... lt/c
im-csCIM_ComputerSystemgt
24Resource-specific notifications
Policies
TopicSpaces
Schemas
WSDL
Management Application
Subscribe(cim-eleEnabledState)
WS-CIM implementation
Notification Message ltwsdmManagementEventgt ltwsrp
PropertyValueChangeNotificationgt ltcim-eleEnabledS
tategt lt/cim-eleEnabledStategt ltwsrpPropertyValue
ChangeNotificationgt lt/wsdmManagementEventgt
EPR
endpoint
Observationsabout thisComputerSystem
XML Representation ltcim-csCIM_ComputerSystemgt ltmu
ws-xs1ResourceIdgt... lt/muws-xs1ResourceIdgt ltcim-
eleEnabledStategt lt/cim-eleEnabledStategt ... lt/c
im-csCIM_ComputerSystemgt
25CIM-specific notifications
Topic Spaces ltTopicSpace targetNamespace...cim-r
oot...gt ltTopic nameCIM_InstIndicationgt ltTopic
nameCIM_InstMethodCall messageTypewsdmManage
mentEventgt ltMessagePattern Dialect...XPath...gt
wsdmManagementEventcim-rootCIM_InstMethodCallM
essage lt/MessagePatterngtlt/Topicgtlt/Topicgtlt/TopicSp
acegt
Policies
Schemas
WSDL
Management Application
Get(Topics)
WS-CIM implementation
cim-rootCIM_InstIndication/cim-rootCIM_InstMeth
odCall
EPR
endpoint
Observationsabout thisComputerSystem
CIM_ComputerSysteminstance
26CIM-specific notifications
Policies
Topic Spaces
Schemas
Subscribe(cim-rootCIM_InstIndication/cim-rootC
IM_InstMethodCall)
WSDL
Management Application
WS-CIM implementation
Notification Message ltwsdmManagementEventgt ltcim-r
ootCIM_InstMethodCallgt lt/cim-rootCIM_InstMetho
dCallgt lt/wsdmManagementEventgt
EPR
endpoint
Observationsabout thisComputerSystem
CIM_ComputerSysteminstance
27CIM-specific notifications
Topic Spaces ltTopicSpace targetNamespace...cim-r
oot...gt ltTopic nameCIM_InstIndicationgt ltTopic
nameCIM_InstCreation messageTypewsdmManageme
ntEventgt ltMessagePattern Dialect...XPath...gt w
sdmManagementEventcim-rootCIM_InstCreationMessa
ge lt/MessagePatterngtlt/Topicgtlt/Topicgtlt/TopicSpacegt
Policies
Schemas
WSDL
Management Application
Get(Topics)
WS-CIM implementation
cim-rootCIM_InstIndication/cim-rootCIM_InstCrea
tion
EPR
endpoint
Observationsabout allComputerSystem instances
CIM_ComputerSystemclass
28CIM-specific notifications
Policies
TopicSpaces
Schemas
Subscribe(cim-rootCIM_InstIndication/cim-rootC
IM_InstCreation)
WSDL
Management Application
WS-CIM implementation
Notification Message ltwsdmManagementEventgt ltcim-r
ootCIM_InstCreationgt lt/cim-rootCIM_InstCreatio
ngt lt/wsdmManagementEventgt
EPR
endpoint
Observationsabout allComputerSysteminstances
CIM_ComputerSystemclass
29CIM-specific notifications
Topic Spaces ltTopicSpace targetNamespace...cim-r
oot...gt ltTopic nameCIM_InstIndicationgt ltTopic
nameCIM_InstCreation messageTypewsdmManageme
ntEventgt ltMessagePattern Dialect...XPath...gt w
sdmManagementEventcim-rootCIM_InstCreationMessa
ge lt/MessagePatterngtlt/Topicgt ltTopic
nameCIM_InstMethodCall messageTypewsdmManage
mentEventgt ltMessagePattern Dialect...XPath...gt
wsdmManagementEventcim-rootCIM_InstMethodCallM
essage lt/MessagePatterngtlt/Topicgt lt/Topicgtlt/TopicS
pacegt
Policies
Schemas
WSDL
Management Application
Get(Topics)
WS-CIM implementation
cim-rootCIM_InstIndication/cim-rootCIM_InstCrea
tion cim-rootCIM_InstIndication/cim-rootCIM_In
stMethodCall
EPR
endpoint
CIM Indications Producer
Observationsabout everything
30CIM-specific notifications
Policies
TopicSpaces
Schemas
Subscribe( cim-rootCIM_InstIndication/, ...CQL
Selector... ... )
WSDL
Management Application
WS-CIM implementation
Notification Message ltwsdmManagementEventgt ltcim-r
ootCIM_InstCreationgt lt/cim-rootCIM_InstCreatio
ngt lt/wsdmManagementEventgt
EPR
endpoint
CIM Indications Producer
Observationsabout everything
31Classes mapping
Instances Collection
Classes Collection
IC
CC
endpoint
endpoint
Instance 1
I1
Class 1
C1
WS-ServiceGroup
WS-ServiceGroup
Instance 2
I2
Class 2
C2
Instance Y
IY
Class X
CX
Class X
endpoint
Class definition
WS-ServiceGroup
X Instance 1
X1
InstancesCollection
MyClass
MX
X Instance Y
XY
Instance Y of Class X
32ServiceGroup 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)
33Accessing metadata
WSRF-MD
Policies
TopicSpaces
Schemas
- Instances provide metadata about themselves
- Classes provide metadata about themselves and
instances
WSDL
Management Application
WS-MeXGetMetadata
WS-CIM implementation
EPR
endpoint
CIMQualifiers
34Qualifier 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
- ltrmdOperation name"SetPowerState"
idempotent"true"gt - ltcimDeprecatedgttruelt/cimDeprecatedgt
- ltcimParameter name"PowerState"
direction"IN"gt - ltcimValueMap value1gtFull
Powerlt/cimValueMapgt - ltcimValueMap value2gtPower Save - Low
Power Modelt/cimValueMapgt - lt!-- other values omitted --gt
- lt/cimParametergt
- ltcimParameter name"Time" direction"IN"/gt
- lt/rmdOperationgt
35Conclusion
36CIM Functionality coverage
- Instance Access
- GetInstance WS-RF RP GetResorucePropertiesDocume
nt - 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
37CIM 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
38CIM 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
39Summary
- 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
40QA