[Subversion] / PEAK / README.txt  

Diff of /PEAK/README.txt

Parent Directory | Revision Log

version 1061, Thu May 1 17:43:55 2003 UTC version 1633, Sun Jan 25 02:32:15 2004 UTC
Line 1 
Line 1 
 PEAK Release 0.5 alpha 1  PEAK Release 0.5 alpha 3
   
  Copyright (C) 1996-2003 by Phillip J. Eby and Tyler C. Sarna.   Copyright (C) 1996-2004 by Phillip J. Eby and Tyler C. Sarna.
  All rights reserved.  This software may be used under the same terms   All rights reserved.  This software may be used under the same terms
  as Zope or Python.  THERE ARE ABSOLUTELY NO WARRANTIES OF ANY KIND.   as Zope or Python.  THERE ARE ABSOLUTELY NO WARRANTIES OF ANY KIND.
  Code quality varies between modules, from "beta" to "experimental   Code quality varies between modules, from "beta" to "experimental
Line 14 
Line 14 
     larger scale, and with fewer defects than ever before. The key is      larger scale, and with fewer defects than ever before. The key is
     component-based development, on a reliable infrastructure.      component-based development, on a reliable infrastructure.
   
     PEAK is an application kit, and applications are made from components.  
     PEAK provides you with a component architecture, component infrastructure,  
     and various general-purpose components and component frameworks for  
     building applications.  As with J2EE, the idea is to let you stop  
     reinventing architectural and infrastructure wheels, so you can put more  
     time into your actual application.  
   
     But PEAK is different from J2EE: it's a single, free implementation of  
     simpler API's based on an easier-to-use language that can nonetheless  
     scale with better performance than J2EE.  
   
     PEAK is the successor to TransWarp, an experimental toolkit for software  
     automation in Python.  PEAK takes the best of the techniques and ideas  
     from TransWarp, and repackages them as an enterprise software toolkit.  
     Where TransWarp emphasized techniques like generative programming and  
     aspect-oriented programming, PEAK emphasizes enterprise applications,  
     and hides the computer science stuff "under the hood", so you can focus  
     on building your application.  
   
     PEAK tools can be used with other "Python Enterprise" frameworks such as      PEAK tools can be used with other "Python Enterprise" frameworks such as
     Zope, Twisted, and the Python DBAPI to construct web-based, GUI, or      Zope, Twisted, and the Python DBAPI to construct web-based, GUI, or
     command-line applications, interacting with any kind of storage, or with      command-line applications, interacting with any kind of storage, or with
     no storage at all.  Whatever the application type, PEAK can help you put      no storage at all.  Whatever the application type, PEAK can help you put
     it together.      it together.
   
   
  Package Features   Package Features
   
     As of version 0.5a1, PEAK features include:  
       As of version 0.5a3, PEAK features include:
   
     * A component binding framework that makes it easy to parameterize      * A component binding framework that makes it easy to parameterize
       components and thus more easily combine and "wire" them together.        components and thus more easily combine and "wire" them together.
         Interfaces, adaptation, and "assembly events" (notification when
         components have been engaged as part of a "complete" application)
         are all available.
   
     * A comprehensive configuration framework that allows accessing      * A comprehensive configuration framework that allows accessing
       "utilities" and "configuration properties" in context.  Properties        "utilities" and "configuration properties" in context.  Properties
Line 53 
Line 39 
       format.  Properties and utilities are contextual and can be safely        format.  Properties and utilities are contextual and can be safely
       acquired from parent/context components automatically.        acquired from parent/context components automatically.
   
       * A "document-driven testing" framework similar to "FIT":http://fit.c2.com/
         that lets you automatically extract test data from design and requirements
         documents created with popular word processors, then create HTML reports
         on what passed or failed.
   
     * Naming system/framework that's midway between J2EE's JNDI and CORBA's      * Naming system/framework that's midway between J2EE's JNDI and CORBA's
       cosNaming in features, but much easier to use and extend than either        cosNaming in features, but much easier to use and extend than either
       of those systems.        of those systems.
Line 84 
Line 75 
           by name or URL, and bound as default collaborators or utilities            by name or URL, and bound as default collaborators or utilities
           for access by other application components.            for access by other application components.
   
   
   
   
   
   
     * CASE/modelling tools: PEAK includes APIs to read object      * CASE/modelling tools: PEAK includes APIs to read object
       models created in the XML-based XMI format.  Many open-source and        models created in the XML-based XMI format.  Many open-source and
       commercial modelling tools support XMI, inlcuding Argo/Poseidon and        commercial modelling tools support XMI, inlcuding Argo/Poseidon and
       MagicDraw UML.  PEAK includes pre-built support for UML version 1.3        MagicDraw UML.  PEAK includes pre-built support for UML versions 1.3
       and MOF 1.3.1, using XMI versions 1.0 and 1.1. (UML 1.4, UML 1.5,        and 1.4, and MOF 1.3.1, using XMI versions 1.0 and 1.1. (UML 1.5,
       CWM 1.0, CWM 1.1, and XMI 1.2 are anticipated for 0.5a2, and possibly        CWM 1.0, CWM 1.1, and XMI 1.2-2.0 are anticipated for version 0.6.)
       XMI 2.0 by 0.5 final.)  Also included is a MOF->Python code generator,        Also included is a MOF->Python code generator, which was used to generate
       which was used to generate the UML and CWM support, and which you can        the UML support, and which you can use to generate support for other
       use to generate support for other modelling languages based on the MOF.        modelling languages based on the MOF.
   
       For the specifications of XMI, MOF, CWM, and UML, visit:        For the specifications of XMI, MOF, CWM, and UML, visit:
       http://www.omg.org/technology/documents/modeling_spec_catalog.htm        http://www.omg.org/technology/documents/modeling_spec_catalog.htm
Line 100 
Line 96 
     * A domain modelling framework for creating "business object models"      * A domain modelling framework for creating "business object models"
       with unidirectional and bidirectional associations, generated        with unidirectional and bidirectional associations, generated
       getters/setters and validators for fields, etc., and all necessary        getters/setters and validators for fields, etc., and all necessary
       persistence support for use with the PEAK storage framework.        persistence support for use with the PEAK storage framework.  Domain
         types can also define string parsing and formatting syntax, so you can
         create domain-specific data languages or just string formats for data
         types (such as specialized date/time or currency types).
   
       The business object framework supplies structural metadata about        The business object framework supplies structural metadata about
       classes built with it, so you can query a class for its fields and        classes built with it, so you can query a class for its fields and
Line 110 
Line 109 
       from PEAK models (and vice versa) is possible (although        from PEAK models (and vice versa) is possible (although
       not yet implemented for anything but MOF->PEAK).        not yet implemented for anything but MOF->PEAK).
   
   
   
   
   
   
   
   
   
   
   
   
   
     * Application Runtime tools, including:      * Application Runtime tools, including:
   
       - a "command objects" framework for creating command-line applications        - a "command objects" framework for creating command-line applications,
           including the ability to create "executable configuration files"
           or "configuration interpreters" that can load a configuration file
           and run an application instance constructed using the configuration
           data.  Supported formats include an .ini-like PEAK format, and
           arbitrary schemas defined using ZConfig.
   
       - a "periodic tasks" framework for executing tasks that perform "as        - a "periodic tasks" framework for executing tasks that perform "as
         needed", scheduling themselves in response to their available workloads          needed", scheduling themselves in response to their available workloads
Line 120 
Line 136 
       - a CGI/FastCGI publishing framework that uses 'zope.publisher' to        - a CGI/FastCGI publishing framework that uses 'zope.publisher' to
         publish a PEAK component tree and its associated transaction service          publish a PEAK component tree and its associated transaction service
   
         - An "event-driven" programming framework that supports ultralight
           "microthreads" implemented via generators, and interacts with Twisted
           or stands alone.
   
       - an event-driven "reactor" framework that seamlessly integrates with        - an event-driven "reactor" framework that seamlessly integrates with
         Twisted, but can also be used without Twisted for applications that are          Twisted, but can also be used without Twisted for applications that are
         mostly scheduling-oriented, or which use only third-party protocol          mostly scheduling-oriented, or which use only third-party protocol
         implementations such as FAM, FastCGI, ReadyExec, etc.          implementations such as FAM, FastCGI, ReadyExec, etc.
   
         - a robust and flexible logging framework that can integrate with the
           PEP 282 logging module, or stand alone.  It's simpler than the PEP 282
           system for simple log configuration, and is configured on demand
           rather than "up front", and is thus more manageably configurable for
           large or complex applications consisting of components from diverse
           providers.
   
         - a "process supervisor" framework for multiprocess servers using
           long-running child processes (created via 'fork()') to take maximum
           advantage of multiprocessor machines for CPU-intensive services.
   
   
   
   
   
   
   
     * AOP and SOP: PEAK allows you to separate concerns as modules, then      * AOP and SOP: PEAK allows you to separate concerns as modules, then
       combine the modules via a "module inheritance" technique.  This        combine the modules via a "module inheritance" technique.  This
       lets you define a generated business object model as a        lets you define a generated business object model as a
Line 142 
Line 179 
    in areas not covered by the test suites.  Also, many system interfaces     in areas not covered by the test suites.  Also, many system interfaces
    are still subject to change.     are still subject to change.
   
    PEAK includes early copies of Zope X3's 'zope.interface' and 'persistence'     PEAK includes early copies of Zope X3's 'ZConfig' and 'persistence'
    packages, which have had - and will continue to have - significant     packages, which have had - and may continue to have - significant
    implementation changes.  We will be tracking Zope X3 periodically, but     implementation changes.  We will be tracking Zope X3 periodically, but
    can't guarantee compatibility with arbitrary (e.g. CVS) versions of     can't guarantee compatibility with arbitrary (e.g. CVS) versions of
    Zope X3.     Zope X3.
Line 162 
Line 199 
   
   
   
   
   
   
   
  Third-Party Software Included with PEAK   Third-Party Software Included with PEAK
   
      All third-party software included with PEAK are understood by PEAK's       All third-party software included with PEAK are understood by PEAK's
Line 174 
Line 215 
      please see the 'src/kjbuckets/COPYRIGHT.txt' file for details of its       please see the 'src/kjbuckets/COPYRIGHT.txt' file for details of its
      license.       license.
   
      The 'zope.interface', 'persistence', and 'ZConfig' packages are       The 'csv' module is part of Python 2.3 and above, and is included for
      Copyright Zope Corporation and contributors; please see the 'LICENSE.txt'       backward compatibility in Python 2.2.  See the Python license for license
      files in their directories for details of their licenses.       details.
   
        The 'datetime', 'persistence' and 'ZConfig' packages are Copyright Zope
        Corporation and contributors; please see the 'LICENSE.txt' files in their
        directories for details of their licenses.
   
      The 'fcgiapp' module is Copyright Digital Creations, LC (now Zope Corp.);       The 'fcgiapp' module is Copyright Digital Creations, LC (now Zope Corp.);
      see the 'fcgiappmodule.c' for details of its license.  In the same       see the 'fcgiappmodule.c' for details of its license.  In the same
Line 199 
Line 244 
   
   
   
   
   
   
   


Generate output suitable for use with a patch program
Legend:
Removed from v.1061  
changed lines
  Added in v.1633

cvs-admin@eby-sarna.com

Powered by ViewCVS 1.0-dev

ViewCVS and CVS Help