2010-01-07 94 views
0

我是一个比较大的系统上工作有:什么是大型SOA系统的最佳编程语言?

  1. 低C级处理多媒体数据(视频/音频)
  2. 一个轻量级的数据库,最好的MySQL ++/C代码,但我愿意接受其他更好的选择
  3. 为前端RESTful Web服务

所有请求将由RESTful接口,低C级处理的真实实干(分析/处理)和数据库++/C码被用于一些处理中间结果将来可以重复使用。

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

东西我曾想过:

  1. 的Java:的Restlet是相当容易使用,它与MySQL工作得很好,但其界面C/​​C++使用JNI是一种过时了。 JNA更新得更好,但它不支持映射C++类,因此集成可能会很难。/C++使用的ctypes /痛饮,工作与MySQL,并拥有自己的Python DB可以使用C工作:

  2. 网:该系统是Linux操作系统,所以排除了净

  3. 的Python。 REST风格的界面可以用CherryPy等实现。我对Python并不熟悉,这也意味着我的团队也需要学习Python。

  4. 其他? Perl的?红宝石? etc ...

+1

MySql不轻量级,berkeley数据库将是轻量级的,sqlite甚至更轻。 – 2010-01-07 21:52:38

+0

我想你错过了一些上下文......你的后端是否需要快速响应外部请求?前端主要访问数据库还是主要直接与后端对话? – 2010-01-07 22:36:00

+0

1.您的后端是否需要快速响应外部请求? - 是和否。后端需要尽快开始处理请求,但结果将逐步递送给用户(即时响应)。 2。前端主要访问数据库还是主要直接与后端对话? 目前它是后者(实际上,当我在做出决定之前,我并没有多多考虑......)我可以做出一些更改,并使前端始终与数据库交谈。哪种方法更好? – Lily 2010-01-08 00:21:00

回答

-1

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

但我建议的Ruby/Rails:

  • 易建/路由一个RESTful接口
  • ActiveResource处理Web服务的消费
  • 可以使用Ruby扩展调出C代码easily
  • 的ActiveRecord或者DataMapper的抽象很好的mysql数据库
+0

如果OP可以证明使用C/C++比我强烈建议不要混合使用C/C++和执行环境 - 在这种情况下是ruby。红宝石在前端很好。这是基于这样的假设,即OP使用C++来做一些严肃的事情,而不仅仅是生成网页。 – 2010-01-07 21:56:32

+0

请问什么是OP?... – Lily 2010-01-07 22:02:50

+0

OP =原创海报。 – mopoke 2010-01-07 22:20:07

0

如果你喜欢动态语言,Ruby是Web(服务)部分的不错选择。我建议不要为这个特定的目的使用Rails,除非你需要为使用你的MySQL DB的某些逻辑建立一个Web UI;相反,请使用更轻量的产品,如Sinatra