使用 BPEL 和 Web 服务在 Siebel 中创建帐户
使用 BPEL 和 Web 服务在 Siebel 中创建帐户
本教程介绍如何创建、部署和测试 BPEL 流程,以在 Siebel 应用程序中创建客户帐户。
大约 1 个小时
本教程包括下列主题:
将鼠标置于此图标上 可以加载和查看本教程的所有屏幕截图。
(警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)
注: 此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。可以通过单击各个屏幕截图来将其隐藏。
Siebel 应用程序构建于丰富的技术系列之上,自版本 7.5.3 以来一直支持 Web 服务。主要的 Web 服务支持自版本 7.8 开始。版本 8.0 对支持功能进行了扩展,从而可以支持大量针对客户订单管理的现成 Web 服务。因此,如果您使用的是 7.8 之后的版本,通常可以使用直接 Web 服务进行集成。BPEL 流程管理器在 Siebel 7.8.2 版及后续版本上通过认证。本教程将演示如何通过 BPEL 流程管理器来使用由 Siebel 生成的 WSDL 调用入站 Siebel 帐户 Web 服务(也称为 Siebel ASI — 应用服务接口)。
返回主题列表
开始本教程之前,您应该:
1.
已经安装了 Oracle SOA 套件 10g (10.1.3.1)。您可以从 Oracle 技术网 Web 站点下载该软件。
2.
已经安装了 Oracle JDeveloper 10g (10.1.3.2)。您可以从 Oracle 技术网 Web 站点下载该软件。
3.
能够通过 Call Center 访问 Siebel 7.8 实例 。
4.
能够访问 SiebelAccount.xsd 文件。右键单击该文件链接并从上下文中选择 Save Target As .... ,以下载该文件并将其保存到您所选的本地目录中。您将在本教程后面的部分中用到此文件。
5.
执行为 Siebel 帐户业务服务创建入站 Web 服务 教程中提供的步骤。
返回主题列表
使用合适的证书登录到 Siebel Call Center。执行以下步骤:
1.
输入以下 URL 登录到 Siebel Call Center(将 <主机名> 更改为 localhost 或特定的主机名)。注意,本教程中使用的端口号是 7777,这可能与您的设置/操作系统不同。使用与您的设置对应的端口号。
http://<主机名> :<端口号> /callcenter_enu/start.swe
2.
登录到 Siebel Call Center,输入系统管理员的证书,单击 Login 。本示例中使用以下值: 用户名:SADMIN 口令:SADMIN
3.
出现 Siebel Call Center Home 页面。单击主页上的 Site Map (球形)图标,查看可用的服务。
返回主题列表
在本主题中,您将选择一个入站 Web 服务(它公开一个名为 Customer Account 的 Siebel 帐户)并将生成它的 WSDL。为此,执行以下步骤:
1.
鼠标左键单击 Administration - Web Services 链接以显示针对 Web 服务的管理选项。
2.
单击 Inbound Web Services 链接查看所提供的 Web 服务列表。
现在您会看到 Inbound Web Serivces 屏幕,其中列出了所有可用的入站 Web 服务。
3.
向下滚动入站 Web 服务列表,找到 Customer Account Web 服务。这是一个提供的 Web 服务,它公开了一个名为 Customer Account 的 Siebel 帐户。(您在本教程系列前面的 OBE 教程为 Siebel 帐户业务服务创建入站 Web 服务 中创建了此 Web 服务。)
或者,您也可以单击 Query 按钮来找到该 Web 服务。
输入 Customer Account 作为要查询的 Web 服务名,然后单击 Go 。注意,该查询区分大小写。
该查询显示 Customer Account Web 服务条目。
4.
单击 Clear Cache 刷新缓存。每次进行更改时(如更改 Web 服务的命名空间 URL/名称),都要执行此任务 。
5.
向下滚动窗口,检查与 Customer Account Web 服务对应的 Service Port 和 Operations 部分。注意 Transport (HTTP) 和 Address Field (URL) 值。
在 Transport 下拉列表中,您可能会看到存在其他传输协议/方法,如 MQ 和 JMS。
6.
在 Operations 部分中,注意针对 Customer Account Web 服务提供了三种操作(Insert、Query by ID 和 Query By Example)。在本教程中,您将对此 Customer Account Web 服务使用 Insert 操作。使用 JDeveloper 创建 BPEL 流程时,您需要用此信息导入 WSDL,这将在本教程后面的内容中进行解释。
7.
在 Inbound Web Services 部分中,单击 Generate WSDL 按钮,生成 Customer Account 入站服务的 WSDL 文件。
在浏览器窗口中查看生成的 WSDL。
8.
在浏览器窗口中,选择 File > Save As ,将生成的 WSDL 文件另存为 SiebelAccountInsertWS.wsdl 。在稍后进行 BPEL 流程的设计时,您将用到该 WSDL 文件。
返回主题
在本主题中,您将创建、部署和测试一个 BPEL 流程。为此,执行以下步骤:
返回主题列表
创建和部署一个 BPEL 流程
在本主题中,您将学习如何创建一个 BPEL 流程并把它部署到默认的应用服务器连接上。执行以下步骤:
前提条件:
执行以下前提条件步骤:
1.
启动 SOA 套件:单击 Start > Programs > Oracle-SOA > Start SOA Suite 。
2.
启动 BPEL 控制台。单击 Start > Programs > Oracle-SOA > Oracle BPEL Process Manager > BPEL Control 。
3.
现在,启动 JDeveloper 以设计 BPEL 流程。 双击 JDeveloper 可执行文件 jdeveloper.exe ,该文件位于您解压缩它的根目录(<jdev 主目录>)中。
如果 Migrate User Settings 对话框打开,请单击 NO。
关闭 Tip of the Day 窗口。
现在应显示 JDeveloper IDE。
创建一个 BPEL 流程
在此任务中,您将基于一个 .xsd 文件创建 BPEL 流程,该文件中包含一个 Siebel 客户帐户示例的结构。您已从本教程前面的步骤中提取了该文件。执行以下步骤来完成此任务:
创建一个 BPEL 流程
1.
在 JDeveloper 中,右键单击 Applications Navigator 中的 Applications 节点,然后从上下文菜单中选择 New Application 。
.
2.
在 Create Application 对话框中,为 Application Name 输入 SiebelCust_WS ,然后单击 OK 。该应用程序托管一个 BPEL 流程,您将在本教程的后面部分创建该流程。
3.
此时不要创建关联项目。因此,在 Create Project 对话框中单击 Cancel 。
4.
您会看到 Applications 窗口中已经创建了 SiebelCust_WS 应用程序。现在,您需要在此应用程序下面创建一个同步的 BPEL 流程。右键单击该应用程序,选择 New Project 。
5.
在 New Gallery 窗口中,选择 BPEL Process Project ,然后单击 OK 。
.
6.
在 BPEL Project Creation Wizard 中,输入 SiebelCreateAccount 作为流程名。选择 Synchronous BPEL Process 作为模板。单击 Next 。
.
7.
要选择 Input Schema Element ,单击浏览图标,导航到您在本教程前面步骤中保存 SiebelAccount.xsd 文件的目录,然后选择该文件。.xsd 文件的结构与要在 Siebel 中创建的客户帐户的结构类似。
.
8.
在 Type Chooser 弹出窗口中展开 Type Explorer,为 Type 选择 SiebelAccount.xsd 。单击 OK 。
.
单击 Finish
9.
您会看到 Application Navigator 窗口中的树形结构和 SiebelCreateAccount.bpel 流程设计窗口。
创建一个合作伙伴链接
在此任务中,您将创建一个基于 WSDL 文件的合作伙伴链接,该文件已在本教程前面的步骤中通过 Siebel 入站 Web 服务生成。执行以下步骤来完成此任务:
1.
在 SiebelCustomerAccount.bpel 设计器窗口的 Services 部分中单击任意位置,然后选择 Create Partner Link 。
2.
输入 Siebel_BPEL 作为合作伙伴链接名称。单击 Browse WSDL Files from Local File System 按钮选择在本教程前一步骤中通过 Siebel Call Center 生成的 WSDL 文件。
3.
从本地文件系统中选择 SiebelCustomerAccount_80.wsdl 文件,您在本教程前面的步骤中将该文件保存到了该系统中。单击 Open 。
4.
如果收到消息,指出您正在试图引用一个外部 WSDL,则单击 Yes 。
在 Partner Link Type 框中单击 Yes ,创建一个可以创建合作伙伴链接类型的新的 WSDL 文件。
5.
为 Partner Role 和 My Role 域选择 CustAccount_Role 。
单击 Ok 。
6.
查看在 SiebelCreateAccount.bpel 图表视图的 Services 部分下面创建的合作伙伴链接。
创建一个调用活动
1.
在 BPEL Designer 窗口中,单击 Component Palette ,然后从下拉列表中选择 Process Activities 。
将 Invoke 活动从 Process Activities 列表拖放到 SiebelCreateAccount.bpel 图表视图中 receiveInput 活动下方 。
2.
在 Invoke_1 活动和 Siebel_BPEL 合作伙伴链接之间创建一个链接。执行该步骤的方法是,将链接图标从 Invoke_1 活动拖放到合作伙伴链接。该步骤有助于在 BPEL 流程和 .xsd 文件的变量之间建立结构关系。
3.
现在设置该调用活动的属性。将调用活动的名称设置为 Invoke_InsertSiebelAccount 。
选择 AccountInsert 作为要执行的操作。
单击 Input Variable 域旁边的 Automatically Select the Input Variable 图标。选择显示的默认 Global Variable。单击 OK 。
同样地,为 Output Variable 选择默认的 Global Variable。
单击 Ok 完成该调用活动的属性设置过程。查看设置。
创建转换活动以将输入请求数据发送到调用活动
1.
在 BPEL Designer 窗口中,单击 Component Palette ,然后从下拉列表中选择 Process Activities 。向下滚动 Process Activities 列表,找到 Transform 图标。
将 Transform 活动从 Process Activities 列表拖放到 SiebelCreateAccount.bpel 图表视图中 receiveInput 活动和 Invoke_InsertSiebelAccount 活动的中间。该活动可帮助为输入变量赋值。
2.
双击该 Transform 活动,设置输入变量的属性。为 Target Variable 选择 Invoke_InsertSiebelAccount_InputVariable 。观察 payload 在 Target Part 中所显示的值的变化。
忽略 Transform 窗口中的错误提示。当您成功验证您的活动之后,该提示就会消失。
在 Target Part 部分中单击 SiebelMessage 。使用此步骤,您现在将一个 payload 赋值给 SiebelMessage。
单击 Apply 。
3.
在 Transformation_1.xsl 图表视图中,观察源和目标帐户所显示的负载结构。在 Target 部分下方,将 ns1:ListOfAccountInterface 节点展开一级,观察 ns:Account 节点。
然后在源和目标输入变量之间创建一个映射。要执行该任务,将鼠标放在源 SiebelAccount 变量上,然后拖动它以映射到目标变量 ns1:Account。
在 Auto Map Preferences 弹出窗口中,确保选择了 Match Elements with Exact Names 选项,然后单击 OK 。
您会看到源和目标输入变量之间现在已经创建了一个映射。
您可以进一步展开目标变量以查看域到域的映射。
4.
保存您的所有更改。激活 SiebelCreateAccount.bpel 图表视图。单击 Validate Process 按钮以验证该转换。在 Transform 窗口中单击 OK 完成该转换过程。
创建一个赋值活动以通过调用活动发送输出数据
1.
在 BPEL Designer 窗口中,单击 Component Palette ,然后从下拉列表中选择 Process Activities 。滚动 Process Activities 列表,找到 Assign 图标。
将 Assign 活动从 Process Activities 列表拖放到 SiebelCreateAccount.bpel 图表视图中 Invoke_InsertSiebelAccount 活动和 receiveOutput 活动的中间。该活动可帮助为调用输出变量赋值。
2.
双击该 Assign 活动,设置输出变量的属性。在 Assign 窗口中,输入以下信息:
在 General 选项卡中,指定 CopyOutput 作为活动名,然后单击 Apply 。
3.
在 Copy Operation 选项卡中,单击 Create 显示 Create options 窗口,然后从下拉列表中选择 Copy Operation 。
在 From 部分中,展开 Process > Variables > Invoke_InserSiebelAccoutn_AccountInsert_OutputVariable > SiebelMessage > ns3:ListOfAccountInterface > ns3:Account 变量,然后选择 ns3:AccountId 变量。这是源输出变量,它的值将被复制到目标输出变量。注:NS 旁边的数字可能与您实例有所不同。
在 To 部分中,展开 Process > Variables > OutputVariable > payload > client:SiebelCreateAccoutnProcessResponse > client:result 节点。
在 Create Copy Operation 窗口中单击 OK 。
在 Assign 窗口中单击 OK 完成赋值过程。
保存您的所有工作。
在本主题中,您将创建到应用服务器和到集成服务器的连接,以便将 BPEL 流程部署到这些服务器上,然后对 BPEL 流程进行测试。要完成此任务,执行以下步骤:
a.
创建到应用服务器和到集成服务器的连接
b.
将 BPEL 流程部署到集成服务器上
c.
通过 BPEL Control 对部署进行测试
a. 创建到应用服务器和到集成服务器的连接:
在本任务中,您将创建一个到集成服务器的连接,以将 BPEL 流程部署到上面。而这又需要一个到安装有 SOA 套件的应用服务器的连接。
1.
在 BPEL Designer 中,选择 Connections Navigator 选项卡。右键单击 Application Server ,然后选择 New Application Server Connection 。
在 Welcome 页面中单击 Next 。
2.
为 Connection Name 输入 iAS10g ,然后从 Connection Type 下拉列表中选择 Oracle Application Server 10g 10.1.3 。单击 Next 。
3.
输入连接的用户名和口令。它们是您在安装 SOA 套件服务器时必须要提供的值。在本教程中,这些值分别设置为 oc4jadmin 和 welcome1 。
单击 Next 。
4.
指定适合您的 SOA 套件安装的主机名、OC4J 实例名和 OPMN 端口号。
单击 Next 。
5.
单击 Test Connection 按钮,然后等待结果出现。结果应显示连接已成功,如下面的屏幕截图所示。
如果连接失败,调整您的应用服务器设置并重新测试连接。
测试成功后单击 Finish。
6.
在 BPEL Designer 中,选择 Connections Navigator 选项卡。右键单击 Integration Server ,然后选择 New Integration Server Connection 。
在 Welcome 页面中单击 Next 。
7.
为 Connection Name 输入 SOAConnection 。单击 Next 。
8.
将 Application Server 设置为您在上面的第 2 步中使用的名称,将 Host Name 设置为适合您的安装的名称。本教程中端口号设置为 8888。您需要验证为您的 SOA 服务器设置的值,并在此处提供相同的值。
单击 Next 。
9.
单击 Test Connection 按钮,然后等待结果出现。结果应显示连接已成功,如下面的屏幕截图所示。
如果连接失败,调整您的应用服务器和主机名设置并重新测试连接。
测试成功后单击 Finish。
通过此步骤,您创建了一个到集成服务器的连接,以便将上一步中创建的 BPEL 流程部署到该服务器上。
b. 将 BPEL 流程部署到集成服务器上:
在本主题中,您将把 BPEL 流程 SiebelCustomerAccount.bpel 部署到集成服务器 SOAConnection 上。要完成该任务,执行以下步骤:
1.
在 Application Navigator 窗口中,选择并右键单击 SiebelCustomerAccount.bpel 节点。
从出现的菜单选项中选择 Deploy > SOAConnection > Deploy to a default domain 。
2.
在 Message Log 窗口中,您会看到提示部署成功的消息,如下面的屏幕截图所示。
如果您收到部署失败的消息,查看您的 BPEL 流程是否有错误,并重新部署该应用程序。
c. 使用 BPEL Control 测试已部署的 BPEL 流程:
在这个步骤中,您将对本教程中创建的 BPEL 流程进行测试,并通过 BPEL Control 输入详细信息以插入一个客户帐户。执行下列任务:
1.
选择 Start > Programs > Oracle - SOA > Oracle BPEL Process Manager > BPEL Control ,打开 BPEL Control。
2.
在浏览器窗口中,输入您在安装 SOA 套件时设置的用户名和口令。在本教程中,用户名/口令为 oc4jadmin/welcome1 。
3.
单击 Dashboard 的 Deployed BPEL Processes 列表中的 SiebelCustomerAccount 。
4.
在 Payload 部分中,输入一个 Siebel 客户帐户的详细信息。
单击 Post XML Message 按钮。该流程插入一个 Siebel 客户帐户并返回一个唯一的标识符,您可以在需要时使用该标识符查询该客户帐户。
5.
查看为上一步骤中创建的客户帐户返回的唯一的标识符。
返回主题
在本教程中,您学习了如何:
从 Siebel Call Center 生成一个 WSDL 文件
创建、部署和测试 BPEL 流程以插入一个 Siebel 客户帐户。
返回主题列表
将鼠标置于该图标上可以隐藏所有的屏幕截图。