什么是大型SOA系统的最佳编程语言?

时间:2010-01-07 21:45:14

标签: c++ mysql web-services rest system

我正在开发一个相对较大的系统:

  1. 处理多媒体数据(视频/音频)的低级C ++ / C代码
  2. 一个轻量级数据库,最好是MySQL,但我愿意接受其他更好的选择
  3. RESTful Web服务作为前端
  4. 所有请求都将由RESTful接口处理,低级C ++ / C代码处理真正的艰苦工作(分析/处理),数据库用于某些中间结果以供将来重用。

    在这种情况下,哪种编程语言最适合这项工作?

    我曾想过的事情:

    1. Java:Restlet相当容易使用,它适用于MySQL,但是它使用JNI的C / C ++接口现在已经过时了。 JNA更新更好,但它不支持c ++类的映射,因此集成可能很尴尬。

    2. Net:系统适用于Linux操作系统,因此排除.Net

    3. Python:可以使用ctypes / SWIG处理C / C ++,使用MySQL,并拥有自己的Python DB。 RESTful接口可以使用CherryPy等实现。我不熟悉Python,这也意味着我的团队也需要学习Python。

    4. 他人? Perl的?红宝石?等...

2 个答案:

答案 0 :(得分:0)

如果您喜欢动态语言,Ruby是Web(服务)部分的不错选择。我建议不要将Rails用于此特定目的,除非您需要为使用MySQL DB的某些逻辑构建Web UI;相反,请使用像Sinatra更轻量级的东西。

答案 1 :(得分:-1)

你会得到每个编程语言粉丝的不同答案。

但我建议使用ruby / rails:

  • 轻松构建/路由RESTful接口
  • ActiveResource处理网络服务的使用
  • 您可以使用ruby extensions easily
  • 调出C代码
  • ActiveRecord或DataMapper很好地抽象了mysql数据库