作为 IBM 的一位实践执行 IT 架构师,Tilak Mitra 为 IBM 的客户提供咨询,帮助他们开发和实现 SOA。在“体系结构实践”专栏中,Tilak 将与您分享他的经验,帮助您将 IT 体系结构的理论(尤其是 SOA)转化为实践。您有什么需要帮助的棘手问题吗?请通过 tmitra@us.ibm.com 联系Tilak,他将来可能会针对您的问题在专栏中专门撰写一期文章。
概述
面向服务的体系结构 (SOA) 对于不同的人有不同的含义。对于一名业务执行人员,它能提供一组业务服务,并提供给客户合作伙伴。对于一名 IT 架构师,SOA 既是一种体系结构样式,也是一个范例,能用来创建模块化和松散耦合的服务,这些服务可以被组合和编排在一起,创建出代表运营企业的业务流程。
一个运行的 SOA 系统的关键在于对系统中的各项业务服务进行适当的概念化和标识。架构师在决定哪些服务需要建模和构建时,必须考查多种因素。这些因素的关键是服务的各种特性,包括:
- 服务在业务协调方面的潜力
- 它的可组合性
- 它的可重用性
- 它在实现方面的技术可行性
根据一些重要的基础性概念,可以为基于 SOA 的企业体系结构的服务建立模型,并设计这些服务。
服务会严格遵循 SOA 系统中的生命周期。SOA 生命周期的每个阶段都需要设计和开发工具,以及中间件软件产品,以使该阶段内的各项活动能顺利进行。本文介绍了 IBM 提供的重要工具和产品,它们是用来实现 SOA 生命周期内的各个阶段的。
SOA 生命周期
服务的生命周期是从建立需求模型开始,然后是服务的设计和开发,接着是服务的组合与编排。此后会将服务部署到一个执行运行时。各种运行时系统不但为服务及其包含的业务流程提供了执行环境,而且还提供了一套用来监视和管理服务的机制。
SOA 基础将简要介绍实现一个 SOA 系统的逻辑步骤。IBM 已经细心地挑选了软件工具和产品,能帮助您用一个更广阔的 IBM 软件投资组合实现 SOA 基础,以支持 SOA 生命周期中的每个阶段,SOA 生命周期由下列四个阶段(常被称为 MADM)组成:
- 建模
- 组装
- 部署
- 管理
治理和最佳实践提供用来监督生命周期中每个阶段的的全部原则。图 1 展示的是 IBM SOA 基础。
大致上,每个阶段发生的一般活动如下:
- 建模。收集需求,对端到端的业务流程进行建模、分析和设计,然后再进一步优化,形成企业的未来状态业务流程。
- 组装。实现服务。已实现的服务将被组装,也就是说,它们将被发现、编排和组合,以实现企业业务流程,这些流程将经过测试,以满足功能性和非功能性需求。
- 部署。组装好的业务流程会被部署到正在操作的运行时环境中。
- 管理。对运行时中执行的服务和业务流程进行监视和分析,以保证它们能正常运行。此外还会测量安全性、性能和可用性等 IT 度量。对服务和业务流程进行进一步监视,以保证它们与应当满足的业务度量及服务级别协议 (SLA) 之间的兼容性。
- 治理和最佳实践。这是用来监督 MADM 生命周期中每个阶段中所有方面的全部原则。由于治理和最佳实践对 SOA 开发有着深远的正面影响,因此被视为强制性原则而加以制度化,使之成为一个正规的 SOA 实现中必需的一部分。
本文剩余部分将重点介绍用来实现 SOA 生命周期中每个阶段的 IBM 工具和产品。您可以从 developerWorks 的试用版下载区下载本文中介绍的某些产品的试用版。(请参见参考资料部分。)
这一部分将介绍可以用来执行 SOA 生命周期各阶段的活动的 IBM 产品。
- WebSphere® Business Modeler
- Rational® RequisitePro®
在建模阶段,将围绕企业运营的关键流程进行业务建模。首先会建立当前业务流程的模型。这个步骤将帮助您记录业务的当前状态,并教育员工和新职员,使他们了解业务是如何运行的。此后会模拟现有的已建模业务流程,以确定现有操作中的可能瓶颈。业务流程优化将帮助您重新设计已确定的瓶颈区域,使业务流程变得更灵活,性能更高,并能消除故障点和消费者抱怨的服务。
这一优化的成果是目标业务流程的模型。它们依次被各种数据点模拟,以评估可能的后果。这些后果可以根据业务需求(功能性和非功能性的)加以验证。利用模拟的流程,可以预测如何在各种不同的场景中执行业务;例如,在不同的季节,会有不同的使用者负载。业务将不再被突然情况弄得措手不及,这有助于业务从被动式的操作模式转换到另一模式中,在该模式中,可以对不同业务事件的后果进行预测。这是为了成为灵活的企业而迈出的关键一步。
企业需要成熟的工具来建立业务流程的模型,而且建模的方式不能过于深奥和困难,以致于只有 IT 人员才能使用。该工具应当使用普通的业务词汇,而不是复杂的 IT 术语。它应当能够将关键性能指标 (KPI) 形式的业务度量、资源、成本和性能度量添加到流程的元素中,以便在 SOA 生命周期中后来的阶段测试它们。WebSphere Business Modeler 提供这一类的功能。它是一个可靠的、完全成熟的、稳定易用的产品,能用来建立业务流程的模型。
WebSphere Business Modeler 可以:
- 供业务分析员使用。
- 捕获业务流程设计。
- 提供业务流程、组织结构、资源和性能度量的可视化表示形式。
- 提供一个用于流程分析和测试的模拟工具。
- 导出 SOA 生命周期中各个阶段的活动所使用的业务模型。
- 生成与节省的成本、时间和资源有关的信息。