面向服务体系架构(SOA)的强大之处,在于它能支持业务集成和再使用过程中的业务能力。SOA通过两种方式来达到这个目的:通过鼓励围绕可再用服务组织的方案,这些可再用服务集成了与它们的执行相隔离的功能性性能;通过为管理功能性性能之间的耦合提供必要的手段。建模可以用于消除业务需求与部署的基于服务的方案之间的鸿沟。SOAML 模型提高了抽象的层次以允许你关注于业务服务。在支持业务能力的同时,使用能够满足业务功能性和非功能性目标的 RESTful Web 服务,模型驱动的开发方法可以为 Java?Platform、Enterprise Edition(JEE)、IBM? CICS? 或者 Web-Oriented Architectures(WOA),用于生成设计的执行方案。
术语面向服务体系架构(SOA)拥有一些内在的涵义。实践者一般使用 SOA 来定义一个结构性的形式,和描述一个普通的 IT 基础,该基础能够支持使用结构性形式构建的 IT 结构。这些都是非常有用的关注于技术的视角,但是,它们自身并不是足够的。
为了实现它的潜力,一个基于SOA的IT基础(以后都简化称为SOA)需要是与业务相关的,因此由业务驱动和执行以支持业务。我们需要有一种方式去设计SOA方案,这些方案与它们满足的业务需要相联系。如果业务需求是作为需求项的简单列表给出,而且SOA的抽象层次是在描述一系列 Web 服务的一些 XML 文件中获取的话,那么就很难实现上述这种构想。
我们所需要的是规划化业务需求,并提高抽象的层次,这样SOA就可以更加紧密地收集业务服务,以及这些服务是怎样满足业务目的和目标的。这就可以讲部署的方案与它预定的商业价值联系在了一起。同时,我们需要一种方法,去将商业上的关注点与发展支持它们的SOA平台隔离开来。
建模和模型驱动的开发(MDD)可以帮助实现这些目标。模型允许我们从执行的具体过程中抽象出来,并关注于驱动业务和结构性决定的问题。在一定的程度,我们将要描述的方法,对业务和方案开发应用了一种基本性的原则:关注点的隔离和耦合的解离。在这里,我们可以清晰地将任务和业务分析员的责任与那些 IT 员工隔离起来。
对于一个业务难题创建敏捷、及时和可再用的 IT 方案可以是非常困难的。它需要对结构的关注,这种结构隔离了关注,并降低了部件之间的耦合,特别是在方案构件是由不同组织所有时更是这样。能够快速响应不断更改的充满革命性集成业务方案,实现起来是更加困难的。集成和交互性需要不同的公司在不同的时间开发的构件的标准,最终集成到一个整体的构件之中。SOAML(面向服务体系架构建模语言)是一种对象管理组(OMG),它用于消除这个隔阂,并帮助实现SOA的潜力。SOAML是对UML的小型扩展,以支持SOA建模。它提供了SOA的抽象,以关注描述参与者的需要和功能,并将他们联系在服务价值链中。
SOAML提供了一些便利之处。
支持模型层次上的交互性与集成性
提供了隔离于平台多样性及低层次 Web 服务 XML 文件标准之外的高层次抽象性
通过使用结构作为业务需求与自动化 IT 方案之间的桥梁,来处理业务集成与服务交流的关注点
通过模型驱动的结构(MDA)来支持已存在平台之上或者之间的 SOA
支持灵活的平台选择
解去方案结构平台执行的耦合,以阻止已存在的方案对平台发展造出不良影响
为末端到末端生命周期开发与管理平衡和集成已存在的 OMG 标准