Sorry to ask a subjective question, but I would welcome some advice. I am an experienced programmer of embedded s/w, but haven't done much network programming, although I have done a fair bit of hobbyist PHP.
Anyway, I have to develop what is probably a fairly general type of app, as shown in this crude diagram
---------------------------------------------------------------------------------
| Browser / user interface Takes input from user form and writes data to d/b. |
| Also gets data and updates browser contents when when d/b contents are changed |
| because of info received over TCP/IP. |
|________________________________________________________________________________|
| ODBC |
|_______________________________________________________________________________|
| database |
|_______________________________________________________________________________|
| ODBC |
|_______________________________________________________________________________|
| Socket (TCP/IP) |
| Send data out when d/b is updated from browser. |
| Also, update d/b when data are received over TCP/IP. |
|_______________________________________________________________________________|
As I say, I imagine this to be a fairly typical architecture? Am I right?
Then client is insisting on MSIE - unless I can show compelling technical reasons for FireFox or other then it will have to be MSIE (are there any compelling technical reasons?).
So, with MIE (almost) a given, I had though to use PHP, since I know it, but
- the client seems awfully keen on Java (which ought to be OK since I am conversant with C++)
- it woudl seem to make sense to use the same language for the "upper" interface between the web pages (which that app generates) and the d/b, and for the "lower" interface between the d/b and the socket. (a single language means a single set of tools since text approach, etc)
So, the (probably highly subjective) question is "which language shoudl I choose".
As I say, the client is keen on Java. Any compelling reason why not? Is it generally a good choice for the sort of thing described here?
Any other hints & tips gratefully appreciated (and up-voted): URLs, books, tool chain suggestions, etc, etc