Purpose
In this tutorial, you learn how to expose a Web service and generate corresponding WSDL for a PeopleSoft component by using PeopleSoft Component Interface. You use PeopleTools 8.48 for performing this task. You also learn how to create, deploy, and test a BPEL process to consume the WSDL and invoke the exposed operations of the Web Service, using Oracle SOA Suite 10g BPEL Process Manager.
Approximately 1.5 hours
This tutorial covers the following topics:
| Overview | |
| Prerequisites | |
| Expose a PeopleSoft Component Interface | |
| Create a BPEL Process | |
| Test the Integration Solution | |
| Conclusion |
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.
This integration example highlights PeopleSoft as a Web Service provider for use within Fusion Middleware BPEL Process Manager. BPEL PM is a component of Oracle SOA Suite.
To expose a PeopleSoft Component as a web service, you first need to generate Component Interface (CI) for the component. Many CIs are delivered out of the box, and this number has increased with each release of PeopleSoft. With PeopleTools 8.48 the process of generating WSDLs has been streamlined. Refer to PeopleTools 8.48 documentation guides for additional details.
In this tutorial, you learn how to expose a Web service for a PeopleSoft HR component PERSONAL_DATA by using its Component Interface and to generate WSDL for the component interface. You learn how to create, deploy, and test a BPEL process to consume the generated WSDL. This BPEL process invokes the Get() operation within the Component Interface with Employee Number as input parameter and returns corresponding Employee's Personal Data as synchronous response.
Before starting this tutorial, you should:
| 1. |
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.1). You can download the software from Oracle Technology Network web site. |
| 3. |
Have access to HCM 9.0 with PeopleTools 8.48. You will need to have your own local instance of PeopleSoft to run this tutorial. The step by step procedure provided in this tutorial refers to using PeopleTools 8.48. With a few modifications the same steps should apply for any functional module running on PeopleTools 8.48. If you are using a different module than HCM 9.0 (such as CRM or Financials), you need to find an out of the box delivered Component Interface for that module. You can use the PeopleSoft Interactive Service Repository (ISR) hosted on Customer Connection (PeopleSoft support site) to discover interfaces exposed by a particular realease of the product. |
|
1. |
Open a browser and provide appropriate URL to connect to your PeopleSoftt instance. Login with your user id and click Sign In. In this tutorial, we use VP1 as username and password.
|
|
2. |
Scroll down and click the PeopleTools link. Expand Integration Broker > Configuration > Service Configuration. Verify the settings on this page but don't make any changes. This information is used for WSDL and SOAP endpoints as well as schema and service namespaces in a later step in this tutorial.
|
| 3. |
Navigate to PeopleTools > Integration Broker > Web Services > CI-Based Services.
|
| 4. |
Enter CI_PERSONAL_DATA in the Component Interface Name field and click Search to search for the component interface. You can use % symbol to enclose part of the string being searched for, as shown in the following screenshot.
|
| 5. |
Select the checkbox next to CI_PERSONAL_DATA and click the Review CI Status button.
In the Review Status screen, observe the service name CI_CI_PERSONAL_DATA and corresponding operations based on the component interface CI_PERSONAL_DATA. Click the View Service Definition link to view detailed information about the service.
This screen shows general service information of the service CI_CI_PERSONAL_DATA including its operations and messages.
Note that none of the operations is Active. Ensure that the operations, handlers, and routings for the service operation to be invoked are Active. In the Existing Operations list > Operation.Default Version column, click CI_CI_PERSONAL_DATA_G.V1.
|
| 6. |
Set the default service operation as Active by selecting the Active check box in the Default Service Operation Version section.
|
| 7. |
Select the Handlers Tab to activate handlers on this service. Change the status of the REQUESTHDLR handler to Active by selecting Active from the Status drop-down list. Click Save.
Click OK in the Service Operation Saved pop-up box.
|
| 8. |
Click the Routings tab to activate routings on this service. To set the status for the selected Routing Definition to Active, select the check box for the required routing definition and click the Activate Selected Routings button.
Click OK in the "Service Operation Saved" pop-up box. Click the Return to Service link from the bottom of the resulting window. |
| 9. |
Notice that now status of the CI_CI_PERSONAL_DATA_G.V1 operation is active (checked in the Status field). If you intend to use all the other operations, this would be a good time to activate all by following the above steps for actiating operations, handlers, and routing.
|
| 10. |
To generate WSDL for the selected component, navigate to PeopleTools > Integration Broker > Web Services > Provide Web Service link in the left navigation menu.
The Provide Web Service Wizard starts. In Step 1, enter CI_CI_PERSONAL in the Service Name search criteria field and click Search.
Service CI_CI_PERSONAL_DATA is displayed in the search result section. Click Next.
|
| 11. |
In Step 2 select the service operations you want to make available for this web service. Even though you are going to use only the Get operation (CI_CI_PERSONAL_DATA_G) in this tutorial, select the Select All check box to make all operations available. (Note that the result set you see on your screen may differ from that shown in the following screenshot. You can scroll through the list of services using the left and right arrow keys) Click Next.
|
| 12. |
In Step 3 review the web services to be created. To view the generated WSDL, click View WSDL link corresponding to each Web Service and click Return in the resulting window to return to the Provide Web Service Wizard window. Click Next.
|
| 13. |
In Step 4 you can optionally publish the web service to a UDDI directory. You do not publish to UDDI registry in this tutorial. Click Finish to generate WSDL for each selected service.
|
| 14. |
The Confirm Results page displays a message that the service has been exported and a corresponding WSDL has been inserted into the repository. In the WSDL Generation log observe the generated WSDL URL of the format http://<hostname>:7777/PSIGW/PeopleSoftServiceListeningConnector/CI_CI_PERSONAL_DATA.1.wsdl. You will use this URL later in this tutorial to call this service from BPEL Process Manager. Open a notepad on your local machine. Copy the WSDL URL from the WSDL Generation Log section and paste it in the notepad file. Save the file as CI_CI_PERSONAL_DATA.1.wsdl to your local hard disk. Note: You must save the WSDL URL into a notepad or some other format at this point of time. If you do not save at this point, you will need to run the wizard again to get this file.
With the above steps, you exposed a PeopleSoft Component Interface as a web service. You can now invoke this web service for use with a wide array of products. One of such examples of invoking it through BPEL process is shown in the next sections of this tutorial. |
| 1. |
Start SOA Suite: Click Start > Programs > Oracle-SOA >
Start SOA Suite.
|
||||||||||||||||||||||||||||
| 2. |
Start JDeveloper: Double click jdevw.exe file icon from the directory
where you installed JDeveloper.
|
||||||||||||||||||||||||||||
| 3. |
Create Application Server connection to your Oracle SOA Suite instance from JDeveloper.
|
| 1. |
Create a BPEL Project
|
||||||||||||||||||
| 2. |
Create a Partner Link to invoke operations on the exposed Web Service
|
||||||||||||||||||
| 3. |
Create an Invoke activity to invoke operations on the Web Service
|
||||||||||||||||||
| 4. |
Change the Inbound MessageType Now we change the BPEL process inbound MessageType to match the Partner Link requesting message.
|
||||||||||||||||||
| 5. |
Change the Outbound MessageType Now we repeat the above steps for an outbound message type
|
||||||||||||||||||
| 6. |
Create an Assign activity to copy request data to the PeopleSoft Web Service
|
||||||||||||||||||
| 7. |
Create an Assign activity to copy response data from the PeopleSoft Web Service
|
||||||||||||||||||
| 8. |
Click Save All button to save the BPEL project.
|
||||||||||||||||||
| 9. |
Validate, compile and deploy the BPEL process.
|
|
Invoke the Component Interface Service from BPEL. You can test your BPEL project by initiating a request from the BPEL Console.
|
One variation of this tutorial is to set security on Component Interfaces. This tutorial has not defined security for the CI_PERSONAL_DATA component interface. In most production systems, each CI would be secured with a Permission List. To work with such a system, you would open the Permission List in PIA, to which the CI is attached to, and then grant access to your user id. To learn how to set security using Permission Lists, refer to Oracle By Example Tutorial BPEL Process Consuming a Web Service Generated by PeopleSoft Component Interface (PeopleTools 8.47) or the tutorial on the PeopleSoft Best Practice Center that describes the steps for PeopleTools 8.47 (CONTACT CI). The steps for 8.48 are similar.