views:

40

answers:

2

I want to create a process control application. Events update the database and that should be reflected on the GUI.

Although I personally prefer Linux, the hard fact it that 100% of the potential customers I can imagine run Windows.

  • Ok, for Windows I am comfortable with C++ Builder.
  • I suppose I could switch to NetBeans and use Java just in case someone ever wants it cross-platform.
  • browser based is probably the easiest way to cross-platform (barring some disagreements between browsers).

The thing about browser-based is I am not sure how to implement it. Would I auto-refresh the page every second or so? Can a database change be propagated upwards via PHP and refresh the screen? A very basic question, but I am new to this sort of thing, coming from an embedded background.

If all else is equal, which is easier for me to implement and maintain?

+1  A: 

If it's real-time control, and you have to respond within a very narrow time band, then web based and Java based probably won't do it. If it's real-time control problem you ought to look elsewhere for a solution.

You can certainly use the web, Java and PHP to display results as they are produced, but the actual control and persistence to a database should be done with different technology.

I'd also be careful about writing to a database. It should be an asynchronous, "write behind" capability rather than the naive, "connect to a relational database and do an INSERT" sort of thing. I think that will be too slow.

duffymo
Not really real-time. Accurate to within a second or two would do it. This app just reflects the state of the database. But you make some very good points. thanks.
Mawg
+1  A: 

If it is desired to be multiuser apllication I prefer web applications. Easy to make changes, easy to deploy. No problem with firewall settings and etc.

About propagation of changes from server to client. No way. But you can utilize AJAX tu "ping" on server and checking if somethink is changed. And if somethink is changed then load id and change view. Facebook/Google use somethink like this for chat/googletalk and so on.

About browser differencies. You can use CSS framework, JavaScript framework and most of problems with diferencies between browsers are solved.

Edit: If it is about seconds I think that PHP, Python or somethink really easy and fast is good part on server side. Or C++ CGI module. And on database side SQLite. Lightweight and fast solution for not much complex data. ANd not to big amount of data.

Vebloud