我们的客户遵循SOA原则,并有设计的Web服务是非常细粒度像createCustomer,deleteCustomer等事务管理
我不知道如果细粒度的服务是可取的,因为他们创造的事务有关的问题。例如,如果业务需求是每个客户在创建时都必须有一个地址。因此,在这种情况下,表示组件首先调用createCustomer,然后调用createAddress。这些服务在内部使用简单的JDBC来更新db中的相应表。由于服务是由外部组件调用的,因此它没有办法满足事务性要求,即如果createAddress失败,则createCustomer操作必须回滚。
我想,处理这个问题的方法之一是设计课程粒度服务(在单个JDBC事务中创建客户和关联地址)或者简单地创建反向服务(deleteCustomer) createCustomer的行为。
有什么建议。谢谢
该文章的链接似乎已损坏。 – AdamC 2014-08-11 17:44:06
该文章似乎已消失。我已删除链接。 – djna 2014-08-11 18:09:43