在我的公司,我们目前正在使用经典的n层架构,使用NHibernate作为我们的胖对象持久层。看到这种模式的许多问题,例如当从数据库中检索实体时对象图的完全水合,我们一直在寻找其他替代方案。
在这个过程中,我们已经转向更具可扩展性的命令和查询架构,现在我们正在研究SOA的可行性。
根据您的经验,SOA相对于n层的最大优势是什么?你遇到过什么重大障碍吗?
建议和阅读材料会有所帮助。
答案 0 :(得分:1)
除了可伸缩性之外,SOA还提供了架构灵活性。如果您决定将应用程序从WebForms迁移到Silverlight,则两者都可以同等地利用设计良好的SOA接口。
您还可以在某个时候决定提供一项新服务,该服务利用您当前产品中的某些功能和/或数据。您只需构建一个有权访问现有界面的新应用程序,即可离开。
答案 1 :(得分:0)
松散的耦合和治理。