Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Re: a simple web front end

by hippo (Chancellor)
on Oct 27, 2020 at 22:09 UTC ( #11123238=note: print w/replies, xml ) Need Help??

in reply to a simple web front end

but it seems like big overkill for me to have Apache running CGI script which "embeds" www client which requests data from other apache instance.

You say overkill, I say classic application stack. For the past quarter century or so we've been working to a greater or lesser extent with this setup where the user/client/browser interacts with the web server(s), behind which is the application server(s), behind which is the data source(s). There are other ways for sure but this is by far the most common basic setup I have seen across many installations. You already have the backend sorted by the sound of it so adding the lightweight front end should not be "overkill".


Replies are listed 'Best First'.
Re^2: a simple web front end
by lis128 (Acolyte) on Oct 28, 2020 at 09:04 UTC

    Thank you, probably i needed assertion like yours from someone way more experienced than me.
    So - from your classic app stack experience - is having frontend posting to itself, reloading page and act accordingly on postdata, an OK approach? Something like

    print $q -> header(); if ($q -> param) { # we do have something to process, lets move on do_process($q -> param); } else { # this is clean entry, just display options show_page_with_form($q); } # despite of previous step's outcome, show footer with copylefts and e +nd document gracefully show_footer($q); print $q -> end_html; 1

      Yes, that's fine. Combining a form plus its handler in one script/URL is not atypical and it gives an easy way for you redisplay the form in the handler if the user's inputs are in some way invalid.

      One more thing I would recommend is to look at a templating system. This is another thing that you might consider overkill just now but will pay off handsomely in the long run. I tend to use Template and other folks swear by HTML::Template and there are a host more to choose from too. The point is to separate the rendering of the output from the logic of the application and to allow for easy re-use of that output in terms of common page layout, error handling, etc.

      Good luck with your project!


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://11123238]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (5)
As of 2021-01-20 19:35 GMT
Find Nodes?
    Voting Booth?