App-Context

 view release on metacpan or  search on metacpan

lib/App/faq.pod  view on Meta::CPAN

    http://www.activestate.com/Products/ActivePerl/

 2. Perl's predominant SOAP implementation is very mature
    http://www.soaplite.com/

 3. When Perl 6 is complete, both Perl 5 and Perl 6 will be able
    to run on the .NET CLR.
    http://www.parrotcode.org/faq/

=head2 What is the relation between App-Context and mod_perl?

The people who have been developing and working on mod_perl have done
an incredible service to Enterprise Perl in general, and therefore
the App-Context in particular.  Other efforts that dramatically enhance
Enterprise Perl are SOAP projects, XML projects, DBD/DBI::*,
Templating projects, etc.  These are all making dramatic contributions,
and they need not change anything they are doing in order to continue
to do so.

On the contrary, the responsibility is on the designers of the App-Context
to accommodate and incorporate these many enterprise-class technologies
into an integrates whole.  Browse the classes envisioned for App-Context
to see one way that these might fit together.  Take
special note of the "Classes (Planned)" at the bottom of the 
"All Classes" frame.

  http://www.officevision.com/pub/p5ee/software/htdocs/api/

As for mod_perl, it would seem to be the container of choice for
web applications and SOAP services.  

  http://www.officevision.com/pub/p5ee/software/htdocs/Appx/Blue/Context.html

There is no need for the mod_perl project to explicitly 
integrate with App-Context.  However, in the spirit of community, 
as the App-Context grows in its capabilities, I would imagine a 
natural cross-fertilization of ideas would occur so that if App-Context needed
any specific feature in mod_perl it would be implemented without
too much trouble.

However, App-Context reaches further than just running in a mod_perl Context.
App-Context is equipped with (when they are written, of course) a variety of 
Context classes which allow App-Context software to run in many other Contexts 
besides mod_perl.

=head2 What does it mean for App-Context to support Perl 5.5.3 if some of its components require a higher version of Perl?

The App-Context is like a software backplane
for many services required by an enterprise application.  Into that
backplane plug the App-Context Services.  There may be many implementations
of each of the App-Context Services, making for an almost limitless array
of possible combinations.  (Hopefully, favorites will emerge.)

The Context is a Core Service, like Session and Config.
(A Core Service is one that is not derived from App::Service
but maintains the concept of "a pluggable implementation of an 
abstract service".)  An examination of the App::Context
documentation will show that there are many Contexts from which
the implementer may choose to deploy the software, and the software
could reasonably run on all of them.  The fact that (the envisioned)
App::Context::Modperl2 depends on 5.6.0 does not invalidate
the fact that the App-Context depends only on 5.5.3.  Implementers who
choose to deploy with Services that have higher Perl version 
dependencies must of course satisfy those dependencies.

The important thing to realize is that there is some combination of
implementations of Services which will run on 5.5.3.  Thus, the
implementer who is stuck with 5.5.3 on a platform does indeed have a
set of possible combinations of Services which will work.

The dependency on Perl version is not the only issue like this.
Some modules are dependent upon certain operating systems.
It is acceptable for a Service implementation to use these OS-specific
functions as long as there is some other Service implementation 
(perhaps lower performing) which meets the cross-platform requirement.

i.e. App::Context::Modperl2 may require 5.6.0, but
App::Context::Modperl and App::Context::CGI will
both run on 5.5.3.

Sometimes when we think about Enterprise Systems, we think about
big budget projects with the latest new hardware.  My experience 
with customers who are large enterprises is that they have an 
incredible mish-mash of systems and legacy environments.  I envision 
that App-Context software could be installed on every platform they own 
(isn't Perl almost the most-ported language on the planet?).  
That is why I believe that App-Context must support 5.5.3 (or perhaps 
earlier, but I won't go there yet until I see a real need to
and understand exactly what I would be giving up).

=cut



( run in 0.880 second using v1.01-cache-2.11-cpan-39bf76dae61 )