WS-CIM mapping using WSDM

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

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] ). - PowerPoint PPT Presentation

Transcript of WS-CIM mapping using WSDM

Page 1: 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])

Page 2: WS-CIM mapping using WSDM

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

Using CIM

ManagementApplication

CIM Server

CIM Provider

CIM Provider

CIM Provider

ProprietaryIntegration

Proprietary Protocolsor WEBM

Page 4: WS-CIM mapping using WSDM

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

Evolutionary step 1

ManagementApplication

CIM Server

“SMASH”

CIM Provider

WS impl.

Web services Protocols

Page 6: WS-CIM mapping using WSDM

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

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

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

Page 9: WS-CIM mapping using WSDM

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

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

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

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

Page 13: WS-CIM mapping using WSDM

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

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

Page 15: WS-CIM mapping using WSDM

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

Page 16: WS-CIM mapping using WSDM

Instances collection

ManagementApplication

WS-CIMimplementation

Query

endpoint

Policies

Schemas

WSDL

EPR

Instance 1 EPR1

Instance 2 EPR2

Instance ? EPR?

Page 17: WS-CIM mapping using WSDM

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

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

Page 19: WS-CIM mapping using WSDM

Association traversal

ManagementApplication

WS-CIMimplementation

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

EPR EPR EPR

Page 20: WS-CIM mapping using WSDM

Association traversalManagement Application

WS-CIMimplementation

WS-CIMimplementation

WS-CIMimplementation

AssociationProvider

HWManager

SWManager

Page 21: WS-CIM mapping using WSDM

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

Page 22: WS-CIM mapping using WSDM

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

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

Page 24: WS-CIM mapping using WSDM

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>

Page 25: WS-CIM mapping using WSDM

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

Page 26: WS-CIM mapping using WSDM

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

Page 27: WS-CIM mapping using WSDM

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

Page 28: WS-CIM mapping using WSDM

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

Page 29: WS-CIM mapping using WSDM

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

Page 30: WS-CIM mapping using WSDM

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>

Page 31: WS-CIM mapping using WSDM

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

Page 32: WS-CIM mapping using WSDM

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

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

Page 34: WS-CIM mapping using WSDM

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

Conclusion

Page 36: WS-CIM mapping using WSDM

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

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

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

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

Q&AQ&A