|
|
Webioman (Updated)
|
|
Created: February 11, 2005
|
|
Webioman was originally intended to be a web I/O manager for programs running on a web-server machine. It is now part of a bigger picture--See the Webioman Update Link.
I wrote the initial Mason component employing IPC::Open3 and IO::Select to control STDIN, STDOUT (unbuffered) and STDERR, patterned after Perl Cookbook recipe 16.9. I am not an IPC expert, so I took this on as an empirical research programming task. I soon realized that it was not practical to debug this script in the ModPerl-Mason context. So I converted the Webio.mas file to a Perl test script. I soon realized that the Cookbook recipe was totally inadequate. I began evolving the script and the Fortran/C code of demo program. I was able to get the demo running with Open3 by having both the parent and the child send USR1 and USR2 signals to each other. But it was not totally reliable. Sometimes it would block the output from the child, and I was not able to figure out why.
I decided to look for another approach to the problem, and learned about the new IPC::Run API module, developed by Barrie Slaymaker and maintained by Richard Soderberg. I was elated. It seemed to be just what the doctor ordered for my depression. In fact, it only took me one day to get a modified Webio script working for the demo.
The next step is to interface with the web using Mason. My initial concept of how this would work was naive, because a single process wrapper is not feasible with the web-request/respose cycle. A client-pull or server-push dynamic document scheme is necessary. I am now working on a client-pull refresh scheme using a Postgresql database instead of signals to interact with the Fortran/C executable. See the Webioman Updated Link for more info on the new approach.
|
| Categories: |
GUI apps, mod_perl, Network, Web |
| Project status: |
Active |
| Support level: |
A lot |
| Difficulty: |
6 |
|
Consider a difficulty of 1 to be "anyone" and a difficulty of 10 to
be "gurus only".
|
Members |
|
beartham
|
Admin
|
| |
Links |
| WebLinux--A Metaphoric Web Portal API |
| Webioman Update |
|
If you are interested in getting involved with this project, please
check the project's website if it has one, or send one of the
project admins email.
|
|