[AIX Solaris HP-UX Linux Windows][z/OS]

範例: 使用 Scripting 建立 SCA 商業層次應用程式 (已淘汰)

您可以將許多不同類型的構件新增至商業層次應用程式。 例如,您可以新增應用程式或模組、Java™ 保存檔 (JAR 檔)、壓縮檔中的資料,以及其他商業層次應用程式。 這個範例說明如何建立空的商業層次應用程式,然後使用 Scripting 將「服務元件架構 (SCA)」JAR 檔新增至應用程式。

已淘汰的特性: 8.5.5.19 或更新版本 「服務元件架構 (SCA)」程式設計模型及範例已淘汰,並將在未來版本中移除。 您無法部署新的 SCA 商業層次應用程式。 如果您想要繼續使用 SCA 作為長期策略的一部分,請考量在 IBM Business Process Manager上管理應用程式。

開始之前

在產品安裝中,驗證已配置目標伺服器。 在配置伺服器的過程中,請判斷您的應用程式檔案是否可以在部署目標上執行。 您必須將商業層次應用程式的 SCA 組合資產部署到 8.0 版或更新版本的伺服器或叢集(目標),或部署到啟用 Feature Pack for SCA 的 7.0 版目標。

從產品下載網站下載 helloworld-ws-asynch.jar SCA 範例檔:
  1. 移至 範例 8.5 說明文件。
  2. 下載標籤的服務元件架構區段中,按一下 FTPHTTP
  3. 在鑑別視窗中,按一下確定
  4. SCA.zip 壓縮檔中,移至 SCA/installableApps 目錄,並下載 helloworld-ws-asynch.jar 檔。

關於這項作業

在此範例中,請使用 Jython 或 Jacl 語言中的 wsadmin Script ,來建立名為 HelloWorldAsync 且具有 SCA JAR 檔 helloworld-ws-asynch.jar作為資產的商業層次應用程式。

程序

  1. 啟動 wsadmin Scripting 工具。
  2. 建立名為 HelloWorldAsync的空商業層次應用程式。

    使用 createEmptyBLA 指令來建立商業層次應用程式。

    使用 Jython:
    AdminTask.createEmptyBLA('-name HelloWorldAsync')
    使用 Jacl:
    $AdminTask createEmptyBLA {-name HelloWorldAsync}
    在指令執行之後, blaID 輸出會顯示在指令視窗中:
    WebSphere:blaname=HelloWorldAsync

    您可以執行 listBLAs 指令來檢視 Cell 中所有商業層次應用程式的清單,並確認 HelloWorld非同步商業層次應用程式存在。

    使用 Jython:
    AdminTask.listBLAs()
    如果要檢視更可讀的商業層次應用程式清單,請在指令之前嘗試 print :
    print AdminTask.listBLAs()
    使用 Jacl:
    $AdminTask listBLAs
  3. 匯入 SCA JAR 資產。

    使用 importAsset 指令,將 JAR 檔匯入產品配置儲存庫。

    使用 Jython:
    AdminTask.importAsset('-source app_server_root/installableApps/helloworld-ws-asynch.jar')
    使用 Jacl:
    $AdminTask importAsset {-source app_server_root/installableApps/helloworld-ws-asynch.jar}

    在指令執行之後, assetID 輸出會顯示在指令視窗中:

    WebSphere:assetname=helloworld-ws-asynch.jar

    您可以執行 listAssets 指令,以檢視 Cell 中所有資產的清單,並確認 helloworld-ws-asynch.jar 資產存在:

    使用 Jython:
    AdminTask.listAssets()
    若要檢視更可讀的資產清單,請在指令之前嘗試 print :
    print AdminTask.listAssets()
    使用 Jacl:
    $AdminTask listAssets
  4. 新增 SCA JAR 資產作為商業層次應用程式的組合單元。

    使用 addCompUnit 指令,將資產新增至商業層次應用程式。

    使用 Jython:
    AdminTask.addCompUnit('[-blaID HelloWorldAsync -cuSourceID helloworld-ws-asynch.jar -MapTargets [[ .* SCA_server_name ]] ]') 
    使用 Jacl:
    $AdminTask addCompUnit {-blaID HelloWorldAsync -cuSourceID helloworld-ws-asynch.jar -MapTargets {{ .* SCA_server_name }} }

    SCA_server_name 是目標的名稱; 例如 server1。 目標必須支援 SCA 組合。 您只能指定單一伺服器 或叢集 作為目標,而不能將 SCA 組合單元對映至多個目標。

    在指令執行之後,組合單元 ID 輸出會顯示在指令視窗中:

    WebSphere:cuname=helloworldws

    在部署組合單元期間,您可以檢視某些連結的複合層次服務的「統一資源識別碼 (URI)」,以及服務名稱和連結類型。 只有 URI 是可編輯的。 產品不會驗證 URI。

    您可以執行 listCompUnits 指令來檢視指定商業層次應用程式中所有組合單元的清單,並確認 helloworldws 組合單元存在於 HelloWorld非同步中。

    使用 Jython:
    AdminTask.listCompUnits('-blaID HelloWorldAsync')
    使用 Jacl:
    $AdminTask listCompUnits {-blaID HelloWorldAsync}
  5. 儲存配置變更。
    使用 Jython:
    AdminConfig.save()
    使用 Jacl:
    $AdminConfig save
  6. 啟動 HelloWorld非同步商業層次應用程式。

    使用 startBLA 指令來啟動應用程式。

    使用 Jython:
    AdminTask.startBLA('-blaID HelloWorldAsync')
    使用 Jacl:
    $AdminTask startBLA {-blaID HelloWorldAsync}

    驗證您看到下列訊息,指出應用程式已順利啟動:

    CWWMH0196I: 商業層次應用程式 "WebSphere:blaname=HelloWorldAsync" 已順利啟動。

    選擇性地查詢狀態,以查看應用程式是否正在使用 getBLAStatus 指令執行。

    使用 Jython:
    AdminTask.getBLAStatus('-blaID HelloWorldAsync')
    使用 Jacl:
    $AdminTask getBLAStatus {-blaID HelloWorldAsync}

    下列訊息指出應用程式已啟動:

    BLA: WebSphere:blaname=HelloWorldAsync Status of business-level application "WebSphere:blaname=HelloWorldAsync" is "ExecutionState.STARTED".
  7. 結束 wsadmin 指令 Shell。
    exit

下一步

選擇性地檢查可下載 SCA 範例之 SCA/installableApps 目錄中的其他 SCA 範例檔,並可能在應用程式中使用。

如果商業層次應用程式未啟動,請確定應用程式對映的部署目標正在執行,並嘗試重新啟動該應用程式。 如果 SCA 組合資產未啟動,請確定每個資產都已對映至支援 SCA 組合的部署目標。

如果資產組合單元使用 Enterprise JavaBeans (EJB) 連結,且因為具有 non-WebSphere target of "null"而未啟動,請刪除資產組合單元,再將它重新新增至商業層次應用程式。 當您將資產新增至商業層次應用程式時,請指定支援 SCA 組合的目標帽子。 您無法在部署之後變更目標。

如果 SCA 應用程式使用安全功能,目標必須在廣域安全網域內。

在多節點環境中,當您將變更儲存到目標之後,以及啟動商業層次應用程式之前,請將節點同步化。