Можно ли использовать разные технологии на одном сайте? - PullRequest
0 голосов
/ 05 января 2011

Я смотрел учебные пособия по Python, и парень сказал, что он закодировал адресные книги и проверку орфографии для почты Yahoo в Python.

Теперь изначально я думал, что если я создам сайт, то мне придетсяиспользуйте один язык: либо php, либо java, либо asp, либо что угодно.

Но меня смущает, как мы можем сделать отдельные модули на разных языках и объединиться, чтобы создать один сайт

Любые идеи

Ответы [ 6 ]

2 голосов
/ 05 января 2011

Физическая архитектура веб-приложения может отличаться от логической, видимой через браузер. В основном это достигается путем размещения переднего веб-сервера (например, apache с mod_proxy, но это может быть любой другой модер-веб-сервер, поддерживающий обратное проксирование) и подключения серверов веб-приложений (java / python / любой другой) по разным путям (например, / app1 для java app, / app1 / subapp для приложения на python, / app2 для приложения php). Конечно, эти приложения по умолчанию работают независимо, поэтому, если вы хотите передать некоторые данные между собой, вам необходимо установить связь между ними (прямой сокет-сокет или косвенный с некоторым промежуточным программным обеспечением или базой данных).

В целом это очень широкая тема, поэтому, если вам интересно, попробуйте использовать несколько основных ключевых слов: серверы приложений, балансировка нагрузки, обратный прокси-сервер, перезапись URL-адресов.

1 голос
/ 05 января 2011

Вы можете использовать любой язык для предоставления веб-службы, например, вы можете предоставить веб-службу REST / SOAP, которая возвращает JSON или XML.Веб-сервис может быть написан на любом языке, а язык, используемый для взаимодействия с веб-сервисом, может быть любым языком, поскольку в настоящее время все языки имеют синтаксические анализаторы JSON и XML.

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

0 голосов
/ 05 января 2011

Но я запутался, как мы можем сделать отдельные модули на разных языках и объединиться, чтобы создать один сайт

Пожалуйста, прочитайте это: http://httpd.apache.org/docs/2.0/sections.html

Тогда прочитайте это: http://php.net/manual/en/configuration.changes.php

Тогда прочитайте это: http://code.google.com/p/modwsgi/

Тогда прочитайте это: http://www.modruby.net/en/

Тогда прочитайте это: http://tomcat.apache.org/

Apache может поддерживать большое количество языков через подключаемые модули.

Используя mod_rewrite, а также основные определения "section", доступные в Apache, вы можете разделить ваши URI на отдельные модули на разных языках.

0 голосов
/ 05 января 2011

Если это разные страницы, их легко можно создать с помощью другого программного обеспечения.Так что, если почтовое приложение, написанное на Java, предлагает ссылку на адресную книгу, адресная книга может легко быть Python - это всего лишь вопрос настройки сервера.

Если вам нужен компонент адресной книги в почтовом приложенииЭто немного сложнее, но все же выполнимо.Особенно с Java и .NET можно запускать разные языки на одной платформе (например, Jython и Ironpython запускают Python на виртуальных машинах JAVA и .NET соответственно).

0 голосов
/ 05 января 2011

Если вам просто нужно вызвать простые скрипты из PHP, вы, конечно, можете использовать exec () . Я использую его довольно часто, чтобы иметь возможность кодировать что-то в ruby, которое я предпочитаю для не-веб-задач, и вызывать скрипт ruby ​​из PHP (это, конечно, можно сделать наоборот).

0 голосов
/ 05 января 2011

Я знаю, что в Ruby on Rails вы можете выполнять команды bash.

Пример: ставит ls

...