我需要创建Web应用程序,用户可以将其作为常规Web站点和XML-RPC Web服务访问。网站也应该有移动版本。我打算使用下一代技术:
后来其他项目可以获得这些数据并提供逻辑,所以我认为制作两层更好。我从下面看到了它:
对于这些层之间的通信,我打算使用XML-RPC协议。 在这种情况下,很容易扩展它并添加新的前端应用程序或将其他项目连接到此(我相信它)。
我有一个主要问题, - 我可以使用什么来轻松构建第一层?也许有一些框架对此有好处? 您如何看待整个架构?因为我正在填补我用Python开发的Java术语。也许在这种情况下,Python世界中还有另外一些习语。
谢谢你的时间和帮助。
P上。 S. 欢迎阅读一些链接。
答案 0 :(得分:4)
这种架构真的没有意义。您正在使用Django,一个完整的堆栈Web框架,用于前端,但不将它用于数据库。并且您正在为Web服务端使用另一个全栈Web框架Pyramid,从而确保您复制所有业务逻辑。
就像我是Django的倡导者一样,我会说它在你的架构中没有位置。看起来你唯一真正使用它的是URL路由和模板,这两者都是金字塔本身很好的 - 你甚至可以使用基于Django模板语言的Jinja2作为金字塔中的模板语言,如果你喜欢的话
这样做意味着您可以在前端和Web服务代码之间共享业务逻辑,因为您几乎肯定会发现很多内容都是相同的。
我还必须说,我不理解分层,你已经描述过与前端/网络服务部门分开。对我来说,Web服务是的第二层。进一步划分是没有意义的。
答案 1 :(得分:0)
你应该检查Turbogears框架,因为它由几个流行的组件组成:ORM与sqlalchemy,逻辑的pylons和对WSGI的支持,允许为前端支持几个模板引擎......无穷无尽。
我将它用于支持AJAX的前端(如基于Flex的应用程序等)的多个Web服务。您可以使用apache或您最喜欢的支持WSGI的Web服务器前端基于TG2的webapp。
查看他们的网站,因为他们有一个教程,可以在20分钟内设置一个wiki。
干杯!