随着面向服务架构使用率的增长,由 Web 服务 API(目前最流行的 SOA 实现技术),如 Java 中的 JAX-RPC 或.NET 中的 Web 服务扩展 API,所提供的抽象级别对于有效实现 SOA 越来越显得力不从心。而尝试通过定义 SOA 编程模型来提高 API 的抽象级别,这样可解决当前 API 集合中的一些问题。编程模型的目标就是降低应用程序开发者直接处理中间件或 Web 服务特定 API 时面临的复杂度。通过从业务代码中移除大部分的通信支持,并将它们隐藏在编程模型抽象 / 实现之后,可以获得很多好处。
在本文中,作者深入浅出地介绍了实现 SOA 的三个最流行的模型:如来自微软的 Windows 通信基础(Indigo)编程模型;来自 Java Community Process 的 JBI 模型以及来自 IBM、BEA、IONA、Oracle、SAP、Siebel、Sybase 等的服务组件架构(SCA)等。通过支持无缝的服务编排(orchestration)和许多对于成功实现 SOA 必需的模式,这些编程模型试图超越简单的服务调用,并期望提供更多的功能。它们同样也是实现企业服务总线(ESB)的基础。如果你正在研究或者开发 SOA 相关项目,本文会非常有帮助。
本文作者 Boris Lublinsky 在软件工程和技术架构方面拥有超过 25 年的经验,经常在一些技术大会上演讲,并发表过多篇关于技术架构和 SOA 的文章。目前他主要为大型保险公司工作,负责开发和维护 SOA 策略和框架等。
阅读全文: SOA 编程模型
评论