(file) Return to readme.jmpi CVS log (file) (dir) Up to [Pegasus] / pegasus

  1 karl  1.7 //%2006////////////////////////////////////////////////////////////////////////
  2           //
  3           // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
  4           // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
  5           // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
  6           // IBM Corp.; EMC Corporation, The Open Group.
  7           // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
  8           // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
  9           // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10           // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11           // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12           // EMC Corporation; Symantec Corporation; The Open Group.
 13           //
 14           // Permission is hereby granted, free of charge, to any person obtaining a copy
 15           // of this software and associated documentation files (the "Software"), to
 16           // deal in the Software without restriction, including without limitation the
 17           // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 18           // sell copies of the Software, and to permit persons to whom the Software is
 19           // furnished to do so, subject to the following conditions:
 20 mark.hamzy 1.8 //
 21 karl       1.7 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 22                // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 23                // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 24                // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 25                // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 26                // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 27                // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 28                // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 29                //
 30                //==============================================================================
 31 schuur     1.1 
 32 mark.hamzy 1.9 Java Manageability Programming Interface (JMPI)
 33                -----------------------------------------------
 34 schuur     1.1 
 35 mark.hamzy 1.9 JMPI is a bridge between clients and providers written in Java and the Open
 36                Pegasus project.
 37 schuur     1.1 
 38 mark.hamzy 1.9 More information on JMPI's status can be found at 
 39                   http://www.openpegasus.org/page.tpl?ggid=799
 40 r.kieninger 1.3 
 41 schuur      1.1 
 42                 Environment settings
 43 mark.hamzy  1.9 --------------------
 44 schuur      1.1 
 45 mark.hamzy  1.9 In order to build this support a few environment variables have to used.
 46                 The following script has been proven useful for setting up the build and execution environment.
 47                 You might need to adjust this to your system layout.
 48 schuur      1.1 
 49 mark.hamzy  1.9    an example setJPeg script file:
 50 schuur      1.1    export PEGASUS_HOME=`pwd`
 51 mark.hamzy  1.9    export PEGASUS_ROOT=${PEGASUS_HOME}
 52 schuur      1.1    export PEGASUS_PLATFORM=LINUX_IX86_GNU
 53 mark.hamzy  1.9    export PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER=true
 54                    export PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER=true
 55 schuur      1.1    export PEGASUS_DEBUG=1
 56 mark.hamzy  1.9    export JAVA_SDK=/usr/java/j2sdk1.4.2_08
 57                    export JAVA_SDKINC=${JAVA_SDK}/include
 58                    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${JAVA_SDK}/jre/lib/i386/server:${JAVA_SDK}/jre/lib/i386/native_threads:${JAVA_SDK}/jre/lib/i386
 59                    export PATH=${JAVA_SDK}/bin/:${PEGASUS_HOME}/bin:${PATH}
 60                    export CLASSPATH=${CLASSPATH}:${PEGASUS_HOME}/lib/JMPIImpl.jar
 61                 
 62                 There is now a new variable to determine which JVM to link with.  The choices are as follows:
 63                      PEGASUS_JVM	sun	Sun's jvm (ex: j2sdk1.4.2_07)
 64                      PEGASUS_JVM	ibm	IBM's jvm (ex: IBMJava2-142)
 65                      PEGASUS_JVM	bea	Suse's IBM jvm (ex: BEAJava2-1.4.2)
 66                 So, pick one and export that variable to the environment.  For example,
 67                      export PEGASUS_JVM=sun
 68                 NOTE: This is currently listened to for Linux builds.  And the sun option was the only
 69                       tested version.
 70 schuur      1.1 
 71 mark.hamzy  1.9 There are a couple of optional environment variables to determine how the JRE is initialized.  These are
 72                 as follows (the variable name and what JRE option that it corresponds to):
 73 mark.hamzy  1.5 
 74 mark.hamzy  1.9 PEGASUS_JMPI_MAX_HEAP               -Xmx
 75                 PEGASUS_JMPI_INITIAL_HEAP           -Xms
 76                 PEGASUS_JMPI_JAVA_THREAD_STACK_SIZE -Xss
 77 mark.hamzy  1.4 
 78 mark.hamzy  1.9 So, for example, you would perform the following if you want to change the maximum heap size to 128 megabytes.
 79 mark.hamzy  1.4 
 80 mark.hamzy  1.9 export PEGASUS_JMPI_MAX_HEAP=128m
 81 mark.hamzy  1.4 
 82 mark.hamzy  1.9 There is a new optional environment variable that tells the JVM to output more debugging information.  The variable name
 83                 is called PEGASUS_JMPI_VERBOSE.  An example usage is as follows:
 84 mark.hamzy  1.4 
 85 mark.hamzy  1.9 export PEGASUS_JMPI_VERBOSE="jni,class"
 86 mark.hamzy  1.6 
 87 mark.hamzy  1.9 This will tell the JVM to output debug information on the JNI layer and class loading.
 88 mark.hamzy  1.6 
 89 mark.hamzy  1.9 When using this script, place a copy of this script above your PEGASUS_HOME directory.
 90                 "cd" to PEGASUS_HOME, and issue ". ./setJPeg". Then do a normal make.
 91 mark.hamzy  1.6 
 92 schuur      1.1 
 93 mark.hamzy  1.9 Known restrictions
 94                 ------------------
 95 schuur      1.1 
 96 mark.hamzy  1.9 This installment has the following restrictios:
 97 schuur      1.1 
 98 mark.hamzy  1.8    Unloading of idle providers is not supported and Java will increase the memory footprint.
 99 mark.hamzy  1.9    Java 1.5 is not currently supported.
100                 
101                 
102                 Level of coverage
103                 -----------------
104                 
105                 All interfaces to a provider have a sample provider written for them and are part of the
106                 testcases.  All main CIM java classes have testcases written for them as well.
107                 
108                 
109                 Outstanding issues
110                 ------------------
111                 
112                 Java documentation needs to be written for the classes and methods within JMPI.
113                 
114                 
115                 Testing
116                 -------
117                 
118                 This installment has a set of tests located under src/Pegasus/ProviderManager2/JMPI/org/pegasus/jmpi/tests/
119 schuur      1.1 
120 mark.hamzy  1.9    Static/
121 schuur      1.1 
122 mark.hamzy  1.9       These tests have been modelled after wetest/static.
123                       For the tests, I had to modify "diff" to "diff -w", why that is needed I do not understand.
124 schuur      1.1 
125 mark.hamzy  1.9    Providers/
126 schuur      1.1 
127 mark.hamzy  1.9       These tests implement the many variants of provider interfaces.
128 schuur      1.1 
129 mark.hamzy  1.9    Client/
130 schuur      1.1 
131 mark.hamzy  1.9       These tests test out the client code and various Java classes.
132                 
133                 
134                 Running the tests
135                 -----------------
136                 
137                 Tests are run with the following process.
138                 If the repository has not been built before then issue the following:
139                 
140                    cd to ${PEGASUS_HOME}/src/Pegasus/ProviderManager2/JMPI/
141                    Issue "make repository"
142 schuur      1.1 
143                    This will load a schema to the repository and register the provider.
144                 
145 mark.hamzy  1.9 Next, run the tests.
146 schuur      1.1 
147 mark.hamzy  1.9    cd to ${PEGASUS_HOME}/src/Pegasus/ProviderManager2/JMPI/
148                    Issue "find -name \*.rsp -exec rm {} \;" to clean up *.rsp files from failed tests.
149 schuur      1.1    Issue "make poststarttests"
150                 
151                 
152                 Samples
153 mark.hamzy  1.9 -------
154                 
155                  There are four sample providers located in
156                    ${PEGASUS_HOME}/src/Pegasus/ProviderManager2/JMPI/org/pegasus/jmpi/tests/Providers/
157                 
158                    Associations/
159                 
160                       This provider implements an association provider.
161                 
162                    Instances/
163                 
164                       This provider implements an instance provider.
165                 
166                    Indications/
167 schuur      1.1 
168 mark.hamzy  1.9       This provider implements an indication provider.
169 schuur      1.1 
170 mark.hamzy  1.9    Properties/
171 schuur      1.1 
172 mark.hamzy  1.9       This provider implements a property provider.
173                 
174                    There is also sample Java code that deals with CIM classes that is located in
175                    ${PEGASUS_HOME}/src/Pegasus/ProviderManager2/JMPI/org/pegasus/jmpi/tests/Client/
176 schuur      1.1 
177                 
178                 Provider Registration
179 mark.hamzy  1.9 ---------------------
180 schuur      1.1 
181 mark.hamzy  1.9    JMPI providers are registered as usual. The Location property in PG_ProviderModule has a special format.
182 schuur      1.1 	The format is: <jar-file-name>:<provider-class-name>
183                 
184 mark.hamzy  1.8    JMPI providers now fall into two groups.
185                    1) Legacy providers use:
186                       InterfaceType = "JMPI"
187                    and use one of the 3 following based on existing JMPI samples:
188                       InterfaceVersion = "1.0.0";
189                       InterfaceVersion = "2.0.0";
190                       InterfaceVersion = "2.2.0";
191                    Note that there is no difference in behavior in the three versions.
192 mark.hamzy  1.9 
193                    instance of PG_ProviderModule
194                    {
195                       Name             = "JMPIInstanceProviderModule";
196                       Location         = "JMPIInstanceProvider.jar:Instances/JMPIInstanceProvider";
197                       Vendor           = "OpenPegasus";
198                       Version          = "2.0.0";
199                       InterfaceType    = "JMPI";
200                       InterfaceVersion = "1.0.0";
201                    };
202                 
203 mark.hamzy  1.8    2) New style providers use:
204                       InterfaceType = "JMPIExperimental"
205                    and:
206                       InterfaceVersion = "0.0.1";
207                 
208 mark.hamzy  1.9    instance of PG_ProviderModule
209                    {
210                       Name             = "JMPIExpInstanceProviderModule";
211                       Location         = "JMPIExpInstanceProvider.jar:Instances/JMPIExpInstanceProvider";
212                       Vendor           = "OpenPegasus";
213                       Version          = "2.0.0";
214                       InterfaceType    = "JMPIExperimental";
215                       InterfaceVersion = "0.0.1";
216                    };
217                 
218 schuur      1.1 
219                 Bug reports
220 mark.hamzy  1.9 -----------
221 schuur      1.1 
222 r.kieninger 1.3    Use normal Pegasus bugzilla procedures to report malfunctions.

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2