我正在开发一个使用n轮胎应用程序架构设计的应用程序。该应用程序是在.NET平台上开发的,利用C#,VB.NEt,Framework 3.5,Dataset,WCF,asp.net更新面板, JavaScript,Josn,第三方工具。 我目前提出的布局是这样的
表示层 - >业务逻辑 - > WCF - > DAL->数据访问
重点是: 上面的布局是构建SOA系统的正确方法吗?
一如既往,非常感谢您的建议
答案 0 :(得分:8)
这取决于您的定义,请参阅Fowler's comments。
通常,为了从SOA中获得最大收益,您的服务应该被设计为可由多个消费者重用。这意味着将您的业务逻辑放在WCF层的“下方”。然后,您可以使用相同的服务和业务逻辑,例如Silverlight客户端,WPF客户端等。
将您的方案更改为:
多个表示层 - > WCF - >业务逻辑 - > DAL->数据访问
答案 1 :(得分:4)
看起来它可能是正确的,虽然我也把WCF放在Pres和Biz层之间。此外,不要害怕为您的SOA架构设置非线性路径(即,具有来自N-Tier路径一侧的“EmailService”和“WeatherDataService”等辅助服务。显然,WeatherDataService将来自DAL的一面,但EmailService可能来自您的商务层一侧。
一些很棒的链接:
答案 2 :(得分:0)
您的服务应该是业务运营,而不是数据运营。更好的设计版本是: 表示层 - > WCF - >业务逻辑 - >数据访问。
如今,N层/分层是一个相当过时的概念。它总是崩溃。 Instaed,如果互动服务,请将您的软件视为一个数字。