好的,所以我正在设计一个独立的 Web 服务(使用 RestLET 作为我的框架)。我的应用程序分为 3 层:
- 数据层(就在数据库之上,提供用于连接/查询数据库的 API,以及一个数据库对象)
- 对象层(负责数据层的序列化……提供客户层可以使用的对象,而不用担心数据库)
- 客户端层(这一层是 RestLET Web 服务......基本上只是从对象层创建对象并满足 Web 服务请求)
现在,对于我在对象层中创建的每个对象,我想使用不同的凭据(这样我就可以对每个对象进行沙箱化......)。对象层不应该知道确切的凭据(即登录/密码/数据库 URL 等)。
管理此问题的最佳方法是什么?我在想我的数据层应该有一个超类数据库对象......每个子类都将包含所需的登录信息......这样我的对象层就可以Database db = new SubDatabase();
继续使用该数据库。
在客户端级别,他们只是能够去ItemCollection items = new ItemCollection();
并且不知道/控制连接的数据库。
我问这个是因为我试图让我的平台可扩展,以便其他人可以轻松地从我的平台创建服务。
如果有人对这些架构问题或如何管理这类事情有任何经验,我将不胜感激任何见解或建议......
如果这令人困惑,请随时提出问题。谢谢!
我的平台是 Java,我使用的 REST 框架是 RestLET,我的数据库是 MySQL。