-
友情链接:
在本教程中,您将使用 Oracle JDeveloper 11g 将 SOA Web 应用程序部署到 Oracle WebLogic Server 11g。
2 小时
主题本教程包括下列主题:
将光标置于此图标上以加载和查看本教程的所有屏幕截图。(警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)
注:此外,您还可以在下列步骤中将光标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。可以通过单击各个屏幕截图来将其隐藏。
概述一家名为 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 11g 域,该域包括:
管理服务器,托管 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 实例在浏览器中运行应用程序对其进行测试,确保前端和后端均正常运行。返回主题列表
前提条件开始本教程之前,您应该:
1.可以访问或已经安装了 Oracle JDeveloper (11.1.1.1.0) Studio 版。您可以从 Oracle 技术网下载:-tools/jdev/downloads/archives-090457.html
确保您下载并安装了 11g,并且它是 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 中。
2.可以访问或已经安装了以下数据库版本之一:
Oracle XE 数据库 10g (10.2.01) Oracle 数据库 10g (10.2.0.4+) Oracle 数据库 11g (11.1.0.7+)您可以从 Oracle 技术网下载:-edition/downloads/index.html
3.已经在您的数据库中配置了 SOA 模式,如 Oracle® Fusion Middleware Installation Guide for Oracle SOA Suite 11g Release 1 (11.1.1) 中标题为“Create Schemas for Oracle SOA Suite and Oracle BAM”的部分中所述(请参阅参考资料)。
4.已经更新了 SOA 基础架构数据库的数据库参数(如果使用 XE 数据库)。processes 参数应该 >= 200。要查看值是什么,请以 sysdba 身份登录到 SQLPlus,然后执行以下语句:
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;
此后,关闭并重新启动数据库,然后再次在 SQLPlus 中执行 show 语句以确保其生效。
5.可以访问或已经安装了 Fusion Order Demo 示例模式。可以在 Oracle 技术网上获取有关安装 FOD 模式和在 JDeveloper 中为其创建连接的说明:-tools/jdev/index-095536.html
6.可以访问或已经安装了 Oracle WebLogic Server 11g (10.3.1.0) 的实例。您可以从 Oracle 技术网下载:
还必须针对 ADF 应用程序配置 WebLogic 域,如 Oracle® Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework 11g Release 1 (11.1.1) 的“Deploying Fusion Web Applications”一章中标题为“Creating and Extending WebLogic Server Domains”的部分中所述。(请参阅参考资料。)
必须将 WebLogic 域定义为处于开发模式,而不是生产模式。
7.
可以访问或已经安装了 SOA 套件。您可以从 Oracle 技术网下载:
安装说明在 Oracle® Fusion Middleware Installation Guide for Oracle SOA Suite 11g Release 1 (11.1.1)(《用于 Oracle SOA 套件 11g 第 1 版 (11.1.1) 的 Oracle® 融合中间件安装指南》)中。(请参阅参考资料。)
8.已经安装了以下浏览器之一:
Firefox 3 或更高版本 Internet Explorer 7 或更高版本 Safari 1.0 或更高版本您可能还希望按如下方式设置 JDeveloper 的默认浏览器:
从菜单中选择 Tools > Preferences 在左侧树中选择 Web Browser and Proxy 浏览到您首选浏览器的可执行文件的位置 9. 具有支持 1024 X 768 或更高屏幕分辨率的显示器。返回主题列表
启动环境返回主题列表
启动 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:
1.在启动 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
2.启动 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
3.当出现提示时,输入您的 WebLogic 用户名和口令。口令在您键入时不可见。
当命令窗口显示以下消息时,将启动您的 WebLogic 域的管理服务器:<Server state changed to RUNNING> <Server started in RUNNING mode>
保留命令窗口打开,可按需要最小化。WebLogic 管理服务器现在正在运行并可以使用。
5.如果 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 <host> 安装了 WebLogic Server 的服务器的 DNS 名称或 IP 地址,例如 myhost.com <port> 管理服务器的端口(通常为 7001)当命令窗口显示指示服务器正在运行的消息时,您可以最小化此窗口,但不能关闭它。
注:要在 Linux 上启动 SOA 受管服务器,请以 root 用户的身份将目录更改为 <FMW_HOME>/user_projects/domains/MYSOADomain/bin 并执行以下命令,使用您自己的值替换上表中列出的那些值:./startManagedWebLogic.sh soa_server1 :7001
返回主题
返回主题列表
在 WebLogic Server 主机上设置环境变量
JDeveloper 必须在部署平台上设置两个环境变量,以运行部署组合服务的脚本。Path 变量必须包含到安装了 Ant 的 \bin 子目录的路径。还必须设置 JAVA_HOME。
要在 Windows 上设置这些变量,执行以下步骤(对于 Linux,请参阅本部分结尾的注释):
1.在要部署应用程序的计算机上,从 Windows 的 Start 菜单中打开 Control Panel 并双击 System 图标。
在 System Properties 对话框中,选择 Advanced 选项卡并单击 Environment Variables。
在 Environment Variables 对话框中,找到 JAVA_HOME 系统变量并确保将其设置为 WebLogic JDK 的位置。
如果没有定义 JAVA_HOME 变量,请单击 New 并在 New System Variable 对话框中,输入变量名 JAVA_HOME 和指向 WebLogic JDK 的变量值,例如 C:\weblogic\jdk160_11。
单击 OK 设置新的系统变量。
4.双击 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 11g 附带了一个基于浏览器的企业管理器 (EM)。通过这一 EM 界面,您可以使用 Fusion Middleware Control 监视活动和部署到 WebLogic Server 的应用程序。WebLogic 管理服务器运行之后,您可以使用浏览器连接到 Fusion Middleware Control。以下几步将打开该界面,并简要浏览 WebLogic Server 域。
要使用浏览器连接到 Fusion Middleware Control,执行以下步骤:
1.打开浏览器(请参阅本教程的前提条件部分中的浏览器要求)并输入以下 URL:http://<host>:<enterprise_manager_port>/em 例如,如果 WebLogic Server 安装在本地计算机上的默认端口,输入 URL::7001/em
企业管理器提示您输入用户名和口令。为您的 WebLogic Server 输入用户名和管理员口令,然后单击 Login 进入 Fusion Middleware Control。
如果提示对 Accessibility Preference 进行操作,请选中或取消选中相应的复选框并单击 Continue。
Farm 是一组共享元数据信息库的 Oracle WebLogic Server 实例。当您登录到 Fusion Middleware Control 时,所看到的第一个页面是 Farm 主页。
窗口左侧可调大小、可折叠的面板显示导航树。您可以随时使用此导航面板返回 Farm 主页,或者导航到其他页面。
您现在可以检查应用程序、Web 服务以及 WebLogic Server 域的其他组件。浏览完后,关闭浏览器窗口。
返回主题
返回主题列表
启动 JDeveloper 并打开 FOD 应用程序
要启动 JDeveloper 并准备使用 FOD 应用程序,执行以下步骤:
1.双击 <jdev_home> 目录中的 JDeveloper 可执行文件 (jdeveloper.exe)。
如果 Migrate User Settings 对话框打开,请单击 NO。
关闭 Tip of the Day 窗口。
2.单击 Application Navigator 选项卡,并从 Menu 中选择 File > Open。或者,如果当前没有打开应用程序,您可以单击 Open Application 链接。
在 Open Application(s) 窗口中,导航到您解压缩 FOD 应用程序文件的位置,例如 <jdev_home>\jdeveloper\mywork\FOD。打开 StoreFrontModule 文件夹,选择 StoreFrontModule.jws 文件,并单击 Open。
如果系统询问您是否要迁移文件,单击 Yes,然后在 Migration Status 窗口中单击 OK 以确认文件成功迁移。
现在就将该应用程序加载到了 JDeveloper 中。
4.以类似的方式,打开 CompositeServices > WebLogicFusionOrderDemo 应用程序,迁移文件(如果要求这样做)。
如果您看到错误对话框,单击 OK。本教程中标题为“将 SOA 组合应用程序部署到 WebLogic Server”部分中的步骤将解决所报告的问题。
5.Application Navigator 显示最近打开的应用程序。单击应用程序名称右边的向下箭头,并从下拉列表中选择 StoreFrontModule。
将应用程序设置为使用您在数据库中安装的 FOD 模式(请参阅前提条件)。
在 Application Navigator 中,访问 Application Resources 面板。如果此面板已最小化,请将其恢复。如果没有,请单击折叠面板标题将其展开。在 Edit Database Connection 窗口中,为您的数据库编辑 Oracle (JDBC) Settings。
例如,如果您已经在本地计算机上安装了 XE 数据库,则将 Host Name 设置为 localhost,将 JDBC Port 设置为 1521,将 SID 设置为 XE。
单击 Test Connection。如果连接成功,则单击 OK。否则,更正问题并再次测试连接。
返回主题
返回主题列表
测试应用程序您可以在 JDeveloper 中运行和测试应用程序,使用集成的 WebLogic Server,不需要创建应用服务器连接或部署应用程序。但是,当您使应用程对用户可用时,必须将应用程序部署到外部应用服务器,如您在本教程的后面部分所做的那样。
要在 JDeveloper 的 WebLogic Server 中测试应用程序,执行以下步骤:
1.在 Application Navigator 中,右键单击 StoreFrontService 并从上下文菜单中选择 Rebuild。
2.在 StoreFrontUI > Web Content 中,右键单击 home.jspx 并从上下文菜单中选择 Run。
3.编译项目之后,JDeveloper 启动 WebLogic Server(在日志窗口中显示消息),然后将 StoreFrontModule 应用程序部署到其中。最后,JDeveloper 在浏览器中调用该应用程序。
在您的默认浏览器中,将显示 StoreFrontModule 应用程序的主页。
如果喜欢,您可以尝试向购物车中添加项目、显示购物车等。完成后关闭浏览器。
返回主题列表
创建应用服务器连接
在将 StoreFrontModule 应用程序部署到 SOA WebLogic Server 域之前,tp官方正版下载您需要创建到该域的连接。要创建到 SOA 域的应用服务器连接, tp钱包下载执行以下步骤:
1.
如果没有显示 Resource Palette(默认位置在 JDeveloper IDE 的右侧),请从 JDeveloper 主菜单中选择 View > Resource Palette。
在 Resource Palette 中,展开 IDE Connections 面板,然后展开 Application Server。
默认情况下,您可以看到指向 JDeveloper 的集成 WebLogic Server 的连接。
2.
在 IDE Connections 面板中,右键单击 Application Server 并从上下文菜单中选择 New Application Server Connection。
在 Create Application Server Connection 向导的 Name and Type 页面上,为您的连接输入名称(例如 MySOAServer),然后单击 Next。
4.在向导的 Authentication 页面上,为您的 SOA WebLogic Server 输入 Username 和 Password。单击 Next。
5.在向导的 Configuration 页面上,输入以下信息,然后单击 Next 继续:
Weblogic Hostname 安装了 WebLogic Server 的服务器的 DNS 名称或 IP 地址 Port管理服务器的端口(默认为 7001)。
SSL port 用于安全 SSL 连接的端口(默认为 7002)。 Always use SSL 保留复选框为其默认值(未选中) WLS Domain WebLogic 域名。例如: MySOADomain在向导的 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 11g 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 文件。
要检查服务界面部署配置文件,执行以下步骤:
1.在 Application Navigator 中打开 StoreFrontModule 应用程序,右键单击 StoreFrontService 项目并从上下文菜单中选择 Project Properties,或者只需双击项目。
2.在 Project Properties 对话框中,在左侧面板内的树中选择 Deployment,然后在 Deployment Profiles 列表中展开 SDOServices (Business Components Service Interface)。选择 Common (JAR File) 配置文件并单击 Edit。
3.在 Edit JAR Deployment Profile Properties 对话框中,在左侧面板内的树中选择 JAR Options。在 JAR Options 面板中,记下 JAR 文件的位置。这是当此部署配置文件用于部署应用程序时,JDeveloper 创建 JAR 文件的位置。
4.在左侧树中,展开 File Groups > Project Output,并选择 Contributors。选定的选项确定 Filters 面板显示的文件。
在左侧树中,选择 Filters。在 Filters 面板中,单击 Expand All Nodes。然后可以滚动以查看选择包括在已部署 JAR 文件中的所有文件。
选择 Patterns 选项卡。这将显示筛选器模式,它们是代表同一选择集合的包含和排除规则。在 Files 选项卡中进行的选择将导致在 Patterns 选项卡上添加或删除模式,而对模式进行的更改将导致在 Files 选项卡上选择或取消选择文件或目录。
单击 Cancel 关闭 Edit JAR Deployment Profile Properties 对话框。
7.在 Project Properties 对话框中,选择 MiddleTier (EJB JAR File) 并单击 Edit,然后检查选定的选项和属性,如您处理常用 JAR 文件那样。这两种文件之间的一个区别是 EJB JAR 部署配置文件还包括 EAR 文件。
当您完成后,单击两次 Cancel 关闭这两个对话框。
返回主题
返回主题列表
检查 StoreFrontUI 项目的部署配置文件然后检查 StoreFrontUI 项目的部署配置文件。该项目包括应用程序的用户界面组件。这一项目的部署文件是 .war 文件(Web 归档,用于 Web 组件)。
要检查用户界面部署配置文件,执行以下步骤:
1.在 Application Navigator 中,右键单击 StoreFrontUI 项目并从上下文菜单中选择 Project Properties,或者只需双击项目。
2.在 Project Properties 对话框中,在左侧面板内的树中选择 Deployment,然后选择 StoreFrontWebApp (WAR File) 并单击 Edit。
3.在 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 对话框。
4.返回 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 的配置。
要检查已经为应用程序创建的部署配置文件,执行以下步骤:
1.单击 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 上部署此文件,则您必须为服务器上的数据源设置口令,而设置口令的方式取决于是选中还是取消选中此选项
3.查看 Security Deployment Options 已全部选中(默认设置)。这意味着 JDeveloper:
部署 jazn-data.xml 文件中的应用程序安全策略,覆盖 WebLogic Server 上的域级策略存储 部署应用程序 cwallet.sso 文件,覆盖系统凭证 将 jazn-data.xml 文件的身份存储部分迁移到 WebLogic Server 上的域级身份存储。 4.在 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,执行以下步骤:
1.在 Application Navigator 中,展开 StoreFrontService > Application Sources > oracle.fodemo.storefront > store > service。右键单击 StoreServiceAM 并选择 Configurations。
在 Manage Configurations 对话框的 Names 列表中,选择 StoreServiceAMLocalWeb,然后单击 Edit。
3.在 Edit Business Components Configuration 对话框中,选择 Properties 选项卡和 fod.application.issoaenabled 属性。
应用程序开发人员已将该属性添加到配置中,以提供确定是否将应用程序部署到 SOA 环境的方法。
4.将 fod.application.issoaenabled 属性的值更改为 true,然后单击 OK。
单击 OK 关闭 Manage Configurations 对话框。
返回主题
返回主题列表
部署和管理应用程序返回主题列表
将 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(请参阅参考资料)。
要部署应用程序,请执行以下步骤:
1.首先部署 StoreFront 应用程序用于将订单发送到订单登记组合应用程序的服务。
单击 Application Navigator 最右边的向下箭头打开 Application 菜单,并选择 Deploy > StoreFrontService_SDOServices > to > <MySOAServer>(菜单将显示您的应用服务器连接名称来代替 <MySOAServer>)。
在 Select Deployment Targets 对话框中,选择受管服务器(不是 管理服务器)并单击 OK。
3.当构建应用程序时,存在延迟。打开日志窗口(如果未打开,则通过 View > Log 将其打开)查看进度。
然后,在 Deployment Configuration 对话框中,单击 Deploy 以接受默认值并开始部署。
4.日志应该显示部署已成功。
接下来部署 StoreFrontModule。从 Application Menu 中,选择 Deploy > StoreFrontModule > to <MySOAServer>(菜单将显示您的应用服务器连接名称来代替 <MySOAServer>)。
在部署时出现的对话框中,进行您部署服务时所做的同样的选择。
6.检查日志以查看部署已成功。
注:在部署时,JDeveloper 将创建 .jar 和 .war 文件,然后组装 .ear 文件,如部署配置文件中指定。组装 .ear 文件之后,JDeveloper 在应用服务器上部署该文件,并在一个目录中将其解包。使用的目录根据目标环境而定。
返回主题
返回主题列表
将 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 的更多信息,请参阅 。
在教程的本部分中,您将从用户界面调用 Ant 运行已经在 Ant 编译文件中定义的目标。请注意,在此部署之前,您应该已经执行以下任务,如先前所述:
在 WebLogic Server 主机上设置环境变量 安装用于 JDeveloper 的 SOA 扩展(请参阅前提条件的第 3 步)在运行脚本之前,您将设置编译文件使用的一些属性,然后运行 Ant 目标以部署应用程序。为此,执行以下步骤:
1.在 Application Navigator 中,单击 StoreFrontModule 应用程序名称旁边的向下箭头调用 Applications 下拉列表。
选择 WebLogicFusionOrderDemo 导航到该应用程序。(如果未列出该应用程序,请按照启动 JDeveloper 并打开 FOD 应用程序的第 4 步中所述将其打开。)
Ant 构建构件位于 bin 项目中。
展开 bin > Application Sources。右键单击 build.properties 并从上下文菜单中选择 Open,或者只需双击文件以将其打开。(注:在 Resources 节点下还有一个指向此文件的链接,您可以选择此链接以便改为从那里打开文件。)
在 build.properties 的编辑器中,针对您的环境修改以下属性:
参数值 oracle.home 安装了 Oracle JDeveloper 11g 的根目录。例如: C:\\Oracle\\Middleware\\jdeveloper\\ soa.only.deployment将该属性设置为 false,因为您使用 StoreFrontModule 应用程序下订单,所以使用其 ADF 支持的服务。
admin.server.host Oracle SOA 套件的用于托管应用程序的管理服务器的 DNS 名称或 IP 地址。例如: soahost admin.server.port 管理服务器的端口(默认为 7001)。 managed.server Oracle SOA 套件的用于托管应用程序的受管服务器的 DNS 名称或 IP 地址。例如:soahost managed.server.port Oracl SOA 套件的用于托管应用程序的受管服务器的端口(默认为 8001)。 server.user Oracle WebLogic Server 管理员。例如: weblogic server.password Oracle WebLogic Server 管理员的口令。例如: welcome1 server.targets 受管服务器的名称。例如: soa_server1 soa.server.oracle.home JDeveloper 计算机上用于存储适配器部署计划的位置。例如: C:\\AS11gR1SOA foreign.mds.typeMDS 信息库的位置。
当您从 JDeveloper 进行部署时,保留将值设置为默认值 jdev。在这种情况下,您不必为以下参数指定值:jdbc-userid、jdbc-password 和 jdbc.url。当值设置为 jdev 时,将忽略这些参数。
(如果您从服务器位置进行部署而不使用 Oracle JDeveloper,则需要将 foreign.mds.type 设置为 db,并为 jdbc-userid、jdbc-password 和 jdbc.url 参数提供值以指定 MDS 信息库的位置。)
选择 File > Save All 保存此文件。
5.由于您已经设置了编译文件属性,因此可以运行多个 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 套件的受管服务器):
返回主题
返回主题列表
测试服务部署
有时,独立于调用服务的 BPEL 流程测试服务很有帮助。当遇到问题并尝试隔离出现问题的位置时,这尤其有用。
在该应用程序中,当客户下超过 $2000 的订单时,应用程序将调用 BPEL 流程以批准应用程序。此 BPEL 流程将调用多个服务,包括用于获取订单信息的服务。在此步骤中,您将独立于 BPEL 流程测试此服务,以确保此服务已正确部署并正常运行。
1.打开浏览器窗口,并输入以下 URL 打开服务界面的测试工具:
http://<host>:<port>/StoreFrontServiceHooks/StoreFrontService
其中,<host> 是安装有 WebLogic Server 的服务器的 DNS 名称或 IP 地址,<port> 是受管服务器的端口(通常为 8001)。
StoreFrontService 终端页面包含作为服务提供的操作的列表。您可以通过输入相应的参数对其中任何操作进行测试。要测试获取订单信息的最简单服务,从 Operation 下拉列表中选择 getOrderInfoVOSDO。
getOrderInfoVOSDO 操作仅采用一个参数。输入任一现有订单的 ID(例如 1047),并单击 Invoke。
如果服务已正确部署并正常运行,则 Test Result 页面将以 XML 格式返回有关指定订单的信息。
您可以保持浏览器窗口打开,以在下一部分中继续使用。
返回主题
返回主题列表
管理应用程序
1.打开浏览器窗口,并输入以下 URL 以打开 Fusion Middleware Control:
http://<host>:<port>/em
其中,<host> 是安装有 WebLogic Server 的服务器的 DNS 名称或 IP 地址,<port> 是管理服务器的端口(通常为 7001)。
使用您的 WebLogic 凭证登录并单击 Login。
在 Farm 的主页上,您可以看到应用程序部署以及 SOA 组合的部署。您应该看到您的部署在已经部署到此服务器的其他应用程序和组合之中列出。每个部署的旁边有一个绿色向上箭头以显示部署正在运行。
单击 StorefrontModule 链接。
3.StorefrontModule 应用程序的主页显示有关已部署的应用程序的信息。检查此信息之后,单击 Application Deployment 调用菜单。
Application Deployment 菜单使您能够通过调用菜单选项控制应用程序。例如,您可以启动、停止、取消部署、重新部署应用程序或查看其日志。选择 Logs > View Log Messages。
5.在 Log Messages 页面上,输入不同的查询条件,并单击 Search 查看相关日志消息。
6.
从 Application Deployment 菜单中,选择 WebLogic Server Administration Console。(您还可以通过以下方式访问此控制台:在应用程序的主页上单击其链接,或直接输入其 URL:http://<host>:<port>/console。)
如果这是您首次访问控制台,则您将看到指示正在部署控制台应用程序的消息。
当出现 Administration Console 时,如您先前所做的那样输入 WebLogic 凭证,并单击 Log In。
8.WebLogic Administration Console 显示 StoreFrontModule 应用程序的配置设置。您可以选择各种选项卡以查看设置。例如,Configuration 选项卡使您能够设置会话超时。通过这些设置,您可以精细地控制应用程序。
浏览完 Administration Console 后,您可以保持浏览器窗口打开,以在下一部分中继续使用。
返回主题
返回主题列表
运行应用程序由于您已经部署了应用程序,因此可以使用浏览器在应用服务器上运行它,以便可以测试服务是否正常运行。
订购流程在 StoreFront 用户界面中开始,客户可在此界面中选购和订购产品。当客户提交订单时,应用开发框架业务组件将订单写入数据库。总计超过 $2000 的订单需要人员批准。当应用程序模块属性 issoaenabled 设置为 true(请参阅设置模块属性)时,如果订单超过 $2000,则提交订单将引发业务事件。订阅此事件的 OrderPendingEvent 中介者将启动 OrderProcessor BPEL 流程以处理订单。此流程是 OrderBookingComposite 应用程序的一部分。
要测试该功能,执行以下步骤:
返回主题列表
下订单
1.打开浏览器窗口并输入以下 URL,其中包含前面指定的上下文根 StoreFrontModule:
http://<host>:<port>/StoreFrontModule/faces/home
使用您的主机名替换 <host>,将 <port> 替换为 StoreFrontModule 应用程序部署到的受管服务器的端口(通常为 8001)。
在上面的 URL 中,StoreFrontModule 是应用程序的上下文根,faces 是到 Faces Servlet 的映射,home 是对应于 home.jspx 页面的任务流视图活动的视图 ID。
2.
首先下低于 $2000 的订单。选择 Ipod Nano 1 Gb 并单击 Add,然后选择 Ipod Nano 4Gb 并单击 Add。Shopping Cart Summary 将显示订单部分小计为 $399.90。
3.单击位于菜单栏中间的 Checkout 链接。
出现登录对话框。考虑到演示的目的,将显示担当不同应用程序角色的有效用户。输入用户名 ngreenbe 并以 welcome1 作为口令,然后单击 Log In。
在 Shipping Details 页面上,记下以下值:
Order Information 部分中的 Order ID Shipping Information 部分中的 Shipping Address Payment Options 部分中的 Payment Option Code在页面右侧的 Order Summary 部分中,记下订单总计并单击 Submit Order。
在 Invoice Details 页面上,单击 Exit and Continue Shopping(在菜单栏上)。
应用程序将返回到主页。
8.通过添加项目下另一个订单,直到 Shopping Cart Summary 显示超过 $2,000 的订单小计。
单击 Checkout。
在 Shipping Details 页面上:
记下 Order ID。 修改 Shipping Information 部分中的任意选项,并记下相应值。 记下 Payment Options 部分中的 Payment Option Code。
记下订单总计(应该超过 $2,000),并单击 Submit Order。
在 Invoice Details 页面上,单击 Logout。
出现指示您已注销的消息。
返回主题
返回主题列表
监视和批准订单您现在将使用 Fusion Middleware Control 监视从 StoreFront 模块发送到 OrderBookingComposite 组合的订单,并使用 BPM 工作列表应用程序完成需要人员批准(超过 $2000 的订单)的流程。
1.打开浏览器窗口,并输入以下 URL 以打开 Fusion Middleware Control:
http://<host>:<port>/em
其中,<host> 是安装有 WebLogic Server 的服务器的 DNS 名称或 IP 地址,<port> 是管理服务器的端口(通常为 7001)。
使用您的 WebLogic 凭证登录并单击 Login。
2.
在 Farm 主页的 Deployments 部分中,展开 SOA 和 soa-infra,然后单击 OrderBookingComposite 链接。
3.OrderBookingComposite 页面显示已经调用此组合应用程序的实例,以及实例的状态和可能发生的所有故障的错误消息。最后两个事务应该是您刚以用户 ngreenbe 的身份下的订单。
单击第二个最新链接。
注:如果您没有看到任何实例,请确保已经在部署 StoreFrontModule 应用程序之前设置了 issoaenabled 属性,如设置模块属性中所述。
4.打开单独窗口,显示选定的 OrderBookingComposite 实例的流跟踪。它将显示所遇到的故障,并且还显示组合的组件。您应该看到流程中的所有步骤均已成功完成。
单击 BPEL 组件的 OrderProcessor 链接。
在 OrderProcessor 实例页面上,您将看到构成订单处理的所有已编排流程的列表和描述。单击 Flow 选项卡。
Flow 选项卡以 BPEL 图表的形式显示流程的可视化描述。您可以单击任何活动以获取有关此活动的更多详细信息。
当您检查完 OrderProcessor BPEL 流程时,关闭单独的浏览器窗口。
7.返回 OrderBookingComposite 页面,在 Dashboard 选项卡上,单击最新实例,此实例应该是用户 ngreenbe 下超过 $2000 的订单。
在流跟踪页面上,您应该看到构成 OrderPendingEvent 的所有任务均已完成,但 ApprovalHumanTask 除外,该任务仍在运行。这表明在继续处理之前,需要某人批准订单。
单击 ApprovalHumanTask。
Instance Detail of ApprovalHumanTask 显示已经将 Nancy Greenberg 创建的订单分配给用户 jstein 进行批准。
记下工作流 ID,然后单击 Go To Worklist Application 链接。
注:另一种调用工作列表应用程序的方法是使用受管服务器的主机和端口,在浏览器中输入 URL http://<host>:<port>/integration/worklistapp/faces/home.jspx。
10.如果工作列表显示您以 ngreenbe 的身份登录,请单击 Logout 链接。
以用户 jstein 的身份登录,并使用口令 welcome1。
工作列表上的 Inbox 显示已经分配给 jstein 的所有操作。Number 列显示工作流 ID。
单击您先前记下其 ID 的工作流项目的行。
从 Actions 菜单中选择 Approve。
单击 OK 确认请求成功的消息。该任务从任务列表中删除。
关闭单独的浏览器窗口。
14.返回 Fusion Middleware Control,并选择同一 OrderBookingComposite 实例的链接。流跟踪页面的 Trace 部分现在应该显示所有步骤均已完成。
当您检查完流跟踪时,可以关闭浏览器窗口。
返回主题
返回主题列表
在本教程中,您使用 Oracle JDeveloper 11g 将 SOA Web 应用程序部署到 Oracle WebLogic Server 11g。启动 WebLogic Server 并创建了一个到它的 JDeveloper 连接。检查该应用程序的部署配置文件,然后将该应用程序部署到 WebLogic Server。通过使用 Fusion Middleware Control 查看了该应用程序的详细管理信息。最后,您通过浏览器从应用服务器运行该应用程序,对其进行了测试。
在本教程中,您学习了如何:
启动环境
在 JDeveloper 集成的 WebLogic Server 中测试应用程序
准备应用程序以进行部署
部署应用程序和管理应用服务器
运行应用程序
返回主题列表
有关本教程中各主题的更多信息,请参阅以下参考资料:
Oracle® Fusion Middleware Administrator's Guide for Oracle SOA Suite 11g Release 1 (11.1.1)
Oracle® Fusion Middleware Security Guide Release 1 (11.1.1)
Oracle® Fusion Middleware Tutorial for Running and Building an Application with Oracle SOA Suite 11g Release 1 (11.1.1)
Oracle® Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework 11g Release 1 (11.1.1)
返回主题列表