您为给定的体系结构设计推荐的最佳WCF SOA书籍

时间:2011-10-22 09:33:19

标签: c# wcf soa

我想在Intranet中创建三个WCF服务。 就其功能而言,三个WCF服务彼此独立,例如

  1. 验证服务 - 处理与验证帐户和帐户持有人有关的所有事项。即如果存在账户,如果持卡人存在等

  2. 帐户服务 - 处理帐户余额存款和存款余额

  3. 限制服务 - 检查用户想要取出的金额是否在帐户限额内。
  4. 用例: 用户希望存入一些钱。

      

    UI通过调用帐户服务开始。帐户服务调用验证器   用于检查帐户是否存在的服务。 Validator服务返回boolean   表明帐户是否存在。如果验证器服务返回true   然后账户服务存钱。

    用户想要取钱。

      

    UI通过调用帐户服务开始。帐户服务调用验证器   如果帐户存在,请进行Validator服务返回true。帐户   然后,服务调用限制服务来检查用户是否可以接受此操作   平衡。如果限制服务返回true,则为account service   调用适当的方法,减少平衡,并给予平衡   用户。

    我计划将它们作为Windows服务托管,因为UI和所有这些服务都将部署在同一台机器上。

    1. 您对此有何看法?

    2. 您是否建议您在此类SOA架构上推荐哪些服务与服务相互通信?我真的很关心它的可扩展性,安全性和性能。

    3. 感谢。

1 个答案:

答案 0 :(得分:1)

为什么三个单独的服务用于以这种方式链接的操作?您似乎正在将SOA推向极端,而您不需要这样做。

我会创建一个处理帐户操作(存款,取款,余额查询,转帐等)的服务。验证和限制之类的东西,除非用户可用,我会把它放在幕后,或者作为合同中的私有方法,或者更可能在服务引用的底层DLL中。

拥有只做一件事的服务本身并不是坏事 - 但是拥有多个服务只做一件事,并且所有这些事情都归结为一个逻辑分组,是过度的(IMO)。我建议您仔细研究您尝试建模的业务流程 - 分组(如果有的话)应该很明显。

我会推荐Juval Lowry的书Programming WCF Services: Mastering WCF and the Azure AppFabric Service Bus - 它被许多人认为是WCF的圣经,他有一个完整的附录,是SOA的一个很好的入门。