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-2003 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 |
|
|
Package Features |
Package Features |
|
|
As of version 0.5a1, PEAK features include: |
As of version 0.5a2, 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 |
* 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 |
* 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 |
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 |
- 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 "reactor" framework that can be used with Twisted, |
- an event-driven "reactor" framework that seamlessly integrates with |
or in place of it for many simpler "mostly scheduling" applications. |
Twisted, but can also be used without Twisted for applications that are |
|
mostly scheduling-oriented, or which use only third-party protocol |
|
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. |
|
|
* 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 |
"structural" concern, and then combine it with a "behavioral" |
"structural" concern, and then combine it with a "behavioral" |
concern. This is as simple as writing classes that just contain |
concern. This is as simple as writing classes that contain only |
what you want to add, and then telling PEAK that your new module |
what you want to add, and then telling PEAK that your new module |
"inherits" from the generated module. |
"inherits" from the generated module. This is similar to (but |
|
designed independently from) the "MixJuice" tool for AOP in Java. |
|
|
|
|
|
|
|
|
|
|
|
|
Known Issues and Risks of this Version |
Known Issues and Risks of this Version |
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. |
tutorial on using the component binding package. |
tutorial on using the component binding package. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Third-Party Software Included with PEAK |
Third-Party Software Included with PEAK |
|
|
|
All third-party software included with PEAK are understood by PEAK's |
|
authors to be distributable under terms comparable to those PEAK is |
|
offered under. However, it is up to you to understand any obligations |
|
those licenses may impose upon you. For your reference, here are the |
|
third-party packages and where to find their license terms: |
|
|
The 'kjbuckets' module is Copyright Aaron Watters and contributors; |
The 'kjbuckets' module is Copyright Aaron Watters and contributors; |
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 'datetime', 'persistence' and 'ZConfig' packages are Copyright Zope |
Copyright Zope Corporation and contributors; please see the 'LICENSE.txt' |
Corporation and contributors; please see the 'LICENSE.txt' files in their |
files in their directories for details of their licenses. |
directories for details of their licenses. |
|
|
|
The 'fcgiapp' module is Copyright Digital Creations, LC (now Zope Corp.); |
|
see the 'fcgiappmodule.c' for details of its license. In the same |
|
directory are distributed portions of the FastCGI Development Kit, which |
|
is Copyright Open Market, Inc. See the 'LICENSE.TERMS' file in that |
|
directory for details of its license. |
|
|
Installation Instructions |
Installation Instructions |
|
|
Please see the INSTALL.txt file. |
Please see the INSTALL.txt file. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|