PHP System Architecture

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
Hi, all.

  I'm planning on writing an inventory application for one of my
clients some time soon. However, I'm kind of confused which apropriate
technologies to use. He wants the application is for inventory
management to have an "employee" client on linux machines  (a GUI), a
manager client with GUI on Win32, and the server is a database (MySQL)
on Linux. What do you think is the most apropariate way to architect
this, I was thinking:

- Employee Client: PHP-GTK + A PHP library (call it "Framework") to
manage controlling the MySQL db on the server

- Server: MySQL + "Framework" which also exports the PHP db
manipulation functions through webservice, SOAP, XML-RPC

- Manager Clinet (on Win32): C# .NET GUI using the Web serivces
exported by the Linux server through PHP "Framework".

What do you think are the pros and cons of this design? Would you do it
in another way?  

John Todd

Re: PHP System Architecture

PHPs real power is in serving up HTML pages.

I would suggest that unless concurrency is an issue that a browser
based solution would be the best if you want to use PHP and serve all
the data input as forms with server-side validation and all reports as
either HMTL or via email.

This way it makes no difference which machine is being used.

If you want security, you can validation the IP address of the
connecting machine (assuming static IP).

The only drawback is realtime validation with web apps as you normally
have to serve the page and then submit and validate the data.  You can
validate client side with javascript and the growing use of Ajax makes
realtime validation easier, however it relies on having javascript
turned on in the browser which is probably OK in a controlled intranet
environment but may make for more issues in a more open commercial

Alternatively look at .NET where you can write (supposedly) one set of
code and compile it for both windows and linux.

Site Timeline