相关文章推荐

将 JDeveloper SOA 应用程序部署到 Oracle WebLogic Server 11 g

在本教程中,您将使用 Oracle JDeveloper 11 g 将 SOA Web 应用程序部署到 Oracle WebLogic Server 11 g

本教程包括下列主题:

将光标置于此图标上以加载和查看本教程的所有屏幕截图。(警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)

注: 此外,您还可以在下列步骤中将光标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。可以通过单击各个屏幕截图来将其隐藏。

一家名为 Global Company 的虚构公司运行 Fusion Order Demo,此演示提供两个主应用程序:

  • 店面模块 ( StoreFrontModule.jws ):提供 Web 站点,客户可以在此站点浏览和订购产品;基于 Oracle ADF 业务组件和 ADF Faces
  • SOA 组合模块 ( WebLogicFusionOrderDemo.jws ):提供客户订单的后端处理
  • 在本教程中,您将 WebLogic Fusion Order Demo 中的 StoreFrontModule 应用程序和 SOA 组合应用程序部署到支持 SOA 的 Oracle WebLogic Server 11 g 域,该域包括:

  • 管理服务器,托管 Fusion Middleware Control 控制台以执行管理任务
  • 受管 SOA 服务器,是 Oracle WebLogic Server 的一个实例,用于托管已部署的应用程序
  • 您要完成以下操作:

  • 使用 JDeveloper 创建可部署的 Java EE 文件,其中包含您的应用程序和一些必需的部署描述符。
  • 使用 JDeveloper 部署机制将 StoreFrontModule 应用程序部署到 WebLogic Server。
  • 使用 Ant 脚本将 SOA 组合应用程序部署到相同的 Oracle WebLogic 域。
  • 使用 Oracle Enterprise Manager Fusion Middleware Control 管理应用程序。
  • 然后通过 WebLogic Server 实例在浏览器中运行应用程序对其进行测试,确保前端和后端均正常运行。
  • 返回主题列表

    开始本教程之前,您应该:

    可以访问或已经安装了 Oracle JDeveloper (11.1.1.1.0) Studio 版。您可以从 Oracle 技术网下载:
    http://www.oracle.com/technetwork/developer-tools/jdev/downloads/archives-090457.html

    确保您下载并安装了 11 g ,并且它是 Studio 版而不是 Java 版。您可以通过从 JDeveloper 菜单中选择 Help > About 验证已经安装了正确的版本。

    为了以本教程中的方式创建和部署 SOA 组合应用程序,还需要安装 JDeveloper SOA 套件扩展。安装此套件扩展:

  • 从 JDeveloper 菜单中选择 Help > Check for Updates 调用 Check for Updates 向导。
  • 在该向导中,搜索 Oracle Fusion Middleware Products 更新中心。
  • 或者,您可以从 Oracle 技术网 下载用于 Oracle JDeveloper 的 SOA 套件扩展(文件名为 soa-jdev-extension.zip ),并通过在 Check for Updates 向导中浏览到本地下载文件,将此扩展导入到 Oracle JDeveloper 中。

    已经更新了 SOA 基础架构数据库的数据库参数(如果使用 XE 数据库)。 processes 参数应该 >= 200。要查看值是什么,请以 sysdba 身份登录到 SQL*Plus,然后执行以下语句:

    SQL> show parameter session
    SQL> show parameter processes

    如果 processes 参数值小于 200 ,请执行以下语句:

    SQL> alter system reset sessions scope=spfile sid='*';
    SQL> alter system set processes=200 scope=spfile;

    此后,关闭并重新启动数据库,然后再次在 SQL*Plus 中执行 show 语句以确保其生效。

    可以访问或已经安装了 Oracle WebLogic Server 11 g (10.3.1.0) 的实例。您可以从 Oracle 技术网下载:
    http://www.oracle.com/us/corporate/accessibility/templates/t1927.html

    还必须针对 ADF 应用程序配置 WebLogic 域,如 Oracle® Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework 11 g Release 1 (11.1.1) 的“Deploying Fusion Web Applications”一章中标题为“Creating and Extending WebLogic Server Domains”的部分中所述。(请参阅 参考资料 。)

    必须将 WebLogic 域定义为处于开发模式,而不是生产模式。

    可以访问或已经安装了 SOA 套件。您可以从 Oracle 技术网下载:
    http://www.oracle.com/technetwork/middleware/soasuite/overview/index.html

    安装说明在 Oracle® Fusion Middleware Installation Guide for Oracle SOA Suite
    11
    g Release 1 (11.1.1) (《用于 Oracle SOA 套件 11 g 第 1 版 (11.1.1) 的 Oracle® 融合中间件安装指南》)中。(请参阅 参考资料 。)

    启动 WebLogic Server

    WebLogic Server 可以定义多个环境(称为域)。每个域包含一个管理服务器以及一个或多个受管服务器。

    当目标 WebLogic Server 域处于开发模式时,JDeveloper 自动将应用程序级凭证、身份和策略迁移到远程 WebLogic Server。默认情况下,作为 JDeveloper 一部分的集成 WebLogic Server 处于开发模式。您可以使用 Oracle WebLogic Server Administration Console 确定域处于开发模式还是生产模式。

    如果 WebLogic Server 处于生产模式,则 JDeveloper 不迁移安全构件。相反,管理员通常使用企业管理器或 WLST 脚本将应用程序(包括其安全性要求)部署到生产模式 WebLogic Server。有关迁移应用程序凭证和其他 jazn-data 用户凭证的更多信息,请参阅 Oracle Fusion Middleware Security Guide。部署到生产模式 WebLogic Server 域不在本教程范围内。

    假设您已经通过一个名为 MySOADomain 的开发模式域安装了 WebLogic Server 和 SOA 套件,执行以下步骤以配置和启动 WebLogic Server:

    在启动 WebLogic Server 之前,您需要向域的配置文件中添加设置,以便能够将 FOD 应用程序中包括的凭证部署到域。此设置仅适用于上面在本部分简介中所描述的开发实例。

    在文本编辑器中,打开文件 <FMW_HOME>/user_projects/domains/MySOADomain/bin/setDomainEnv.cmd (在此路径中替换成您自己的 SOA 域名),并向 SET JAVA_PROPERTIES 行中添加以下内容:
    -Djps.app.credential.overwrite.allowed=true

    注: 在 Linux 上,打开 <FMW_HOME>/user_projects/domains/MySOADomain/bin/setDomainEnv.sh 文件并设置以下内容:
    JAVA_PROPERTIES="-Djps.app.credential.overwrite.allowed=true -Dplatform.home=${WL_HOME} -Dwls.home=${WLS_HOME} -Dweblogic.home=${WLS_HOME} "
    export JAVA_PROPERTIES

    保存此文件。如果 WebLogic Server 管理服务器已经运行,您必须重新启动它以使此设置生效。如果此服务器已经运行,请先停止它,然后才能完成下个步骤:从 Windows 的 Start 菜单中,选择 All Programs > Oracle WebLogic > User Projects > <MySOADomain> > Stop Admin Server ,替换成您自己的 SOA 域名。

    注: 要在 Linux 上关闭管理服务器,请以 root 用户的身份将目录更改为 <FMW_HOME> /user_projects/domains/ <MYSOADomain> /bin 并执行以下命令:
    ./stopWeblogic.sh

    启动 WebLogic Server。从 Windows 的 Start 菜单中,选择 All Programs > Oracle WebLogic > User Projects > MySOADomain > Start Admin Server for Weblogic Server Domain ,替换成您自己的 SOA 域名。

    注: 要在 Linux 上启动此服务器,请以 root 用户的身份将目录更改为 <FMW_HOME>/user_projects/domains/MYSOADomain/bin 并执行以下命令:
    ./startWebLogic.sh

    当命令窗口显示以下消息时,将启动您的 WebLogic 域的管理服务器:
    <Server state changed to RUNNING>
    <Server started in RUNNING mode>

    保留命令窗口打开,可按需要最小化。WebLogic 管理服务器现在正在运行并可以使用。

    如果 SOA 受管服务器尚未运行,请启动它(仅当管理服务器处于 RUNNING 模式时执行此操作)。在命令窗口中,在一行中输入以下命令:

    <WLS_HOME> \user_projects\domains\ <Your_SOA_Domain> \bin\startManagedWebLogic.cmd <Managed_Server_Name> http:// <host> : <port>

    替换以下值:

    需要替换的值: <WLS_HOME>

    您的 WebLogic Server 安装路径,例如 C:\weblogic

    <Your_SOA_Domain> 您的 SOA 受管服务器的域名,例如 MySOADomain <Managed_Server_Name> 受管服务器的名称。例如:
    soa_server1 安装了 WebLogic Server 的服务器的 DNS 名称或 IP 地址,例如 myhost.com 管理服务器的端口(通常为 7001

    当命令窗口显示指示服务器正在运行的消息时,您可以最小化此窗口,但不能关闭它。

    注: 要在 Linux 上启动 SOA 受管服务器,请以 root 用户的身份将目录更改为 <FMW_HOME>/user_projects/domains/MYSOADomain/bin 并执行以下命令,使用您自己的值替换上表中列出的那些值:
    ./startManagedWebLogic.sh soa_server1 http://localhost:7001

    返回主题列表

    在 WebLogic Server 主机上设置环境变量

    JDeveloper 必须在部署平台上设置两个环境变量,以运行部署组合服务的脚本。 Path 变量必须包含到安装了 Ant 的 \bin 子目录的路径。还必须设置 JAVA_HOME

    要在 Windows 上设置这些变量,执行以下步骤(对于 Linux,请参阅本部分结尾的注释):

    在要部署应用程序的计算机上,从 Windows 的 Start 菜单中打开 Control Panel 并双击 System 图标。

    在 Environment Variables 对话框中,找到 JAVA_HOME 系统变量并确保将其设置为 WebLogic JDK 的位置。

    如果没有定义 JAVA_HOME 变量,请单击 New 并在 New System Variable 对话框中,输入变量名 JAVA_HOME 和指向 WebLogic JDK 的变量值,例如 C:\weblogic\jdk160_11

    单击 OK 设置新的系统变量。

    双击 Path 系统变量并确保它包括到 WebLogic ant\bin 目录的路径;如果不包括,请将此路径添加到变量值的结尾。例如,您可以添加类似下面的内容:

    ;C:\weblogic\modules\org.apache.ant_1.7.0\bin

    单击 OK 设置 Path 变量,然后再单击两次 OK 关闭 Environment Variables 和 System Properties 对话框。

    以上部分适用于 Windows。在 Linux 上,执行以下命令:
    export JAVA_HOME=${FMW_HOME}/jdk160_11
    export PATH=$PATH:<FMW_HOME>/modules/org.apache.ant_1.7.0/bin

    返回主题列表

    使用 Fusion Middleware Control 检查 WebLogic Server 域

    Oracle WebLogic Server 11 g 附带了一个基于浏览器的企业管理器 (EM)。通过这一 EM 界面,您可以使用 Fusion Middleware Control 监视活动和部署到 WebLogic Server 的应用程序。WebLogic 管理服务器运行之后,您可以使用浏览器连接到 Fusion Middleware Control。以下几步将打开该界面,并简要浏览 WebLogic Server 域。

    要使用浏览器连接到 Fusion Middleware Control,执行以下步骤:

    打开浏览器(请参阅本教程的 前提条件部分 中的浏览器要求)并输入以下 URL: http:// <host> : <enterprise_manager_port> /em

    例如,如果 WebLogic Server 安装在本地计算机上的默认端口,输入 URL:
    http://localhost:7001/em

    Farm 是一组共享元数据信息库的 Oracle WebLogic Server 实例。当您登录到 Fusion Middleware Control 时,所看到的第一个页面是 Farm 主页。

    窗口左侧可调大小、可折叠的面板显示导航树。您可以随时使用此导航面板返回 Farm 主页,或者导航到其他页面。

    您现在可以检查应用程序、Web 服务以及 WebLogic Server 域的其他组件。浏览完后,关闭浏览器窗口。

    双击 <jdev_home> 目录中的 JDeveloper 可执行文件 ( jdeveloper.exe )。

    如果 Migrate User Settings 对话框打开,请单击 NO

    关闭 Tip of the Day 窗口。

    在 Open Application(s) 窗口中,导航到您解压缩 FOD 应用程序文件的位置,例如 <jdev_home>\jdeveloper\mywork\FOD 。打开 StoreFrontModule 文件夹,选择 StoreFrontModule.jws 文件,并单击 Open

    如果系统询问您是否要迁移文件,单击 Yes ,然后在 Migration Status 窗口中单击 OK 以确认文件成功迁移。

    现在就将该应用程序加载到了 JDeveloper 中。

    以类似的方式,打开 CompositeServices > WebLogicFusionOrderDemo 应用程序,迁移文件(如果要求这样做)。

    如果您看到错误对话框,单击 OK 。本教程中标题为“将 SOA 组合应用程序部署到 WebLogic Server”部分中的步骤将解决所报告的问题。

    将应用程序设置为使用您在数据库中安装的 FOD 模式(请参阅 前提条件 )。

  • 在 Application Navigator 中,访问 Application Resources 面板。如果此面板已最小化,请将其恢复。如果没有,请单击折叠面板标题将其展开。



  • 展开 Connections Database 节点,然后右键单击 FOD 连接并选择 Properties

  • 在 Edit Database Connection 窗口中,为您的数据库编辑 Oracle (JDBC) Settings。

    例如,如果您已经在本地计算机上安装了 XE 数据库,则将 Host Name 设置为 localhost ,将 JDBC Port 设置为 1521 ,将 SID 设置为 XE

    单击 Test Connection 。如果连接成功,则单击 OK 。否则,更正问题并再次测试连接。

    返回主题列表

    测试应用程序

    您可以在 JDeveloper 中运行和测试应用程序,使用集成的 WebLogic Server,不需要创建应用服务器连接或部署应用程序。但是,当您使应用程对用户可用时,必须将应用程序部署到外部应用服务器,如您在本教程的后面部分所做的那样。

    要在 JDeveloper 的 WebLogic Server 中测试应用程序,执行以下步骤:

    在 Application Navigator 中,右键单击 StoreFrontService 并从上下文菜单中选择 Rebuild

    编译项目之后,JDeveloper 启动 WebLogic Server(在日志窗口中显示消息),然后将 StoreFrontModule 应用程序部署到其中。最后,JDeveloper 在浏览器中调用该应用程序。

    在您的默认浏览器中,将显示 StoreFrontModule 应用程序的主页。

    如果喜欢,您可以尝试向购物车中添加项目、显示购物车等。完成后关闭浏览器。

    返回主题列表

    创建应用服务器连接

    在将 StoreFrontModule 应用程序部署到 SOA WebLogic Server 域之前,您需要创建到该域的连接。要创建到 SOA 域的应用服务器连接,执行以下步骤:

    如果没有显示 Resource Palette(默认位置在 JDeveloper IDE 的右侧),请从 JDeveloper 主菜单中选择 View > Resource Palette

    在 Resource Palette 中,展开 IDE Connections 面板,然后展开 Application Server

    默认情况下,您可以看到指向 JDeveloper 的集成 WebLogic Server 的连接。

    在向导的 Test 页面上,单击 Test Connection 。如果应用服务器可用并且连接详细信息正确,则窗口的 Status 部分显示运行的八个测试的成功状态。

    如果发生错误,则确认连接设置是否正确。单击 Back 进行任何必要的更改,然后重新测试该连接。

    如果连接成功,则单击 Finish 完成该连接。

    您刚创建了一个到 WebLogic Server 的连接,以托管您的应用程序部署。

    准备应用程序以进行部署

    部署配置文件是用于管理应用程序部署的项目或应用程序组件。部署配置文件列出了源文件、部署描述符(按需要)以及其他将在部署包中加入的附属文件。它描述了要创建的存档文件的格式、内容、类型以及名称,并指定了相关性、特定平台的说明以及其他信息。

    Oracle ADF 应用程序部署为 .ear (企业存档)文件,其中包括用于每个视图控制器项目的 .war (Web 存档)文件、用于每个模型项目或自定义类的 .jar (Java 存档)文件,以及用于您可能需要放在 MDS 信息库中的任何提供的自定义或基本元数据的 MAR(元数据存档)文件。 .ear 文件针对整个应用程序创建,而其他类型的存档文件按照项目创建。有关创建部署配置文件的其他信息,请参阅 Oracle® Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework 11 g Release 1 (11.1.1) 的“Deploying Fusion Web Applications”一章中标题为“Creating a Deployment Profile”的部分。(请参阅 参考资料 。)

    StoreFrontModule 应用程序的部署包包含三个主要部分:StoreFrontService 项目( .jar 文件)、StoreFrontUI 项目( .war 文件)以及整个应用程序( .ear 文件)。JDeveloper 自动为项目和应用程序创建默认的部署配置文件,但开发人员可以创建自己的自定义配置文件或编辑现有配置文件。已经创建了用于 FOD 应用程序及其项目的配置文件,因此您现在只需检查这些配置文件。 请勿更改该应用程序的部署配置文件。

    在教程的本部分中,除了检查部署配置文件之外,您还将针对 StoreFrontModule 应用程序设置一个属性,以便应用程序的页面可以确定它是否在 SOA 环境中运行您将执行以下操作:

    返回主题列表

    检查 StoreFrontService 项目的部署配置文件

    首先检查 StoreFrontService 项目的部署配置文件。该项目的内容主要是组成该应用程序数据模型的 Java 类。这一项目的部署配置文件使用 Business Components Service Interface 存档类型,该类型创建两种类型的 JAR(Java 存档)文件:EJB JAR 文件和简单 JAR 文件。

    要检查服务界面部署配置文件,执行以下步骤:

    在 Application Navigator 中打开 StoreFrontModule 应用程序,右键单击 StoreFrontService 项目并从上下文菜单中选择 Project Properties ,或者只需双击项目。

    选择 Patterns 选项卡。这将显示筛选器模式,它们是代表同一选择集合的包含和排除规则。在 Files 选项卡中进行的选择将导致在 Patterns 选项卡上添加或删除模式,而对模式进行的更改将导致在 Files 选项卡上选择或取消选择文件或目录。

    单击 Cancel 关闭 Edit JAR Deployment Profile Properties 对话框。

    在 Project Properties 对话框中,选择 MiddleTier (EJB JAR File) 并单击 Edit ,然后检查选定的选项和属性,如您处理常用 JAR 文件那样。这两种文件之间的一个区别是 EJB JAR 部署配置文件还包括 EAR 文件。

    当您完成后,单击两次 Cancel 关闭这两个对话框。

    检查 StoreFrontUI 项目的部署配置文件

    然后检查 StoreFrontUI 项目的部署配置文件。该项目包括应用程序的用户界面组件。这一项目的部署文件是 .war 文件(Web 归档,用于 Web 组件)。

    要检查用户界面部署配置文件,执行以下步骤:

    在 Edit WAR Deployment Profile Properties 对话框中,在左侧树中选择 General 并查看 WAR File 属性,该属性显示当此部署配置文件用于部署应用程序时,创建 .war 文件的位置。

    还要注意 Web Application's Context Root 的设置。这是已部署应用程序的名称,将成为用于访问已部署应用程序的 URL 的一部分。在此,将其设置为选项 Use Project's Java EE Web Context Root

    默认情况下,项目的上下文根是一个相当长的名称;项目的上下文根已经在项目属性中重新设置,如您即将看到的那样。另一种重新设置上下文根的方法是在此对话框中选择另一个选项并指定上下文根。

    如您检查 StoreFrontService 项目那样检查文件组,然后单击 Cancel 关闭 Edit WAR Deployment Profile Properties 对话框。

    返回 Project Properties 对话框,在左侧树中选择 Java EE Application 节点。这是项目的 Java EE Web Context Root 已经从默认值进行更改的位置。当创建部署配置文件时,最好缩短已经在此设置的默认名称。

    单击 Cancel 关闭 Project Properties 对话框。

    检查 StoreFront 应用程序的部署配置文件

    创建 .jar .war 文件之后,将该应用程序组装到一个可部署的包中。部署的组装部分包括创建一个部署配置文件来包括应用程序需要的所有 .jar .war 文件,以及可能需要的其他服务器配置文件。

    在某些情况下(例如进行测试,或用户群很小,有必要部署一个预先配置的 jazn-data.xml 文件),您可能还要添加一个用于身份验证和授权的 jazn-data.xml 文件。但是,对生产系统来说,使用可通过企业管理器 (EM) 配置的 OID 或第三方 LDAP 服务器是一个较好的选择。

    如果应用程序需要特定 WebLogic 的部署文件,则应该将它们添加到模型项目中(在 EJB 情形下)或 Web 应用程序项目中。要拥有一个可迁移的 .ear 文件,建议部署后在 EM 控制台中执行所有特定 WebLogic 的配置。

    要检查已经为应用程序创建的部署配置文件,执行以下步骤:

    单击 Application Navigator 最右边的向下箭头打开 Application 菜单,并选择 Application Properties

    在 Application Properties 对话框中,在左侧树中选择 Deployment 节点。

    在 Deployment 面板的底部,请注意选中了复选框 Auto Generate and Synchronize weblogic-jdbc.xml Descriptors During Deployment (这是默认设置)。

    选中此选项将确保已部署的应用程序使用应用程序级数据源正常运行。当选中此选项时,在部署时 JDeveloper 执行以下操作:

  • 针对应用程序资源中的每个连接生成 <connection> -jdbc.xml 文件(例如 FOD-jdbc.xml ),并将口令间接属性按如下方式设置为 true
    <jdbc-driver-params>
    <use-password-indirection>true</use-password-indirection>
    </jdbc-driver-params>

    在部署时,JDeveloper 通过 <connection> -jdbc.xml 文件确定 JDBC 连接口令,然后使用 Mbean 填充 JDBC 连接口令。
  • 更新 weblogic-application.xml 以将各个 <connection> -jdbc.xml 作为模块添加。例如:
    <module>
    <name> FOD </name>
    <type>
    JDBC </type>
    <path>
    META-INF/FOD-jdbc.xml </path>
    </module>
  • web.xml (如果存在)中,向每个 JDBC JNDI 名称中添加资源引用。例如:
    <resource-ref>
    <description>
    FOD Connection </description>
    <res-ref-name>
    jdbc/FODDS </res-ref-name>
    <res-type>
    javax.sql.DataSource </res-type>
    <res-auth>
    Container </res-auth>
    </resource-ref>
  • 如果没有选中此选项,则当应用程序运行时,仅执行 web.xml 的更新。因此,使您能够在应用程序中手动设置 JDBC 文件,或者在服务器上使用全局数据源。

    如果要部署到 EAR 文件,然后在 Oracle WebLogic Server 上部署此文件,则您必须为服务器上的数据源设置口令,而设置口令的方式取决于是选中还是取消选中此选项

    查看 Security Deployment Options 已全部选中(默认设置)。这意味着 JDeveloper:

  • 部署 jazn-data.xml 文件中的应用程序安全策略,覆盖 WebLogic Server 上的域级策略存储
  • 部署应用程序 cwallet.sso 文件,覆盖系统凭证
  • jazn-data.xml 文件的身份存储部分迁移到 WebLogic Server 上的域级身份存储。
  • 在 Deployment 面板的顶部,请注意定义了三个部署配置文件:

  • metadata1(MAR 文件):此元数据存档 (MAR) 配置文件用于打包 Oracle 元数据服务 (MDS) 信息库中的提供的自定义或基本元数据。
  • StoreFrontModule(EAR 文件):此 Java EE 企业存档 (EAR) 配置文件为您提供对应用程序组装的集中控制权,使您能够选择要包括的已配置 Java EE 部署配置文件。您可以对同一应用程序内的项目中的任何已配置 WAR、EJB JAR 和/或客户端 JAR 配置文件组合进行混合和匹配。
  • StoreFrontService_SDOServices(EAR 文件):此 EAR 配置文件作为 StoreFrontService 项目的部署配置文件的一部分创建(请参阅上面 检查 StoreFrontService 项目的部署配置文件 下的第 7 步)。
  • 您可以像检查项目级部署配置文件那样检查每一个部署配置文件。当您执行此操作时,可以看到应用程序级 EAR 部署配置文件仅包括 StoreFrontUI 项目中的文件;没有选择 StoreFrontService 项目。这是因为 StoreFrontService 项目的 EJB EAR 文件将单独部署。

    当您检查完配置文件时,可以关闭所有对话框。

    设置模块属性

    StoreFrontModule 应用程序可以部署为简单的 Web 应用程序,也可以部署为更宽泛的 SOA 环境的一部分。在 StoreFrontModule 应用程序的服务部分中定义了一个属性,该属性用于应用程序的一个页面中以确定 Submit Order 按钮是否触发启动 BPEL 流程的事件。当在 SOA 环境中使用 StoreFrontModule 应用程序时,您必须更改该属性的默认值。

    要为该应用程序启用 SOA,执行以下步骤:

    在 Application Navigator 中,展开 StoreFrontService > Application Sources > oracle.fodemo.storefront > store > service 。右键单击 StoreServiceAM 并选择 Configurations

    在 Edit Business Components Configuration 对话框中,选择 Properties 选项卡和 fod.application.issoaenabled 属性。

    应用程序开发人员已将该属性添加到配置中,以提供确定是否将应用程序部署到 SOA 环境的方法。

    返回主题列表

    将 StoreFrontModule 应用程序部署到 WebLogic Server

    如您在本教程的前面部分中发现的那样,StoreFrontModule 应用程序有多个部署配置文件。在教程的本部分中,您将使用其中两个部署配置文件首先部署服务,然后部署应用程序本身。

    JDeveloper 提供了一次单击选项,以便通过右键单击并选择部署配置文件和目标应用服务器,将应用程序部署到应用服务器。或者,您可以使用 JDeveloper 创建 EAR 文件,然后使用应用服务器机制(例如 Fusion Middleware Control for Oracle WebLogic Server)部署此文件。但在本教程中,您将从 JDeveloper 进行部署。

    请注意,如果您具有受管服务器集群,则 JDeveloper 仅支持将应用程序部署到 Oracle WebLogic Server 集群,不支持部署到集群中的各个受管服务器。您可以使用 Oracle WebLogic Server Administration Console 或其他 Oracle WebLogic 工具将集群中的一个或多个受管服务器作为目标,但这可能对集群产生负面影响。有关部署到 Oracle WebLogic Server 集群的更多信息,请参阅 Oracle Fusion Middleware Administrator's Guide(请参阅 参考资料 )。

    要部署应用程序,请执行以下步骤:

    首先部署 StoreFront 应用程序用于将订单发送到订单登记组合应用程序的服务。

    单击 Application Navigator 最右边的向下箭头打开 Application 菜单,并选择 Deploy > StoreFrontService_SDOServices > to > <MySOAServer> (菜单将显示您的应用服务器连接名称来代替 <MySOAServer> )。

    接下来部署 StoreFrontModule。从 Application Menu 中,选择 Deploy > StoreFrontModule > to <MySOAServer> (菜单将显示您的应用服务器连接名称来代替 <MySOAServer> )。

    在部署时出现的对话框中,进行您部署服务时所做的同样的选择。

    返回主题列表

    将 SOA 组合应用程序部署到 WebLogic Server

    WebLogicFusionOrderDemo 应用程序由多个为 StorefrontModule 应用程序提供组合服务的项目组成。在 SOA 基础架构中部署组合将提取并激活组合应用程序。

    您可以通过以下方式将 SOA 组合应用程序部署到 Oracle WebLogic Server:首先在 JDeveloper 中创建 .jar .ear 文件,然后在 Fusion Middleware Control 中使用 Deploy SOA Composite 向导。但在本教程中,您将使用另一种方法:使用先前已经创建的 Ant 脚本部署 SOA 组合。

    基于 Java 的 Ant 工具是一种编程方法,用于构建和部署 Java EE 应用程序。Oracle JDeveloper 支持创建和运行 Ant 任务。您可以添加或创建用于项目的 Ant 编译文件,并且可以使用 JDeveloper 的 XML Source Editor 编辑它们。有关 Ant 的更多信息,请参阅 http://ant.apache.org

    在教程的本部分中,您将从用户界面调用 Ant 运行已经在 Ant 编译文件中定义的目标。请注意,在此部署之前,您应该已经执行以下任务,如先前所述:

  • 在 WebLogic Server 主机上设置环境变量
  • 安装用于 JDeveloper 的 SOA 扩展(请参阅 前提条件 的第 3 步)
  • 在运行脚本之前,您将设置编译文件使用的一些属性,然后运行 Ant 目标以部署应用程序。为此,执行以下步骤:

    在 Application Navigator 中,单击 StoreFrontModule 应用程序名称旁边的 向下箭头 调用 Applications 下拉列表。

    选择 WebLogicFusionOrderDemo 导航到该应用程序。(如果未列出该应用程序,请按照 启动 JDeveloper 并打开 FOD 应用程序 的第 4 步中所述将其打开。)

    MDS 信息库的位置。

    当您从 JDeveloper 进行部署时,保留将值设置为默认值 jdev 。在这种情况下,您不必为以下参数指定值:jdbc-userid、jdbc-password 和 jdbc.url。当值设置为 jdev 时,将忽略这些参数。

    (如果您从服务器位置进行部署而不使用 Oracle JDeveloper,则需要将 foreign.mds.type 设置为 db ,并为 jdbc-userid、jdbc-password 和 jdbc.url 参数提供值以指定 MDS 信息库的位置。)

    由于您已经设置了编译文件属性,因此可以运行多个 Ant 脚本(目标)。要运行每个脚本,右键单击 build.xml (在 Application Sources 或 Resources 节点中)并选择 Run Ant Target ,然后选择要运行的目标。

    按顺序运行以下目标(在先前脚本已成功完成之后运行每个脚本,您可以通过 Apache Ant 日志中的 BUILD SUCCESSFUL 消息得知脚本已成功完成):

  • setupWorkspaceForJdeveloperUse (为应用程序设置工作区)
  • seedFodJmsResources (为 Fulfillment 中介者填充 JMS 资源)
  • seedDemoUsers (创建多个用户,包括用户 jstein ,该用户被授权批准 $2,000 以上的订单)
  • compile-build-all (编译和构建所有 SOA 组合)
  • compile-deploy-all (编译、构建所有 SOA 组合并将其部署到 Oracle SOA 套件的受管服务器)
  • 打开浏览器窗口,并输入以下 URL 打开服务界面的测试工具:

    http:// <host> : <port> /StoreFrontServiceHooks/StoreFrontService

    其中, <host> 是安装有 WebLogic Server 的服务器的 DNS 名称或 IP 地址, <port> 是受管服务器的端口(通常为 8001 )。

    http:// <host> : <port> /em

    其中, <host> 是安装有 WebLogic Server 的服务器的 DNS 名称或 IP 地址, <port> 是管理服务器的端口(通常为 7001)。

    使用您的 WebLogic 凭证登录并单击 Login

    在 Farm 的主页上,您可以看到应用程序部署以及 SOA 组合的部署。您应该看到您的部署在已经部署到此服务器的其他应用程序和组合之中列出。每个部署的旁边有一个绿色向上箭头以显示部署正在运行。

    单击 StorefrontModule 链接。

    从 Application Deployment 菜单中,选择 WebLogic Server Administration Console 。(您还可以通过以下方式访问此控制台:在应用程序的主页上单击其链接,或直接输入其 URL:http:// <host> : <port> /console。)

    如果这是您首次访问控制台,则您将看到指示正在部署控制台应用程序的消息。

    WebLogic Administration Console 显示 StoreFrontModule 应用程序的配置设置。您可以选择各种选项卡以查看设置。例如, Configuration 选项卡使您能够设置会话超时。通过这些设置,您可以精细地控制应用程序。

    浏览完 Administration Console 后,您可以保持浏览器窗口打开,以在下一部分中继续使用。

    运行应用程序

    由于您已经部署了应用程序,因此可以使用浏览器在应用服务器上运行它,以便可以测试服务是否正常运行。

    订购流程在 StoreFront 用户界面中开始,客户可在此界面中选购和订购产品。当客户提交订单时,应用开发框架业务组件将订单写入数据库。总计超过 $2000 的订单需要人员批准。当应用程序模块属性 issoaenabled 设置为 true(请参阅 设置模块属性 )时,如果订单超过 $2000,则提交订单将引发业务事件。订阅此事件的 OrderPendingEvent 中介者将启动 OrderProcessor BPEL 流程以处理订单。此流程是 OrderBookingComposite 应用程序的一部分。

    要测试该功能,执行以下步骤:

    打开浏览器窗口并输入以下 URL,其中包含前面指定的上下文根 StoreFrontModule:

    http:// <host> : <port> /StoreFrontModule/faces/home

    使用您的主机名替换 <host> ,将 <port> 替换为 StoreFrontModule 应用程序部署到的受管服务器的端口(通常为 8001 )。

    在上面的 URL 中, StoreFrontModule 是应用程序的上下文根, faces 是到 Faces Servlet 的映射, home 是对应于 home.jspx 页面的任务流视图活动的视图 ID。

    http:// <host> : <port> /em

    其中, <host> 是安装有 WebLogic Server 的服务器的 DNS 名称或 IP 地址, <port> 是管理服务器的端口(通常为 7001)。

    使用您的 WebLogic 凭证登录并单击 Login

    OrderBookingComposite 页面显示已经调用此组合应用程序的实例,以及实例的状态和可能发生的所有故障的错误消息。最后两个事务应该是您刚以用户 ngreenbe 的身份下的订单。

    单击 第二个最新链接

    :如果您没有看到任何实例,请确保已经在部署 StoreFrontModule 应用程序之前设置了 issoaenabled 属性,如 设置模块属性 中所述。

    在流跟踪页面上,您应该看到构成 OrderPendingEvent 的所有任务均已完成,但 ApprovalHumanTask 除外,该任务仍在运行。这表明在继续处理之前,需要某人批准订单。

    单击 ApprovalHumanTask

    Instance Detail of ApprovalHumanTask 显示已经将 Nancy Greenberg 创建的订单分配给用户 jstein 进行批准。

    记下工作流 ID,然后单击 Go To Worklist Application 链接。

    注:另一种调用工作列表应用程序的方法是使用受管服务器的主机和端口,在浏览器中输入 URL http:// <host> : <port> /integration/worklistapp/faces/home.jspx

    返回 Fusion Middleware Control,并选择同一 OrderBookingComposite 实例的链接。流跟踪页面的 Trace 部分现在应该显示所有步骤均已完成。

    当您检查完流跟踪时,可以关闭浏览器窗口。

    在本教程中,您使用 Oracle JDeveloper 11 g 将 SOA Web 应用程序部署到 Oracle WebLogic Server 11 g 。启动 WebLogic Server 并创建了一个到它的 JDeveloper 连接。检查该应用程序的部署配置文件,然后将该应用程序部署到 WebLogic Server。通过使用 Fusion Middleware Control 查看了该应用程序的详细管理信息。最后,您通过浏览器从应用服务器运行该应用程序,对其进行了测试。

    在本教程中,您学习了如何:

     
    推荐文章