Google app engine 4层应用程序体系结构-使用noSQL的服务器端API
我一直在尝试构建一个使用noSQL数据库运行的服务器端API。我不熟悉应用程序体系结构,所以我想了解一些关于我如何尝试分离层的反馈。我认为让我头疼的一个主要问题是使用noSQL数据库,它消除了必须事先定义数据模型的限制,同时需要对数据执行非规范化例程,以确保可以快速查询数据 我使用了4层:Google app engine 4层应用程序体系结构-使用noSQL的服务器端API,google-app-engine,nosql,n-tier-architecture,architecture,Google App Engine,Nosql,N Tier Architecture,Architecture,我一直在尝试构建一个使用noSQL数据库运行的服务器端API。我不熟悉应用程序体系结构,所以我想了解一些关于我如何尝试分离层的反馈。我认为让我头疼的一个主要问题是使用noSQL数据库,它消除了必须事先定义数据模型的限制,同时需要对数据执行非规范化例程,以确保可以快速查询数据 我使用了4层: 数据层 接受键控对象 从键提供对象 提供查询中的对象列表 提供键列表中的对象列表 接受已设置关键帧的对象列表 从键中删除对象 基于模型中的定义实现非规范化例程(很多时候,一些对象的一部分被复制到其他对象以
- 数据层
- 接受键控对象
- 从键提供对象
- 提供查询中的对象列表
- 提供键列表中的对象列表
- 接受已设置关键帧的对象列表
- 从键中删除对象
- 基于模型中的定义实现非规范化例程(很多时候,一些对象的一部分被复制到其他对象以加快查询速度,因为noSQL不可能进行连接)
- 业务层
- 提供业务逻辑
- 强制执行权限
- 模型层
- 定义已知对象
- 定义非规范化(将对象的哪些部分复制到其他部分)
- 定义权限(在什么情况下用户可以访问什么对象)
- 表示层(RESTful API)
- 为所有资源/服务提供restful API,包括
- 访问和修改对象
- 设置新用户帐户
- 登录帐户
- API还需要“做”什么
- 为所有资源/服务提供restful API,包括
谢谢 在不知道数据有多复杂的情况下,为什么要将数据层与模型分离?我倾向于将功能添加到我的Google应用程序引擎模型中,以执行他们需要的任何操作,以便从业务层接收数据并将数据发送到业务层 另外,为什么您计划使用低级api而不是持久性帮助器,因为持久性帮助器使持久性像倒下一样容易
我认为你应该后退几步,定义你试图解决的问题,看看谷歌应用引擎内置了什么来解决它。在告诉您如何操作之前,我需要您尝试完成的信息。在不知道数据有多复杂的情况下,为什么要将数据层与模型分离?我倾向于将功能添加到我的Google应用程序引擎模型中,以执行他们需要的任何操作,以便从业务层接收数据并将数据发送到业务层 另外,为什么您计划使用低级api而不是持久性帮助器,因为持久性帮助器使持久性像倒下一样容易 我认为你应该后退几步,定义你试图解决的问题,看看谷歌应用引擎内置了什么来解决它。在告诉你怎么做之前,我需要你想要完成什么的信息