Service Registry 3.1 管理指南

第 1 章 配置和設定 Service Registry

本章說明如何在安裝 Service Registry 之後對其進行配置,以及如何執行其他管理作業。

本章包含下列小節:

配置 Service Registry

「Sun Java Enterprise System 5 Installation Guide for UNIX」說明如何使用 Registry 的預設特性設定,執行 Service Registry 的後續安裝配置。若要使用自訂特性設定,請複製 ServiceRegistry-base/install/install.properties ServiceRegistry-base/install/install.properties.template 檔案,並且在執行配置之前先編輯此檔案。

若要配置 Registry,您可使用 root、超級使用者或非 root 使用者的身份登入。

基於安全性因素,建議您以非 root 使用者的身份配置 Registry。如需指示,請參閱在 [以後配置] 方式安裝之後以非 Root 使用者身份使用自訂特性配置 Service Registry

ServiceRegistry-base 位於 Solaris 作業系統上的 /opt/SUNWsrvc-registry,若是 Linux 和 HP-UX 系統,則位於 /opt/sun/srvc-registry


備註 –

在配置 Service Registry 之前,您必須首先安裝和配置 Sun Java System Application Server (「Application Server」)。Service Registry 的配置程序會將 Registry 安裝至 Application Server 網域中。

建議您將 Application Server 安裝在其預設位置。如果您已將 Application Server 安裝在非預設位置,請在配置 Service Registry 之前依照配置非預設 Application Server 安裝的 Service Registry中的說明進行操作。


install.properties 檔案包含一組可修改的特性設定。配置程序會使用 表 1–1 中所列的特性。每個特性名稱都具有前綴 registry.install. (以點號結尾)。某些特性都會為 Application Server 網域 (為 Registry 所建立) 設定非預設連接埠。本手冊另有章節說明其他設定的配置特性。

您可以使用 root 或非 root 使用者的身份,設定多個 Service Registry 實例。如果您這麼做,您必須將 registry.install.dataHome 特性變更為各個 Registry 實例的唯一特性。如果您要在伺服器上同時執行一個以上的實例,您也必須將八個連接埠特性變更為各個實例唯一的特性。對於多個非 root 實例,您最好將各個實例的 registry.install.CACertDir 值都變更成唯一。

表 1–1 Service Registry 配置特性

屬性名稱 

說明 

預設特性值 

DomainName

Application Server 網域名稱 

registry

ServerInstanceHost

預設主機名稱,您可在此存取 Service Registry 

localhost

ServerInstancePort

Service Registry 的 Application Server HTTP 連接埠 

6480

ServerInstanceSecurePort

Service Registry 的 Application Server HTTPS 連接埠 

6443

ServerJMSPort

Service Registry 的 Application Server Message Queue 連接埠 

6484

ServerIIOPPort

Service Registry 的 Application Server IIOP 連接埠 

6485

ServerIIOPSecurePort

Service Registry 的 Application Server IIOP 安全連接埠 

6486

ServerIIOPMutualAuthPort

Service Registry 的 Application Server IIOP 相互認證連接埠 

6487

AdministrationJMXPort

Service Registry 的 Application Server JMX 連接埠 

6488

AdministrationPort

Service Registry 的 Application Server 管理伺服器連接埠 

6489

AdministratorUserID

用於存取 Application Server Administrative Server 的使用者名稱 

admin

AdministratorPassword

用於存取 Application Server Administrative Server 的密碼 

若您使用 root 的身份進行配置,則密碼為 12345678

如果您使用非 root 使用者的身份進行配置,則無密碼 

ApplicationServerKeystorePassword

用於存取 Application Server 金鑰庫的密碼 

若您使用 root 的身份進行配置,則密碼為 12345678

如果您使用非 root 使用者的身份進行配置,則無密碼 

RegistryServerKeystorePassword

用於存取 Service Registry 金鑰庫的密碼 

若您使用 root 的身份進行配置,則密碼為 12345678

如果您使用非 root 使用者的身份進行配置,則無密碼 

clientDatabase

決定 Service Registry 資料庫是在內嵌式模式中執行,還是網路伺服器模式中執行 (對於「網路伺服器」模式,其值為 true)

false

RequireDatabaseAuthentication

決定存取 Service Registry 資料庫是否需要使用者認證 

false

DatabaseUserID

存取 Service Registry 資料庫的使用者 ID (如果需要使用者認證) 

APP

DatabasePassword

存取 Service Registry 資料庫的密碼 (如果需要使用者認證) 

若您使用 root 的身份進行配置,則密碼為 app123

如果您使用非 root 使用者的身份進行配置,則無密碼 

backupDir

用於 Service Registry 備份的目錄。通常會標記為註釋;移除註釋可指定替代位置。 

若您使用 root 的身份進行配置,則目錄為 RegistryDomain-base/3.0/backup

如果您以非 root 使用者的身份進行配置,則目錄為 $HOME/srvc-registry/3.0/backup

dataHome

儲存 Service Registry 資料的目錄 

若您使用 root 的身份進行配置,則目錄為 RegistryDomain-base

如果您以非 root 使用者的身份進行配置,則目錄為 $HOME/srvc-registry

CACertDir

Application Server 網域應信任的新增憑證所在目錄 

若您使用 root 的身份進行配置,則目錄為 ServiceRegistry-base/install/cacerts

如果您以非 root 使用者的身份進行配置,則目錄為 $HOME/srvc-registry/cacerts

Procedure在 [以後配置] 方式安裝之後以 Root 身份使用自訂特性配置 Service Registry

開始之前

這些指示假設您已經以 root 身份登入或已經成為超級使用者。

  1. 變更至 ServiceRegistry-base/install 目錄。

  2. install.properties 檔案複製到安全的位置。

    使用指令,如下所示:


    cp install.properties $HOME/hidden_dir/sr.properties
    
  3. 變更 properties 檔案的權限,使該檔案成為可寫入形式。

    使用指令,如下所示:


    chmod 600 $HOME/hidden_dir/sr.properties
    
  4. 在檔案中編輯可修改的特性。

    例如,建議您變更預設值中所有的密碼。

  5. 將權限改回原始的唯讀值。

    使用指令,如下所示:


    chmod 400 $HOME/hidden_dir/sr.properties
    
  6. ServiceRegistry-base/install 目錄中,執行下列指令 (全部位於同一行),指定已修改的 install.properties 檔案位置。

    使用指令,如下所示:

    Ant-base /ant -f build-install.xml -Dinstall.properties=$HOME/hidden_dir/sr.properties configure

    ant 指令需要設定 JAVA_HOME 環境變數。通常,您會將此變數設定為下列的值:

    /usr/jdk/entsys-j2se

    Registry 配置程序會在 RegistryDomain-base/domains/${registry.install.DomainName} 中建立 Application Server 網域。預設網域名稱為 registry。然後,配置程序會啟動網域,部署 Registry,並使網域處於執行狀態。

    Registry 配置程序會將 Registry 資料庫和伺服器金鑰庫安裝在目錄 RegistryDomain-base/3.0 中。解除安裝 Registry 時不會移除此目錄,以便保留資料庫以用於將來的發行版本。管理員可以控制何時移除此目錄和是否移除此目錄。

    RegistryDomain-base 位於 Solaris 作業系統上的 /var/opt/SUNWsrvc-registry,若是 Linux 和 HP-UX 系統,則位於 /var/opt/sun/srvc-registry

    Registry 配置程序會建立名稱為 ServiceRegistry-base/install/cacerts 的目錄,供您放置 Application Server 網域應信任的新增憑證。

  7. 檢查 ant configure 指令的輸出以查看是否有錯誤。

    如果沒有錯誤,您可以立即開始使用 Web Console 或 Admin Tool。

Procedure在 [以後配置] 方式安裝之後以非 Root 使用者身份使用自訂特性配置 Service Registry

開始之前

這些指示假設您是以一般使用者身份登入,而不是以 root 身份,而且已經有人以 root 身份登入並安裝了 Service Registry。

  1. 變更至 ServiceRegistry-base/install 目錄。

  2. install.properties.template 檔案複製到主目錄中的某個位置,並且將該檔案重新命名。

    使用指令,如下所示:


    cp install.properties.template $HOME/sr.properties
    
  3. 在文字編輯器中開啟檔案副本,並且依您所需修改特性。

    您必須提供下列特性的密碼值,這些值目前在範本檔案中保留為空白。

    registry.install.AdministratorPassword=
    registry.install.ApplicationServerKeystorePassword=
    registry.install.RegistryServerKeystorePassword=
  4. 變更檔案的權限,設定為只有您可讀取該檔案。

    執行以下類似指令:


    chmod 400 $HOME/sr.properties
    
  5. ServiceRegistry-base/install 目錄中,執行以下類似指令(全部位於同一行),以指定已修改檔案的位置。

    Ant-base/ant -f build-install.xml -Dinstall.properties=$HOME/sr.properties configure

    使用類似的指令,執行您所需的其他任何配置目標。

    Registry 配置程序會在 $HOME/srvc-registry/domains/${registry.install.DomainName} 中建立 Application Server 網域。預設網域名稱為 registry

    Registry 配置程序會將 Registry 資料庫和伺服器金鑰庫安裝在目錄 $HOME/srvc-registry/3.0 中。

    Registry 配置程序會建立名稱為 $HOME/srvc-registry/cacerts 的目錄,供您放置 Application Server 網域應信任的新增憑證。

  6. 檢查 ant configure 指令的輸出以查看是否有錯誤。

    如果沒有錯誤,您可以立即開始使用 Web Console 或 Admin Tool。

管理 Service Registry 的 Application Server 網域

依預設,Service Registry 的配置程序會建立名稱為 registry 的 Application Server 網域,Service Registry Web 應用程式將被部署至該網域。此網域位於 RegistryDomain-base/domains/registry 目錄中。

此位置與 Application Server 網域的預設位置不同,預設位置為 /var/opt/SUNWappserver/domains (Solaris 作業系統) 或 /var/opt/sun/appserver/domains (Linux 和 HP-UX 系統)。


備註 –

建議您不要在 registry 網域中執行 Service Registry 以外的任何應用程式。


若要管理 registry 網域,您可以使用 Application Server Administration Console (「Admin Console」)。您可以使用 Admin Console 啟動和停止網域、檢視伺服器記錄以及執行其他管理作業。請參閱使用 Application Server Admin Console,以取得詳細資訊。

您也可以直接檢查伺服器記錄。記錄位於 RegistryDomain-base/domains/registry/logs/server.log 檔案中。

除了 Admin Console 之外,您可以使用 asadmin 指令管理 registry 網域。由於網域未在預設位置,所以當您使用提供 --domaindir 選項的 asadmin 指令時,必須指定該選項。--domaindir 選項的引數是 RegistryDomain-base/domains

如果您要使用 asadmin 指令的 --passwordfile 選項,您需要有 Registry 網域管理員密碼副本的檔案。。若要建立這類檔案,請使用 build-install.xml 檔案的 generate.password.file 目標。該檔案是 RegistryDomain-base/3.0/data/security/pw.txt

registry 網域使用一組非預設連接埠,以免與預設 Application Server 網域 domain1 發生衝突。這些 Service Registry 連接埠值已向 Internet Assigned Numbers Authority (IANA) 註冊。表 1–2 列出並說明了這些連接埠。如需更多資訊,請參閱「Sun Java System Application Server Enterprise Edition 8.2 Administration Guide」中的「Ports in the Application Server」

表 1–2 Service Registry 網域預設連接埠

連接埠值 

說明 

6480 

HTTP 連接埠 

6443 

經由 SSL 的 HTTPS 

6484 

Message Queue 連接埠 

6485 

IIOP 連接埠 

6486 

IIOP SSL 連接埠 

6487 

IIOP 相互認證連接埠 

6488 

JMX 連接埠 

6489 

Application Server 網域管理連接埠 

Procedure使用 Application Server Admin Console

  1. 在 Web 瀏覽器中,移至 URL https://hostname :6489/

    hostname 是執行 Application Server 和 Service Registry 的系統。

  2. 接受提供的憑證。

    螢幕上顯示登入頁面。

  3. 在登入頁面上,在 [使用者名稱] 欄位中鍵入 admin

    配置 Registry 時,如果您曾經變更 registry.install.AdministratorUserID 特性的預設值,請鍵入您先前指定的值。

  4. 在 [密碼] 欄位中鍵入 Application Server 管理員密碼。使用您在配置 Registry 時為 registry.install.AdministratorPassword 特性指定的值。預設為 12345678

  5. 按一下 [登入]。

另請參閱

如需有關使用 Admin Console 的詳細資訊,請參閱 Admin Console 的線上說明或「Sun Java System Application Server Enterprise Edition 8.2 Administration Guide」

變更 Service Registry 記錄層級

若要變更 Service Registry 的記錄層級,請按照 Admin Console 線上說明中的指示作業。要在 [其他特性] 區域中指定的特性是 org.freebxml.omar

若要變更特定 Service Registry 子元件的記錄功能,請參閱下列檔案:RegistryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF /classes/log4j.properties。您可以指定此檔案中所列的任何子元件名稱。請勿指定字串 log4j.logger。例如,您可以經由指定 org.freebxml.omar.server,以記錄伺服器呼叫。

Procedure停止並重新啟動 Registry 的 Application Server 網域

Registry 的配置程序會啟動部署 Registry 的 Application Server 網域。執行某些管理作業後,您需要停止網域並將其重新啟動。這類作業的範例包括針對 Registry 網域配置 Java 虛擬機器 (JVM)建立管理員

如果您需要重新啟動網域,Admin Console 會通知您。您可以使用 Admin Console 執行此作業。如果您使用的是 asadmin 指令,則可使用 Ant 作業停止和啟動網域。

  1. 變更為 Service Registry 安裝目錄。

    cd ServiceRegistry-base/install

  2. 執行以下指令 (全部位於同一行):

    Ant-base/ant -f build-install.xml -Dinstall.properties= props-file appserver.domain.bounce

    其中 props-file 是您在在 [以後配置] 方式安裝之後以 Root 身份使用自訂特性配置 Service Registry在 [以後配置] 方式安裝之後以非 Root 使用者身份使用自訂特性配置 Service Registry中所編輯 install.properties 檔案副本的路徑名稱。

    appserver.domain.bounce 目標會停止網域,然後將它重新啟動。

    build-install.xml 檔案也包含分別用於停止和啟動 Registry 網域的 Ant 目標。若要停止網域,請使用 Ant 目標 appserver.domain.stop。若要啟動網域,請使用 Ant 目標 appserver.domain.start

Procedure將根憑證增加至 Registry 網域中的信任的憑證

此作業可延伸 Application Server registry 網域中信任的憑證清單。

只有在您使用協力廠商憑證,而且協力廠商的根憑證授權單位 (CA) 憑證尚未在 Application Server 信任清單存放區時,才執行此作業。如果您只有使用 registry 發出的憑證,請勿執行此作業。

若要判斷您需要的 CA 憑證是否已可供使用,您可以使用 build-install.xml 檔案的 list.cacerts 目標:

Ant-base/ant -f build-install.xml -Dinstall.properties=props-file list.cacerts

其中 props-file 是您在在 [以後配置] 方式安裝之後以 Root 身份使用自訂特性配置 Service Registry在 [以後配置] 方式安裝之後以非 Root 使用者身份使用自訂特性配置 Service Registry中所編輯 install.properties 檔案副本的路徑名稱。

  1. 下載您要支援的所有根憑證。

    提供根憑證的網站包含:

  2. 如有必要,使用 unzip 指令從下載歸檔擷取 .cer 檔案。


    備註 –

    某些檔案有 .der 後綴。


  3. .cer 檔案複製到以 install.properties 檔案副本中的 registry.install.CACertDir 特性指定的目錄中。

    如果您以 root 的身份配置,此值通常是ServiceRegistry-base/install/cacerts;如果您以非 root 使用者的身份配置,則為 $HOME/srvc-registry/cacerts

  4. 變更至目錄 ServiceRegistry-base/install

  5. 執行以下指令 (全部位於同一行):

    Ant-base/ant -f build-install.xml -Dinstall.properties= props-file install.cacerts

    此指令會將 registry.install.CACertDir 特性指定的目錄中所找到的任何憑證,安裝至 Application Server 網域信任清單存放區。

    您可以再次使用 list.cacerts 目標,以確定已正確安裝憑證。

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

配置非預設 Application Server 安裝的 Service Registry

安裝 Application Server 的預設位置是 /opt/SUNWappserver/appserver (在 Solaris 作業系統上) 和 /opt/sun/appserver (在 Linux 和 HP-UX 系統上)。如果您已將 Application Server 安裝在其他位置上,則在配置 Service Registry 之前,必須先編輯一份 install.properties 檔案。

Procedure編輯一份 install.properties 檔案的副本

  1. 變更至 ServiceRegistry-base/install 目錄。

  2. install.properties 檔案複製到安全的位置,並將它重新命名。

    使用指令,如下所示:


    cp install.properties $HOME/hidden_dir/sr.properties
    
  3. 變更 properties 檔案的權限,使檔案成為可寫入形式。

    使用類似以下的指令:


    chmod 600 $HOME/hidden_dir/sr.properties
    
  4. 在文字編輯器中開啟檔案。

  5. 尋找將 appserver.root.dir 特性標記為註釋的定義。

  6. 移除註釋字元 (#),並使用 Application Server 的實際位置替代特性定義。

  7. 儲存並關閉檔案。

接下來的步驟

繼續依照配置 Service Registry中的說明進行操作。

針對 Registry 網域配置 Java 虛擬機器 (JVM)

Service Registry 需要下列條件,才能正常運作:

任何登錄 (Registry) 物件均可具有外部連結 (ExternalLink) 物件,該物件可指定與該登錄 (Registry) 物件關聯的外部 URL。任何 服務 (Service) 物件都可具有服務連結 (ServiceBinding),這也可指向外部 URL。為了讓使用者建立外部連結 (ExternalLink)服務連結 (ServiceBinding) 物件,Service Registry 必須能夠驗證 URL,而且此作業需要存取外部網站。如果 Registry 是部署在防火牆後端,您需要設定允許此存取權的代理伺服器配置。

代理伺服器配置需要您將 Web 代理主機和連接埠,指定為已部署 Service Registry 之 Application Server 網域的 Java 虛擬機器 (JVM) 選項。

Registry 也可能記憶體不足。若要避免發生這種問題,請配置 JVM 選項,增加 Application Server 網域之可用記憶體。

執行下列作業,配置 Registry 的 JVM 選項。

Procedure配置 Registry 網域的 JVM 選項

  1. 依照使用 Application Server Admin Console中的說明,登入至 Application Server Admin Console。

  2. 展開配置節點。

  3. 展開伺服器節點 server-config (Admin Config)

  4. 按一下 [JVM 設定]。

  5. 按一下 [JVM 選項] 標籤。

  6. 按一下 [增加 JVM 選項]。

  7. 在文字欄位中,鍵入下列指令 (全部位於同一行):


    -Dhttp.proxyHost=hostname.domainname -Dhttp.proxyPort=8080 -Dhttp.nonProxyHosts=localhost
    

    連接埠值通常為 8080。如果您位置的連接埠不同,請指定正確的值。

  8. 再按一下 [增加 JVM 選項]。

  9. 在文字欄位中,鍵入下列指令 (全部位於同一行):


    -XX:MaxPermSize=128m
    
  10. 按一下 [儲存]。

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

建立管理員

在 Service Registry Administration Tool 中有一些作業,僅有註冊為管理員的使用者才能執行。此外,可能會呼叫管理員對其他使用者提交的物件執行生命週期變更 (例如,批准)。

管理員也可以變更預設存取控制策略 (ACP)。然而,ACP 目前必須手動編寫,因此需要有關 OASIS 可延伸存取控制標記語言 (XACML) 的知識。如需詳細資訊,請參閱 ebXML RIM 3.0 的第 9 章「Access Control Information Model」,尤其是 9.7.6 小節至 9.7.8 小節中的範例。請參閱閱讀本書之前,以獲得有關如何尋找 ebXML RIM 3.0 規格的資訊。

Procedure建立管理員

若要將自己註冊為管理員,請執行以下步驟:

  1. 執行「Service Registry 3.1 使用者指南」中的「建立使用者帳號」中所述的使用者註冊程序,或按照 add user 所述,使用 Admin Tool 的 add user,將自己加入成為使用者。

  2. 如果您曾經使用 Web Console 註冊,請取得使用者 (User) 物件的唯一識別碼,如下所示:

    1. 使用 Web Console 執行基本查詢,在此將 [物件類型] 設定為 [使用者 (User)]。

    2. 按一下 [詳細資訊] 連結,檢視 Registry 為您建立的使用者 (User) 物件。

    3. 記下 [唯一識別碼] 欄位的值,或複製該值然後貼入檔案中。

    如果您曾經使用 add user 指令,請使用 users 指令取得使用者的清單,然後複製自己的使用者名稱的識別碼值。

  3. 變更至目錄 RegistryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF/classes

  4. 在文字編輯器中開啟檔案 omar.properties

  5. 尋找特性 omar.security.authorization.registryAdministrators 的定義。

  6. 加入垂直列 (|),後面再加上在步驟 2 中複製的唯一識別碼字串,以編輯特性定義。

    特性定義必須全部位於同一行,且不得包含空格。完成之後,結果會如下所示 (全部位於同一行):

    omar.security.authorization.registryAdministrators=
    urn:freebxml:registry:predefinedusers:registryoperator|
    urn:uuid:77f5c196-79de-4286-8483-8d80def3583b
  7. 儲存並關閉 omar.properties 檔案。

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

接下來的步驟

若要建立額外的管理員,您不必編輯 omar.properties 檔案。您可以使用 Admin Tool 或 Web Console 增加使用者,並且可以使用 Web Console 將使用者分類為管理員。

指定可執行使用者註冊的人

依預設,可存取 Service Registry URL 的使用者均能以使用者註冊精靈,執行使用者註冊。任何註冊的使用者都可將內容發佈到登錄 (Registry)。

您可以定義 omar.properties 檔案中的 omar.security.selfRegistration.acl 特性,以限制此功能,如此只有特定人員可執行使用者註冊。

在您完成此作業之後,唯一可使用精靈註冊的人員,會是由特性定義指定姓名的人員。其他嘗試註冊的人員會在填寫使用者認證詳細資訊表單 (使用者註冊精靈的步驟 3),並且按 [下一步] 按鈕之後,看見錯誤訊息。錯誤訊息顯示 User registration failed。該訊息之後有一行文字顯示 UserNotFoundException

如果 omar.security.selfRegistration.acl 特性未出現在 omar.properties 中,或者該特性已定義為空字串,則任何註冊過的使用者都可以將內容發佈到登錄 (Registry)。

Procedure限制使用者註冊

  1. 變更至目錄 RegistryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF/classes

  2. 在文字編輯器中開啟檔案 omar.properties

  3. 增加下列特性的定義:

    omar.security.selfRegistration.acl

    您可以將此特性定義放在檔案中的任何位置。不過特性定義的位置,比較適合具有 omar.security 前綴的其他特性定義所在區域。

    將特性值定義成為以逗號分隔的人員姓名清單,這些人員都經過授權可執行使用者註冊,如以下範例所示:

    omar.security.selfRegistration.acl=Vijay Patel, Jane Doe,
  4. 儲存並關閉 omar.properties 檔案。

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

啟用登錄 (Registry) 物件的版本控制

依預設,登錄 (Registry) 物件的版本控制處於停用狀態。如果啟用版本控制,只要任何物件屬性變更,就會建立新的物件版本。啟用版本控制是一種管理作業。

Procedure啟用 Registry 物件的版本控制

  1. 變更至目錄 RegistryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF/classes

  2. 在文字編輯器中開啟檔案 omar.properties

  3. 找到特性 omar.server.lcm.VersionManager.versionableClassList 的定義。

    依預設,此特性不含任何值:

    omar.server.lcm.VersionManager.versionableClassList=
  4. 指定您需要 Registry 在物件經過修改之後即建立新版本的任何物件。以垂直列 (|) 分隔物件。

    例如:

    omar.server.lcm.VersionManager.versionableClassList=Service|Organization

    使用檔案中標記為註釋的特性設定副本做為範例。

  5. 儲存並關閉 omar.properties 檔案。

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

停用 WSDL Cataloger

依預設,當 WSDL 檔案發佈至登錄 (Registry) 成為外部物件 (ExtrinsicObject) 物件時,Registry 會使用 ebXML Registry Profile for Web Services 所定義的功能,建立物件的中介資料。您可以停用此功能。

Procedure停用 WSDL Cataloger

  1. 變更至目錄 RegistryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF/classes

  2. 在文字編輯器中開啟檔案 omar.properties

  3. 找出特性 omar.server.cms.classMap.urn\:oasis\:names\:tc\:ebxml-regrep\:profiles\:ws\:wsdl \:cataloging\:Service\:default 的定義。

  4. 在定義的前面放置井字號 (#),可將此特性定義標記為註釋。

  5. 儲存並關閉 omar.properties 檔案。

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

配置 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 的 [搜尋] 或 [檔案管理] 功能表,顯示您已變更欄的物件。

重新安裝 Service Registry

如果您需要解除安裝再重新安裝 Service Registry,請在重新安裝之前執行以下作業:

如果您需要重新安裝 Service Registry 資料庫 (例如,如果資料庫已毀壞),請按照重新安裝 Service Registry 資料庫中的指示進行操作。在重新安裝資料庫之前,您不需要解除安裝資料庫。

Procedure停止並刪除 Registry 的 Application Server 網域

  1. 變更至 ServiceRegistry-base/install 目錄。

  2. 執行以下指令 (全部位於同一行):

    Ant-base/ant -f build-install.xml Dinstall.properties= props-file appserver.domain.delete

    其中 props-file 是您在在 [以後配置] 方式安裝之後以 Root 身份使用自訂特性配置 Service Registry在 [以後配置] 方式安裝之後以非 Root 使用者身份使用自訂特性配置 Service Registry中所編輯 install.properties 檔案副本的路徑名稱。

    此目標會停止網域,然後再將其刪除。

Procedure重新安裝 Service Registry 資料庫

此作業會刪除現有的資料庫內容、納入已註冊的使用者,並且重新建立預設的資料庫。

  1. 變更至 ServiceRegistry-base/install 目錄。

  2. 執行以下指令 (全部位於同一行):

    Ant-base/ant -f build-install.xml Dinstall.properties= props-file install.db

  3. 執行以下指令 (全部位於同一行):

    Ant-base/ant -f build-install.xml Dinstall.properties= props-file appserver.domain.stop export.registryOperatorCert install.cacerts appserver.domain.start

管理 Java DB 資料庫

Registry 會使用 Java DB 資料庫。Java DB 是 Apache 軟體基金會開放原始碼關聯式資料庫計劃的商用發行版本。這個 Apache 計劃的名稱是 Derby。

依預設,資料庫位在 RegistryDomain-base/3.0/data/registry/soar/ 目錄中。資料庫備份會位在 RegistryDomain-base/3.0/backup/ 目錄中,其中包括一個含備份日期 (例如,20060419-004759) 的子目錄名稱。

依預設,Java DB 資料庫會在內嵌式模式中執行作業。這表示,它會與 Service Registry 在相同的 JVM 中執行,而且只接受來自 Service Registry 這個用戶端的連線。您無法進行遠端連線。當 Java DB 在內嵌式模式中執行時,只有在它未執行的狀況下,才可以備份資料庫 (離線備份)。如需操作說明,請參閱執行資料庫的離線備份

在 Registry 網域執行時,如果您需要能夠備份資料庫 (線上備份),您必須在網路伺服器模式中執行 Java DB 資料庫。如需操作說明,請參閱從內嵌式模式切換至網路伺服器模式執行資料庫的線上備份

當 Java DB 在網路伺服器模式中執行時,Java DB 可在常見用戶端/伺服器配置中,接受多個用戶端連線。例如,Service Registry 和 SQL 用戶端可同時與 Java DB 進行通訊。當 Java DB 在網路伺服器模式中執行時,會使用預設值為 1527 的資料庫連接埠。Service Registry 這類的用戶端會使用此連接埠與資料庫通訊。

當 Java DB 在網路伺服器模式中執行時,Service Registry 會在網路用戶端模式中執行。

在網路伺服器模式中執行的資料庫必須以密碼加以保護,讓只有經過認證的用戶端才可以使用資料庫。當資料庫在內嵌式模式中執行時,您也可以使用相同的方式保護資料庫,但這並不是必要的步驟。

依預設,此時會設定 ServiceRegistry-base /install/install.properties 檔案中的特性,讓 Java DB 在內嵌式模式中執行。表 1–3 將顯示這些設定。

表 1–3 Java DB 的預設特性設定

特性設定 

說明 

registry.install.clientDatabase=false

啟用內嵌式模式 

registry.install.RequireDatabaseAuthentication=false

不要求資料庫認證 

registry.install.DatabaseUserID=APP

將使用者 ID 設定為 APP (未使用)

registry.install.DatabasePassword=app123

將密碼設定為 app123 (未使用)

如需有關 Java DB 的更多詳細資訊,請參閱 Java DB 文件,文件位在 Java DB 網站

Procedure要求資料庫認證

依預設,不需要資料庫認證。當資料庫在內嵌式模式中執行時,可能會要求認證,而當資料庫在網路伺服器模式中執行時,則必須要求認證。

  1. 變更為 Service Registry 安裝目錄︰

    cd ServiceRegistry-base/install

  2. 在文字編輯器中,開啟 install.properties 檔案副本。

  3. registry.install.RequireDatabaseAuthentication 特性的設定從 false 變更為 true

  4. 編輯 registry.install.DatabaseUserID 特性的設定。

    對於內嵌式模式,此值可以是 APP 或空白:

    registry.install.DatabaseUserID=APP
    registry.install.DatabaseUserID=

    對於網路伺服器模式,此值必須是 APP

  5. 編輯 registry.install.DatabasePassword 特性的設定。

    密碼必須至少包含 6 個字元。預設值為 app123

  6. 儲存並關閉檔案。

  7. 停止並重新啟動 Registry 的 Application Server 網域。若要這麼做,請執行以下指令 (全部位於同一行):

    Ant-base/ant -f build-install.xml Dinstall.properties= props-file appserver.domain.bounce

    其中 props-file 是您在在 [以後配置] 方式安裝之後以 Root 身份使用自訂特性配置 Service Registry在 [以後配置] 方式安裝之後以非 Root 使用者身份使用自訂特性配置 Service Registry中所編輯 install.properties 檔案副本的路徑名稱。

Procedure執行資料庫的離線備份

如果資料庫在內嵌式模式中執行,您必須執行離線備份。

  1. 變更為 Service Registry 安裝目錄︰

    cd ServiceRegistry-base/install

  2. 執行以下指令 (全部位於同一行):

    Ant-base/ant -f build-install.xml Dinstall.properties= props-file appserver.domain.stop

    其中 props-file 是您在在 [以後配置] 方式安裝之後以 Root 身份使用自訂特性配置 Service Registry在 [以後配置] 方式安裝之後以非 Root 使用者身份使用自訂特性配置 Service Registry中所編輯 install.properties 檔案副本的路徑名稱。

  3. 執行以下指令 (全部位於同一行):

    Ant-base/ant -f build-install.xml Dinstall.properties= props-file backup.db

  4. 執行以下指令 (全部位於同一行),重新啟動網域:

    Ant-base/ant -f build-install.xml Dinstall.properties=props-file appserver.domain.start

Procedure從內嵌式模式切換至網路伺服器模式

若要從內嵌式模式 (預設) 切換至網路伺服器模式,請將 registry.install.clientDatabase 特性的設定從 false 變更為 true,並且要求資料庫認證。

在編輯特性之後,重新建立資料庫資源,然後停止再重新啟動 Application Server。

  1. 變更為 Service Registry 安裝目錄︰

    cd ServiceRegistry-base/install

  2. 在文字編輯器中,開啟 install.properties 檔案副本。

  3. registry.install.clientDatabase 特性的設定從 false 變更為 true

  4. registry.install.RequireDatabaseAuthentication 特性的設定從 false 變更為 true

  5. 必要時,請編輯 registry.install.DatabaseUserID 特性的設定。

    對於網路伺服器模式,此值必須是 APP

  6. 編輯 registry.install.DatabasePassword 特性的設定。

    任何長度都有效。預設值為 app123

  7. 儲存並關閉檔案。

  8. 重新建立資料庫連線池和相關資源。若要這麼做,請執行以下指令 (全部位於同一行):

    Ant-base/ant -f build-install.xml Dinstall.properties= props-file appserver.jdbcResource.update

    其中 props-file 是您在在 [以後配置] 方式安裝之後以 Root 身份使用自訂特性配置 Service Registry在 [以後配置] 方式安裝之後以非 Root 使用者身份使用自訂特性配置 Service Registry中所編輯 install.properties 檔案副本的路徑名稱。

  9. 停止並重新啟動 Registry 的 Application Server 網域。若要這麼做,請執行以下指令 (全部位於同一行):

    Ant-base/ant -f build-install.xml Dinstall.properties= props-file appserver.domain.bounce

  10. 啟動 Java DB 資料庫。若要這麼做,請執行以下指令:

    asadmin start-database --dbhome database-directory

    依預設,此指令會將資料庫及其記錄檔放在目前的目錄中。使用 --dbhome 選項指定資料庫的位置 (通常是在 RegistryDomain-base /3.0/data/registry/soar)。

接下來的步驟

如果資料庫在網路伺服器模式中執行,您可以執行資料庫的線上備份。

稍後,如果您需要返回內嵌式模式,請按照相同步驟進行,但有以下例外狀況:

Procedure執行資料庫的線上備份

  1. 變更為 Service Registry 安裝目錄︰

    cd ServiceRegistry-base/install

  2. 檢查 install.properties 檔案副本的 registry.install.clientDatabase 特性是否設定為 true

  3. 執行以下指令 (全部位於同一行):

    Ant-base/ant -f build-install.xml Dinstall.properties= props-file backup.db

    其中 props-file 是您在在 [以後配置] 方式安裝之後以 Root 身份使用自訂特性配置 Service Registry在 [以後配置] 方式安裝之後以非 Root 使用者身份使用自訂特性配置 Service Registry中所編輯 install.properties 檔案副本的路徑名稱。