技术开发 频道

在SOA中应用业务术语表模式的价值

  如果组织中还没有术语表,就要考虑构建一个术语表。实际上,无论企业是否有术语表,或者是否有多个分散的术语表,模式是非常相似的。

  由谁创建业务术语表?

  现在讨论哪些人应该参与创建业务术语表。在一些组织中有业务分析师,他们了解数据的业务定义。在其他组织中,有一些非正式的专家了解数据的信息含义。在许多情况下,公司的大多数数据都缺少正式的定义和相关的依赖性。在越来越多的公司中设立了数据管理员(data steward)这种新职位。他们通常负责创建和维护业务术语表。

  在各个组织中,业务术语表的所有者各不相同,甚至在同一组织的不同领域中也不一样。在理想情况下,应该在企业数据/IT 管理结构中定义信息领域及其所有关系,而且这些信息领域和所有权层次结构可以应用于业务术语表。如果还没有这样的管理结构,那么在 SOA 项目期间,很可能由数据架构师担任管理的角色,负责确定长期的所有权策略。强烈建议项目包含或使用管理流程。如果公司中还没有这种流程,那么项目应该实现这种管理流程。

  通常,每个信息领域有一位业务分析师或数据管理员,甚至可以采用更细的粒度,比如解决方案涉及的每个操作性数据源、领域或实体。在某些情况下可以由同一个人负责,但是在其他情况下可能涉及来自 LOB 或拥有数据的部门的人员。一个数据源可以有多位数据管理员,每个管理员都精通某个特定领域。甚至一个术语也涉及多位数据管理员。以 “客户类型” 这个术语为例。市场推广或财务领域都有客户,与客户相关的数据集可能由一位来自部门或功能领域的数据管理员负责。在上面的示例中,“地址” 可能需要添加一个限定符或者扩展数据结构,从而识别 “地址” 的类别。数据架构师可以帮助设计符合逻辑的识别 “地址” 类型的方法。这个示例说明在建立这些定义时需要多种技能。如果只让业务分析师负责,那么产生的定义可能无法满足后续阶段中各种活动的需要。

  对于任何数据源或数据源的任何部分,必须指定一位适当的主题专家(subject matter expert,SME)担任数据管理员。这个人应该熟悉项目可能涉及的所有业务术语的业务用法。根据数据量和专家知识水平的不同,可以由一个人负责,也可以指定多个人。他们还应该了解(或能够学习)所有这些实体之间的依赖性和关系。

  让数据架构师参与这个过程常常非常有帮助,因为他们通常了解数据源的物理约束和结构特性。他们还可以帮助判断数据之间的关系和依赖性。

  指定了 SME、业务分析师和数据管理员之后,这些人必须与业务专家充分交流,询问他们对于术语的业务定义的意见,让所有相关人员都认可术语的最终定义。这个任务并不轻松,常常要花费大量时间和精力。项目不但需要获得核心信息需求的定义,而且要在整个企业上下文中定义这些术语。正如前面提到的,业务术语表应该在整个企业范围内就每个数据元素或术语的精确定义取得一致。这样就可以建立一种统一的语言,数据的所有消费者都使用这种语言进行交流。实现这一目标的方法因公司和项目而异。

  什么时候应该创建业务术语表?

  您必须记住,必须及早创建业务术语表,而且它不只是在早期探索阶段进行的一项活动。可以而且应该尽早考虑业务术语表,甚至在需求收集阶段和项目定义阶段就开始这项活动。业务术语表并不限于现有的数据源或数据库;它还包含用来描述 SOA 中业务过程和服务的所有业务术语的定义。越早开发术语表,就能够越快地为整个项目或企业提供一致的术语定义。

  无论项目采用什么开发方法,都应该在初始探索阶段开始创建业务术语表。随着项目的发展,业务术语表应该不断更新和优化。

  如何创建业务术语表?

  在创建业务术语表时,应该考虑采用以下步骤:

  1.收集信息源

  术语表中的业务术语可能来自多种来源,例如行业标准或 IBM 的 Industry Models。其他常见来源包括需求文档、现有的数据词典和遗留解决方案。

  现有的系统或行业标准可能已经定义了业务术语表。如果已经有术语表,那么可以审查它并把它融入统一业务术语表中。

  2.提取业务术语

  业务术语表最有价值的方面也是最难实现的方面 —— 业务概念的公认的统一定义。可以通过与主题问题专家进行讨论、举行会议或进行问卷调查来实现这个目标。一个术语使用的范围越广,其含义要取得一致往往就越困难。如果一个术语只在较窄的业务范围内使用,那么 SME 或业务分析师可能已经掌握了公认的定义。如果整个企业都使用一个术语,那么要获得一致的定义就会困难得多;可能需要先收集各种定义,然后与各个 SME 会谈,尝试形成统一的理解和定义。在这种情况下,最初的一个术语常常被分解为多个术语,从而满足所有上下文的需要。但在术语表中这不一定是必须的。不同的人员常常用同一术语表示非常不同的东西 —— 这种情况是由术语模糊性引起的,而后者是因为缺少清晰的业务定义。调查表明,使用同一术语描述多种不同需求的现象很普遍,以术语表形式提供详细的业务定义有助于区分这些需求。

0
相关文章