Hi, At 09:48 AM 4/7/2002 -0400, Richard Dice wrote: >Hi everyone... > >I notice that Doug MacEachern has just posted a mod_perl 2.0 pre-release >announcement on [EMAIL PROTECTED], and in it he says that it requires >Perl 5.6.0. I know that the p5ee effort decided that Perl 5.5.3 is all >that should be required for p5ee. I guess I should ask, to what degree >is (will) mod_perl (be) integrated with the p5ee effort? I'm not >asking if Doug will sign the copyright over to p5ee or anything like that. >:-) Just, how much will p5ee tie into and depend on mod_perl, anyhow? >And might this influence the version of Perl that p5ee requires?
>From what I understand, this is really two questions: 1. What is the relation between P5EE and mod_perl? 2. What does it mean for P5EE to support Perl 5.5.3 if some of its components require a higher version of Perl? 1. Relation Between P5EE 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 P5EE 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 P5EE to accommodate and incorporate these many enterprise-class technologies into an integrates whole. Browse the classes envisioned for P5EE by P5EEx::Blue 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/P5EEx/Blue/Context.html There is no need for the mod_perl project to explicitly integrate with P5EE. However, in the spirit of community, as the P5EE grows in its capabilities, I would imagine a natural cross-fertilization of ideas would occur so that if P5EE needed any specific feature in mod_perl it would be implemented without too much trouble. However, P5EE reaches further than just running in a mod_perl Context. P5EE is equipped with (when they are written, of course) a variety of Context classes which allow P5EE software to run in many other Contexts besides mod_perl. 2. P5EE Support for Perl 5.5.3 The P5EE (as envisioned in P5EEx::Blue) is like a software backplane for many services required by an enterprise application. Into that backplane plug the P5EE Services. There may be many implementations of each of the P5EE 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 P5EEx::Blue::Service but maintains the concept of "a pluggable implementation of an abstract service".) An examination of the P5EEx::Blue::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) P5EEx::Blue::Context::Modperl2 depends on 5.6.0 does not invalidate the fact that the P5EE 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. P5EEx::Blue::Context::Modperl2 may require 5.6.0, but P5EEx::Blue::Context::Modperl and P5EEx::Blue::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 P5EE 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 P5EE 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). Stephen