技术开发 频道

SOA 设计的信息透视图,第 3 部分: 在 SOA 设计中使用 IBM WebSphere

【IT168 技术文章】

    学习如何在 SOA 设计中使用 IBM® 提供的工具(尤其是 IBM WebSphere® Business Glossary 和 IBM Information Server 的统一元数据管理)。本文是 “SOA 设计的信息透视图” 系列的第三篇文章。本文描述与 WebSphere Business Glossary 相关的关键产品,介绍如何使用业务术语表满足您的需求。

    简介

    阅读本系列中的所有文章
    1. 面向服务体系结构的信息透视图简介
    2. 在 SOA 中应用业务术语表模式的价值
    3. 在 SOA 设计中使用 IBM WebSphere Business Glossary
    4. 在 SOA 中应用规范化建模模式的价值
    5. 在 SOA 中使用 Rational Data Architect
    6. 在 SOA 中应用数据质量分析模式的价值
    7. 在 SOA 设计中使用 IBM WebSphere Information Analyzer 
 
    业务术语表有时候称为数据词典,它们包含与业务相关的术语和数据的公认定义。业务术语表定义业务的语言和项目的语言。业务术语表中定义的术语必须完全符合要求,并提供特定的描述性定义。应该尽可能提供应用于整个企业范围的定义。如果不同的部门以不同方式使用同一术语,那么应该捕捉这些定义并与适当的上下文(部门)相关联。业务术语表是为组织提供精确的语义定义过程中的一个步骤。

    简单地说,业务术语表是企业中信息的生产者和消费者之间的正式 “合约”。任何人都能够根据它判断在业务中使用的任何术语和业务数据元素的含义、类型和上下文。在实践中,数据实体常常缺少正式定义,甚至在单一系统中也有这种现象。对同一术语有不同的解释会增加项目交付失败的风险。数据常常隐含业务规则,当在原来的上下文之外使用数据时,常常导致数据不精确。如果程序使用数据或其他需要提供实体上下文的引用数据,则可能需要嵌入规则。

    既然您已经阅读了本系列的前两部分,理解了创建业务术语表的重要性,本文就以 WebSphere Business Glossary 为例演示如何使用业务术语表满足您的需求和目标。WebSphere Business Glossary 支持的术语表可以在 SOA 环境中使用,也可以在数据集成活动和需要清晰的术语定义的其他项目中使用。

    动机和产品概述 

    WebSphere Business Glossary 创建和管理一个受控的术语表,从而为业务人员和 IT 人员提供一种统一的语言。它包含下面三个产品,分别向不同用户群提供不同的功能。下面列出这些产品和它们提供的服务;本文后面的小节将详细讨论这些服务。

    Business Glossary 针对的是需要访问、编写、控制和管理术语表的 “高级用户”:

    *管理业务术语和类别(参见后面的 一节):
    Business Glossary 为创建、管理和共享受控的术语表提供一个专用的基于 web 的用户界面。术语代表企业中的主要信息概念。类别用来把这些术语组织成层次结构。

    *管理数据人员关系(参见后面的 一节):
    专员是负责给定的信息资产的人员或组织。通过使用 IBM Information Server 的 Business Glossary 功能,管理员可以从外部信息源导入专员个人信息,在 Web 界面中创建和编辑个人信息,以及在专员和 Business Glossary 中管理的业务术语或任何工件之间建立责任关系。

    *定制和扩展(参见后面的 一节):
    不同的企业对于业务元数据的需求是不同的。因此,并没有一种适合所有场景的元模型。除了能够定制应用程序的输入页面之外,管理员还可以扩展应用程序,为业务类别和业务术语提供定制的属性。

    *协作(参见后面的 一节):
    仅仅归档业务元数据是不够的。这些信息必须向企业中的所有人开放。Business Glossary 提供了一个协作环境,用户可以在这个环境中有秩序地帮助业务术语表逐渐发展成熟。不同的 Business Glossary 用户可以通过对主题的说明、注解和预订相互协作,共同开发和改进业务信息。

    Business Glossary Browser 主要供业务用户使用,让他们能够查看术语表信息,比如术语的定义、相关的数据专员等等:

    *简单的浏览(参见后面的 一节 和 场景):
    Business Glossary Browser 是一个简单的只读浏览器界面,用户不需要培训就能够使用它。业务用户可以搜索和研究术语表及其分类,查找负责特定信息资产的专员,提供直接的反馈。

    Business Glossary Anywhere 使组织中的任何人能够在传统的工作环境和工具中查看术语表信息:

    *桌面搜索(参见后面的 一节):
    Business Glossary Anywhere 使用户能够从任何应用程序搜索任何术语,同时不丢失上下文。只需单击一次鼠标,就会弹出一个小窗口,显示业务术语表中的相关元数据(包括负责术语的数据专员)。

    除了术语表编写功能之外,WebSphere Business Glossary 还支持从 Rational Data Architect(RDA)等其他应用程序导入数据或元数据。这可以节省手工输入元数据的大量时间和工作量,还有助于在工具之间保持业务术语的一致性。

    WebSphere Business Glossary 还支持用简单直接的自然语言查询元数据,并提供了协作功能。当一个术语更新或修订时,“预订” 这个术语的用户可以收到通知。只有当所有相关用户(架构师、开发人员等等)都接受了术语表时,业务术语表的真正价值才会发挥出来。

    最后,可以用 IBM Industry Models 中的术语表结构填充 WebSphere Business Glossary ,包括银行业、保险业、金融业、电信业、医疗健康和零售业等行业的术语表。用来自 Industry Models 的内容填充 WebSphere Business Glossary 会为业务术语、报告需求(包括法律要求的报告)和业务功能提供术语表结构。

    WebSphere Business Glossary 提供了协作性的术语表管理支持,Rational Data Architect 提供了建模功能,IBM Industry Models 提供了丰富的业务内容。这些合在一起就为解决术语表问题提供了一个完整的解决方案,可以通过一致的可重用的业务定义推动 SOA 的发展。

    WebSphere Business Glossary  

    图 1 显示 WebSphere Business Glossary 的初始屏幕。这里有几个选项卡,分别包含以上各种用户角色可用的功能。

    本文主要关注 Glossary 页面,在这里可以管理概述、业务术语和这些术语的定制属性。

    左边是导航面板,在这里可以浏览、搜索、管理和维护与业务术语相关联的历史。


图 1. Business Glossary 主页
 

    入门

    Business Glossary 安装在一个服务器上,并通过浏览器界面访问。这个服务器由一个元数据存储库支持,这个存储库不但存储与术语表相关联的元数据,还包括企业中的物理模型、服务和其他元数据源。在业务术语表中可以使用三种角色:用户、编写者或管理员角色。

    如果您属于 Business Glossary 用户角色,那么可以查看元数据存储库中的元数据,包括术语和包含术语的类别。可以把您关于特定对象的意见或信息发送给术语表管理员。作为用户,可以执行以下任务:

    *浏览类别和术语的结构
    *在元数据存储库中搜索类别、术语和其他对象
    *了解元数据存储库中所有对象的属性和关系
    *向管理员发送反馈

    如果您属于 Business Glossary 编写者角色,那么可以创建和编辑术语和类别,使用术语对对象进行分类。编写者角色应该分配给管理类别和术语的用户、决定对象的分类方法的用户以及特定对象的数据专员。作为编写者,可以执行与 Business Glossary 用户角色相关联的所有任务。除此之外,还可以执行以下任务:

    *创建和编辑包含企业所用术语的类别层次结构
    *使用术语对元数据存储库中的对象进行分类
    *为元数据存储库中的对象设置管理员
    *把术语和类别上传到元数据存储库中
    *为定制属性指定值

    如果您属于 Business Glossary 管理员角色,那么可以设置和管理术语表,帮助其他用户找到和分析他们需要的信息。管理员可以执行与编写者和用户角色相关联的所有任务。管理员还可以创建、编辑和删除术语和类别,把术语和专员与对象关联起来。可以浏览元数据存储库,创建注解,以及执行其他术语表任务。除此之外,Business Glossary 管理员还可以执行以下任务:

    *定制 Business Glossary 的 Overview 页面,帮助用户了解企业特有的术语表情况,让他们能够更轻松地使用类别层次结构
    *设置应用程序选项
    *指定用户和组作为数据专员,取消用户或组的数据专员资格
    *创建、编辑和删除定制属性
    *编辑和删除别人创建的注解
    *删除别人创建的术语和类别

    管理术语和类别

    管理员和编写者创建一个包含类别、术语和已经分类的对象的逻辑结构。在构建术语表时选用的过程取决于,是以创建新的类别和术语为主,还是主要使用 IBM Information Server 的元数据存储库中现有的类别和术语。在这两种情况下,都应该先规划所需的结构,然后再在术语表中构建这个结构。在设计结构时,应该考虑以下问题:

    *需要哪些类别?
    *是否可以把现有的类别和术语导入或上传到存储库中?
    *哪些类别是优异类别,哪些是子类别?
    *希望在 Overview 页面上向用户显示哪些类别,作为浏览元数据存储库的起点?这些类别不必与优异类别相同。
    *需要什么术语?
    *哪些类别包含哪些术语?
    *哪些类别引用它们不包含的术语?
    *哪些术语与其他术语相关?
    *哪些术语是其他术语的同义词?

    如果在创建术语表结构之前详细回答这些问题,就能够构建一个便于用户理解并满足企业目标的结构。可以提前决定哪些对象按照哪些术语进行分类,也可以等到构建了术语表结构之后再做决定。如果通过创建新类别和术语来构建术语表结构,而不是把现有的类别和术语上传或导入到存储库中,那么必须先创建类别,然后创建术语,最后在类别和术语之间设置关系。

    管理员和编写者可以使用术语对元数据存储库中的对象进行分类。术语是用来对元数据存储库中的对象进行分类和分组的单词或短语。例如,可以使用术语 Africa Sales 对元数据存储库中的一些表和列进行分类,使用术语 Europe Sales 对其他表和列进行分类。

    如果在元数据存储库中有一些不同的术语表示相同的东西,那么可以把这样的术语指定为同义词。如果两个术语不是同义词,但是在其他重要的方面有关联,那么可以把它们指定为相关术语。可以指定在一组术语中哪个术语是首选术语,哪些术语应该替换为其他术语。还可以指定术语的标准缩写形式。

    在创建或编辑术语时,可以指定术语属性、关系(包括同义词、相关术语和分类的对象)和定制属性的值。管理员和编写者还可以把类别和术语的文件上传到元数据存储库中,然后指定额外的属性和关系。

    Business Glossary 支持在业务术语上添加许多属性,例如:

    Name(名称)—— 术语名称必须是惟一的。
    Parent category(父类别)—— 包含这个术语的类别。一个术语有且只有一个父类别。
    Short description(短描述,可选)—— 帮助在名称相似的其他术语中识别这个术语。这段文本不应该超过一行或两行。在许多搜索中常常使用短描述,短描述还显示在对象列表中。
    Usage(用法,可选)—— 关于如何使用这个术语的信息,包括控制它的用法的任何业务规则。
    Example(示例,可选)—— 一个演示术语用法的示例,或者是典型的示例值。
    Status(状态)—— 表示组织是否批准了这个术语。
    Preferred synonym(首选同义词)—— 一组同义术语中的首选术语。
    Abbreviations(缩写,可选)—— 术语的标准缩写形式。

    还可以为术语指定各种关系,包括:

    Steward(专员)—— 负责这个术语的用户或用户组。一个术语只能有一个专员。
    Related terms(相关术语)—— 在某些方面与这个术语相关联的术语。
    Synonyms(同义词)—— 具有相同含义的术语。
    Classified objects(分类的对象)—— 用这个术语进行分类的对象。

    管理专员关系

    数据专员是负责存储库中一个或多个术语表元素的用户或用户组。Business Glossary 管理员可以在元数据存储库中指定用户或用户组作为专员,负责一个或多个定义 —— 对于与这些定义相关的问题,这个用户或用户组常常作为主要联系人。当浏览一个指定了专员的对象时,会显示专员的链接。这个链接指向联系信息,包括专员的电子邮件地址和电话号码。

    可以在指定新专员时分配对多个对象的责任,也可以在 Manage Stewards 页面上编辑专员时指定责任。还可以在对象的浏览页面上的 Tasks 列表中把对象分配给专员,或者在专员用户或组的浏览页面上设置。另外,在创建或编辑类别和术语时,也可以为它们指定专员。

    定制和扩展术语表

    除了标准的术语属性和关系之外,术语表管理员还可以为类别和术语定义定制的属性。定制的属性常常用来实施控制标准、支持体系结构框架或提供组织所需的其他元数据。每个定制属性都有一个名称、描述以及一个或一组有效值,可以在任何时候修改它的值。

    例如,管理员可以创建一个名为 Data Sensitivity 的定制属性,它的描述是 “A number from 1 to 5, which indicates the sensitivity of the data. Sensitivity is a subjective measure of the impact of the data being released to unauthorized consumers”。管理员可以指定 Data Sensitivity 属性只应用于术语,并选择数字 1 到 5 的枚举类型作为有效值。因此,术语表编写者可以选择 1 到 5 的数字作为 Data Sensitivity 属性的值。

    协作

    Business Glossary 支持协作编写术语表结构,包括把对术语表术语的反馈发送给术语表管理员。术语表用户可以在术语上添加说明,为术语表进一步提供上下文信息和主题问题知识。浏览术语表的其他用户可以看到这些说明。

    Business Glossary Browser 

    Business Glossary Browser 提供一个用来浏览和搜索 Business Glossary 中输入的信息的 web 界面。用户可以根据术语、类别(或结合两者)以及专员灵活简便地搜索术语表。Business Glossary Browser 返回与搜索字符串匹配的条目列表。列表中显示的术语和类别包含名称、描述、类别、相关联的专员和结果的类型(术语/类别)。列表中显示的专员结果包括他们的名称和联系信息。

    查看术语表信息的另一种方法是,通过显示为层次化形式的类别进行浏览,见 图 3。可以使用屏幕左边的树结构进行导航,右边的面板会显示所选类别的详细信息。

    用户找到感兴趣的术语或类别之后,Business Glossary Browser 提供一个详细信息页面,用户可以在这里看到更多信息,比如创建和更新术语/类别的日期、专员的名称等等。

    如果用户对一个术语表定义有疑问或意见,可以通过这个工具联系相关的专员。


    Business Glossary Anywhere

    除了上面讨论的 Business Glossary 界面之外,用户还可以通过 Business Glossary Anywhere 访问术语表定义。这是一个简单的只读界面,它使业务用户能够非常灵活简便地浏览术语表内容。用户可以从定义了文本的任何地方(需求文档、电子邮件、模型内容等等)调用它。选择一段文本之后,可以通过鼠标或键盘快捷键调用 Business Glossary Anywhere,它会返回匹配的术语表术语。Business Glossary Anywhere 可以使用来自文档、幻灯片、模型、web 页面、报告(提供可选择的文本字符串的任何东西)的文本,从企业术语表中获得适当的术语。这个简单但强大的功能大大提高了术语表内容的可访问性,让组织中的所有相关人员能够方便地访问术语表内容,促进在各种上下文中推广标准的业务定义,帮助消除术语含义的不一致现象。

    当选择 “contact preference” 并搜索它的定义时,会显示下图所示的 Business Glossary Anywhere 弹出窗口。

图 2. Business Glossary Anywhere 弹出窗口
 

    在 WebSphere Business Glossary 中填充 IBM Industry Models 的内容

    除了 WebSphere Business Glossary 提供的术语表编写和管理功能以及 RDA 的建模功能之外,IBM Industry Models(即 IFW 和 IAA)提供了大量预定义的术语表类别和术语,它们可以加快术语表的开发过程。Industry Models 的术语表内容来自三个不同的模型维:业务术语、业务功能和报告需求。

    Industry Models 的业务术语内容提供一个结构化的业务定义层次结构,描述与某一行业相关的数据实体。例如,对于金融行业,它提供一组描述帐户的结构、关系和属性的正式定义。


图 3. Business Glossary Browser 中的 Industry Models 内容:业务术语
 

    Industry Models 的业务功能内容对业务本身进行结构化的分解,定义互不重叠的业务区域,比如帐户管理、通道协调或关系监视。


图 4. Business Glossary Browser 中的 Industry Models 内容:业务功能
 

    Industry Models 的报告需求为重要的报告需求提供详细的业务定义,比如 Basel II、Sarbanes Oxley 或其他法规要求的报告。这些报告需求确定了特定报告结构(比如 Capital Allocation Analysis、Liquidity Analysis、Suspicious Activity Analysis 等)的度量方法和维数。


图 5. Business Glossary Browser 中的 Industry Models 内容:报告需求
 

    如果使用 IBM Industry Models 支持术语表开发,就可以直接为术语表提供大量业务定义(10,000 个以上),但更重要的是,这些定义来自一个正规化的来源,互不重叠而且一致。这样就可以非常快地建立基本的类别和术语集,然后可以进一步加上注解和进行定制。这些术语表定义还与底层逻辑数据模型(比如数据仓库模型)和 UML 模型(比如服务模型)保持一致,并预先映射到这些模型,这就提供了一套相互关联的术语表定义和结构化分析与设计模型,为解决方案规范提供了业务切入点。这在 SOA 的信息上下文中尤其重要,因为在 SOA 中数据定义的一致性和可重用性,以及这些数据定义与底层数据平台的关系,是决定项目成败的关键因素。

    场景示例  

    本节给出一个在金融机构中构建和使用业务术语表的示例。IBM Industry Models 是在一个 Rational Data Architect 扩展中定义的。这个示例演示如何把术语表内容从 RDA 导入到 WebSphere Business Glossary 中。也可以在 WebSphere Business Glossary 中直接输入术语表内容。创建术语表之后,学习如何定制 WebSphere Business Glossary 中的内容,浏览术语表以及在业务术语上添加说明。

    从 RDA 导入术语表内容(可选)

    在 RDA 中,定义一个术语表模型(.ndm)。例如,可以通过 IBM Industry Models 获得术语表模型。选择包含这个术语表的 RDA 项目,选择 Export\Export a Glossary Model to the Metadata Server。这会调用 RDA 元代理(metabroker),它把 RDA 模型的内容装载到 WebSphere Business Glossary 中,如下所示:

图 6. 从 RDA 导出到 Metadata Server(和 Business Glossary)
 

    定制术语表

    因为术语表是一个动态文档,所以在用业务术语填充 WebSphere Business Glossary 之后,随着时间的推移,要不断定制和扩展术语表。定制术语表的过程与定义新术语表相似,但是没有前面那样的可以导入的内容。在这个示例中,假设我们要定制术语表,添加客户联系首选项的定义。联系首选项定义客户希望如何与他取得联系 —— 通过哪个地址,通过哪个人,在什么时间。

    为了在术语表中捕捉这个需求,在术语表层次结构中定义一个新的类别 “Contact Preference”。对于这个类别在层次结构中的位置可以有不同的选择;在这个示例中,这个类别插入在现有的 “Individual” 类别下面。

图 7. 定制术语表
 

    在这个类别中,我们定义一组详细描述数据需求的术语:个人可以为联系方式指定许多属性,包括语言、可访问性首选项、时间首选项、联系人、地址信息等等。重要的是,术语的业务定义必须足够详细和清晰。每项数据需求应该作为一个单独的业务术语输入,并与术语 “Contact Preference” 相关联。

图 8. 定制术语表:相关术语
 

    这会产生与下图相似的术语表结构,其中有一个类别包含与联系首选项相关的术语,以及用来定义这项需求的所有方面的术语。还建立了相关术语,它们引用与这个业务概念相关,但是不包含在这个类别中的术语(例如,个人的地址信息)。

图 9. 产生的术语表结构
 

    每个术语都有一组可以设置的属性。在这个示例中,每个术语的 Status 值从 ‘Candidate’ 改为 ‘Accepted’。同样,如果创建了定制属性,也可以设置它们。

图 10. 修改状态
 

    接下来,应该为每个术语指定一个专员。专员作为特定术语的所有者,负责术语的维护。

图 11. 指定专员
 

    最后,把这些业务术语链接到 Metadata Server 中的物理工件,定义术语表中表达的业务概念与技术工件中表示这些术语的元素(可能有多个元素)之间的关系。具体地说,可以使用术语描述来自其他工件(比如数据模型、ETL 流和业务智能结构)的技术工件。

    浏览术语表 

    可以按照多种方式浏览 WebSphere Business Glossary 中的术语表内容以及这些内容与 Metadata Server 中存储的其他工件的关系。本节以不同方式访问刚才添加的内容。

    用户可以浏览术语表结构,查看 IBM Information Server 的元数据存储库中的类别、术语和对象。用户从 Overview 页面开始浏览术语表(见图 12),这个页面显示术语表管理员指定的对于浏览元数据存储库最重要的优异类别。用户还可以搜索对象并从搜索结果中选择对象。

    当选择一个对象时,会在 Browse Glossary 选项卡上显示这个对象的浏览页面,其中列出这个对象的名称、类、专员和其他重要属性。用户可以查看对象属性和关系,向术语表管理员发送反馈。

图 12. 浏览术语表
 

    用户还可以在 Business Glossary 中执行简单搜索或高级搜索,见下图。用户可以使用多种方法执行搜索。

图 13. Business Glossary 搜索结果
 

    添加说明

    术语表用户可以为业务术语的定义提供协助。用户可以通过定义说明,为术语表中定义的任何术语提供各方面的注解。用户可以添加新的说明,也可以给现有的说明加注释,从而为业务术语提供更多的上下文信息。

图 14. Business Glossary 中的注解
 

    结束语

    本文描述了在传统的信息体系结构上下文和 SOA 中使用 WebSphere Business Glossary 的方法和原因。可以使用 WebSphere Business Glossary 为技术人员和业务用户创建一个统一的术语表,让他们能够在一个协作性环境中合作创建和维护术语表内容。这有助于确保在项目早期建立关键术语的正式定义并提供系统支持。

0
相关文章