InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

Open Group发布新技术标准——SOA本体

作者 Boris Lublinsky 译者 马国耀 发布于 2010年12月19日

领域
企业架构,
架构 & 设计,
语言 & 开发
主题
语义网 ,
SOA ,
W3C ,
架构 ,
企业架构 ,
规范

为了通过SOA架起业务与IT之间沟通的桥梁,Open Group发布了一项新技术标准——SOA本体——旨在更好地定义SOA的相关概念、术语与语义。该标准

……从业务和技术层面定义了SOA的相关概念、术语和语义,目标是:
  • 为特定领域的进一步工作建立基础
  • 在业务和技术人员之间架设沟通的桥梁
  • 加强业务和技术社区对SOA概念的理解
  • 提供一种清晰且准确地描述问题和机会的方式,以促进相互之间的理解。

本体的两个核心概念是系统元素,其中:

元素是特定的抽象级别上不可拆分的不透明实体。元素有着清晰定义的边界。

系统是由其他事物构成的有组织的集合。系统中的具体事物就是元素的实例,实例为系统所用。

两个概念都是通用的,它们可用于描述任意的实现方式,也可描述通用概念,系统包含元素,系统又能以层级的形式组合(由系统组成的系统)。域和域之间的差别在于其中所包含的系统和元素的具体含义的不同。

本体的另一核心概念是服务。它是SOA的基础,并且一直用于SOA系统的描述与实现的实践当中。

服务是对具有特定产出的可重复活动的逻辑描述。它是自包含的,对使用者而言它是一个“黑盒子”。

在定义服务时本体省略了通用的术语“业务”,标准中有这样一段描述:

……业务的概念因不同的视角而异——例如,在某人看来是IT概念,在另一人眼中却是业务(IT的业务)。本体中定义的服务与传统意概念上的业务域或IT域是不相干的。

尽管在本体中服务是作为元素的子类而定义的,但是它也提到,上层类别(如系统)的实例提供的能力也可视为服务。

在本体中,与服务相关的其他上层结构有服务契约(serviceContract)、服务接口(serviceInterface)和信息类型(informationType)。

服务契约定义了交互参与者(服务提供者与服务消费者)必须(直接或间接)达成一致的术语、条件和交互规则。在交互过程中,服务契约与所有参与者进行绑定,包括服务本身和为特定的交互活动提供服务的元素。

它描述了正确使用服务所需的具体协议。它可能来自准确描述的服务功能需求,也可能产生于希望规范服务使用的愿望。

服务接口定义了其他元素与服务交互和交换信息的方式。

良好定义的服务接口使得与服务的交互非常简单,能使其他元素有条理地使用服务。服务接口告知其他元素如何向服务发送信息或从服务获取信息。 与服务之间的特殊信息交换是通过信息类型(informationType)而定义的。

SOA的一个主要优势是服务的可组合性。SOA的该属性由两个本体概念定义——组合和服务组合(serviceComposition)。

组合的定义是——为实现特定目标而将一组事物装配起来。SOA本体将组合定义为系统的子类,所以,它强调:组合是一个系统,而系统不一定是组合。它还进一步区分了几种组合模式,譬如适配组合模式(Orchestration Composition Pattern)、编排组合模式(Choreography Composition Pattern)和协作组合模式(Collaboration Composition Pattern)。

下面是组合的特例:

……服务组合(serviceComposition),即将一组服务装配起来从而形成一个新的、粗粒度更大的服务。

最后,本体将事件也加入到SOA概念的基础范畴。

事件、发出事件或响应事件的元素,它们任何事件系统的重要内容。事实上,SOA系统经常需要发出(并接收)事件。

标准的发布引起了SOA实施者的极大兴趣。Dana Gardner认为:

SOA本体技术标准整合了不同的架构、工程、业务和市场域,为业务和技术人员提供了探讨问题和机会的通用术语及概念映射。它提供的一致框架可随着SOA项目的发展而重复使用,它还为特定领域的深入实践提供了基础。

Heather Kreger说

[本体]使得关键SOA概念易于阅读和理解,更重要的是,它提供了一组企业内/间一致认可的定义和关键概念的认识。任何架构师,若要与(企业内,或与企业外的厂商,供应商的)IT、业务、市场人员有效沟通,“使用同一语言交流”是其中关键。

当前枝繁叶茂的SOA术语有害于SOA。该项Open Group的新标准试图将它们汇拢并有效地组织起来,从而建立一套通用的SOA语言。通用语言有助于人们问出正确的问题、清晰无误地解读问题的答案。


查看英文原文:The Open Group Releases a New Technical Standard - SOA Ontology

译者 马国耀 关注企业级应用开发与架构,有多年SOA项目实施和咨询经验,专注于SOA及云计算的融合。

发表人 牛 魔王 发表于
Re: 唉 发表人 Wang Chunshan 发表于
Re: 唉 发表人 马 国耀 发表于
Re: 唉 发表人 Xu Tom 发表于
  1. 返回顶部

    发表人 牛 魔王

    这翻译的都啥乱七八糟的

  2. 返回顶部

    Re: 唉

    发表人 Wang Chunshan

    翻译的很清楚啊,虽然都是片段,但对核心的概念和意义说的挺清楚。

  3. 返回顶部

    Re: 唉

    发表人 马 国耀

    您好,那些地方翻译的不妥,请您指教!先谢谢了。

  4. 返回顶部

    Re: 唉

    发表人 Xu Tom

    1. Domain一词在文中有时译成“特定领域”,有时直接是“域”,建议统一。我个人理解这个词其实是指“Business Domain”,
    2. Current proliferation of SOA terminology hurts SOA,这句不知能否译成“目前日益发散的术语用词反而会有害于SOA的发展”?
    3. “Making sure you are ‘speaking the same language’ is essential for any architect to be able to communicate effectively with IT, business, and marketing professionals within the enterprise as well as with vendors and suppliers outside the enterprise,任何架构师,若要与(企业内,或与企业外的厂商,供应商的)IT、业务、市场人员有效沟通,“使用同一语言交流”是其中关键。”后面译成“至关重要”可能更好。

    其实翻译是挺麻烦的事,既不能弄错技术问题,又要以易理解的中文表达出来。希望大家理解译者的努力工作及不易。