您可以將許多不同類型的構件新增至商業層次應用程式。 例如,您可以新增應用程式或模組、Java™ 保存檔 (JAR 檔)、壓縮檔中的資料,以及其他商業層次應用程式。 這個範例說明如何建立空的商業層次應用程式,然後使用 Scripting 將「服務元件架構 (SCA)」JAR 檔新增至應用程式。
開始之前
在產品安裝中,驗證已配置目標伺服器。 在配置伺服器的過程中,請判斷您的應用程式檔案是否可以在部署目標上執行。 您必須將商業層次應用程式的 SCA 組合資產部署到 8.0 版或更新版本的伺服器或叢集(目標),或部署到啟用 Feature Pack for SCA 的 7.0 版目標。
從產品下載網站下載
helloworld-ws-asynch.jar SCA 範例檔:
- 移至 範例 8.5 說明文件。
- 在下載標籤的服務元件架構區段中,按一下 FTP 或 HTTP。
- 在鑑別視窗中,按一下確定。
- 在 SCA.zip 壓縮檔中,移至 SCA/installableApps 目錄,並下載 helloworld-ws-asynch.jar 檔。
關於這項作業
在此範例中,請使用 Jython 或 Jacl 語言中的 wsadmin Script ,來建立名為 HelloWorldAsync 且具有 SCA JAR 檔 helloworld-ws-asynch.jar作為資產的商業層次應用程式。
程序
- 啟動 wsadmin Scripting 工具。
- 建立名為
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
- 匯入 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
- 新增 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}
- 儲存配置變更。
使用 Jython:
AdminConfig.save()
使用 Jacl:
$AdminConfig save
- 啟動 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".
- 結束 wsadmin 指令 Shell。
下一步
選擇性地檢查可下載 SCA 範例之 SCA/installableApps 目錄中的其他 SCA 範例檔,並可能在應用程式中使用。
如果商業層次應用程式未啟動,請確定應用程式對映的部署目標正在執行,並嘗試重新啟動該應用程式。 如果 SCA 組合資產未啟動,請確定每個資產都已對映至支援 SCA 組合的部署目標。
如果資產組合單元使用 Enterprise JavaBeans (EJB) 連結,且因為具有 non-WebSphere target of
"null"而未啟動,請刪除資產組合單元,再將它重新新增至商業層次應用程式。 當您將資產新增至商業層次應用程式時,請指定支援 SCA 組合的目標帽子。 您無法在部署之後變更目標。
如果 SCA 應用程式使用安全功能,目標必須在廣域安全網域內。
在多節點環境中,當您將變更儲存到目標之後,以及啟動商業層次應用程式之前,請將節點同步化。