1 / 40

WS-CIM mapping using WSDM

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 ).

Download Presentation

WS-CIM mapping using WSDM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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)

  2. 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

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

  4. 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)

  5. Evolutionary step 1 Management Application CIM Provider “SMASH” Web services Protocols CIM Server WS impl.

  6. Evolutionary step 2 Management Application CIM OM “SMASH” Web services Protocols WS impl. Management Server WS impl. WS impl.

  7. 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

  8. Web services access to Resources EPR … Policies refers to Schemas known to WSDL Web services Application Resource messagesw/ WSA & other information in the headers endpoint XML Representation <x:Customer> <x:Name>John Doe</x:Name> <x:Address>…</x:Address> </x:Customer> WS-Resource

  9. 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

  10. Applying 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

  11. 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.

  12. WS-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

  13. 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

  14. Resource mapping … Policies Schemas manageable resources mark WSDL Management Application Get(OtherIdentifyingInfo) WS-CIM implementation RequestStateChange(...) EPR endpoint XML Representation <cim-cs:CIM_ComputerSystem> <muws-xs1:ResourceId>... </muws-xs1:ResourceId> <cim-cs:OtherIdentifyingInfo>… </cim-cs:OtherIdentifyingInfo> ... </cim-cs:CIM_ComputerSystem>

  15. Other objects mapping … Policies Schemas WSDL Management Application Get(SampleInterval) WS-CIM implementation ResetSelectedStats(...) EPR endpoint XML Representation <cim-sd:CIM_StatisticalData> ... <cim-sd:SampleInterval>… </cim-sd:SampleInterval> ... </cim-sd:CIM_StatisticalData>

  16. Instances collection … Policies Schemas WSDL Management Application Query WS-CIM implementation EPR endpoint Instance 1 EPR1 Instance 2 EPR2 Instance ? EPR?

  17. 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)

  18. Association traversal • Query association instances, resolve reference properties • Common association traversal service • Every manageable resource provides associations it knows and wants to expose to managers

  19. Association traversal Management Application WS-CIM implementation QueryRelationshipsByType( AssociatedPowerManagementService) Get(PowerState) SetPowerState(...) EPR EPR EPR

  20. Association traversal Management Application HWManager Association Provider SWManager WS-CIM implementation WS-CIM implementation WS-CIM implementation

  21. Association traversal Management Application WS-CIM implementation SetPowerState(...) QueryRelationshipsByType( AssociatedPowerManagementService) OUT EPR IN <wsdm:Relationship> <wsdm:Type><cim:AssociatedPowerManagementService>... <wsdm:Participant> <wsdm:Role>.../ServiceProvided</wsdm:Role> </wsdm:Participant> ... <cim-apm:PowerState>...</cim-apm:PowerState> <cim-apm:PowerOnTime> ... ... EPR

  22. 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

  23. Resource-specific notifications … Topic Spaces <TopicSpace targetNamespace=“...cim-ele...”> <Topic name=“EnabledState” messageType=“wsdm:ManagementEvent”> <MessagePattern Dialect=“...XPath...”> wsdm:ManagementEvent[wsrp:PropertyValueChangeNotification] </MessagePattern></Topic></TopicSpace> Policies Schemas WSDL Management Application Get(Topics) WS-CIM implementation cim-ele:EnabledState EPR endpoint Observationsabout thisComputerSystem XML Representation <cim-cs:CIM_ComputerSystem> <muws-xs1:ResourceId>... </muws-xs1:ResourceId> <cim-ele:EnabledState>… </cim-ele:EnabledState> ... </cim-cs:CIM_ComputerSystem>

  24. Resource-specific notifications … Policies TopicSpaces Schemas WSDL Management Application Subscribe(cim-ele:EnabledState) WS-CIM implementation Notification Message <wsdm:ManagementEvent> <wsrp:PropertyValueChangeNotification> <cim-ele:EnabledState>… </cim-ele:EnabledState> <wsrp:PropertyValueChangeNotification> </wsdm:ManagementEvent> EPR endpoint Observationsabout thisComputerSystem XML Representation <cim-cs:CIM_ComputerSystem> <muws-xs1:ResourceId>... </muws-xs1:ResourceId> <cim-ele:EnabledState>… </cim-ele:EnabledState> ... </cim-cs:CIM_ComputerSystem>

  25. CIM-specific notifications 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> … Policies Schemas WSDL Management Application Get(Topics) WS-CIM implementation cim-root:CIM_InstIndication/cim-root:CIM_InstMethodCall EPR endpoint Observationsabout thisComputerSystem CIM_ComputerSysteminstance

  26. CIM-specific notifications … Policies Topic Spaces Schemas Subscribe(cim-root:CIM_InstIndication/cim-root:CIM_InstMethodCall) WSDL Management Application WS-CIM implementation Notification Message <wsdm:ManagementEvent> <cim-root:CIM_InstMethodCall> … </cim-root:CIM_InstMethodCall> </wsdm:ManagementEvent> EPR endpoint Observationsabout thisComputerSystem CIM_ComputerSysteminstance

  27. CIM-specific notifications 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> … Policies Schemas WSDL Management Application Get(Topics) WS-CIM implementation cim-root:CIM_InstIndication/cim-root:CIM_InstCreation EPR endpoint Observationsabout allComputerSystem instances CIM_ComputerSystemclass

  28. CIM-specific notifications … Policies TopicSpaces Schemas Subscribe(cim-root:CIM_InstIndication/cim-root:CIM_InstCreation) WSDL Management Application WS-CIM implementation Notification Message <wsdm:ManagementEvent> <cim-root:CIM_InstCreation> … </cim-root:CIM_InstCreation> </wsdm:ManagementEvent> EPR endpoint Observationsabout allComputerSysteminstances CIM_ComputerSystemclass

  29. CIM-specific notifications 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> … Policies Schemas WSDL Management Application Get(Topics) WS-CIM implementation cim-root:CIM_InstIndication/cim-root:CIM_InstCreation; cim-root:CIM_InstIndication/cim-root:CIM_InstMethodCall EPR endpoint CIM Indications Producer Observationsabout everything

  30. CIM-specific notifications … Policies TopicSpaces Schemas Subscribe( cim-root:CIM_InstIndication/*, {...CQL Selector...} ... ) WSDL Management Application WS-CIM implementation Notification Message <wsdm:ManagementEvent> <cim-root:CIM_InstCreation> … </cim-root:CIM_InstCreation> </wsdm:ManagementEvent> EPR endpoint CIM Indications Producer Observationsabout everything

  31. Classes 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 Instance Y of Class X X Instance Y XY

  32. 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)

  33. Accessing metadata … WSRF-MD Policies TopicSpaces Schemas • Instances provide metadata about themselves • Classes provide metadata about themselves and instances WSDL Management Application WS-MeX:GetMetadata WS-CIM implementation EPR endpoint CIMQualifiers

  34. 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>

  35. Conclusion

  36. 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

  37. 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

  38. 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

  39. 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

  40. Q&A

More Related