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

  1 karl  1.1 Pegasus - A Manageability Services Broker for the DMTF CIM/WBEM Standards
  2           
  3           
  4           Author: Mike Brasher, Karl Schopmeyer
  5           
  6           HISTORY_BEGIN
  7 karl  1.2 $Log: readme.txt,v $
  8           Revision 1.1  2001/01/15 04:26:04  karl
  9           added Readme
 10           
 11 karl  1.1 
 12           Tagline: Pegasus is an object manager for DMTF CIM objects written in C++
 13                    and supported but The Open Group
 14                    
 15           HISTORY_END
 16           
 17           
 18           Pegasus is an object manager for DMTF CIM objects  It is written in C++ and
 19           includes the Object manager, a set of defined interfaces, and SDKs for both
 20           client, providers, and services extensions.  It is maintained consistent with
 21           the DMTF CIM and WBEM specifications except for any exceptions noted in the
 22           documentation.
 23           
 24           This distribution represents a work in progress towards building a Pegasus
 25           release. Pegasus is open source and is covered under the following licnese.
 26           This version is incomplete and is directed towards evaluators and developers
 27           of the Pegasus Architecture.
 28           
 29           Pegasus is being developed and maintained under the auspices of The Open
 30           Group. Pegasus is maintained under the license defined in the doc directory
 31           (LICENSE) of this release.  This licensing is intended to support as wide a
 32 karl  1.1 distribution as possible with minimal demands on the users.
 33           
 34           This distribution represnts a snapshot of the current work. Currently Pegasus
 35           is in phase 1 of a multiphase development project. This snapshot is primarily
 36           for developers and for evaluation of the project.
 37           
 38           More information and  on this project, access to the CVS, and documentation on
 39           Pegasus is available from the OpenGroup WEB site.
 40           
 41           There are separate files in the release for
 42           
 43           	History of releases - HISTORY
 44           	What's new for this release - WHATSNEW
 45           	What's Broken - BUGS
 46           
 47           In addition, the roadmap for Pegasus and further information on the project is
 48           available on The Opengroup Pegasus WEB Site.
 49           
 50           http://www.opengroup.org/MSB
 51           
 52           Availability of Pegasus
 53 karl  1.1 =======================
 54           
 55           Pegasus is distributed as open source.  Today the distribution is limited
 56           because we want to reach a predefined level of development before making the
 57           project publically available. The move from limited to open distribution will
 58           be a decision of the Pegasus development team and The Open Group and should
 59           occur before March 2001.
 60           
 61           To get on the distribution list for Pegasus today, send an email to
 62           
 63           m.kirk@opengroup.org
 64           or
 65           k.schopmeyer@opengroup.org
 66           
 67           Pegasus Major Components
 68           ========================
 69           The major components of Pegasus are:
 70           
 71           Pegasus Server - WBEM/CIM CIM_Server with interfaces for providers and Clients
 72           
 73           Pegasus Repository - Today Pegasus provides a defined class repository interface and a simple
 74 karl  1.1 file based class repository. Future will include the object repository
 75           
 76           Pegasus Client SDK - Tools for building Pegasus clients based on the Pegasus C++ interfaces
 77           and using the WBEM HTTP/XML protocols or directly interfacing with Pegasus
 78           
 79           Pegasus Test Clients - Simple test clients being developed as part of the Pegasus development
 80           process
 81           
 82           Pegasus HTML Test Client - To aid some testing we created a test client for Pegasus that uses
 83           a WEB server (ex. Apache) with a set of CGI modules and HTML to allow the entry of Pegasus
 84           operations from a WEB browser as forms and the recept of the response as WEB pages. This has
 85           proven useful as a test tool and can be used for a wide variety of demonstrations.
 86           
 87           Pegasus Providers - Future (Version 1.0)
 88           
 89           Pegasus Service Extensions -  Future (version 1.0)
 90           
 91           Pegasus MOF Compiler - Future (Version 0.9)
 92           
 93           Pegasus Dependencies
 94           ===========
 95 karl  1.1 
 96           We have worked to minimize the dependence of Pegasus on other software
 97           packages and tools. Currently Pegasus has the following dependencies
 98           
 99           1. ACE_Wrappers communication package - The ACE Wrappers package is used for communication and
100           some low level functions within the MSB, the Pegasus client SDK, and the Pegasus Provider SDK.
101           ACE is available from the following site.
102           
103           
104           	http://ace.cs.wustl.edu/cvsweb/ace-cvs.cgi/ACE_wrappers/
105           
106           Currently we are using version 5.1 of ACE_Wrappers both in Linux and Windows
107           
108               http://www.cs.wustl.edu/~schmidt/ACE_wrappers/ACE-5.1.tar.gz
109           
110           COMMENTS: Pegasus only uses limited facilities from ACE.  However, today we demand the
111           installation of the complete ACE library.  One of the action items for the future is
112           to provide a more limited ACE library and possibly even to provide an environment
113           independent of ACE.  This will depend on the demands of the users.
114           
115           2. To simplify the building of Pegasus across multiple platforms we have
116 karl  1.1 stnadardized on a set of build tools including: GNUMAKE. We are using GNUAKE
117           4.79.1 successfully both in Windows and Linux environments.
118           
119           GNUMAKE is available from
120           
121               http://www.gnu.org
122           
123           ATTN: I think we need to make our version available on the TOG site.
124           
125           COMMENT: Unless other users of Pegasus demand it, we will NOT create any build environment
126           for Pegasus that does not require GNUMAKE (ex Visual C++). We are open to other developers who
127           want to contribute other build structures for particular environments.
128           
129           
130           3. MU.EXE - To minimize the difference between Linux and Windows for GUNMAKE,
131           we have created a utility called MU.exe.  The source for this is available
132           with the distribution and the binary is distributed in the bin directory of
133           the the snapshots for now.
134           
135           The Pegasus Directory Structure
136           ===============================
137 karl  1.1 
138           Pegasus is distributed as a complete directory structure that should be installed either
139           from one of the snapshots or from CVS.
140           
141           This structure is generally as follows
142           Pegasus                         - Root directory
143               bin
144               build                   Destination for all intermediate files from build
145                   bin                 Destination for executable and DLL modules from Pegasus build
146                   lib
147                   obj
148               cgi-bin                 Source and make for the Pegasus WEB Based Test client software
149               doc                     Miscelaneous Pegasus Documents. Includes the DMTF XML for CIM 2.4
150               html                    HTML files for the Browser test client.
151               mak                     General make files (used by the root make and other makes)
152 karl  1.2     Repository		    This Directory containes the created repository
153 karl  1.1     src                     All Pegasus Source Files
154                   ACEExamples         Test directrory with examples of the use of ACE (developers)
155                   Pegasus
156                       CGI             CGI files for the WEB test client
157                           CGIClient
158                       Client          Pegasus Client SDK and Test client using the SDK
159                           depends
160                           tests
161                       Common          Pegasus Common Functions (C++ source and headers
162                           tests       Test programs for the common functions
163                       Protocol        Pegasus Client HTTP/XML Protocol Modules
164                           depends
165                       Repository      Pegasus Repository Interfaces and Simple Repository
166                           tests       Tests for Repository Functions
167                       Server          Pegasus Server Modules
168                           depends
169                           tests
170           
171                   Utils
172               manual                  Pegasus User/developer manual source modules
173                   HTML                Output from the Pegasus Manual compilartion.
174 karl  1.1 
175           In the near future we will add directories for:
176           
177               Service Extensions
178               Providers
179           
180           
181           Installation
182           ============
183           
184           Pegasus today is provided only as a source distribution.  You download compile and use it.
185           Pegasus currently compiles and runs under both Linux and Windows NT environments.
186           
187           The installation of Pegasus involves expanding the snapshot distribution files, building the
188           runtime, the test files and test clients, and building the repository.
189           
190           NOTE: Since the compiler integration is not complete today, the class repository is populated
191           from the XML defintions for the complete CIM schema.  This process is included in the build
192           process so that at the end of a complete build, the class repository is completely populated
193           from the CIM 2.4 release schema.
194           
195 karl  1.1 
196           Building from a Distribution --- General
197           ========================================
198           
199           Pegasus is buildable and runnable on either Linux or WIndows Platforms today.
200           It uses a common build system for the two platforms based on build files and
201           GUNMAKE.
202           
203           Generally we support four targets in our make system:
204           
205           
206                       C:\> make clean
207                       C:\> make depend
208                       C:\> make
209                       C:\> make tests
210           
211           The Pegasus Client server tests are executed separately from the above because they require
212           the initiation of separate process for the Pegasus server and Pegasus client. These tests can
213           be executed as follows:
214           
215               ATTN: Add the procedure for Client/Server Test start here.
216 karl  1.1 
217           
218           For information on particular installation characteristics, tools, etc. for each platform see
219           the appropriate sections below:
220           
221           Generally the build commands are as follows:
222           
223           	1. There is a Makefile in the Pegasus root.   Simply executing make in the Pegasus
224           	root directory will make everything.
225           
226           	2. In order to provide a working class repository for Pegasus until the MOF compiler
227           	is integrated, There is a utility to load the CIM Schema from XML into the repository.
228           	This executes the LoadRepository executable which is defined in
229           
230           		pegasus/src/Pegasus/Repository/tests/LoadRepository
231           
232           	with the binary in pegasus/bin. This program will load the CIM XML repository
233           	definitions into the class repository.
234           
235           	3. To test a fresh release, go to the pegasus root and type
236           
237 karl  1.1 		"make world".
238           
239           
240           	This will clean, build dependencies, build binaries, and then run all
241           	tests except the Client/Server tests.
242           
243           	4. To execute the basic test suite that is shipped with pegasus type
244           
245           	   "make tests"
246           
247           	5. To run the Client/Server tests provided, simply type
248           
249           	   "make tests"
250           
251           	Running "make -s tests" suppresses extraneous output such as the
252           	enter/leave directory messages.
253           
254           	6. "Make Clean" removes all object and library files from the
255           	structure.
256           
257           Build Variables
258 karl  1.1 ===============
259           
260           The build system depends on the following environment variables
261           
262               PEGASUS_ACE_ROOT - required (points to ACE_wrappers directory). This must be set
263               before you initiate make
264           
265               PEGASUS_BUILD - optional (points to build directory; defaults to build
266               directory under root of pegasus distribution). This must be set before you iniiate
267               make
268           
269               PEGASUS_OS_TYPE - optional. The is currently set to windows.  If you build on Linux
270               you must change this before initiating make.
271           
272            COMMENTS: In the future, we will probably automate this more.  However, setting these
273            variables today is manual.
274           
275           
276           The MU Utility
277           ==============
278           
279 karl  1.1 In order to provide a consistent build structure across multiple platforms, we developed a
280           small utility to provide a consistent set of small utilities across these platforms. The MU
281           utilityis a simple utility that contains many commands. For example:
282           
283           
284               C:\> mu rm myfile.cpp yourfile.cpp
285           
286           
287           You may type "mu" to get a list of valid commands. Here are some
288           of them:
289           
290           
291 karl  1.2     rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare depend
292 karl  1.1 
293           
294           The MU utility supports globing (expansion of wildcards) so
295           you can do things like this:
296           
297           
298               C:\> mu rm *.obj *.exe
299           
300           MU is required to build under the Windows environment.MU is available as part of the
301           distribution of Pegasus.
302           
303           Building Pegausu on Linux
304           =========================
305           
306           1. Obtain, unpack and build the ACE_Wrappers package for Linux.
307           
308           2. Define an environment variable called ACE_ROOT  that points to the root of the ACE_WRAPPERS
309           distribution. For example
310           
311           IMPORT ACE_ROOT=\local\ACE_Wrappers
312           
313 karl  1.1 ATTN: Mike.  what is a viable directory for Linux (what do you use)
314           
315           3. Define an environment variable PEGASUS_ROOT that points to the
316           root of the Pegasus Distribution
317           
318           4. Append %PEGASUS_ROOT%/bin to your path
319           
320           5. Unpack the ace distribution.
321           
322           ATTN: Unpack with what since ZIP.
323           
324           5. Build using the make commands defined in the section on General Build.
325           
326           	make world
327           	make tests
328           
329           Building Pegasus on NT or Windows 2000 With Visual C++
330           =======================================================
331           
332           Today we build Pegasus on Windows NT using a set of make files contained
333           in the source distribution, the Microsoft compilers (tested so far with
334 karl  1.1 versions 5 and 6) and the GNUMAKE make utility. The following is the basic
335           set up steps for the
336           
337           
338           1.	Setup the environment variables and path for the Micrososft Visual C compiler.
339           Typically this can be done by running the VCVARS32.BAT file supplied with Microsoft Visual
340           C++. (contained in the same directory as cl.exe).
341           
342           2.	Define an environment variable called ACE_ROOT that points to the
343           root of the ACE_Wrappers distribution. For example:
344           
345               C:\> set PEGASUS_ACE_ROOT=c:/ACE_wrappers
346           
347           Now append %ACE_ROOT%/bin to the path like this:
348           
349               C:\> set path=%path%;%PEGASUS_ACE_ROOT%/bin
350           
351           3.	Define an environment variable called PEGASUS_ROOT that points to
352           the root of the Pegasus distribution. For example:
353           
354               C:\> set PEGASUS_ROOT=c:/pegasus
355 karl  1.1 
356           Now append %PEGASUS_ROOT%/bin to your path like this:
357           
358               set path=%path%;%PEGASUS_ROOT%/bin
359           
360           4.  Unpack and build the ACE_Wrappers distribution for windows.
361           
362           As an example, we created a file called %ACE_ROOT%/ace/config.h
363           containing the following:
364           
365               #include "ace/config-win32.h"
366           
367           and then opened this DSW file in MSVC++ IDE:
368           
369               %ACE_ROOT%/ace/ace.dsw
370           
371           From the build menu we picked "aced.dll". For me it built without complaint.
372           
373           BUG: there is still one open problem that has not been resolved.  With
374           the Visucal C++ version 6 compiler, the ace libraries default to
375           
376 karl  1.1 	acemfc.dll
377           
378           With the version 5 visual C, apparently they default to the names
379           
380           	ace.dll
381           	or
382           	aced.dll (debug verions
383           
384           We will correct this in a future snapshot.
385           
386           
387           5. Unpack the Pegasus distribution.  On Windows systems, PKzip25 or WINZIP can be used.
388           Be certain to use the option that expands the directory tree of the files.  This expansionwill
389           create a directory called ./pegasus
390           
391           If you are using pkzip25.exe do this:
392               C:\> pkzip25 -extract -recurse -directories pegasus.zip
393           
394           This will create a directory tree called ./pegasus under the
395           current directory.
396           
397 karl  1.1 ATTN: Define for Linux also
398           
399           6.  Change directory  to %PEGASUS_ROOT% and type "make world". See the general build section
400           for the full set of make commands.
401           
402           This builds Pegasus and all of its examples.
403           
404           7.  To verify that it built okay, run the tests
405           
406           	make tests
407           
408           Installing the Pegasus HTML Test Client
409           =======================================
410           
411           This is a separate test tool that allows Pegasus requests to be initiated from any WEB browser
412           and that uses a WEB browser, CGI scritps and HTML pages for the formating and connections. It
413           requires a WEB server, etc.  The instructions for setting up this environment are maintained
414           in a separate readme in the CGI directory.
415           
416           Development with Pegasus and Pegasus Tools
417           ==========================================
418 karl  1.1 
419           ATTN: This section needs to be completed.  It should reference the more
420           complete documentation
421           
422           ===================
423           Documentation
424           
425           The documentation is currently in preperation. The preliminary documentation is not provided
426           with this snapshot but is avialable from the OpenGroup Pegasus WEB pages. The current
427           documentation is maintained both as a manual created under the tool DOC++ in the
428           subdirectory manual/html and as other miscelaneous documentation in the doc directory.
429           
430           Note that the Pegasus WEB site at The Open Group will be the source of most documentation in
431           the future and today is the source of most discussion and design documentation.
432           
433           Participate!
434           ============
435           We are looking for people who want to join the effort of getting this
436           next release off the ground.  Please send me email for details.
437           
438           
439 karl  1.1 
440           
441           
442           
443           
444           
445           
446           
447           
448           

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2