«Лучший» язык / архитектура для браузерного приложения с ODBC и сокетами? (Субъективно) - PullRequest
0 голосов
/ 06 мая 2010

Извините, что задаю субъективный вопрос, но я бы приветствовал несколько советов. Я опытный программист встраиваемого программного обеспечения, но не очень много занимался сетевым программированием, хотя немного занимался PHP-хобби.

В любом случае, мне нужно разработать приложение, которое, вероятно, является довольно общим, как показано на этой простой диаграмме

---------------------------------------------------------------------------------

| 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.                          |

|_______________________________________________________________________________|

Как я уже сказал, я представляю, что это довольно типичная архитектура? Я прав?

Тогда клиент настаивает на MSIE - если я не смогу указать веские технические причины для FireFox или иного, тогда это будет MSIE (есть ли какие-либо веские технические причины?).

Итак, с MIE (почти) данным, мне пришлось использовать PHP, так как я его знаю, но

  1. клиент кажется ужасно увлеченным Java (что должно быть в порядке, так как я знаком с C ++)
  2. представляется целесообразным использовать один и тот же язык для «верхнего» интерфейса между веб-страницами (который генерируется этим приложением) и d / b, а также для «нижнего» интерфейса между d / b и разъем. (один язык означает единый набор инструментов, так как текстовый подход и т. д.)

Итак, (вероятно, очень субъективный) вопрос: «какой язык я выберу».

Как я уже сказал, клиент увлекается Java. Есть веская причина, почему бы и нет? Это вообще хороший выбор для вещей, описанных здесь?

Любые другие советы и рекомендации, за которые мы будем благодарны (и за них проголосовали): URL-адреса, книги, предложения по цепочке инструментов и т. Д. И т. Д.

1 Ответ

2 голосов
/ 06 мая 2010

Здесь много вопросов, на большинство из которых мы не можем ответить:

1) Вы способны производить код дешевле на Java или PHP?

2) способны ли вы создавать более надежный / поддерживаемый код на Java или PHP?

3) Почему клиент предпочитает Java?

4) Почему вы считаете, что браузер является таким ключевым фактором (при отсутствии упоминания о технологиях только для Microsoft, таких как .net, activeX и т. Д.).

Несмотря на то, что Java постоянно подключается как простой переход с C [++], это совсем другой язык. Конечно, если вы уже знаете C ++ и PHP, то изучение Java займет не так много времени, как если бы у вас не было опыта программирования 3GL / OO, однако его далеко не так просто изучить, особенно если вам необходимо реализовать описанный уровень интеграции. выше.

Ключевой вопрос, на который необходимо ответить, заключается в том, нужно ли передавать данные с сервера в браузер (а не получать данные с использованием обычного HTTP). Это может быть смоделировано с использованием таких технологий, как Comet (с PHP, Java или практически на любой стороне сервера), однако использование Java-апплета - единственный способ добиться эффективной работы клиента - и тогда возникает много вопросов о емкости и межсетевых экранах.

В конкретном случае, который является лучшим выбором для вас, тогда ответ, вероятно, PHP. Но ответить на вопрос о том, какой язык лучше подходит для клиента - это другой котелок с рыбой (ИМХО, учитывая доступную информацию, PHP имеет ряд преимуществ - но есть много, что я не знаю требований).

Не думаю, что вы задаете ни нам, ни вашему клиенту правильные вопросы.

С

...