WS-CIM mapping using WSDM

Preview:

DESCRIPTION

WS-CIM mapping using WSDM. Igor Sedukhin ( Igor.Sedukhin@ca.com ) Heather Kreger ( kreger@us.ibm.com ) Andreas Maier ( maiera@de.ibm.com ) Tom Maguire ( tmaguire@de.ibm.com ) Bryan Murray ( Bryan.Murray@hp.com ) William Vambenepe ( vbp@hp.com ) Andrea Westerinen ( AndreaW@cisco.com ). - PowerPoint PPT Presentation

Citation preview

WS-CIM mapping using WSDM

Igor Sedukhin (Igor.Sedukhin@ca.com) Heather Kreger (kreger@us.ibm.com)Andreas Maier (maiera@de.ibm.com)

Tom Maguire (tmaguire@de.ibm.com) Bryan Murray (Bryan.Murray@hp.com)

William Vambenepe (vbp@hp.com) Andrea Westerinen (AndreaW@cisco.com)

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

Recommended