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

0

Я работаю над относительно большой системой:

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

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

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

Что-то, о чем я подумал:

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

  • Net: система предназначена для ОС Linux, поэтому исключает .Net

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

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

  • 1
    MySql не легкий, Berkeley DB будет легким, а sqlite даже легче.
  • 0
    Я думаю, что вам не хватает контекста ... Нужно ли вашему бэкэнду быстро реагировать на внешние запросы? Имеет ли интерфейс в основном доступ к базе данных или напрямую общается с базой?
Показать ещё 1 комментарий
Теги:
rest
web-services
system

2 ответа

-1
Лучший ответ

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

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

  • Простота сборки/маршрутизации интерфейса RESTful
  • ActiveResource обрабатывает потребление веб-сервисов.
  • Вы можете вызвать код C с помощью рубиновых расширений легко
  • ActiveRecord или DataMapper прекрасно абстрагируют базу данных mysql
  • 0
    если OP может оправдать использование C / C ++, я бы СТРОГО предложил не смешивать C / C ++ со средой исполнения - в данном случае ruby. Рубин хорошо в передней части. Это основано на предположении, что OP делает серьезные вещи с C ++, а не просто генерирует веб-страницы.
  • 0
    Могу я спросить, что такое ОП? ...
Показать ещё 2 комментария
0

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню