Scott There is a system that exists that is very similar to what you describe. It's called "WebObjects" and was developed by NeXT... it's now offered by Apple. The latest release is (unfortunately) Java only but previous releases (still available) were (Objective) C. Once you scratch the surface of WO, your head almost explodes because it's so astonishingly brilliant and far better than anything else available for rapid (web-based) application development. It is also very very firmly built on real OO theory, which cannot be said for most other web app environments. You build entirely self-contained web components that have no dependency on anything and can be reused in any app anywhere. Components are (well, by default) stateful. In other words, any objects and variables in your component are still there, living and breathing, when a form is submitted or a link is clicked on.
Unfortunately it's not free. $699. And deploying it is quite complex... You could check out smartworker (if you can find it these days...), which has a vaguely similar philosophy. It's mod_perl and free. It was originally developed by me and two others... we got it into a rough shape and then it was taken over by a team of very talented developers who have managed to do some great things with it. Try http://www.smartworker.org to see if there's anything going on. Kyle Systems Engineer Central Park Software http://www.centralparksoftware.com ----- Original Message ----- From: "Scott Chapman" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, November 15, 2001 11:42 Subject: [Maybe OT] Modular design - calling pages like a subroutine with a twist. > I'm very interested in making a modular site design but haven't > found the tools yet to allow this with the twist I'm looking for. > > Say I have a page that encapsulates some functionality, such as > sending a form then validating the contents that are returned. I'd > call that PageB. > > PageB could be more than one page or a page calling itself, etc. > > When PageA calls PageB, as soon as PageB finishes presenting > the form it doesn't stop but drops out the bottom and returns > immediately to PageA. There are commands in some of the tools > (Mason and soon Embperl - maybe others) to force it to stop there > but this doesn't make for the modularity I have in mind. > > PageB then gets submitted by the user and it either calls itself > (using conditionals to then do the data validation) or another page. > After things are validated Ok, I'd like to have it return right back to > PageA, just where it left off using a "Return" statement. Thus, > PageA could call a "PageB" and have it do all it's processing then > return, just like calling a regular subroutine. > > This would allow for much more modular/object oriented web site > design. The stateless nature of this beast may preclude this type > of functionality. My perl skills are medium at best and C is not in > my scope. I'm wondering: > > 1) is this possible? I expect that someone would have already > implemented this if it were possible because it is so much like > regular modular programming with abstraction layers. > > 2) are there any tools (preferrably perl) out there that support this > cleanly. I've worked with Embperl and glanced through the docs of > Mason, AxKit and TT and didn't see anything looking like this. > > Cordially, > Scott >