自治应用程序的体系结构
2007-02-23 12:21:12 来源:WEB开发网根据业务规则进行验证
有些发送给 fiefdom 的请求要求保存或删除数据。如果没有根据安全策略对请求本身并根据业务规则对其数据进行仔细验证,fiefdom 就不应该接受这样的请求。这就是业务规则和策略规则属于 fiefdom(由 Pat Helland 定义)并位于服务(由 SOA 定义)的原因。
与客户端松散耦合
fiefdom 与其客户端进行松散耦合。通常在客户端向 fiefdom 发送消息以建立连接之前,客户端和 fiefdom 之间并没有任何连接。fiefdom 处理该消息并发送响应给客户端。响应可以是请求操作的结果,也可以是对执行服务的拒绝。在任何一种情况中,都是只要 fiefdom 响应完毕,就断开客户端和 fiefdom 之间的连接,就像 HTTP 消息交换一样。正如 HTTP 一样,有多种方式可以在整个会话期间保持连接,但通常只限于一个完整的消息周期。
松散耦合对可扩展性而言是有好处的。它使得任何客户端连接到系统并使用系统资源的时间最少。松散耦合和一次性管理 Microsoft 事务处理服务 (MTS) 的设计,并随后纳入 COM+ 组件服务的所谓 .NET Enterprise Services 的原则相同。
基于 XML 的 Web 服务
隐藏在 SOA 背后的一个概念是位置透明,另一个是与计算平台和编程语言无关。Web 服务对于满足这些基础概念是十分理想的。由于 Web 服务为人所知的是它的 URL,而其实际位置可以更改(只要服务提供程序仍然指向该位置)。
由于 Web 服务与底层平台和编程语言完全无关,所以它只要求客户端理解 SOAP、XML 和所使用的传输协议。传输协议通常是 HTTP,但也可以是 SMTP 或任何标准的 Internet 传输协议。
有人会认为,以 Microsoft .NET 目标语言编写的任何 fiefdom 都应该通过 Web 服务公开其数据和功能。它并不需要将这些 Web 服务向外界公开;它们仅有的的直接客户端类型可以是 fiefdom 所熟知的 emissary。
更多精彩
赞助商链接