本教程将展示在 WebCenter 应用程序中集成 Siebel Web 服务是何等轻松。在本教程中,您首先新建一个 WebCenter 应用程序。然后基于 Siebel Web 服务定义数据控件,选择一项可用的操作显示在应用程序中。创建两个 JSF 页面:第一个实施数据控件的 QueryById 操作。第二个 JSF 页面根据用户在查询页面提供的 ID 返回详细信息。
Oracle WebCenter 是一个集成的技术套件,旨在提供集结构化和非结构化内容、业务智能、业务流程、通信及协作服务于一体的、统一的、上下文敏感的用户体验。Oracle WebCenter 是 Oracle 融合中间件产品系列的一部分,构建在开放的、基于标准的体系结构之上。WebCenter 的一个主要特性是,它消除了基于 Web 的门户与企业应用程序之间的界线,并且支持快速创建新一代以上下文为中心的组合应用程序,这将改变人们的工作方式。
您要构建的应用程序将使用您在另一个 OBE 中通过 Siebel 创建的 WSDL 文件。扩展名为 WSDL 的文件包含用 Web 服务描述语言 (WSDL) 表达的 Web 服务界面。WSDL 是万维网协会指定的一种标准的 XML 文档类型。WSDL 文件用于在 Web 服务生产者和使用者之间沟通界面信息。WSDL 文件提供客户端应用程序使用 Web 服务时所需的所有信息。WSDL 描述允许客户端利用 Web 服务的各项功能,而无需了解 Web 服务的实施细节。
| 1. |
在 Applications Navigator 中,右键单击 Applications 并选择 New Application。
|
| 2. |
在 Create Application 对话框中,将应用程序重命名为 AccountInfo,然后从 Application Template 下拉列表中选择 WebCenter Application [Portlet, Content Repository, JSF]。
WebCenter 模板创建您需要的项目,并帮助锁定 JDeveloper 为目标,这样只会显示那些适用于 WebCenter 应用程序的选项。
|
| 3. |
单击 OK。您会注意到已经创建了三个项目。

|
在教程的此部分中,您将基于 Web 服务创建一个数据控件。该 Web 服务是由 Siebel 应用程序创建的,但您也可以使用其他应用程序(如 BPEL、JD Edwards、PeopleSoft 等)创建的 Web 服务按照相同的步骤进行操作。
| 1. |
在 Applications Navigator 中,右键单击 Model 节点,然后从上下文菜单中选择 New。
|
| 2. |
在 New Gallery 中,从 Filter By 下拉列表中选择 All Technologies。
选择 Business Tier | Web Services 作为类别,选择 Web Service Data Control 项,然后单击 OK。

|
| 3. |
在 Create Web Service Data Control 向导中,单击 Next 离开 Welcome 页面。
|
| 4. |
在第 1 步中,在 Name 域中键入 SiebelAccount_WS ,然后针对 URL 域单击 Browse 按钮。

在 Select WebService Description 中,找到您下载 wsdl 文件的目录,然后选择 SiebelCustomerAccount_80.wsdl 文件。

单击 Open。
在该向导中,注意 Service 域中生成的 URL。
单击 Next。
|
| 5. |
第 2 步显示了这个 Web 服务的所有可用操作。在本 OBE 中,您将使用单个操作。选择 AccountQueryById。使用 Add 按钮将所选内容移至 Selected 窗格。

单击 Next。
|
| 6. |
在 Applications Navigator 中,展开 Model 节点及其子节点,查看已创建的条目。Applications Navigator 应如下所示:

|
| 7. |
单击 Save All 图标,保存您的工作。
|
| 1. |
在 Applications Navigator 中,右键单击 ViewController 节点,然后从上下文菜单中选择 New。
|
| 2. |
在 New Gallery 中,展开 Web Tier 节点并选择 JSF。在 Items 窗格中,选择 JSF Page Flow & Configuration (faces-config.xml)。

单击 OK。
|
| 3. |
在 Create JSF Configuration File 中,单击 OK 接受默认值。

将打开一个空白的页面流图。注意 Diagram 编辑器右边的 Component Palette 和 Data Control Palette。您将使用它为 JSF 导航模型创建组件。
|
| 4. |
单击 Save All 图标,保存您的工作。
|
| 1. |
在 JSF Navigation Diagram 组件模板中,选择 JSF Page,然后单击图表。

将该页面重命名为 QueryByID。
|
| 2. |
在 Component Palette 中,再次单击 JSF Page 并将其拖放到前一个 JSF 页面旁边。
将该页面重命名为 ShowResult。
|
| 3. |
在 JSF Navigation Diagram 组件模板中,选择 JSF Navigation Case。单击源 JSF 页面 (QueryByID) 的图标,然后单击该导航示例的目标 JSF 页面 (ShowResult) 的图标。
|
| 4. |
修改默认标签 (success),方法是单击它,然后输入 toResult。
|
| 5. |
单击屏幕底部的 Overview 选项卡。单击左侧表中的 Navigation Rules。注意,该表中列出了您刚刚在此图表中创建的规则。

单击屏幕底部的 Source 选项卡。<from-view-id> 标记标识源页面,<to-view-id> 标记标识目标页面。

JDeveloper 为您提供了 faces-config.xml 文件的三种视图。正如您看到的那样,图表中显示的信息也可通过声明式对话框以及直接从源进行访问。
|
| 6. |
切换回图表视图,在 Component Palette 中选择 JSF Navigation Case。单击源 JSF 页面 (ShowResult) 的图标,然后单击该导航示例的目标 JSF 页面 (QueryByID) 的图标。
|
| 7. |
修改默认标签 (success),方法是单击它,然后输入 toQuery。

|
| 8. |
单击 Save All 图标,保存图表。
|
| 1. |
在页面流图上,双击 QueryById 图标启动 Create JSF JSP 向导。
|
| 2. |
单击 Next 离开 Welcome 页面。
|
| 3. |
在向导的第 1 步中,选择 JSP Document (*.jspx) 选项。

单击 Next。
|
| 4. |
在第 2 步中,确保选择了 Do Not Automatically Expose UI Components in a Managed Bean。

单击 Next。
|
| 5. |
在第 3 步中,确保选择了以下库:
ADF Faces Components 10_1_3_2_0 ADF Faces HTML 10_1_3_2_0 JSF Core 1.0 Cusomizable Components Core 10_1_3_2_0

单击 Finish,创建该页面。编辑器的 Design 选项卡中出现一个空白的 JSF 页面。

|
| 6. |
在 Customizable Components Core 组件模板中,单击 ShowDetailFrame。页面中显示 ShowDetailFrame。

注:Oracle WebCenter 提供两个可自定义的组件:PanelCustomizable 和 ShowDetailFrame。通过这两个组件可以非常轻松地组织 Web 应用程序的内容,将不同面板看作几乎独立的、类似 portlet 的对象,可进行最小化、重新排列、拥有自己的下拉菜单等等。
|
| 7. |
选择了 ShowDetailFrame 后,将 Properties Inspector 中的 Text 属性修改为 Query By ID。按 [Enter] 键在可视化编辑器中更新该页面。

|
| 8. |
打开 Data Control 模板,展开 SiebelAccount_WS 节点。将 AccountQueryById(String) 节点拖放到页面的 showDetailFrame 上。从弹出菜单中选择 Create | Parameters | ADF Parameter Form。

|
| 9. |
在 Edit Form Fields 中,单击 OK。

|
| 10. |
选择页面中生成的 AccountQueryById 按钮,然后在 Property Inspector 窗格中更改以下属性:
| Text |
Submit |
| Action |
toResult |

|
| 11. |
选择与输入值对应的输入域,然后在 Property Inspector 中将 Label 属性更改为 Account ID:

页面现在看起来应与下图类似:
\
|
| 12. |
单击 Save All 图标,保存您的工作。
|
| 1. |
返回 Page Flow 图表(单击 faces-config.xml 选项卡),双击 ShowResult 图标启动页面向导。
|
| 2. |
单击 Next 跳过 Welcome 页面,在向导的第 1 步中选择 JSP Document (*.jspx) 选项。

单击 Next。
|
| 3. |
在第 2 步中,确保选择了 Do Not Automatically Expose UI Components in a Managed Bean。

单击 Next。
|
| 4. |
在第 3 步中,应选择以下库:
ADF Faces Components 10_1_3_2_0 ADF Faces HTML 10_1_3_2_0 JSF Core 1.0

|
| 5. |
单击 Finish,创建该页面。编辑器的 Design 选项卡中出现一个新的空白页面。

|
| 6. |
在 Customizable Components Core 组件模板中,单击 ShowDetailFrame。页面中出现 ShowDetailFrame 组件。
|
| 7. |
选择了 ShowDetailFrame 后,将 Properties Inspector 中的 Text 属性修改为 Query Results。按 [Enter] 键在可视化编辑器中更新该页面。

|
| 8. |
在 Data Control 模板中,展开 AccountQueryById | Return | SiebelMessage | ListofAccountInterface 并选择 Account 节点。将其放到页面的 ShowDetailFrame 上。
从弹出菜单中选择 Create | Forms | ADF Read-only Form。

|
| 9. |
在 Edit Form Fields 中,使用 Delete 按钮将建议域限制在以下列表范围内:
AccountID AccountStatus NumberOfEmployees CurrencyCode Location MainPhoneNumber Name Type
选中 Include Submit Button 复选框。

单击 OK。
|
| 10. |
在 Action Binding Editor 中,单击 OK。

|
| 11. |
选择 Submit 按钮,在 Property Inspector 中,将标题更改为 Back to Query,然后在 Action 域中,从列表中选择 toQuery。
 |
| 12. |
单击 Save All 图标,保存您的工作。
|
| 1. |
登录到 Siebel Call Center,提供相关 User ID / Password 组合。

|
| 2. |
通过 Site Map 导航到 Accounts List。
|
| 3. |
单击 Accounts 链接。

|
| 4. |
单击 Accounts List 链接。

|
| 5. |
在返回的列表中,高亮显示您要查询的帐户。
|
| 6. |
从顶部菜单转到 Help | About Record。
|
| 7. |
在 Row # 域中找到 ID 值。

记下返回的值。
|
| 1. |
要测试页面,请返回到页面流图。右键单击 QueryById 页面图标,然后从上下文菜单中选择 Run。
|
| 2. |
您的页面加载到默认的浏览器中,应如下所示:
|
| 3. |
在 ID 域中,输入先前在 ROW # 域中记下的值。

单击 Submit。
|
| 4. |
Details 页面显示相应帐户的详细信息。
要测试其他值,可以单击 Back to Query 并输入新的查询。
|
| 5. |
您已经成功完成了此 OBE。可以关闭浏览器窗口了。
|