好吧,我正在设计一个独立的Web服务(使用RestLET作为我的框架)。我的应用程序被分成在〜3层:如何在应用程序中组织和管理多个数据库凭证?
- 数据层(就在数据库的上方,提供API用于连接/查询数据库,和一个数据库对象)
- 对象层(负责串行化从数据层...提供客户端层可以使用的对象而不用担心数据库)
- 客户端层(该层是RestLET Web服务...基本上只是从对象层创建对象并实现web服务请求)
现在,对于我在对象层中创建的每个对象,我想使用不同的凭据(这样我可以对每个对象进行沙箱...)。对象层不应该知道确切的凭据(IE登录/ pw/DB URL等)。
什么是最好的管理方式?我在想,我的数据层应该有一个超级类型的数据库对象......并且每个子类都将包含所需的登录信息......这样,我的对象层可以去Database db = new SubDatabase();
,然后继续使用该数据库。
在客户端级别,他们只能去ItemCollection items = new ItemCollection();
,并且不知道/控制连接的数据库。
我在问这是因为我试图让我的平台具有可扩展性,以便其他人可以轻松地从我的平台上创建服务。
如果任何人有这些建筑问题或如何的经验来管理这样的事情我会很感激任何见解或意见...
随意问的问题,如果这是令人困惑的。谢谢!
我的平台是Java,我使用的REST框架是RestLET,我的数据库是MySQL。
如果您使用Spring或任何应用程序服务器,则可以分别配置bean和数据源。您的DAO可以注入或查找相同的内容。如果你编程接口,而不是使用任何数据库特定的功能,那么它会正常工作。 – saugata 2010-03-11 05:42:00