Web服务体系结构 - 多种服务和多个数据库连接?

时间:2009-12-31 16:46:49

标签: web-services

有人可以指导我一些好的文档或反馈,了解在处理不同问题的应用程序中实现Web服务的最佳实践是什么?例如,我应该创建不同的服务,一个处理安全性的服务,(AuthService),一个处理客户服务代表的数据输入,(CRUDService),BillingService等,或者我应该将所有这些“服务”封装成一个,例如ApplicationService?基本上,我在询问在一个应用程序中创建多个服务(文件)是否不好。你们有些人可以记录你的经历或你经历过的经历吗? 另外,假设上面列出的三个服务连接到同一个数据库,但实际上却遇到了完全不同的问题,例如:一个用于所有交易,如CRUD,另一个用于纯粹的报告目的。我应该在这里创建两个服务,一个是CRUDService,另一个是ReportingService吗?通过这两种服务创建两个不同的数据库连接是不是很糟糕?或者我如何与不同的服务共享相同的数据库连接?

2 个答案:

答案 0 :(得分:1)

我认为公共服务中存在将所有内容转储到一个服务中的趋势。对于公开的API,这可能不是一个坏主意。它只是让开发人员更容易。但是,对于我工作的任何项目,我都试图将其分解为逻辑组。这样,您的客户端不需要继承它可能不需要的功能。更新服务也是一项稍微容易的任务,因为您只影响Web服务框架的某个子集而不是所有内容。因此,如果您的服务合同中断并且您的客户不再支持它们,他们仍然可以使用您系统的其他部分,但不能使用该特定部分。如果您在聚合服务上违反合同,则一切都会失败。最后,如果您必须实现类似故障转移支持的功能,您可以更灵活地选择哪个服务需要更多故障转移节点,从而可以更好地管理资源分配。

答案 1 :(得分:1)

如果您需要最佳做法,请查看SOA Design Pattern Catalog