WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

40
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] )

description

Using CIM Management Application CIM Server CIM Provider Proprietary Integration Proprietary Protocols or WEBM

Transcript of WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

Page 2: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 3: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

Using CIM

ManagementApplication

CIM Server

CIM Provider

CIM Provider

CIM Provider

ProprietaryIntegration

Proprietary Protocolsor WEBM

Page 4: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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)

Page 5: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

Evolutionary step 1

ManagementApplication

CIM Server

“SMASH”

CIM Provider

WS impl.

Web services Protocols

Page 6: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

Evolutionary step 2

ManagementApplication

Management Server

“SMASH”

CIM OM

WS impl.

Web services Protocols

WS impl.

WS impl.

Page 7: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 8: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 9: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 10: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 11: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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.

Page 12: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 13: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 14: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 15: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 16: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

Instances collection

ManagementApplication

WS-CIMimplementation

Query

endpoint

…Policies

SchemasWSDL

EPR

Instance 1 EPR1

Instance 2 EPR2

Instance ? EPR?

Page 17: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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)

Page 18: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 19: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

Association traversal

ManagementApplication

WS-CIMimplementation

QueryRelationshipsByType(AssociatedPowerManagementService) Get(PowerState) SetPowerState(...)

EPR EPR EPR

Page 20: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

Association traversalManagement Application

WS-CIMimplementation

WS-CIMimplementation

WS-CIMimplementation

AssociationProvider

HWManager

SWManager

Page 21: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 22: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 23: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 24: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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>

Page 25: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 26: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 27: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 28: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 29: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 30: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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>

Page 31: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 32: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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)

Page 33: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 34: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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>

Page 35: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

Conclusion

Page 36: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 37: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 38: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 39: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

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

Page 40: WS-CIM mapping using WSDM Igor Sedukhin Heather Kreger Andreas Maier

Q&AQ&A