目前在我的组织内部,我们正试图提出一些试点SOA项目的约定。乍一看,我们认为最好强制服务的用户使用业务服务而无需直接访问任何数据端点..但是有特定的情况,这不是真的,或者它可能对开发人员“有效”有权访问服务之外的特定数据端点?
我总是担心,如果我们打开它,它实际上会损害重用,因为每个人都会使用相同的后端数据“重新发明”类似的商业服务,并且“理论上更容易”只是编写一个新的业务服务,而不是问“这个其他服务使用我的数据库做了什么?”
因为即使服务几乎是直接传递到数据库,我们也可以应用规则来节省开发人员的时间并最终节省业务资金。
思想?
答案 0 :(得分:0)
您的网络服务不会只是您的业务层的薄包装吗?除了一些愚蠢的DTO之外,你的服务层可能不应该只有你的业务层。然后没有人问“这个其他服务使用我的数据库做了什么?”因为它没有使用你的数据库,它正在使用你的BL。
答案 1 :(得分:0)
当你描述“强迫”用户做任何事情时,你正在挥舞着一面红旗。也许你可以考虑你的问题并用“启用”用户这样的术语来重新定义,因为这应该是你决定的起点,而SOA为不同的UI策略提供了优势和劣势。