Oracle® Fusion Applications Developer's Guide 11g Release 5 (11.1.5) Part Number E15524-10 |
|
|
PDF · Mobi · ePub |
This chapter describes how to deploy searchable objects to the Oracle Enterprise Crawl and Search Framework (ECSF) application.
This chapter includes the following sections:
Section 30.1, "Introduction to Deploying and Crawling Searchable Objects"
Section 30.2, "Deploying Searchable Objects and Dependencies"
The ECSF application must include the searchable objects before you deploy it to the application server.
Searchable objects and their dependencies must be deployed as part of the ECSF application's data model and user interface projects (Model
and ViewController
respectively) to make the searchable objects available for search. In order to deploy searchable objects, you must complete the following tasks:
Deploy the ECSF shared library to Oracle WebLogic Server.
Create an application.
If desired, change the application name and context root of the view-controller project.
Modify the run configuration of the view-controller project.
Add the ECSF Runtime Server library and the required Java archive (JAR) files to Model
and ViewController
.
The ECSF shared library eliminates the need for ECSF libraries to be packaged into each application. Instead, applications that depend on ECSF libraries can reference the ECSF shared library that is deployed to the Oracle WebLogic Server. The ECSF shared library contains the following Java archive (JAR) files:
ecsf.jar
search_admin_wsclient.jar
search_client.jar
ses_admin_ows_proxy.jar
soap.jar
The ECSF extension in JDeveloper controls the reference to the ECSF shared library that is deployed to Oracle WebLogic Server. When you add the ECSF Runtime Server or ECSF Client library to a project, the reference to the ECSF shared library, shown in Example 30-1, is automatically added to the WebLogic deployment descriptor file (weblogic-application.xml
).
Example 30-1 Reference to the ECSF Shared Library
<library-ref> <library-name>oracle.ecsf</library-name> </library-ref>
The ECSF shared library is oracle.ecsf
.
If the weblogic-application.xml
file does not exist, one is created and updated with the reference to the ECSF shared library.
In addition, when you deploy an application to a Oracle WebLogic Server instance and the project contains ECSF libraries, the code checks the descriptor for the ECSF shared library reference. If no ECSF shared library reference is detected in the descriptor, one is added. The WebLogic deployment descriptor also contains a list of library dependencies for the application to be deployed to the Oracle WebLogic Server instance.
The ECSF shared library is automatically deployed to the Integrated WebLogic Server instance by the ECSF extension in JDeveloper through the JDeveloper Application Development Runtime Service (ADRS). However, you must manually deploy the ECSF shared library to the standalone WebLogic Server.
The ECSF shared library is automatically deployed to the Integrated WebLogic Server instance by the ECSF extension in JDeveloper through the JDeveloper Application Development Runtime Service (ADRS). When the Integrated WebLogic Server instance is first started and the ECSF shared library is automatically deployed to it, the ECSF shared library creates a SearchDB data source in the Oracle WebLogic Server domain. The data source initially contains placeholder database connection information. You must manually update the data source after the Integrated WebLogic Server instance is started to include the correct connection information.
To update the SearchDB data source:
In the Domain Structure tree of the Oracle WebLogic Server Administration Console, navigate to Services, then JDBC, then Data Sources.
On the Summary of Data Sources page, click the data source name SearchDB.
Click the Connection Pool tab.
On the Connection Properties page, replace the default values for both the Connection URL and Properties boxes with valid connection values.
Click Save.
You must manually deploy the ECSF shared library to the standalone WebLogic Server instance. The ECSF shared library creates a SearchDB data source in the Oracle WebLogic Server domain. During the process of deploying the ECSF shared library, you must provide the database connection information for the SearchDB data source, which is deployed together with the shared library.
To deploy the ECSF shared library to the standalone WebLogic Server instance:
Extend the Oracle WebLogic Server domain by using the Oracle Fusion Middleware Configuration Wizard (execute $WL_HOME
/common/bin/config.sh
).
For more information, see Oracle Fusion Middleware Configuring Server Environments for Oracle WebLogic Server.
Select the ECSF Shared Library Extension template (oracle.ecsf_11.1.1_template.jar
), which is located in oracle/jdeveloper/common/templates/applications
.
Configure the SearchDB data source by providing valid values for the following fields:
DBMS Host
DBMS Port
SID
Username
User Password
For more information, see Oracle Fusion Middleware Configuring Server Environments for Oracle WebLogic Server.
When a new version of the ECSF shared library is available, you must redeploy it.
Remove the old oracle.ecsf
library.
For information, see Oracle Fusion Middleware Oracle WebLogic Server Administration Console Online Help.
Install the library enterprise archive (EAR) file (oracle/jdeveloper/ecsf/modules/oracle.ecsf_11.1.1/oracle.ecsf.ear
) with the name set as oracle.ecsf
.
For information, see Oracle Fusion Middleware Oracle WebLogic Server Administration Console Online Help.
Note:
You can also redeploy the ECSF shared library by using the Oracle Fusion Middleware Configuration Wizard. For more information, see Oracle Fusion Middleware Configuring Server Environments for Oracle WebLogic Server.
Creating the application creates Model
and ViewController
, which must include the searchable objects and their dependencies.
To create a new application:
From the File menu, select New.
In the New Gallery dialog, select the General category and select Applications.
Select the Fusion Web Application (ADF) template and click OK.
In the Create Fusion Web Application (ADF) dialog, enter a name and location for the application in the Application Name and Directory fields.
Enter a value in the Application Package Prefix field.
Click Finish.
If desired, change the application name and context root of the view-controller project by modifying the Java EE application settings.
To change the Java EE Application settings:
In the Application Navigator, right-click the view-controller project and select Project Properties.
In the Project Properties dialog, select Java EE Application in the left panel.
Change the value of the Java EE Web Application Name field to EcsfApp
.
Change the value of the Java EE Web Context Root field to approot
.
Click OK.
The view-controller application name is set to EcsfApp
, and the context root is set to approot
.
Modify the run configuration of the view-controller project to run ECSF in debug mode.
To modify the run configuration:
In the Application Navigator, right-click the view-controller project and select Project Properties.
In the Project Properties dialog, select Run/Debug/Profile in the left panel.
Select Default in the Run Configurations list, then click the Edit button.
In the Edit Run Configuration dialog, select Launch Settings in the left panel.
If desired, enter additional parameter values in the Java Options field. Table 30-1 lists the ECSF system parameters. Separate each parameter with a space.
Note:
The parameters in Table 30-1 can be set in two ways:
Add an entry to a file named ecsf.properties. If this file is found in the classpath by ECSF code, the property values in that file will be used. Entries in the file should be of the format:
property=value
Set the parameters using the Java System Properties. For example, add -Dproperty=value
when starting the JVM.
If a property is found in both the ecsf.properties file and the Java System Properties, the value in the Java System Properties will be used. In other words, the Java System Properties have higher precedence.
These parameters values can also be specified at the searchable object level. For information, see Section 27.5, "Configuring Custom Properties for Searchable Objects."
Table 30-1 ECSF System Parameters
Parameter Name | Java Command-Line Entry | Description |
---|---|---|
|
|
Defines the interval ( |
|
|
Specifies the name of the database connection to be used. If not specified, |
|
|
Defines the ECSF context to be used. The value can be set to |
|
|
Defines the data batch size within a data feed. The value determines the number of database rows (n) that are processed per batch within a data feed. The default size is 200. |
|
|
Defines the size for the data feed. The value determines the number of documents (n) per data feed. The default size is 1000. |
|
|
Specifies the Java Database Connectivity (JDBC) data source name, such as |
|
|
Defines the algorithm used to split the records in the table since the last crawled time. The value can be set to |
|
|
Specifies the maximum number of values (n) that a facet may contain. ECSF does not return the values if a facet (for example, Country) contains a number of values (for example, USA, Canada, and so on) that exceeds the maximum. The default value is 1000. |
|
|
Specifies the maximum number of view object hierarchy levels to limit the depth of search. |
|
|
Specifies the ECSF web service invocation timeout ( |
|
or
or
|
Defines batching strategy. When the model is simple, no batching is used. Use for simple testing. The key is defined in |
|
|
Sets the splitting algorithm threshold to the percentage you specify (n). If the percentage of records returned by the searchable object SQL query versus the total number of records in the searchable object's primary table is less than the threshold percentage, then the view object |
|
|
Defines the time ( |
|
|
Defines the time (n), in seconds, for items to expire from the Searchable Objects cache. The default value is 24 hours. |
|
|
Defines the time (n), in seconds, for items to expire from the Facet Definitions cache. The default value is 24 hours. |
|
|
Defines the time (n), in seconds, for items to expire from the Searchable Group cache. This cache caches a Searchable Group using Engine Instance ID and Searchable Group name. The default is the value set by |
|
|
Defines the time (n), in seconds, for items to expire from the Searchable Groups cache. This cache caches Searchable Groups using Engine Instance ID. The default is the value set in |
|
|
Defines the time (n), in seconds, for items to expire from the Search Engine Instances cache. The default is the value set in |
Click OK.
The run configuration is set to debug mode, and other ECSF system parameters are set.
You must add the ECSF Runtime Server library and one of the following sets of required Java archive (JAR) files to both the Model and view-controller projects:
For using ECSF for crawling and querying
oracle/jdeveloper/soa/modules/oracle.soa.fabric_11.1.1/fabric-runtime.jar
oracle/wlserver_10.3/server/lib/wls-api.jar
For using ECSF for querying only
oracle/jdeveloper/webservices/lib/soap.jar
Caution:
Make sure that cwallet.sso
and jazn-data.xml
are part of your application before adding the Java archive (JAR) files. You can do so through the Application Navigator by navigating to Application Resources, then Descriptors, then META-INF. The cwallet.sso
file is created when you create a database connection. To create jazn-data.xml
, right-click the META-INF folder select New Oracle Deployment Descriptor, select jazn-data.xml
, and click Finish.
You do not need to add the Java archive (JAR) files that are included in a library that you have already added.
After you update the Model and view-controller projects to include the searchable objects and dependencies, you must deploy the ECSF application. For information, see Chapter 3, "Setting Up Your JDeveloper Application Workspace and Projects."
Make sure that the Oracle Secure Enterprise Search (Oracle SES) engine successfully crawls the searchable objects in the Oracle Fusion applications and indexes them as documents.
Use the Oracle Enterprise Manager Fusion Applications Control and Oracle SES administration user interface to verify the crawl.
Note:
The feed servlet must be running for Oracle SES to successfully crawl the data.
To verify the crawl:
Deploy the index schedule.
For information, see the "Deploy the Index Schedules" task in Oracle Fusion Applications Administrator's Guide.
Start the index schedule.
For information, see the "Start the Index Schedules" task in Oracle Fusion Applications Administrator's Guide.
Use the Oracle SES administration user interface to inspect whether the crawls were successful and verify how much data is crawled.
For information, see the Oracle Secure Enterprise Search Administrator's Guide.