在 WebCenter 应用程序中集成 Oracle 电子商务套件

本教程提供关于如何构建一个使用一组电子商务套件第 12 版 portlet 的 WebCenter 应用程序的分步指南。

大约 60 分钟

主题

本教程包括下列主题:

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

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

概述

Oracle WebCenter 是一个集成的技术套件,旨在提供集结构化和非结构化内容、业务智能、业务流程、通信及协作服务于一体的、统一的、上下文敏感的用户体验。Oracle WebCenter 是 Oracle 融合中间件产品系列的一部分,构建在开放的、基于标准的体系结构之上。WebCenter 的一个主要特性是,它消除了基于 Web 的门户与企业应用程序之间的界线,并且支持快速创建新一代以上下文为中心的组合应用程序,这将改变人们的工作方式。WebCenter Framework 已集成到 JDeveloper 中,允许您在应用程序中嵌入 portlet、内容和可自定义的组件。Oracle WebCenter Framework portlet 集成支持所有的生产 portlet 标准,包括 JSR 168 和 WSRP 1.0 以及早期版本的 WSRP 2.0。

Oracle 电子商务套件第 12 版通过一个符合 WSRP 1.0 的框架生产商提供内置的 portlet。您可以在 WebCenter 应用程序中使用这些 portlet。

在本教程中,您将 Oracle JDeveloper 用作构建应用程序的 IDE。

返回主题列表

前提条件

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

1.

可以访问或已经安装了 Oracle JDeveloper Studio 版 (10.1.3.3)。

此版本包括构建 WebCenter 应用程序所需的所有功能。可以从 Oracle 技术网 http://www.oracle.com/technology/software/products/jdev/htdocs/soft10133.html 下载 JDeveloper Studio 版。

2.

可以访问或已经安装了 Oracle 的电子商务套件第 12 版。

电子商务套件第 12 版实例必须针对 WebCenter 集成进行配置。这意味着 Oracle Applications Manager 应当:

更新了可以访问 Portlet 生产商 URL 的节点列表,以 包括安装了 OracleAS 10g WebCenter、Oracle JDeveloper 和 Infrastructure 数据库的计算机。注: 这是在 JDeveloper 上运行应用程序的必要条件,而不是访问已部署的应用程序的客户端的必要条件。
在电子商务套件 R12 实例上实施了一次性登录支持。 WebCenter 应用程序及其访问的电子商务套件实例必须面对相同的用户。
授予了用户对电子商务套件 portlet 的访问权。
在身份管理系统中定义了一个名为 ValidUsers 的角色。

返回主题列表

将 Portlet 添加到 JSF 页面

在本主题中,您将使用 JDeveloper Studio 创建一个 WebCenter 应用程序和一个 JSF 页面以显示电子商务套件 portlet。注册了电子商务套件 portlet 生产商之后,您向该页面添加其中一个 portlet。

创建新的应用程序和 JSP
注册 portlet 生产商
将 portlet 添加到页面

返回主题列表

要创建新的 WebCenter 应用程序和 JSP,执行以下步骤:

1. 启动 JDeveloper:双击 JDeveloper 可执行文件 jdeveloper.exe,该文件位于您解压缩它的根目录(<jdev 主目录>)中。

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

关闭 Tip of the Day 窗口。

2.

在 Applications Navigator 中,右键单击 Applications 并选择 New Application


3.

在 Create Application 对话框中,将应用程序重命名为 EBusinessApp,从 Application Template 下拉菜单中选择 WebCenter Application [Portlet, Content Repository, JSF],然后单击 OK

WebCenter 模板创建您需要的项目,并帮助锁定 JDeveloper 为目标,这样只会显示那些适用于 WebCenter 应用程序的选项。

4.

在 Applications Navigator 中,右键单击 ViewController 节点,然后选择 New

5.

在 New Gallery 窗口中,展开 Categories 树中的 Web Tier 节点,选择 JSF,然后选择 JSF JSP。单击 OK

Create JSF JSP 向导打开。

6.

单击 Next 离开 Welcome 页面。

7.

将文件名由无标题重命名为 EBSportlets。选择 JSP Document (*.jspx) 选项,单击 Next

JSP 文档是 JSP 页面的 XML 版本。

8.

在向导的 Component Binding 页面上,确保选择了 Do Not Automatically Expose UI Components in a Managed Bean 选项,然后单击 Next

9.

在向导的 Tag Libraries 页面上,单击双箭头将所有可用的库移到 Selected Libraries 窗格。

默认情况下只选择 JSF 库;但是为了构建 WebCenter 应用程序,您还需要将 ADF 和 WebCenter 库添加到您的项目。

10.

单击 Finish

11.

注意,EBSportlets.jspx 目前为空白,在可视化编辑器中自动打开。

返回主题

要注册 portlet 生产商,执行以下步骤:

1.

在 Applications Navigator 中,右键单击 ViewController 项目,然后选择 New

注:注册也是使用 portlet 的一部分,因此您应该右键单击 ViewController 项目,而不是 Portlets 项目。Portlets 项目用于生成 portlet,即创建、增强和部署 portlet,而 ViewController 项目用于为应用程序的 UI 创建 JavaServer Faces 页面和使用 portlet。

2.

在 New Gallery 中,展开 Categories 树中的 Web Tier 并选择 Portlets

在 Items 列表中,选择 WSRP Producer Registration

单击 OK 启动 Register WSRP Producer 向导。


3.

单击 Next 离开向导的 Welcome 页面。

4.

将生产商重命名为 EBSproducer,然后单击 Next

5.

在 Connection 页面中,使用以下格式在 URL Endpoint 域中输入第 12 版 WSDL URL:
http://<第 12 版主机>:<端口>/OA_HTML/portlets/WSRPBaseService?WSDL

例如:http://myEBSServer.us.oracle.com:8001/OA_HTML/portlets/WSRPBaseService?WSDL


6.

单击 Next。该向导使用您刚输入的 URL 连接到 WSRP portlet 生产商。

注: 您的电子商务套件实例必须针对该步骤运行才能成功。

7.

在 Registration Details 页面中,单击 Finish 接受默认的超时值 30 秒钟。

其余两个向导页面适用于安全性和密钥存储位置。在这个简单的示例中,没有在电子商务套件实例中或运行 WebCenter 应用程序的 OC4J 中配置密钥存储,因此只需单击 Finish

8.

单击 OK 确认已成功注册 portlet 生产商。

返回主题

既然应用程序已经知道了该 portlet,我们就可以将其添加到 EBSportlets 页面。

要将该 portlet 添加到 EBSportlets 页面,执行以下步骤:

1.

在 Components 选项卡(右上方)中,从组件模板列表中找到 PeopleSoftProducer 并选择它。

2.

注意您可以在应用程序中添加到任何页面的 portlet 列表。


3.

选择要添加到该页面的 portlet。在本示例中,选择 Applications Navigator - Flat Mode portlet。单击该 portlet 并将其拖放到页面中。

4.

添加安全性之前,我们将运行该页面。在可视化编辑器中右键单击该页面并选择 Run

5.

注意,无法创建 portlet 会话。这是因为您尚未配置应用程序的安全性。

关闭浏览器,返回 JDeveloper。

6.

配置安全性(本教程中的下一个主题)之前,您必须先停止嵌入的 OC4J。从主菜单中,选择 Run > Terminate > Embedded OC4J

返回主题

返回主题列表

配置应用程序安全性

在本主题中,您配置新应用程序的身份验证设置,将一个安全角色映射到一个用户,并授予对包含 portlet 的页面的访问权。

配置身份验证设置
完成安全角色映射
保护页面的安全

返回主题列表

要使用 ADF Security Wizard 配置身份验证设置,执行以下步骤:

1.

在导航器中,选择 ViewController 项目,然后从主菜单中选择 Tools >ADF Security Wizard

2.

单击 Next 离开 Welcome 页面。


3.

选择 Enforce Authorization 并单击 Next

4.

选择 Lightweight XML Provider(用于在 JDeveloper 中测试应用程序)并单击 Next

5.

将 JAAS Mode 设置为 doAsPrivileged。保留其他设置的默认值。单击 Next

默认情况下,已经定义了 adfAuthentication 资源(身份验证 servlet)。您不能编辑或删除该资源,但是您可以指定一组可以访问该资源的角色。要允许对 adfAuthentication 资源进行有效的用户访问,您需要添加一个名为 ValidUsers 的角色。

注: 部署描述符会将 ValidUsers 角色映射到身份管理系统中定义的一个实际角色。如果身份管理系统中存在一个同名的角色,OC4J 将自动映射它们。“ValidUsers”名称是 WebCenter 的一种常规用法;然而,您可以选择使用其他名称。

6.

要创建 ValidUsers 角色并授予其访问权,执行以下步骤:

a.

单击 Manage Roles

b.

单击 Add

c.

输入 ValidUsers 作为名称。单击 OK

然后,单击 Close

d.

单击箭头将 ValidUsers 角色移至 Selected Roles 列表。

7.

单击 Next,然后单击 Finish


8.

单击 JDeveloper 工具栏中的 Save All 图标。

返回主题

要完成安全角色映射,执行以下步骤:

1.

从主菜单中选择 Tools >Embedded OC4J Server Preferences

2.

展开 Global | Authentication (JAZN) | Realms | jazn.com 树。

3.

选择 Users 并单击 Add

4.

输入您在安装电子商务套件时定义的用户的用户名和口令。单击 OK

5.

单击 jazn.com 下面的 Roles 分支,然后单击 Add

6.

在 Name 域中输入 ValidUsers,然后单击 OK


7. 单击 Member Users 选项卡。


8.

在顶部的窗格中选择了 ValidUsers 角色之后,选择您刚创建的用户,并单击箭头将其移至 Selected 窗格。

9. 单击 OK


10.

单击 JDeveloper 工具栏中的 Save All 图标。

返回主题

要设置页面的身份验证,执行以下步骤:

1.

在 Applications Navigator 中,右键单击 EBSportlets.jspx 并从上下文菜单中选择 Go to Page Definition

2.

在 Structure 窗格中,右键单击 EBSportletsPageDef 并从上下文菜单中选择 Edit Authorizations

3.

在 Authorization Editor 中,为 ValidUsers 选择 Grant 复选框。注意,选择 Grant 会导致为该角色自动选中所有其他权限复选框。

4.

单击 OK

5.

单击 JDeveloper 工具栏中的 Save All 图标。

返回主题

返回主题列表

运行应用程序

现在,我们运行该应用程序并测试您刚定义的用户能够访问电子商务套件 portlet 生产商。

1.

在 Application Navigator 中,右键单击 EBSportlets.jspx 并从上下文菜单中选择 Run


2.

当 login.htm 页面在您的浏览器中打开后,输入经过授权的用户的用户名和口令,然后单击 Submit

身份验证成功后,EBSportlets.jspx 页面打开。这次,内容显示在 portlet 中。


3.

单击 portlet 中的任何链接。


4.

当系统提示时,输入您的一次性登录用户名和口令并单击 OK


现在,Oracle 电子商务套件相关的 Application Navigator 显示在浏览器中。


注: 您可能想知道为什么系统再次提示您登录。当两个应用程序使用 SSO 通过同一台 SSO 服务器(域)进行身份验证时,只需要一次登录。但是,JDeveloper 的嵌入式 OC4J 不支持 SSO。因此,WebCenter 应用程序中的身份验证是通过使用容器实现的,该容器使用基于表单的用户证书输入(即 login.html)和一个本地用户/证书存储 (system-jazn-data.xml)。因此,第一次登录没有连接到任何 SSO 服务器。所以,当您访问受 SSO 保护的电子商务套件 Web 界面时,需要通过 SSO 进行身份验证。

返回主题

返回主题列表

在本课程中,您学习了 WebCenter 应用程序如何使用 Oracle 电子商务套件 portlet。您还了解了如何在 WebCenter 应用程序中配置角色和用户并授予用户对页面的访问权限。

返回主题列表

要了解有关 Oracle WebCenter 的更多信息,可以参考:

返回主题列表

将鼠标置于该图标上可以隐藏所有的屏幕截图。