首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python设计

Python设计
EN

Stack Overflow用户
提问于 2011-07-17 13:12:40
回答 1查看 985关注 0票数 1

我正处于一个中等规模应用程序的规划阶段--经过一些讨论和会议,我和我的学院得出了一个结论,我们将在这个应用程序中使用SOA。这是一个简单的计划。

四层架构..。

代码语言:javascript
复制
|-------- 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)                              --------|
  • 我们将有两个python实例(2台机器),一个是用于实时协作的龙卷风服务器,另一个是非实时业务逻辑。
  • PHP将通过定义良好的RESTful接口与非实时机器对话。
  • 实时协作机器将直接在浏览器中与JS客户端对话。

我的问题是..。

  • 你看到这个设计中有什么直接的缺陷吗?
  • 您推荐的用于RESTful通信的最佳传输介质是什么-- XML、JSON或原生质 (google使用原型)
  • 您认为Python和PHP层之间的缓存是个好主意吗?PHP不会进行任何直接的DB通信--只通过Python。
  • 你还有什么要指出的吗?

--更新--

虽然我不允许透露应用程序的细节,但我想告诉大家,这个应用程序具有高度的协作性,并且在浏览器中处理大量的文本编辑。就像谷歌文档--但不完全是这样。

PHP层之所以重要是因为..。

我们需要保持Python层完全独立于HTML模板。这一层甚至不应该知道我们正在构建一个Web应用程序。原因是我们有多个模板。高级浏览器的html相当复杂,有很多控件、鼠标手势事件和ajax。旧浏览器的模板(IE-6、7 FF-2、3等)简单且“只读”--没有ajax交互。

还有第三组模板,我们需要使用的Adobe组件的应用程序。该公司还计划发布移动和桌面版本的应用程序,如果它是成功的。

因此,我们不能在python层引入HTML。我们可以做的是用另一个python层(用django之类的)替换PHP层来处理模板。但是我们认为我们可以在PHP中更好地处理模板--因为它对模板非常好。我们不会增加任何复杂的逻辑--只是表示机制。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-17 14:46:44

一些关于您的想法的想法:正如Mikko的评论所提到的,PHP层似乎是多余的。目前还不清楚它将实际实现什么功能,特别是它在服务层之上提供的抽象。现代应用程序设计趋向于在javascript+html中实现用户界面。由于您已经开始通过http公开业务逻辑,所以它还必须完成所有的输入验证和auth/auth,所以php中间件将没有太多的工作要做。

实际的RESTful服务并不规定它支持的输出,而是尽力满足来自请求的Accept-Content-Type。至少在Python中,支持json通常是最容易的。Protobuf还很年轻,所以除非你真的需要它所提供的严格的打字,否则我会远离它。不过,从自我描述的角度来看,XML是有用的,如果前端和后端是单独开发的,XML可能是首选的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6724004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档