1 karl 1.1 HOW TO ACCESS CIM CLASS INFORMATION WITH WSM
2
3 V1 30 March 2007, K. Schopmeyer, Original
4
5 INTRODUCTION
6
7 WSM need CIM class information information
8 in the transformation between wsm objects and cim objects. This is
9 required
10 because wsm objects do not carry any data typing and cim objects are
11 inherently data typed.
12
13 This transform is required both:
14
15 The WSM frontend server to convert between cimobjects and wsm xml object
16 definitions
17
18 The CIMCLientAPI=WSMAPI translator (src/Client/CIMWSMClient) to adapt
19 CIM objects at the CIM API interface to corresponding WSM XML objects.
20
21
22 karl 1.1 However, the access of CIM Classes is not part of the WS_Management
23 protocol so some other means must be found to gain access to CIM Class
24 information.
25
26 WSM provides two means of doing this:
27
28 1. Access to a CIM/XML CIM Server. This allows the CIM Class operations
29 to be processed directly by a cim server using the xim/xml protocol just
30 as if WSM did not exist. The means for setting this up is defined in
31 other HOWTOS in this directory.
32
33 This is controlled by the environment variable WSM_USE_WSMAN.
34
35 2. Direct access to a local Pegasus Repository. This allows the Classes
36 to be defined locally and a local repository set up to provide class
37 information. Instead of accessing class information via client calls to
38 the cim/xml server, calls are made directly to a local CIM repository set
39 up in the client environment. This MUST BE a repository created with
40 OpenPegasus tools and MUST include the same namespaces and classes as the
41 target servers for WS_MAN. Every class for which instances are to be
42 accessed in any WSM server, must contain the corresponding class
43 karl 1.1 definitions locally in the CIM Repository AND in the same namespace as it
44 is in the remote system. Thus, if there is a namespace xyz in the remote
45 system that is used by WSM, there MUST BE a corresponding namespace xyz
46 in the local system with the classes from the remote system.
47
48 For the purposes of demonstrations, this functionality is controlled by
49 the environment variable PEGASUS_CLIENT_HOME which must be set and define
50 a home directory for the local repository. The actual repository would
51 exist in a subdirectory named "repository" of the directory defined in
52 PEGASUS_CLIENT_HOME.
53
54 Note that both WSM_USE_WSMAN and PEGASUS_CLIENT_HOME environment variables
55 must be set to use the local reponsitory
56
57 ACCESSING UP A LOCAL REPOSITORY
58
59 If a local Pegasus server exists.
60
61 The flag for use of the local repository can be setup with the environment
62 variable setting of
63
64 karl 1.1 export PEGASUS_CLIENT_HOME=$PEGASUS_HOME.
65
66 This sets the CLIENT home to the same directory as the Pegasus home and
67 normally the repository is a subdirectory to PEGASUS_HOME.
68
69 Repository in some other directory
70
71 If the repository is in directory
72
73 /home/myhome/pegasusClient/repository
74
75
76 export PEGASUS_CLIENT_HOME="/home/myhome/pegasusClient"
77
78 SETTING UP A LOCAL CLIENT REPOSITORY
79
80 The primary tool to set up the local repository is simply the Pegasus
81 compiler. This means that the user must have access to the MOF defined
82 in the remote system AND know the namespaces to compile the MOF locally
83 into the local repository.
84
85 karl 1.1 In addition, a local PEGASUS server repository can be copied as the basis
86 for a local repository.
87
88 In addition, we are supplying one more tool that may help with setting up
89 the local repository IF the remote server also has CIM/XML access. We
90 will supply a limited copy tool that will copy all of the classes from the
91 remote repository to the local repository for a single namespace.
92
93
94 Karl Schopmeyer
95 30 March 2007
96
97
98
99
|