如何使concrete5成为3层应用程序?

问题描述:

I am building a web application, and the specification is to use three tier architecture.

My requirements are a general 3 tier application where the presentation layer had to be on one server, the application code (in this case it was business logic and data access) on a second server, and the database on the third server, and the first and third servers should never communicate with each other, but had to go through the middle app server.

Does anyone know if i can use the cms concrete5 to perform this task, as it is an integral part to my general workflow. I know that it uses a 3 layered application architecture but not too sure if i can convert this into a 3 tier application?

if anyone has any insights to how this could or has been done on drupal or wordpress that would be appreciated?

我正在构建一个Web应用程序,规范是使用三层架构。 p>

我的要求是一般的3层应用程序,其中表示层必须位于一台服务器上,应用程序代码(在这种情况下,它是业务逻辑和数据访问)在第二台服务器上, 和第三台服务器上的数据库,第一台和第三台服务器不应该相互通信,但必须通过中间的应用服务器。 p>

有谁知道我是否可以使用 具体来自cms concrete5执行此任务,因为它是我的一般工作流程的组成部分。 我知道它使用了3层应用程序架构但不太确定我是否可以将其转换为3层应用程序? p>

如果有人对如何做到这一点有任何见解 drupal或wordpress,将不胜感激? p> div>

You can't have your application split up amongst different servers using Concrete5. The database can definitely be on a different server, but the presentation layer and the biz logic / data access layer are all tied together into 1 system if you're using Concrete5 (this is true for most CMS's... they are intended to combine all of that functionality together to make building sites simpler).

If, however, you don't need the presentation and business layers to be on separate servers, you can certainly maintain a conceptual "3-tier architecture" using C5. Basically you just put your business logic into models (classes), then use "single_pages" and "blocks" to serve as the presentation layer. Here is some boilerplate code I use for building custom business logic portions of my C5 sites: https://github.com/jordanlev/c5_boilerplate_crud -- perhaps that will be useful in demonstrating how to structure your code more cleanly.