Wednesday, December 07, 2011

PeopleSoft & Oracle Secure Enterprise Search (SES)


Oracle Secure Enterprise Search (SES) provides a familiar user interface to internet search users and gives secure access to all of your organization's data sources—Web sites, file servers, content management systems, enterprise resource planning and customer relationship management systems, business intelligence systems, and databases.

Looks familiar?

That is indeed familiar, that's Google with an Oracle logo... Oracle seems to have build a search engine and has made use of the familiarity of the Google GUI and behavior to position this tool. Oracle is supplying SES as stand alone product and has integrated SES with it's other products like Siebel, JD Edwards, E-Business Suite & PeopleSoft.

Where Google will search the internet based on supplied keywords, SES will search your Enterprise data based on keywords. Oracle has created an embedded framework in PeopleSoft to integrate and communicate with SES, called PeopleSoft Search FrameWork.

PeopleSoft Search Framework is a PeopleTools 8.52 indexed search technology that relies on Oracle SES (Secure Enterprise Search) engine by way of Integration Broker. It leverages indexes, and requires the use of PeopleSoft Query or Connected Query to create search definitions that identify the objects and attributes to make available to the indexes. Integration Broker provides the interface between PeopleSoft Search Framework and Oracle SES engine to deploy the search definitions, build the indexes, and return the search results.

PeopleSoft Search Framework supports both application (global) and search pages (component) search capabilities. Application search provides an alternate navigation mechanism that bypasses the classic PeopleSoft navigation. The Search Pages feature allows keyword-based searches within administrative components. Both searches target the PeopleSoft pages and components as if you navigated directly to them, while providing flexibility in searching. Data is secured so that search results return only data rows to which the user has role and permission list access. Users can choose to display the search results in list or grid format.

SES is part of the PeopleTools 8.52 Media Pack on eDelivery. The installation manual of PeopleTools 8.52 describes the steps you need to take to configure SES and PeopleSoft to be able to communicate. Unfortunately the installation manual of PeopleTools 8.52 does not explain how to install SES. Luckily the installation steps of SES are quite simple. The installation manual of SES can be downloaded from Technet.

In this post I will describe the installation steps of SES and integration with PeopleSoft.

Prerequisites SES

First thing you need to do, is to disable IPv6. To do this open the register editor and add or modify parameter DisabledComponents in the path shown below.


After this you need to create a loopback adapter.

Open the Control Panel and choose Add Hardware.



Select the second option as shown above. In the next screen of the wizard choose Network adapters.



In the next screen choose Microsoft Loopback Adapter from the list of network adapters.



Finish the wizard by clicking next and you will see a second network connection in your Network Connections.




Open the properties of the newly created network connection and choose to modify the properties of TCP/IPv4.



Assign an IP address that is in the range of your DHCP and save the changes.

Change your hosts file to reflect the loopback adapter like this:

192.168.0.100 myserver.domain.com myserver

Restart your server to apply the changes.

Make sure PeopleSoft Integration is setup properly!

Installing SES

Double click on setup.exe found in the installation folder of SES. You will see the following screen.


Enter a Search Server Name to your liking and supply a password for the admin (eqsys) user. Default port is 7777. After this click Next and the installer will check if the prerequisites are met for SES. If all prerequisites are met, click on Next. The installer will now install Weblogic Server as the webserver hosting SES and Oracle Database 11g EE to store the search indexes. After the installer finishes you will be presented with the summary screen containing three URL's.
  • SES end user search page (the one that looks like Google)

  • SES admin console

  • Weblogic admin console

In the start menu of Windows a new program group is now created with two shortcuts to start and stop SES. The shortcuts will start and stop the entire SES architecture (Weblogic Server, Oracle Listener, Oracle DB), so no need to create additional startup or shutdown scripts.

Setting up SES for Integration with PeopleSoft

Start the SES admin console and login with the password you supplied during installation of SES.


Choose tab Global Settings and then click on Federation Trusted Entities.


Enter an Entity name and provide a password. This does not need to be the password you supplied during installation of SES, but note this password, you will need to supply it in PeopleSoft later on. Click add and back on the Global Settings tab choose the link Identity Management Setup.


Select Plug-in PeopleSoft from the list and click on the Activate button. On the next screen enter the PeopleSoft Integration Broker endpoint and userid and password of the default local node.


Click Finish and back on the Global Setting tab choose the link Query Configuration.


Change the timeout settings as shown above.

Setting up PeopleSoft for Integration with SES

First thing you need to do, is to assign the Search Framework roles to the user that is assigned to the default locale node.


Now navigate to Main menu - PeopleTools - Search FrameWork - Administration - Search Instance and create a Search Instance


  • Enter the SES server and port

  • Enter the SES admin password you supplied during installation of SES

  • Enter the Federation Trusted Entity and the password you created earlier in SES

  • Enter the call back url (endpoint of Integration Broker) and the userid and password of the default locale node

Verifying PeopleSoft and SES Connectivity
Now navigate to Main menu - PeopleTools - Search FrameWork - Utilities - Diagnostics


Execute all steps and make sure they all complete successful.

Create & Deploy Search Indexes
Now you have successfully completed the installation and configuration of the integration between SES and PeopleSoft. You now have to create search collections in PeopleSoft and feed these collections to SES. PeopleSoft Search FrameWork uses PSQuery and Connected Query as search collections. If you have installed PeopleSoft HCM 9.1 Feature Pack 2, some search collections have already been supplied with the Feature Pack. If not you will have to create a Query and create a Search Index with the Query as input and then choose which Query fields should be indexed as keywords. For more information on how to create a Search Index, see Peoplebooks on this subject. After this navigate to Main menu - PeopleTools - Search FrameWork - Administration - Deploy/Delete Object.


In the list of search collections select the search collections you want to use and click on deploy.

After successful deployment, navigate to Main menu - PeopleTools - Search FrameWork - Administration - Schedule Search Index. You will have to create a runcontrol for each search index you want to publish to SES. You can then schedule this in the Process Scheduler to keep SES and PeopleSoft in sync.


You can choose to run the build index process incremental, based on the LASTUPDTTM field in the query to avoid load.

When you run this process what happens?

  • The Schedule Search Index page initiates the PTSF_GENFEED Application Engine program

  • The Pre Processing Application Engine program defined for the search definition runs

  • PTSF_GENFEED Application Engine program runs the query (PeopleSoft Query or Connected Query) associated with the search definition

  • The output of the query becomes a data source for the Feeds Framework

  • The Feeds Framework converts the query output to an Oracle RSS Schema format and writes the SES Feed to the Integration Broker queue, and the Deletion query defined for the Search Definition runs

  • The Search Framework then creates an SES Schedule for the SES source associated with the search definition and sets the schedule disposition to "CRAWL immediately"

  • The Post Processing Application Engine program defined for the search definition runs

  • The SES Crawler, using the URL of the Integration Broker queue where the SES Feed is located, initiates the crawling of the SES Feed

Enable Global Search & Keyword Component Search

Now you have seeded SES with PeopleSoft data. You now need to enable the search feature in PeopleSoft. This can be done on two places.

To enable Global Search navigate to Main menu - PeopleTools - Portal - General Settings and check Display global search in header.


This will enable the embedded search in the portal banner.



Make sure users have search indexes assigned through permission lists, otherwise they will not be able to run searches. This is a new tab in the Permissionlists page  in PeopleTools 8.52.


To enable Keyword search on Component Search pages, open the search index by navigating to PeopleTools - Search FrameWork - Designer - Search Definition and on the last tab select the components where you want to add the Keyword search.


This will change your search page with a new tab enabling Keyword Search.


For more information about PeopleSoft Search FrameWork see PeopleBooks on this subject.

Also look at Oracle Support article 1373050.1 for more information about HCM 9.1 and SES.

And finally have a look at this recorded demo of the use of SES stand-alone.

8 comments:

  1. Bikram Bhusan Sinha12:44 PM

    Hi Hakan,

    Thanks for the post. I am trying to integrate WebCenter Portal with Oracle Content Server (UCM) through Oracle SES for search functionalists. I have configured all three components with Oracle Internet Directory (OID) as well. Now, I have created an identity plug-in with OID in Oracle SES. I also have added a source in Oracle SES for the content server. The content server source is also secured with “Oracle Secure Enterprise Search ACL” for the crawl time ACL stamping. I have added 2 users from OID for that. I also have created users and groups in OID and all those are being visible in Oracle WebCenter Portal and Content Server as well. The data in the content server is secured with these users and groups. The issue is that when I am searching the content from Oracle SES through a particular user such as “orcladmin” configured as admin in OID, the results are coming. Now, if I go to OID and remove the security group for “orcladmin”, then also the user is able to search the same secured document from Content server. Therefore, integrating all these components and accomplishing a secure search based on users/groups is not working. Do you have any idea on this issue ?

    ReplyDelete
  2. Hi Hakan,

    Could you go into detail on why the Loopback adapter is needed?

    ReplyDelete
  3. Greg Thomas11:04 PM

    thanks for the help. I am getting call back URL does not match target url.

    ReplyDelete
  4. you have probably not configured the target url in the services configuration for the Integration Broker.
    Have a look at following post on configuring the IB
    http://bloggingaboutoracle.com/integration-broker-basics-peoplesoft-developer/

    ReplyDelete
  5. Rahul Roy9:14 AM

    Hi Hakan,

    I have done everything whatever you have mentioned in your blog. But I am facing one problem...

    After search In PIA home page it is coming properly (ex: I searched system setup) but after that click on searched component the page is not opening..can you please clarify me what I have done wrong..

    ReplyDelete
  6. Hi,
    Can you post a detailed blog on how to make the component search work ? I'm able to create new basic PS Query / Search Definition / deploy it successfully. But when I do component search it gives me this error

    Exception occurred. Please refer to Application Server logs


    I'm able to do global search but I'm not able to do component search. I would really appreciate if you can come up with a step by step configuration to enable component search.

    -Ram

    ReplyDelete
  7. Hi Hakan,

    Access the Round-Trip Test page by selecting PeopleTools, Search Framework, Utilities, Diagnostics, Round-Trip Test.

    When Step 3:Crawl is processing then my PIA is going automatically stop. For this reason I am not able to do STEP 4: Search

    Can you please tell me why it is happening? and how can I solve this issue??

    ReplyDelete
  8. Thank You HAKAN !!! You make my day. :D
    Something to say to other Oracle DB Admin If you want to crawl a whole database don't forget to activate the plug-in as you see above ! By default the "DBCrawler.jar" is not acitivated... :|
    HTH
    Antoine

    ReplyDelete