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

示例:使用脚本创建 SCA 业务级应用程序(已弃用)

可以将许多不同类型的工件添加到业务级应用程序。 例如,您可以添加应用程序或模块、Java™ 档案(JAR 文件)、压缩文件中的数据以及其他业务级应用程序。 本示例描述如何使用脚本来创建空的企业级应用程序,然后将服务组件体系结构 (SCA) JAR 文件添加到该应用程序。

已弃用的功能:8.5.5.19或更高版本服务组件体系结构 (SCA) 编程模型和示例已弃用,并将在将来的版本中删除。 无法部署新的 SCA 业务级应用程序。 如果您想继续使用 SCA 作为长期战略的一部分,请考虑将您的应用程序托管在IBMBusiness Process Manager

准备工作

在产品安装中,验证是否已配置目标服务器。 在配置服务器过程中,请确定应用程序文件是否可以在部署目标上运行。 必须将业务级应用程序的 SCA 组合体资产部署到已对 Feature Pack for SCA 启用的 V8.0 或更高版本服务器或集群(目标)或 V7.0 目标。

从产品下载站点下载 helloworld-ws-asynch.jar SCA 样本文件:
  1. 前往 https://public.dhe.ibm.com/software/websphere/appserv/library/v85/samples/ 并下载 SCA.zip 文件。
  2. SCA.zip 压缩文件,进入 SCA/installableApps 目录,获取 helloworld-ws-asynch.jar 文件。

有关此任务

对于本示例,请在 Jython 或 Jacl 语言中使用 wsadmin 脚本,将业务级应用程序 HelloWorldAsync(具有 SCA JAR 文件 helloworld-ws-asynch.jar)创建为资产。

过程

  1. 启动 wsadmin 脚本工具。
  2. 创建一个名为的空业务级应用程序HelloWorldAsync

    使用 createEmptyBLA 命令来创建业务级应用程序。

    使用 Jython:
    AdminTask.createEmptyBLA('-name HelloWorldAsync')
    使用 Jacl:
    $AdminTask createEmptyBLA {-name HelloWorldAsync}
    在运行此命令后,命令窗口中会显示 blaID 输出:
    WebSphere:blaname=HelloWorldAsync

    可以运行 listBLAs 命令以查看单元中所有业务级应用程序的列表,并确认 HelloWorldAsync 业务级应用程序是否存在。

    使用 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 命令以查看单元中所有资产的列表,并确认 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 组合单元映射至多个目标。

    在运行此命令后,命令窗口中会显示组合单元标识输出:

    WebSphere:cuname=helloworldws

    在部署组合单元期间,可以查看某些绑定的组合级别服务的统一资源标识 (URI),以及这些绑定的服务名称和绑定类型。 只有 URI 是可编辑的。 产品不会验证 URI。

    可以运行 listCompUnits 命令以查看所指定业务级应用程序中所有组合单元的列表,并确认 helloworldws 组合单元是否存在于 HelloWorldAsync 中。

    使用 Jython:
    AdminTask.listCompUnits('-blaID HelloWorldAsync')
    使用 Jacl:
    $AdminTask listCompUnits {-blaID HelloWorldAsync}
  5. 保存配置更改。
    使用 Jython:
    AdminConfig.save()
    使用 Jacl:
    $AdminConfig save
  6. 启动 HelloWorldAsync 业务级应用程序。

    使用 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 组合体的部署目标。

如果资产组合单位使用企业JavaBeans (EJB)绑定并且无法启动,因为它有一个non-WebSphere target of "null",删除资产组合单元并重新添加至业务级应用。 将资产添加到业务级应用程序时,请指定一个支持 SCA 组合体的目标。 在部署完毕后,将无法更改目标。

如果 SCA 应用程序使用了安全性,那么目标必须在全局安全域中。

在多节点环境中,在保存对目标所作的更改之后并在启动业务级应用程序之前,请对各个节点进行同步。