【IT168 技术文章】
本系列教程五部曲中的第 3 篇文章,介绍基于 SOA 的 Web 服务如何被实际实现。该服务实现首先要决定什么组件将提供什么服务。该决定对于服务可用性、分发、安全性、事务范围和耦合具有重要的含义。在这些决定做出之后,您就能够对每一项服务的功能性是如何实现的,以及被要求的服务是如何被实际使用的进行建模。然后,您能够使用包含在 IBM? Rational? Software Architect 中的 UML 到 SOA 的转换特性,创建一个能够在 IBM? WebSphere? Integration Developer 中被用来实现、测试和配置完全解决方案的一个 Web 服务实现。
本文的内容
全面理解 SOA 建模,需要知道服务是如何被提供者实际实现和被消费者实际使用的相关细节。如果实现很困难,那么可能是由于规范不正确或者识别了错误的服务。本文显示了如何对我们在前面文章中设计的每一项服务规范的实现进行设计。该实现设计包括以下三个步骤:
决定哪一位提供者提供哪一种服务
设计服务实现
集合并连接必要的服务消费者和提供者,对完全的实现进行建模
决定哪一位提供者提供哪一种服务(可能不止一位)是由许多因素驱动的,包括:
服务最有可能被应用在哪里
它们最有可能被部署在哪里
服务提出什么质量要求
功能性区域的稳定性
预期的最大变化在哪里
在域中可以容忍多少耦合
安全性问题
可应用的平台实现技术
现存系统的集成和复用
所有这些相关内容的详细分析已经超出了本文的范围,但是它们都被包含在 IBM? Service Oriented Modeling and Architecture (SOMA)方法中。在此,我们将假设 IT 架构师已经决定了哪一位服务提供者将会提供什么样的服务,所以我们能够将精力集中在提供者是如何被建模和组合到消费者解决方案中的。
同本系列教程中的所有文章一样,我们将使用现已存在的 IBM Rational 和 IBM WebSphere 工具来建造解决方案,并且将它们链接到一起,从而我们能够根据需求验证该解决方案,并且更加有效的对变化进行管理。表1总结了我们将要开发例子的过程,以及我们将要使用的工具。
表1. 开发过程角色、任务和工具
角色 任务 工具
业务执行官 传达业务目标 IBM? Rational? RequisitePro?
业务分析师 分析业务需求 IBM? WebSphere? Business Modeler
软件架构师 设计解决方案的体系结构 IBM Rational Software Architect
Web 服务开发人员 实现该解决方案 IBM? Rational? Application Developer 和 IBM? WebSphere? Integration Developer
服务识别和规范回顾
首先,我们回顾在前面文章中被识别和指定的服务规范。图1显示了我们的解决方案所必须满足的业务服务需求合同。

图1. 服务需求合同