Place the cursor over this icon to load and view all the screenshots for this tutorial.
(Caution: This action loads all screenshots simultaneously, so response time may be slow depending on your Internet connection.)
Note: Alternatively, you can place the cursor
over an individual icon in the following steps to load and view only the screenshot
associated with that step. You can hide an individual screenshot by clicking it.
Overview
Siebel applications are built on a rich technology stack,
and have been supporting web services starting from version 7.5.3 . Major web
services support came in version 7.8 and in 8.0 it was expanded to support numerous
out of the box web services for Customer Order Management. Hence if you are
working with any version later than 7.8, then you can typically use direct web
services for integration. BPEL Process Manager is certified with Siebel v 7.8.2
onwards. This tutorial demonstrates how to use BPEL Process Manager to consume
a Siebel generated WSDL to invoke an inbound Siebel Account Web Service (also
known as Siebel ASI - Application Service Interface)
Have installed Oracle SOA Suite 10g (10.1.3.1). You
can download the software from Oracle Technology Network web site.
2.
Have installed Oracle JDeveloper 10g. (10.1.3.2). You
can download the software from Oracle Technology Network web site.
3.
Have access to Siebel
7.8 instance with Call Center.
4.
Have access to the
SiebelAccount.xsd file. Right
click the file link and choose Save Target As .... from context
to download and save the file to a local directory of your choice. You
use this file later in this tutorial.
Log in to Siebel Call Center using appropriate credentials.
Perform the following steps:
1.
Enter the following URL to log in to Siebel Call Center
(change the <hostname> to localhost or your specific hostname).
Note that the port number used in this tutorial is 7777, which might be
different for your setup/operating system. Use the port number that is
appropriate for your setup.
In this topic, you select an inbound Web Service that exposes
a Siebel account called Customer Account and generate WSDL for it. To do this,
perform the following steps:
1.
Left mouse click the Administration - Web Services link to bring up the
administrative options for Web Services.
2.
Click the Inbound Web Services link to view the list of delivered
Web Services.
You now see the Inbound Web Serivces screen that lists all available
Inbound Web Services.
3.
Scroll down the list of Inbound Web Services to locate the Customer
Account Web Service. This is a delivered Web Service that exposes
a Siebel account named Customer Account. (You create this Web Service
from a previous OBE tutorial in this series named Create an Inbound
Web Service for Siebel Account Business Service.
Alternatively click the Query button to locate this Web Service.
Enter Customer Account as Web Service name to be queried and click
Go. Note that the query is case sensitive.
This query displays entry of the Customer Account Web Service.
4.
Click Clear Cache to refresh the cache. You perform this task each time
you make changes such as change the Namespace URL/Name of a Web Service.
5.
Examine the Service Port and Operations sections corresponding
to the Customer Account Web Service by scrolling down the window. Notice
the Transport (HTTP) and Address Field(URL) values.
You may observe from the Transport drop down list that there are other
transport protocols/methods available such as MQ and JMS.
6.
In the Operations section, notice that three operations (Insert,
Query by ID, and Query By Example) are exposed for the Customer Account
Web Service. For this tutorial, you use the Insert operation on this Customer
Account Web Service. You need this information for importing the WSDL
while creating a BPEL process using JDeveloper, as explained later in
this tutorial.
7.
In the Inbound Web Services section, click the Generate WSDL
button to generate a WSDL file for the Customer Account Inbound Service.
View the generated WSDL in a browser window.
8.
In the browser window, select File > Save As to save the generated
WSDL file as SiebelAccountInsertWS.wsdl. You use this WSDL file
later in the BPEL process design time
Now, start JDeveloper to design the BPEL process.Double-click
the JDeveloper executable jdeveloper.exe found in the root directory
(<jdev_home>) where you unzipped it.
If the Migrate User Settings dialog box opens, click NO.
Close the Tip of the Day window.
The JDeveloper IDE should now be displayed.
Create a BPEL Process
In this task, you create a BPEL Process based on a .xsd file that contains
structure of a Siebel customer account sample. You extracted this file from
a previous step in this tutorial. Perform the following steps to complete this
task:
In JDeveloper, right click the Applications node in the Applications
Navigator and select New Application from context.
.
2.
In the Create Application dialog box, enter the Application Name as SiebelCust_WS
and click OK. This application hosts a BPEL process that you are
going to create later in this tutorial.
3.
Do not create an associated project at this point. Hence, in the Create
Project dialog, Click Cancel.
4.
Observe that the application SiebelCust_WS is created in your Applications
window. Now you create a synchronous BPEL process under this application.
Right click this application and select New Project.
5.
In the New Gallery window, select BPEL Process Project and click
OK
.
6.
In the BPEL Project Creation Wizard, enter name of the process as SiebelCreateAccount.
Select Synchronous BPEL Process as the template. Click Next
.
7.
To select an Input Schema Element, click the browse icon, navigate
to the directory where you saved the SiebelAccount.xsd file from
a previous step in this tutorial, and select the file. This .xsd file
resembles structure of a customer account that has to be created in Siebel.
.
8.
Expand the Type Explorer from the Type Chooser popup window to select
SiebelAccount.xsd as the Type. Click OK.
.
Click Finish
9.
Observe the tree structure in the Application Navigator window and the
SiebelCreateAccount.bpel process design window.
Create a Partner Link
In this task, you create a partner link that is based on the WSDL file generated
from a Siebel Inbound Web service earlier in this tutorial. Perform the following
steps to complete this task:
1.
Rightclick anywhere in the Services section the SiebelCustomerAccount.bpel
designer window and select Create Partner Link.
2.
Enter name of the partner link as Siebel_BPEL. Click the Browse
WSDL Files from Local File System button to select the WSDL file that
was generated through the Siebel Call Center in a previous step in this
tutorial.
3.
Choose the SiebelCustomerAccount_80.wsdl file from your local
file system where you saved it earlier in this tutorial. Click Open.
4.
If you receive a message that you are attempting to reference a WSDL
that is external, click Yes.
Click Yes in the Partner Link Type box to create a new WSDL file
that creates Partner Link types.
5.
Select CustAccount_Role for both the Partner Role and My Role
fields.
Click Ok.
6.
View the Partner Link created under the Services section of the SiebelCreateAccount.bpel
diagram view.
Create an Invoke Activity
1.
From the BPEL Designer window, click the Component Palette and
select Process Activities from the drop down list.
Drag the Invoke activity from the Process Activities list and
drop it below the receiveInput activity in the SiebelCreateAccount.bpel
diagram view.
2.
Create a link between the Invoke_1 activity and the Siebel_BPEL Partner
Link. Perform this step by dragging the link icon from the Invoke_1 activity
to the partner link. This step helps to establish a structural relationship
between the variables of the BPEL process and the .xsd file.
3.
Now set properties for the invoke activity. Set Name of the Invoke activity
as Invoke_InsertSiebelAccount
Select AccountInsert as the operation to be performed.
Click the Automatically Select the Input Variable icon next to
the Input Variable field. Select the default Global variable displayed.
Click OK.
Select default Global variable for the Output Variable in a similar way.
Click Ok to complete the process of setting the properties of
the Invoke activity. Observe the settings.
Create a Transform Activity to Send Input
Request Data to The Invoke activity
1.
From the BPEL Designer window, click the Component Palette and
select Process Activities from the drop down list. Scroll down the
Process Activities list to locate Transform icon.
Drag the Transform activity from the Process Activities list and
drop it between the receiveInput activity and the Invoke_InsertSiebelAccount
activity in the SiebelCreateAccount.bpel diagram view. This activity helps
to assign values to the input variable.
2.
Double click the Transform activity to set properties for input variables.
select Invoke_InsertSiebelAccount_InputVariable as the Target Variable.
Observe the change in values displayed in the Target Part for the payload.
Ignore the error indication in the Transform window. It goes away after
you validate your activity successfully.
Click SiebelMessage from the Target Part. With this step, you
are now assigning a payload to the SiebelMessage.
Click Apply.
3.
In the Transformation_1.xsl diagram view, observe the payload
structure displayed from the source and the target account. Under the
Target section, expand the ns1:ListOfAccountInterface node
by one level to observe the ns:Account. node.
Now create a mapping between the source and the taget input variables.
To perform this task, point the mouse at the source SiebelAccount variable
and drag it to map to the target variable ns1:Account.
In the Auto Map Preferences pop-up window, make sure that the Match Elements
with Exact Names option is selected and click OK.
Observe that a mapping is now created between the source and target input
variables.
You can expand the target variable further to see field to field mapping.
4.
Save all your changes. Activate the SiebelCreateAccount.bpel diagram
view. Click the Validate Process button to validate the transformation.
Click OK to complete the transformation process in the Transform Window.
Create an Assign Activity to Send Output
Data from the Invoke activity
1.
From the BPEL Designer window, click the Component Palette and
select Process Activities from the drop down list. Scroll the Process
Activities list to locate the Assign icon.
Drag the Assign activity from the Process Activities list and
drop it between the Invoke_InsertSiebelAccount activity and the
receiveOutput activity in the SiebelCreateAccount.bpel diagram
view. This activity helps to assign values to the invoke output variable.
2.
Double click the Assign activity to set properties for output variables.
In the Assign Window enter the following information:
In the General tab, assign name of the activity as CopyOutput
and click Apply
3.
In the Copy Operation tab, click Create to display the
Create options window and select Copy Operation from the drop down
list.
In the From section, expand the Process > Variables > Invoke_InserSiebelAccoutn_AccountInsert_OutputVariable
> SiebelMessage > ns3:ListOfAccountInterface > ns3:Account variable
and select the ns3:AccountId variable. This is the source output variable
whose value will be copied to the target output variable. Note: The number
next tot he NS might be different in your instance.
In the To section, expand the Process > Variables > OutputVariable
> payload > client:SiebelCreateAccoutnProcessResponse > client:result
node.
Click OK in the Create Copy Operation window.
Click OK in the Assign window to complete the assign process.
Save all your work.
Deploy
and Test the BPEL Process
In this topic, you create a connections to an application
server and to an Integration server to whcih you deploy your BPEL process and
then test the process. To do this task, perform the following steps:
a.
Create a Connections to an application server and an
Integration Server
b.
Deploy BPEL Process to the Integration Server
c.
Test the deployment through BPEL Control
a. Create a Connection to the Application Server and to
the Integration Server:
In this task, you create connection to the Integration server
to which you deploy the BPEL process. This inturn requires a connection made
to the Application Server where the SOA Suite is installed.
1.
In BPEL Designer, select the Connections Navigator tab. Right
click Application Server and select New Application Server Connection.
Click Next on the Welcome page.
2.
Type iAS10g for the Connection Name and choose Oracle Application
Server 10g 10.1.3 from the Connection Type drop down list. Click Next.
3.
Enter username and password for the connection. These are the values
you must have provided while installing the SOA Suite server. For this
tutorial, these values are set as oc4jadmin and welcome1
respectively.
Click Next.
4.
Specify hostname, OC4J instance name, and the OPMN port number values
as appropriate for your SOA Suite installation.
Click Next.
5.
Click Test Connection button and wait to see the results. The
results should indicate that the connection is successful, as shown in
the following screenshot.
If the connection is not successful, adjust your Application Server settings
and retest the connection.
Click Finish when your test is successful.
6.
In the BPEL Designer, select the Connections Navigator tab. Right
click Integration Server and select New Integration Server Connection.
Click Next on the Welcome page.
7.
Type SOAConnection for the Connection Name. Click Next.
8.
Set Application Server to the name you used in step 2 above and Host
Name as appropriate for your installations. Port number is set in this
tutorial to 8888. You need to verfiy values set for your SOA server nd
provide the same here.
Click Next.
9.
Click Test Connection button and wait to see the results. The
results should indicate that the connection is successful, as shown in
the following screenshot.
If the connection is not successful, adjust your Application Server and
Host name settings and retest the connection.
Click Finish when your test is successful.
With this step, you created a connection to the Integration Server to
which you deploy the BPEL process created in a previous step.
b. Deploy BPEL Process to the Integration Server:
In this topic, you deploy the BPEL Process SiebelCustomerAccount.bpel to the
Integration Server SOAConnection. To complete this task, perform the following
steps:
1.
In the Application Navigator window, select and right click the SiebelCustomerAccount.bpel
node.
Select Deploy > SOAConnection > Deploy to a default domain
from the resulting menu options.
2.
In the Message Log window, notice the message that the deployment
is successful, as shown in the following screenshot.
If you receive Deployment failed message, verify your BPEL process for
any errors and redeploy the application.
c. Test the deployed BPEL process using BPEL Control:
In this step you test the BPEL process created in this tutorial and enter details
to insert a customer account through the BPEL Control. Perform the following
tasks:
1.
Select Start > Programs > Oracle - SOA > Oracle BPEL Process
Manager > BPEL Control to open the BPEL Control
2.
In the browser window, enter username and password as set during your
SOA Suite installation. For this tutorial, username/password are used
as oc4jadmin/welcome1.
3.
Click the SiebelCustomerAccount from the Deployed BPEL Processes
list in the Dashboard.
4.
In the Payload section, enter details for one Siebel Customer Account.
Click Post XML Message button. This process inserts a Siebel Customer
account and returns a unique identifier using which you can query for
the Customer account when required.
5.
Observe the unique identifier that is returned for the customer account
created in the previous step.