App-Context
view release on metacpan or search on metacpan
lib/App/devguide.pod view on Meta::CPAN
#!perl -w
# run this document through perl to check its syntax
use Pod::Checker;
podchecker(\*DATA);
__END__
=head1 NAME
App::devguide - App Developer's Guide
=head1 INTRODUCTION
This is the Developer's Guide to the
App (Perl 5 Enterprise Environment).
You can find out more background to the project on the web.
http://www.officevision.com/pub/p5ee
http://p5ee.perl.org
=head1 App DESIGN PHILOSOPHY
When the App project was begun, there were already
* many outstanding Perl packages on CPAN
* an excellent systems architecture for Perl webapps (mod_perl)
* several excellent web application development frameworks
So why was App needed?
For a variety of reasons, there was never sufficient unity of
purpose or direction within the Perl community to provide
a coherent blueprint of what Enterprise Programming in Perl is
or how to do it.
* What are the pieces?
* What pieces are default? standard? mandatory? optional?
* How do they fit together?
* How can I override or customize them?
* What techniques do I need to use to assemble them effectively?
After "Enterprise Systems" were defined (see website), the field
of existing frameworks, solutions, and components was surveyed.
The goal was to examine everything that people were already doing,
divide it into pieces that seemed interchangeable, and come up
with a unified blueprint. Pieces that people often like to do
differently (template systems, persistence frameworks, configuration
files) were allowed to vary, while their essential contribution
to the working system was standardized in the framework.
It should be noted that most of the work on what people might
term "Enterprise Systems" in Perl was actually focused on
"Web Systems" in Perl with a relational database.
The goal of the App design is to unify the Perl community
on a framework for cooperation, while providing flexibility in
the areas that might otherwise divide the community.
Essentially, everything in App is overridable and customizable,
but good defaults are provided for everything as well.
On the practical side, App was also designed to allow for gradual
adoption and incorporation into existing projects.
=head1 App Execution Flow: CGI
The first step to understanding the flow of execution through
the App framework is to understand the flow in the CGI
Context.
This is one of the most challenging contexts
to develop for because of the stateless nature of HTTP,
the need to initialize all resources before accessing them,
and the need to properly shut down all resources after using
them or in case of user abort.
( run in 0.585 second using v1.01-cache-2.11-cpan-f56aa216473 )