SOA 建模: 第 1 部分 服务识别

本文介绍了如何使用建模和模型驱动开发(MDD)将业务需求与SOA解决方案相结合。通过业务过程建模和UML扩展,识别与业务目标相连接的服务,确保解决方案与业务价值紧密相连。使用IBM工具如Rational和WebSphere进行建模,以实现业务目标,同时隔离业务关系与执行细节。文章以Purchase Order Process为例,展示了从需求捕获到服务识别的详细步骤。
摘要由CSDN通过智能技术生成
本文是五篇系列文章中的开篇之作,本系列文章是有关基于面向服务的架构(SOA)的软件开发。它介绍了如何使用 IBM® Software Service Profile 扩展的 UML 模型设计同业务需求相连接的 SOA 解决方案,而它至今仍然是独立于解决方案的执行的。作者首先描述了业务目标以及满足这些目标所要执行的业务过程,然后解释了如何使用该过程识别那些完成他们所提需求所必须的业务相关的服务。

建模是如何改进 SOA 的

SOA 的强大功能在于它具备将业务敏捷贯穿业务过程综合和复用的能力。SOA 通过一下两种方式实现这一功能:方式之一是通过鼓励解决方案被组织在可复用的服务周围,这些服务对从执行中分离出来的功能进行压缩;方式之二是为管理功能之间的耦合提供工具。建模能够被用来消除业务需求和一个已经被配置的基于服务的解决方案之间的缺口。模型驱动的开发方法能够被用来生成 SOA 执行,通过使用诸如 Java™ 2 Platform, Enterprise Edition (J2EE) 或者 IBM® CICS® 这些在业务敏捷有效的同时满足业务功能性和非功能性目标的平台。

面向服务的架构(SOA)具有许多含义。从业者通常使用 SOA 来定义一个架构风格,以及描述一种使用该架构风格进行操作的 IT 基础构造。这些是很有用的聚焦拓扑结构的透视图,但是仅有这些还不够。

要实现其潜能,基于 SOA 的 IT 基础构造(此后简称为 SOA 需要同业务相关,从而由业务驱动并且用来对业务加以支持。我们需要一种设计 SOA 解决方案的方法,该方案同它们需要实现的业务需求相连接。如果所给出的业务需求仅仅是一个需求条目的列表,并且 SOA 的抽象级别是从描述 Web 服务集合的若干 XML 文档中得到的话,那么找到这种解决方案是很困难的。

我们所需要的是一种形式化业务需求并且提高抽象级别以便 SOA 能够更加类似业务服务,以及那些服务是如何满足业务目标的方法。这这种方法将被配置的解决方案同其业务价值紧紧联系在一起。与此同时,我们需要一种从支持它们的展开的 SOA 平台中隔离业务关系的方法。

建模和模型驱动开发(MDD)能够帮助我们实现这些目标。建模允许我们将执行细节抽象出来,并且关注于那些驱动架构决定的问题。从某种意义上说,这一方法将描述如何将 SOA 的基本原理之一应用到 SOA 解决方案的开发中:分离关系和松耦合。这里,我们将业务分析师的任务和责任从那些 IT 成员中明确分离出来。

通常的,业务分析师将关注业务组织和操作要求,这些都是满足业务目标所必须的。他们往往并不关注(也没有能力处理)IT 关系,例如复用、内聚性和耦合性、分发、安全性、持续性、数据完整性、并发性、错误恢复等等。进一步,业务过程建模工具通常并不具备处理这些关系的能力。假如它们具备了这些能力,那么它们也许就不再是一款有效的业务分析工具了。

关于建模 SOA 的本系列文章

本系列文章展示了如何使用扩展了 IBM® Software Service Profile 的 UML 模型来设计一个同业务需求相联系的 SOA 解决方案,该方案目前尚独立于解决方案的执行。通常来讲,通过一个具体的、典型的、和完整的例子能够更容易的理解概念。本文也将采用这一方法。我们不会花费大量的时间处理 UML 的细节,但是我们会关注如何通过使用 UML 来帮助您进行设计和开发。

虽然本系列文章是关于来自 SOA 模型的 Web 服务解决方案的,但是我们首先来关注我们所努力实现的业务目标,从而使得我们的解决方案能够实现业务中的某些有价值的部分。然后,我们探索业务过程,该过程需要在业务中被完成以实现那些目标。这将提供 SOA 解决方案必须满足的业务功能性需求。接着,我们使用业务过程来那些在创建 SOA 解决方案中有用的识别服务。

在本系列的后面几篇文章中,我们将利用具备未来复用和业务敏捷的架构,创建服务规范和执行来实现那些需求。最终,我们将使用 MDD 生成一个能够被配置和执行的 Web 服务解决方案。

为了使例子更加真实,我们将使用已经存在的 IBM® Rational® 和 IBM® WebSphere® 工具来建造解决方案,并且将它们链接在一起,从而我们能够验证该解决方案并且更加有效的管理变化。表1提供了一个开发例子及其所使用工具的全面过程的概要。


表1. 开发过程角色、任务和工具
角色 任务 工具
业务执行官 传达业务目标 Rational RequisitePro
业务分析师 分析业务需求 WebSphere Business Modeler
软件架构师 设计解决方案的架构 Rational Software Architect
Web 服务开发人员 执行该解决方案 IBM® Rational® Application Developer 和 IBM® WebSphere® Integration Developer

本系列文章关注的是如何捕获业务需求,建立满足其需要的服务模型,并且创建和配置实现这一设计的解决方案。我们还将重点强调支持工具。目前,这些工具由表1中所列出的 IBM 工具提供,它们将表现 SOA 建模性能的最小集,并且能够在任何架构层中被用来对消费者的请求和提供者的服务进行建模。这些工具并没有将过多的注意力放在用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值