我正处于一个中等规模应用程序的规划阶段--经过一些讨论和会议,我和我的学院得出了一个结论,我们将在这个应用程序中使用SOA。这是一个简单的计划。
四层架构..。
|-------- database (NoSQL + SQL polyglot store) --------|
|-------- python for all the heavy business logic --------|
|-------- php would talk to python using SOA and render HTML --------|
|-------- front-end (html+css+js) --------|我的问题是..。
--更新--
虽然我不允许透露应用程序的细节,但我想告诉大家,这个应用程序具有高度的协作性,并且在浏览器中处理大量的文本编辑。就像谷歌文档--但不完全是这样。
PHP层之所以重要是因为..。
我们需要保持Python层完全独立于HTML模板。这一层甚至不应该知道我们正在构建一个Web应用程序。原因是我们有多个模板。高级浏览器的html相当复杂,有很多控件、鼠标手势事件和ajax。旧浏览器的模板(IE-6、7 FF-2、3等)简单且“只读”--没有ajax交互。
还有第三组模板,我们需要使用的Adobe组件的应用程序。该公司还计划发布移动和桌面版本的应用程序,如果它是成功的。
因此,我们不能在python层引入HTML。我们可以做的是用另一个python层(用django之类的)替换PHP层来处理模板。但是我们认为我们可以在PHP中更好地处理模板--因为它对模板非常好。我们不会增加任何复杂的逻辑--只是表示机制。
发布于 2011-07-17 14:46:44
一些关于您的想法的想法:正如Mikko的评论所提到的,PHP层似乎是多余的。目前还不清楚它将实际实现什么功能,特别是它在服务层之上提供的抽象。现代应用程序设计趋向于在javascript+html中实现用户界面。由于您已经开始通过http公开业务逻辑,所以它还必须完成所有的输入验证和auth/auth,所以php中间件将没有太多的工作要做。
实际的RESTful服务并不规定它支持的输出,而是尽力满足来自请求的Accept-Content-Type。至少在Python中,支持json通常是最容易的。Protobuf还很年轻,所以除非你真的需要它所提供的严格的打字,否则我会远离它。不过,从自我描述的角度来看,XML是有用的,如果前端和后端是单独开发的,XML可能是首选的。
https://stackoverflow.com/questions/6724004
复制相似问题