Service Registry 3.1 管理指南

配置 Web Console

身為管理員,您可以編輯配置檔案,自訂某些部分的 Web Console 顯示畫面。

本小節說明以下作業︰

如需有關使用 Web Console 的資訊,請參閱「Service Registry 3.1 使用者指南」

增加預先定義的查詢

Service Registry 包含一些預先定義的查詢,這些查詢顯示在 [Web Console 搜尋] 表單中的 [選取預先定義的查詢] 下拉式清單中。身為管理員,您可以將新的查詢增加至 Registry 安裝的特定下拉式清單中。

Procedure增加預先定義的查詢

  1. 使用 Web Console 將即時查詢 (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 資料類型,「名稱」和「說明」元素後面必須接著 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 Console 區域:

身為管理員,如果您不想讓 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 Console 會針對各個查詢一次顯示 25 筆搜尋結果。如果搜尋後傳回 25 筆以上的結果,使用者可顯示額外的結果頁面。身為管理員,您可以修改各頁面上顯示的搜尋結果數量。

依預設,Web Console 會將某些欄顯示在搜尋結果區域中。對於各個物件,這時會顯示物件類型、名稱、說明、版本和版本註釋。對於某些物件類型,則配置非預設的顯示畫面。例如,對於服務連結 (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 Console 資源束檔案中訊息的金鑰。這些檔案位在目錄 registryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF/classes /org/freebxml/omar/client/ui/thin/。例如,如果您針對 columnHeader 值鍵入 Object Type,Web Console 的背景 Bean 會使用 WebResourceBundle 類別查找具有該金鑰的訊息。如果 WebResourceBundle 找不到訊息,會將金鑰轉換為小寫,然後再試一次。如果仍然找不到,它會將訊息值設定為 "???"+key+"???",並且記錄關於遺失資源束項目的警告訊息。因此,若要增加新的本土化 columnHeader 值,您必須將新的訊息金鑰輸入至本目錄所包含的 ResourceBundle 檔案中。

    • Web Console 未使用 columnWidth 屬性。

    • Web Console 未使用 editable 屬性。

    • 在大多數狀況下,您可以從「ebXML Registry Information Model Version 3.0」規格的類別屬性推衍出 method 屬性的方法名稱 (如需詳細資訊,請參閱閱讀本書之前)。getStatusAsString 方法可以在 RegistryObjectImpl 實作類別中找到。(不過,此發行版本的 Service Registry 不含 API 文件。)

    各個 omar.client.xml.registry.infomodel 類別名稱只能有一個 ObjectTypeConfig 元素。

  4. 儲存並關閉 registry-browser-config.xml 檔案。

  5. 依照停止並重新啟動 Registry 的 Application Server 網域中的說明進行操作。

  6. 若要驗證重新配置,請使用 Web Console 的 [搜尋] 或 [檔案管理] 功能表,顯示您已變更欄的物件。