2011-05-05 142 views
0

正如标题所建议的那样,我可以像Drupal一样使用CMS来与其他编程语言(如Java)一起使用jsp吗?在投入时间学习之前,我想知道这一点。CMS是否独立于编程语言?

我的意思是我是否可以使用Drupal或类似的CMS与Java或Ruby或C ...或不。更具体地说,我可以在后端使用Java处理数据并发送给CMS以便自动执行更新?

+0

你的问题很混乱。你问你是否可以在Java中使用Drupal,或者是否有类似于Drupal的Java CMS系统。或者是其他东西? – zeekay 2011-05-05 04:28:07

+0

我的意思是我是否可以使用Drupal或类似的CMS与Java或Ruby或C ...或不。更具体地说,我可以在后端使用Java处理数据并发送给CMS以便自动执行更新? – Amumu 2011-05-05 05:43:56

+0

是的,你可以。我在答案中详细阐述了几个选项。 – zeekay 2011-05-05 06:37:55

回答

2

您可以在Web应用程序中混合搭配语言/框架/ cmses。没有任何东西可以禁止这种做法,虽然它通常不雅观,常常是浪费的(在系统资源方面),并且通常是一种维护和扩展的痛苦。过去,我只是为了权宜之计,或者在迁移旧数据时忽略了这一点,但是最好使用一个框架并使其更好。

如果你真的想要这种灵活性,我建议django这是一个非常灵活和有能力的Python框架。有几个CMS被实现在它上面(你可以很容易地推出你自己的)。 Django-cms就是其中之一。它具有非常灵活的路由选择,如果你想用不同的语言/框架轻松实现应用程序的不同部分。 Django还有一项功能,使其特别擅长将其集成到现有项目中,如果要混合搭配,您可以采取几种基本方法。

  1. 配置某些网址指向一个应用程序,其他网址指向另一个。例如,你可以这样做:

  2. 使用AJAX,做您的前端有一个语言/框架,而在另一个写后端的东西。您将使用AJAX从客户端调用您的后端服务。

  3. 使用像Celery这样的作业/任务队列(它非常好地与django集成)。

  4. 使用消息传递在应用程序的不同部分之间进行通信,例如RabbitMQZeroMQ

+0

请注意,尽管您可以*混合使用不同的语言来交付网站的不同部分,但这不是一件容易的事情,您需要实施服务,将代理/负载均衡器转发给负责任的服务器,并且可以集成更多他们。例如,您不能直接在Drupal中运行Java代码。所以要混合它们,你需要知道所有涉及的技术/编程语言。因此,缺少PHP知识的例子是恕我直言,不是在Java中进行数据处理的理由,因为您还需要编写PHP来整合它。但有理由这样做... – Berdir 2011-05-05 07:57:29

+1

其中一个原因是您可能需要在短时间内处理大量数据。 http://mollom.com是一个垃圾邮件预防系统,它提供了一个Drupal模块,然后在Drupal中运行,使用PHP编写,但通过XML-RPC发送所有注释/内容到写入的外部服务在Java中能够处理成千上万的请求。 – Berdir 2011-05-05 07:59:31

+0

根据你需要做什么(以及你想要做到多么困难),它*可能会变得很微不足道。在RabbitMQ或ZeroMQ中使用消息传递非常简单,REST/XML-RPC也非常易于实现......并且如果您希望只需调用system(“echo noooooo”,$ retval);! – zeekay 2011-05-05 08:17:45

1

不,你不能将其绑定,

由于一个主要的原因是PHP和JSP需要不同类型的Web容器中。

而且drupal是在Php中制作的,因此即使使用本机库api也无法将Java与jsp绑定。