2011-05-05 150 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綁定。