Service Registry 3.1 管理指南

配置 Web 控制台

作为管理员,您可以通过编辑配置文件来自定义 Web 控制台显示的某些方面。

本节介绍了以下任务:

有关使用 Web 控制台的信息,请参见《Service Registry 3.1 用户指南》

添加预定义的查询

Service Registry 包括若干个预定义的查询,这些预定义的查询显示在“ Web 控制台搜索”表单的“选择预定义的查询”下拉式列表中。作为管理员,您可以根据具体的 Registry 安装向下拉式列表中添加新的查询。

Procedure添加预定义的查询

  1. 使用 Web 控制台将特殊查询 (AdhocQuery) 对象发布到 Registry 中。

    您为查询指定的名称和描述将显示在预定义查询的下拉式列表中。在 SQL 查询语句中,通过将用户提供的数据括在成对单引号中为这些数据指定占位符,如下所示:

    select * from registryobject where id = ''$lid''
  2. 记下特殊查询 (AdhocQuery) 对象以及 SQL 语句中任何占位符的唯一标识符,或将其复制并粘贴到文件中。

  3. 转至目录 RegistryDomain-base/3.0/jaxr-ebxml

  4. 在文本编辑器中打开文件 registry-browser-config.xml

    请复制原始文件,这样可以在需要时回退更改。

  5. 使用以下格式向 registry-browser-config.xml 文件中添加条目。为 SQL 语句中的每个占位符指定 Parameter 元素。

    <Query>
      <AdhocQueryRef id="unique-identifier"/>
      <Parameter parameterName="$placeholder-name" datatype="string">
        <rim:Name>
          <rim:LocalizedString xml:lang="en" charset="UTF-8" 
            value="parameter-name-in-en-locale"/>
          <rim:LocalizedString xml:lang="fr" charset="UTF-8" 
            value="parameter-name-in-fr-locale"/>
        </rim:Name>
        <rim:Description>
          <rim:LocalizedString xml:lang="en" charset="UTF-8" 
            value="parameter-description-in-en-locale"/>
          <rim:LocalizedString xml:lang="fr" charset="UTF-8" 
            value="parameter-description-in-fr-locale"/>
        </rim:Description>
      </Parameter>
      ...
    </Query>

    unique-identifier特殊查询 (AdhocQuery) 对象的唯一标识符。

    每个参数的 parameterName 属性值必须来自 SQL 查询语句中的占位符。

    datatype 属性可以具有以下任何一个值:

    • string:参数显示为“搜索”表单中的文本字段。

    • taxonomyElement:参数显示为“搜索”表单中的下拉式列表。如果指定 taxonomyElement 数据类型,则 "Name" 和 "Description" 元素必须后跟 SlotList 元素,如下所示:

      <rim:SlotList>
        <rim:Slot name="domain">
          <rim:ValueList>
            <rim:Value>
            classification-scheme-or-concept-id
            </rim:Value>
          </rim:ValueList>
        </rim:Slot>
      </rim:SlotList>

      classification-scheme-or-concept-id 是分类方案或概念(其概念(或子概念)必须显示在下拉式列表中)的唯一标识符。如果分类方案尚未存在于 Registry 中,您必须发布此方案。

      插槽名称必须为 "domain"

    • boolean:参数显示为“搜索”表单中的复选框。

    如果 datatypestringboolean,您还可以将 defaultValue 属性添加到 Parameter 元素中,以指定要在“搜索”表单中显示的默认值。

    针对支持的所有语言环境,为每个参数名称和描述指定本地化字符串值。当前语言环境中的 parameter-name 显示为“搜索”表单中的参数标签。

    使用 registry-browser-config.xml 文件中的现有条目作为参考。

  6. 保存并关闭 registry-browser-config.xml 文件。

  7. 按照停止并重新启动 Registry 的 Application Server 域中的说明进行操作。

更改默认查询

显示为“选择预定义的查询”下拉式列表中默认值的查询为“基本查询”,用户可以使用此查询按名称、描述和分类来搜索注册表 (Registry) 对象。

作为管理员,您可以将此默认值更改为适用于您的安装的查询。例如,您可能希望默认查询为添加到 Registry 中的新预定义查询(如添加预定义的查询中所述)。要进行此更改,请在配置文件中编辑属性。

Procedure更改默认查询

  1. 转至目录 RegistryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF/classes

  2. 在文本编辑器中打开文件 jaxr-ebxml.properties

  3. 查找 jaxr-ebxml.thin.defaultQueryPanel 属性的定义。默认情况下,此属性被注释掉:

    #jaxr-ebxml.thin.defaultQueryPanel=
  4. 删除注释字符 (#)。

  5. 通过指定将作为默认值的查询的逻辑标识符来设置此属性的值,如以下示例中所示:

    jaxr-ebxml.thin.defaultQueryPanel=urn:oasis:names:tc:ebxml-regrep:query:MyQuery
  6. 保存并关闭 jaxr-ebxml.properties 文件。

  7. 按照停止并重新启动 Registry 的 Application Server 域中的说明进行操作。

隐藏分类方案

分类方案的树结构将显示在 Web 控制台的以下区域中:

作为管理员,如果不希望 Service Registry 用户使用分类方案,您可以隐藏这些分类方案的显示。要隐藏分类方案,请在配置文件中定义属性。

Procedure隐藏分类方案

  1. 转至目录 RegistryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF/classes

  2. 在文本编辑器中打开文件 jaxr-ebxml.properties

  3. 使用以下语法选择属性 jaxr-ebxml.registryBrowser.ConceptsTreeModel.hiddenSchemesList。所有属性定义必须都在一行并且不能包含空格。

    jaxr-ebxml.registryBrowser.ConceptsTreeModel.hiddenSchemesList=
    class-scheme-id1|class-scheme-id2|...

    为每个要隐藏的分类方案指定逻辑标识符。如果指定多个标识符,请使用竖线 (|) 隔开这些标识符,如以下示例中所示:

    jaxr-ebxml.registryBrowser.ConceptsTreeModel.hiddenSchemesList=
    urn:oasis:names:tc:ebxml-regrep:classificationScheme:StatusType|
    urn:oasis:names:tc:ebxml-regrep:profile:ws:classificationScheme:BindingType
  4. 保存并关闭 jaxr-ebxml.properties 文件。

  5. 按照停止并重新启动 Registry 的 Application Server 域中的说明进行操作。

配置搜索结果显示

默认情况下,Web 控制台针对每个查询每次显示 25 个搜索结果。如果搜索返回的结果超过 25 个,则用户可以显示多个结果页面。作为管理员,您可以修改每个页面中显示的搜索结果数。

默认情况下,Web 控制台在搜索结果区域中显示一些列。对于每个对象,它将显示对象类型、名称、描述、版本和版本注释。对于某些对象类型,将配置非默认显示。例如,对于服务绑定 (ServiceBinding) 对象,显示包括端点而不是版本信息。作为管理员,您可以添加配置信息,从而显示所选对象类型的非默认数据。

要执行其中每项任务,您可以编辑一个配置文件。

Procedure配置搜索结果显示中的行数

  1. 转至目录 RegistryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF/classes

  2. 在文本编辑器中打开文件 jaxr-ebxml.properties

  3. 查找 omar.client.thinbrowser.numSearchResults 属性的定义:

    omar.client.thinbrowser.numSearchResults=25
  4. 将值 25 更改为所需的值。

  5. 保存并关闭 jaxr-ebxml.properties 文件。

  6. 按照停止并重新启动 Registry 的 Application Server 域中的说明进行操作。

Procedure配置搜索结果区域中的列

您可以在搜索结果区域中为对象类型配置列。这些列将显示对象的属性。

  1. 转至目录 RegistryDomain-base/3.0/jaxr-ebxml

  2. 在文本编辑器中打开文件 registry-browser-config.xml

  3. registry-browser-config.xml 文件中添加条目,或编辑现有条目。请使用以下格式。

    此示例配置了服务 (Service) 对象的非默认显示。

    <ObjectTypeConfig 
        className="org.freebxml.omar.client.xml.registry.infomodel.ServiceImpl" 
        id="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Service">
      <SearchResultsConfig>
        <SearchResultsColumn columnClass="java.lang.Object" 
          columnHeader="Object Type" columnWidth="25" editable="false" 
          method="getObjectType"/>
        <SearchResultsColumn columnClass="java.lang.Object" 
          columnHeader="Name" columnWidth="25" editable="true" method="getName"/>
        <SearchResultsColumn columnClass="java.lang.Object" 
          columnHeader="Description" columnWidth="30" editable="true" 
          method="getDescription"/>
        <SearchResultsColumn columnClass="java.lang.Object" 
          columnHeader="Status" columnWidth="15" method="getStatusAsString"/>
        <SearchResultsColumn columnClass="java.lang.Object" 
          columnHeader="Version" columnWidth="5" method="getVersionName"/>
      </SearchResultsConfig>
    </ObjectTypeConfig>

    registry-browser-config.xml 文件提供了 ObjectTypeConfig 元素的语法。使用文件中已存在的元素作为示例。这些元素配置了注册表 (Registry) 对象的默认显示以及外部链接 (ExternalLink)外部对象 (ExtrinsicObject)服务绑定 (ServiceBinding) 对象的非默认显示。

    可以配置的最大列数为 30。

    对于 SearchResultsColumn 元素:

    • columnClass 属性值始终为 java.lang.Object

    • columnHeader 属性值为 Web 控制台资源包文件中某消息的键。这些文件包含在目录 registryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF/ classes/org/freebxml/omar/client/ui/thin/ 中。例如,如果键入 Object Type 作为 columnHeader 值,则 Web 控制台的底层 Bean 将使用 WebResourceBundle 类来查找具有此键的消息。如果 WebResourceBundle 找不到此类消息,它会将此键转换为小写体并再次尝试查找。如果查找再次失败,它会将消息值设置为 "???"+key+"???" 并记录有关缺少资源包条目的警告消息。因此,要添加新的本地化 columnHeader 值,必须向此目录包含的 ResourceBundle 文件中输入新的消息键。

    • Web 控制台不使用 columnWidth 属性。

    • Web 控制台不使用 editable 属性。

    • 在极大程度上,您可以根据 ebXML Registry Information Model Version 3.0 规范(有关详细信息,请参见阅读本书之前)中的类属性推论出 method 属性的方法名称。可以在 RegistryObjectImpl 实现类中找到 getStatusAsString 方法。(但是,此版本的 Service Registry 中不包括 API 文档。)

    对于每个 omar.client.xml.registry.infomodel 类名,最多只能具有一个 ObjectTypeConfig 元素。

  4. 保存并关闭 registry-browser-config.xml 文件。

  5. 按照停止并重新启动 Registry 的 Application Server 域中的说明进行操作。

  6. 要检验重新配置,请使用 Web 控制台的“搜索”或“资源管理器”菜单来显示更改了列的对象。