2010-01-07 2 views
0

Я работаю на относительно большой системе с:Какой лучший язык программирования для большой системы SOA?

  1. низкого уровня C++/C коды, касающиеся мультимедийных данных (видео/аудио)
  2. облегченной базы данных, предпочтительно MySQL, но я открыт для других лучших альтернатив
  3. RESTful веб-службы в качестве переднего конца

Все запросы будут обрабатываться RESTful интерфейс, низкого уровня C++/C коды, касающиеся реальной тяжелой работы (анализ/обработка) и база данных используется для некоторых промежуточный результат lts для повторного использования в будущем.

В этом случае, какой язык программирования лучше всего подходит для работы?

Что-то я думал о:

  1. Java: Restlet довольно прост в использовании, он хорошо работает с MySQL, однако его интерфейс C/C++ с использованием JNI является своего рода устарел. JNA лучше обновляется, но не поддерживает сопоставление классов C++, поэтому интеграция может быть неудобной.

  2. Net: система для ОС Linux, поэтому правила из .Net

  3. Python: может работать с C/C++ с использованием ctypes/SWIG, работа с MySQL, и имеет свой собственный Python DB. Интерфейс RESTful может быть реализован с использованием CherryPy и т. Д. Я не знаком с Python, и это также означает, что моей команде также нужно изучить Python.

  4. другие? Perl? Рубин? и т. д.

+1

MySql не легкий, berkeley db будет легким и компактным даже легче. –

+0

Я думаю, что вам не хватает какого-то контекста ... Нужно ли оператору быстро реагировать на внешние запросы? Является ли интерфейс главным образом доступ к базе данных или он в основном разговаривает напрямую с внутренним концом? –

+0

1. Необходимо ли оператору быстро реагировать на внешние запросы? - Да и Нет. Бэкэнд должен начать работу над запросом как можно быстрее, однако результат будет доведен до пользователя постепенно (ответ «точно вовремя»). 2.Является ли интерфейс главным образом доступ к базе данных или он в основном разговаривает напрямую с внутренним концом? В настоящее время это последнее (на самом деле я не очень много думал, когда принимал решение раньше ...) Я мог бы внести некоторые изменения и заставить front-end всегда разговаривать с базой данных. Какой путь лучше? – Lily

ответ

-1

Вы получите другой ответ от каждого фаната на языке программирования.

Но я бы предложил рубин/рельсы:

  • Легко построить/маршрут на RESTful интерфейс
  • ActiveResource обрабатывает потребление веб-сервисов
  • Вы можете взывать к коду С помощью расширений рубин easily
  • ActiveRecord или DataMapper красиво аннотация базы данных mysql
+0

, если OP может оправдать использование C/C++, чем я бы настоятельно предложил не смешивать C/C++ с средой исполнения - в данном случае ruby. Рубин хорошо в интерфейсе. Это основано на предположении, что OP делает некоторые серьезные вещи с C++, а не просто создает веб-страницы. –

+0

Могу ли я спросить, что такое OP? ... – Lily

+0

OP = оригинальный плакат. – mopoke

0

Если вам нравятся динамические языки, Ruby - отличный выбор для части Web (сервиса). Я бы предложил не использовать Rails для этой конкретной цели, если вам не нужно создавать веб-интерфейс для некоторой логики, которая использует ваш MySQL DB; скорее, пойти с чем-то более легким, как Sinatra.

Смежные вопросы