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

Diff for /pegasus/Attic/readme.txt between version 1.1 and 1.4

version 1.1, 2001/01/15 04:26:04 version 1.4, 2001/01/26 20:20:36
Line 1 
Line 1 
 Pegasus - A Manageability Services Broker for the DMTF CIM/WBEM Standards Pegasus - A Manageability Services Broker for the DMTF CIM/WBEM Standards
  
   
 Author: Mike Brasher, Karl Schopmeyer Author: Mike Brasher, Karl Schopmeyer
  
 HISTORY_BEGIN  ------------------------------------------------------------------------------
   --
   
 $Log$ $Log$
   Revision 1.4  2001/01/26 20:20:36  karl
   Clean up Readme with MB comments
   
   Revision 1.3  2001/01/22 15:09:29  mike
   Reworking indentation and breaking width of lines below 80 columns (not
   finished). Also
   inserted comments and suggestions following "MEB:" annotations.
   
   
 Revision 1.1  2001/01/15 04:26:04  karl Revision 1.1  2001/01/15 04:26:04  karl
 added Readme added Readme
  
   ------------------------------------------------------------------------------
   --
  
 Tagline: Pegasus is an object manager for DMTF CIM objects written in C++ Tagline: Pegasus is an object manager for DMTF CIM objects written in C++
          and supported but The Open Group           and supported buy The Open Group
   
 HISTORY_END  
  
   Pegasus is an object manager for DMTF CIM objects. It is written in C++ and
 Pegasus is an object manager for DMTF CIM objects  It is written in C++ and  
 includes the Object manager, a set of defined interfaces, and SDKs for both includes the Object manager, a set of defined interfaces, and SDKs for both
 client, providers, and services extensions.  It is maintained consistent with client, providers, and services extensions.  It is maintained consistent with
 the DMTF CIM and WBEM specifications except for any exceptions noted in the the DMTF CIM and WBEM specifications except for any exceptions noted in the
 documentation. documentation.
  
 This distribution represents a work in progress towards building a Pegasus This distribution represents a work in progress towards building a Pegasus
 release. Pegasus is open source and is covered under the following licnese.  release. Pegasus is open source and is covered under the following license.
 This version is incomplete and is directed towards evaluators and developers This version is incomplete and is directed towards evaluators and developers
 of the Pegasus Architecture. of the Pegasus Architecture.
  
Line 35 
Line 44 
 is in phase 1 of a multiphase development project. This snapshot is primarily is in phase 1 of a multiphase development project. This snapshot is primarily
 for developers and for evaluation of the project. for developers and for evaluation of the project.
  
 More information and  on this project, access to the CVS, and documentation on  More information on this project, access to the CVS, and documentation on
 Pegasus is available from the OpenGroup WEB site.  Pegasus are available from the OpenGroup WEB site.
  
 There are separate files in the release for There are separate files in the release for
  
Line 61 
Line 70 
 To get on the distribution list for Pegasus today, send an email to To get on the distribution list for Pegasus today, send an email to
  
 m.kirk@opengroup.org m.kirk@opengroup.org
   
 or or
   
 k.schopmeyer@opengroup.org k.schopmeyer@opengroup.org
  
 Pegasus Major Components Pegasus Major Components
 ======================== ========================
 The major components of Pegasus are:  
   
 Pegasus Server - WBEM/CIM CIM_Server with interfaces for providers and Clients  
   
 Pegasus Repository - Today Pegasus provides a defined class repository interface and a simple  
 file based class repository. Future will include the object repository  
  
 Pegasus Client SDK - Tools for building Pegasus clients based on the Pegasus C++ interfaces  The major components of Pegasus are:
 and using the WBEM HTTP/XML protocols or directly interfacing with Pegasus  
  
 Pegasus Test Clients - Simple test clients being developed as part of the Pegasus development  Pegasus Server - WBEM/CIM Server with interfaces for providers and clients
 process  
  
 Pegasus HTML Test Client - To aid some testing we created a test client for Pegasus that uses  Pegasus Repository - Today Pegasus provides a defined class repository
 a WEB server (ex. Apache) with a set of CGI modules and HTML to allow the entry of Pegasus      interface and a simple file based class repository. Future will include
 operations from a WEB browser as forms and the recept of the response as WEB pages. This has      the object [MEB: instance?] repository
 proven useful as a test tool and can be used for a wide variety of demonstrations.  
   Pegasus Client SDK - Tools for building Pegasus clients based on the Pegasus
       C++ interfaces and using the WBEM HTTP/XML protocols or directly
       interfacing with Pegasus.
   
   Pegasus Test Clients - Simple test clients being developed as part of the
       Pegasus development process
   
   Pegasus HTML Test Client - To aid in testing we created a test client for
       Pegasus that uses a WEB server (ex. Apache) with a set of CGI modules and
       HTML to allow the entry of Pegasus operations from a WEB browser as forms
       and the recept of the response as WEB pages. This has proven useful as a
       test tool and can be used for a wide variety of demonstrations.
  
 Pegasus Providers - Future (Version 1.0) Pegasus Providers - Future (Version 1.0)
  
Line 91 
Line 106 
 Pegasus MOF Compiler - Future (Version 0.9) Pegasus MOF Compiler - Future (Version 0.9)
  
 Pegasus Dependencies Pegasus Dependencies
 ===========  ====================
  
 We have worked to minimize the dependence of Pegasus on other software We have worked to minimize the dependence of Pegasus on other software
 packages and tools. Currently Pegasus has the following dependencies packages and tools. Currently Pegasus has the following dependencies
  
 1. ACE_Wrappers communication package - The ACE Wrappers package is used for communication and  1. ACE_Wrappers communication package - The ACE Wrappers package is used for
 some low level functions within the MSB, the Pegasus client SDK, and the Pegasus Provider SDK.  communication and some low level functions within the MSB, the Pegasus client
 ACE is available from the following site.  SDK, and the Pegasus Provider SDK.  ACE is available from the following site.
   
  
         http://ace.cs.wustl.edu/cvsweb/ace-cvs.cgi/ACE_wrappers/         http://ace.cs.wustl.edu/cvsweb/ace-cvs.cgi/ACE_wrappers/
  
 Currently we are using version 5.1 of ACE_Wrappers both in Linux and Windows  Currently we are using version 5.1 of ACE_Wrappers both in Linux and Windows.
  
     http://www.cs.wustl.edu/~schmidt/ACE_wrappers/ACE-5.1.tar.gz     http://www.cs.wustl.edu/~schmidt/ACE_wrappers/ACE-5.1.tar.gz
  
 COMMENTS: Pegasus only uses limited facilities from ACE.  However, today we demand the  COMMENTS: Pegasus only uses limited facilities from ACE.  However, today we
 installation of the complete ACE library.  One of the action items for the future is  demand the installation of the complete ACE library. One of the action items
 to provide a more limited ACE library and possibly even to provide an environment  for the future is to provide a more limited ACE library and possibly even to
 independent of ACE.  This will depend on the demands of the users.  provide an environment independent of ACE. This will depend on the demands of
   the users.
  
 2. To simplify the building of Pegasus across multiple platforms we have 2. To simplify the building of Pegasus across multiple platforms we have
 stnadardized on a set of build tools including: GNUMAKE. We are using GNUAKE  standardized on a set of build tools including: GNUMAKE. We are using GNUAKE
 4.79.1 successfully both in Windows and Linux environments. 4.79.1 successfully both in Windows and Linux environments.
  
 GNUMAKE is available from GNUMAKE is available from
Line 122 
Line 137 
  
 ATTN: I think we need to make our version available on the TOG site. ATTN: I think we need to make our version available on the TOG site.
  
 COMMENT: Unless other users of Pegasus demand it, we will NOT create any build environment  COMMENT: Unless other users of Pegasus demand it, we will NOT create any build
 for Pegasus that does not require GNUMAKE (ex Visual C++). We are open to other developers who  environment for Pegasus that does not require GNUMAKE (e.g., Visual C++). We
 want to contribute other build structures for particular environments.  are open to other developers who want to contribute other build structures for
   particular environments.
  
  
 3. MU.EXE - To minimize the difference between Linux and Windows for GUNMAKE, 3. MU.EXE - To minimize the difference between Linux and Windows for GUNMAKE,
 we have created a utility called MU.exe.  The source for this is available  we have created a utility called MU.exe.  This utility is required for Pegasus
 with the distribution and the binary is distributed in the bin directory of  make with Windows environment. It is provided as an alternative to requiring a
 the the snapshots for now.  number of UNIX utilities (SH, RM, etc.) on the windows platform and
   effectively provides the functions of these utilities that GNUMAKE needs.
   MU is not required on UNIX or LINUX platforms
   
   NOTE: The binary for MU.EXE is not distributed in the Pegasus bin directory.
   You must build it separately.  MU source code is part of the distribution
   in the directory src/utils/MU with its own make file.  You must compile MU
   before you initiate the Pegausu make.
   
   NOTE: We will make a copy of the binary available on the MSB WEB site to
   eliminate the requirement to build this utility.
   
  
 The Pegasus Directory Structure The Pegasus Directory Structure
 =============================== ===============================
  
 Pegasus is distributed as a complete directory structure that should be installed either  Pegasus is distributed as a complete directory structure that should be
 from one of the snapshots or from CVS.  installed either from one of the snapshots or from CVS.
  
 This structure is generally as follows This structure is generally as follows
 Pegasus                         - Root directory  
     bin  Pegasus                     Pegasus Root directory
     build                   Destination for all intermediate files from build     build                   Destination for all intermediate files from build
         bin                 Destination for executable and DLL modules from Pegasus build          bin                 Destination for executable and DLL modules from
         lib                              Pegasus build
         obj          lib                 Destination for Pegasus LIB modules
     cgi-bin                 Source and make for the Pegasus WEB Based Test client software          obj                 Destination for object modules
     doc                     Miscelaneous Pegasus Documents. Includes the DMTF XML for CIM 2.4      cgi-bin                 Source for the Pegasus WEB Based Test client
       doc                     Miscelaneous Pegasus Documents.
           DevManual           Source and build files for developes manual
     html                    HTML files for the Browser test client.     html                    HTML files for the Browser test client.
     mak                     General make files (used by the root make and other makes)      mak                     General make files (used by other makes)
       Repository              This Directory containes the created repository
     src                     All Pegasus Source Files     src                     All Pegasus Source Files
         ACEExamples         Test directrory with examples of the use of ACE (developers)          ACEExample         Test directrory with examples of the use of ACE
           Clients             Source for various test clients and client SDK
               CGICLIENT       Pegasus test client that uses a WEB browser
         Pegasus         Pegasus
             CGI             CGI files for the WEB test client              Client          Pegasus Client API Tests
                 CGIClient  
             Client          Pegasus Client SDK and Test client using the SDK  
                 depends                 depends
                 tests                 tests
             Common          Pegasus Common Functions (C++ source and headers             Common          Pegasus Common Functions (C++ source and headers
                 tests       Test programs for the common functions                 tests       Test programs for the common functions
             Protocol        Pegasus Client HTTP/XML Protocol Modules             Protocol        Pegasus Client HTTP/XML Protocol Modules
                 depends                 depends
             Repository      Pegasus Repository Interfaces and Simple Repository              Provider        Pegasus Provider interface functions
               Repository      Pegasus Repository Interfaces and Simple
               Repository
                 tests       Tests for Repository Functions                 tests       Tests for Repository Functions
             Server          Pegasus Server Modules             Server          Pegasus Server Modules
                 depends          Providers           Pegasus Provider SDK and tes providers
                 tests  
   
         Utils         Utils
     manual                  Pegasus User/developer manual source modules          html               Output from the Pegasus Manual compilartion.
         HTML                Output from the Pegasus Manual compilartion.  
  
 In the near future we will add directories for: In the near future we will add directories for:
  
     Service Extensions     Service Extensions
     Providers  
   
  
 Installation Installation
 ============ ============
  
 Pegasus today is provided only as a source distribution.  You download compile and use it.  Pegasus today is provided only as a source distribution.  You download compile
 Pegasus currently compiles and runs under both Linux and Windows NT environments.  and use it. Pegasus currently compiles and runs under both Linux and Windows
   NT environments.
 The installation of Pegasus involves expanding the snapshot distribution files, building the  
 runtime, the test files and test clients, and building the repository.  The installation of Pegasus involves expanding the snapshot distribution
   files, building the runtime, the test files and test clients, and building the
 NOTE: Since the compiler integration is not complete today, the class repository is populated  repository.
 from the XML defintions for the complete CIM schema.  This process is included in the build  
 process so that at the end of a complete build, the class repository is completely populated  NOTE: Since the compiler integration is not complete today, the class
 from the CIM 2.4 release schema.  repository is populated from the XML defintions for the complete CIM schema.
   This process is included in the build process so that at the end of a complete
   build, the class repository is completely populated from the CIM 2.4 release
   schema.
  
  
 Building from a Distribution --- General Building from a Distribution --- General
Line 207 
Line 237 
             C:\> make             C:\> make
             C:\> make tests             C:\> make tests
  
 The Pegasus Client server tests are executed separately from the above because they require  The Pegasus Client server tests are executed separately from the above because
 the initiation of separate process for the Pegasus server and Pegasus client. These tests can  they require the initiation of separate process for the Pegasus server and
 be executed as follows:  Pegasus client. These tests can be executed as follows:
  
     ATTN: Add the procedure for Client/Server Test start here.     ATTN: Add the procedure for Client/Server Test start here.
  
  
 For information on particular installation characteristics, tools, etc. for each platform see  For information on particular installation characteristics, tools, etc. for
   each platform see
 the appropriate sections below: the appropriate sections below:
  
 Generally the build commands are as follows: Generally the build commands are as follows:
  
         1. There is a Makefile in the Pegasus root.   Simply executing make in the Pegasus      1. There is a Makefile in the Pegasus root.   Simply executing make in the
         root directory will make everything.      Pegasus root directory will make everything.
  
         2. In order to provide a working class repository for Pegasus until the MOF compiler      2. In order to provide a working class repository for Pegasus until the
         is integrated, There is a utility to load the CIM Schema from XML into the repository.      MOF compiler is integrated, There is a utility to load the CIM Schema from
         This executes the LoadRepository executable which is defined in      XML into the repository. This executes the LoadRepository executable which
       is defined in
  
                 pegasus/src/Pegasus/Repository/tests/LoadRepository                 pegasus/src/Pegasus/Repository/tests/LoadRepository
  
         with the binary in pegasus/bin. This program will load the CIM XML repository      with the binary in pegasus/bin. This program will load the CIM XML
         definitions into the class repository.      repository definitions into the class repository.
  
         3. To test a fresh release, go to the pegasus root and type         3. To test a fresh release, go to the pegasus root and type
  
Line 250 
Line 282 
         Running "make -s tests" suppresses extraneous output such as the         Running "make -s tests" suppresses extraneous output such as the
         enter/leave directory messages.         enter/leave directory messages.
  
         6. "Make Clean" removes all object and library files from the      6. "Make Clean" removes all object and library files from the structure.
         structure.  
  
 Build Variables Build Variables
 =============== ===============
  
 The build system depends on the following environment variables The build system depends on the following environment variables
  
     PEGASUS_ACE_ROOT - required (points to ACE_wrappers directory). This must be set      PEGASUS_ACE_ROOT - required (points to ACE_wrappers directory). This must
     before you initiate make      be set before you initiate make
  
     PEGASUS_BUILD - optional (points to build directory; defaults to build     PEGASUS_BUILD - optional (points to build directory; defaults to build
     directory under root of pegasus distribution). This must be set before you iniiate      directory under root of pegasus distribution). This must be set before you
       iniiate
     make     make
  
     PEGASUS_OS_TYPE - optional. The is currently set to windows.  If you build on Linux      PEGASUS_OS_TYPE - optional. The is currently set to windows.  If you build
     you must change this before initiating make.      on Linux you must change this before initiating make.
  
  COMMENTS: In the future, we will probably automate this more.  However, setting these      PEGASUS_ROOT - Points to the root directory of the Pegasus tree.
  variables today is manual.  
    COMMENTS: In the future, we will probably automate this more.  However,
    setting these variables today is manual.
  
  
 The MU Utility The MU Utility
 ============== ==============
  
 In order to provide a consistent build structure across multiple platforms, we developed a  In order to provide a consistent build structure across multiple platforms, we
 small utility to provide a consistent set of small utilities across these platforms. The MU  developed a small utility to provide a consistent set of small utilities
 utilityis a simple utility that contains many commands. For example:  across these platforms. The MU utilityis a simple utility that contains many
   commands. For example:
  
  
     C:\> mu rm myfile.cpp yourfile.cpp     C:\> mu rm myfile.cpp yourfile.cpp
Line 287 
Line 322 
 of them: of them:
  
  
     echo, rm, rmdirhier, mkdirhier, copy, pwd, depend      rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare depend
  
  
 The MU utility supports globing (expansion of wildcards) so The MU utility supports globing (expansion of wildcards) so
Line 296 
Line 331 
  
     C:\> mu rm *.obj *.exe     C:\> mu rm *.obj *.exe
  
 MU is required to build under the Windows environment.MU is available as part of the  MU is required to build under the Windows environment.MU is available as part
 distribution of Pegasus.  of the distribution of Pegasus.
  
 Building Pegausu on Linux Building Pegausu on Linux
 ========================= =========================
  
 1. Obtain, unpack and build the ACE_Wrappers package for Linux. 1. Obtain, unpack and build the ACE_Wrappers package for Linux.
  
 2. Define an environment variable called ACE_ROOT  that points to the root of the ACE_WRAPPERS  2. Define an environment variable called ACE_ROOT  that points to the root of
 distribution. For example  the ACE_WRAPPERS distribution. For example
  
 IMPORT ACE_ROOT=\local\ACE_Wrappers  IMPORT PEGASUS_ACE_ROOT=\local\ACE_Wrappers
  
 ATTN: Mike.  what is a viable directory for Linux (what do you use) ATTN: Mike.  what is a viable directory for Linux (what do you use)
  
Line 334 
Line 369 
 set up steps for the set up steps for the
  
  
 1.      Setup the environment variables and path for the Micrososft Visual C compiler.  1.      Setup the environment variables and path for the Micrososft Visual C
 Typically this can be done by running the VCVARS32.BAT file supplied with Microsoft Visual  compiler.
   Typically this can be done by running the VCVARS32.BAT file supplied with
   Microsoft Visual
 C++. (contained in the same directory as cl.exe). C++. (contained in the same directory as cl.exe).
  
 2.      Define an environment variable called ACE_ROOT that points to the 2.      Define an environment variable called ACE_ROOT that points to the
Line 367 
Line 404 
  
     %ACE_ROOT%/ace/ace.dsw     %ACE_ROOT%/ace/ace.dsw
  
 From the build menu we picked "aced.dll". For me it built without complaint.  From the build menu we picked "ace.dll". For me it built without complaint.
   
 BUG: there is still one open problem that has not been resolved.  With  
 the Visucal C++ version 6 compiler, the ace libraries default to  
  
         acemfc.dll  The ACE package can be built in several configurations:
  
 With the version 5 visual C, apparently they default to the names  ace.dll - The basic package without debugging
   aced.dll - debugging added to the basic package
   acemfc.dll - ACE with Microsoft MFC support
   acemfcd.dll - The ACE MFC version with debugging.
  
         ace.dll  ace.dll is used for the server build  acemfc is used for the client builds.
         or  
         aced.dll (debug verions  
  
 We will correct this in a future snapshot.  NOTE: In the near future we will be building debugging options into Pegasus
   and at that time the aced and acemfcd libraries will also be required.
  
   Each library can be built separately from Microsoft Visual C++.
  
 5. Unpack the Pegasus distribution.  On Windows systems, PKzip25 or WINZIP can be used.  5. Unpack the Pegasus distribution.  On Windows systems, PKzip25 or WINZIP can
 Be certain to use the option that expands the directory tree of the files.  This expansionwill  be used. Be certain to use the option that expands the directory tree of the
 create a directory called ./pegasus  files. This expansion will create a directory called ./pegasus
  
 If you are using pkzip25.exe do this: If you are using pkzip25.exe do this:
     C:\> pkzip25 -extract -recurse -directories pegasus.zip     C:\> pkzip25 -extract -recurse -directories pegasus.zip
Line 395 
Line 432 
  
 ATTN: Define for Linux also ATTN: Define for Linux also
  
 6.  Change directory  to %PEGASUS_ROOT% and type "make world". See the general build section  6.  Change directory  to %PEGASUS_ROOT% and type "make world". See the general
 for the full set of make commands.  build section for the full set of make commands.
  
 This builds Pegasus and all of its examples. This builds Pegasus and all of its examples.
  
Line 407 
Line 444 
 Installing the Pegasus HTML Test Client Installing the Pegasus HTML Test Client
 ======================================= =======================================
  
 This is a separate test tool that allows Pegasus requests to be initiated from any WEB browser  This is a separate test tool that allows Pegasus requests to be initiated from
 and that uses a WEB browser, CGI scritps and HTML pages for the formating and connections. It  any WEB browser and that uses a WEB browser, CGI scritps and HTML pages for
 requires a WEB server, etc.  The instructions for setting up this environment are maintained  the formating and connections. It requires a WEB server, etc.  The
 in a separate readme in the CGI directory.  instructions for setting up this environment are maintained in a separate
   readme in the CGI directory.
  
 Development with Pegasus and Pegasus Tools Development with Pegasus and Pegasus Tools
 ========================================== ==========================================
Line 421 
Line 459 
 =================== ===================
 Documentation Documentation
  
 The documentation is currently in preperation. The preliminary documentation is not provided  The documentation is currently in preperation. The preliminary documentation
 with this snapshot but is avialable from the OpenGroup Pegasus WEB pages. The current  is not provided with this snapshot but is avialable from the OpenGroup Pegasus
 documentation is maintained both as a manual created under the tool DOC++ in the  WEB pages. The current documentation is maintained both as a manual created
 subdirectory manual/html and as other miscelaneous documentation in the doc directory.  under the tool DOC++ in the subdirectory manual/html and as other miscelaneous
   documentation in the doc directory.
 Note that the Pegasus WEB site at The Open Group will be the source of most documentation in  
 the future and today is the source of most discussion and design documentation.  Note that the Pegasus WEB site at The Open Group will be the source of most
   documentation in the future and today is the source of most discussion and
   design documentation.
  
 Participate! Participate!
 ============ ============
 We are looking for people who want to join the effort of getting this  We are looking for people who want to join the Pegasus work group and
 next release off the ground.  Please send me email for details.  contribute to effort of getting this Pegasus off the ground.  Please send
   email for details to k.schopmeyer@opengroup.org or m.kirk@opengroup.org or
   m.brasher@opengroup.org
   
   
   
  
  
  


Legend:
Removed from v.1.1  
changed lines
  Added in v.1.4

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2