Oracle® Fusion Middleware Platform Developer's Guide for Oracle Real-Time Decisions 11g Release 1 (11.1.1) Part Number E16630-04 |
|
|
PDF · Mobi · ePub |
This chapter describes how to deploy, test, and debug Inline Services.
This chapter contains the following topics:
After you have configured your Inline Service, you deploy it locally or to a test environment for testing. You can deploy an Inline Service in three different states: Development, QA, and Production.
You can deploy in the QA state during your testing cycle, and then, after testing, into Production state. When you deploy to Production state, select Release Inline Service locks. After the Inline Service is deployed to business users, they can also update and redeploy the Inline Service.
Note:
Inline Services can be deployed both through Decision Studio and through a command line deployment tool.
This section describes deployment from Decision Studio. For information about command line deployment, see the chapter "Command Line Deployment of Inline Services" in Oracle Fusion Middleware Administrator's Guide for Oracle Real-Time Decisions.
Deploy the Inline Service using the Project > Deploy menu item, or click the Deploy icon on the task bar:
The Deploy dialog box appears. The options in the Deploy dialog box are shown in Figure 14-1.
Note:
You must have the proper permissions on the server cluster to deploy an Inline Service. See Oracle Fusion Middleware Administrator's Guide for Oracle Real-Time Decisions for more information about cluster permissions.
Table 14-1 describes the options shown in the Deploy dialog box.
Table 14-1 Options in the Deploy Dialog Box
Option Name | Description |
---|---|
Project |
Choose the project that you will deploy to Real-Time Decision Server. |
Inline Service |
The Inline Service contained in this project. |
Study Name |
Enter a study name for this Inline Service. Each Inline Service's learnings are associated with a study name. If you want to redeploy an Inline service and restart its learnings, deploy it with a new study name. Different study names can be used for Development, QA, and Production. |
Deployment State |
The default deployment states of Inline Services are Development, QA, or Production. Deployment state marks an Inline Service that is in development, testing, or production so that others are aware of its state. Your system administrator may have created custom deployment states. |
Server |
Click this option to enter the server and port to which you want to deploy. In the Server dialog box, provide a valid username and password that has deployment authorization on the server cluster to which you are deploying. Cluster authorization is granted through JConsole by your administrator. |
Release Inline Service lock |
A deployed Inline Service is automatically locked, and only the user who deployed it is able to redeploy the Inline Service. Once you have completed development and testing and are deploying the Inline Service for production, select Release Inline Service lock to allow Decision Center users to make changes and redeploy the Inline Service. |
Terminate Active Sessions |
If the Inline Service you are deploying is in production, there may be active sessions. If a new version of the Inline service is deployed while there are active sessions, the older version will be maintained to service those sessions. Select Terminate Active Sessions to terminate the active sessions if you are in testing. For a production Inline Service, keep this option deselected so that any active sessions will continue to run on the production version of the Inline Service. New sessions will be routed to the new version, and the old version will terminate when all active sessions have completed. |
Do not activate after deployment |
Use this option to deploy the Inline Service to the server, but not start the process. If you would like to activate the Inline Service at a later date, use Fusion Middleware Control. For more information about Fusion Middleware Control, see Oracle Fusion Middleware Administrator's Guide for Oracle Real-Time Decisions. |
Note:
After an Inline Service with custom pages is deployed to a certain deployment state, for example Development, the list of custom pages for this state will override the list of custom pages for the same Inline Service previously deployed to any deployment state.
For general information on managing Inline Services, including how to remove an already deployed Inline Service, see "Post-Deployment Management of Inline Services" in Oracle Fusion Middleware Administrator's Guide for Oracle Real-Time Decisions.
When deploying or downloading Inline Services or importing data sources, you connect to Real-Time Decision Server. To connect, use the username and password you created on installation, or consult your Administrator for your username and password. To connect in a secure manner using https, select Secure connection.
Figure 14-2 shows the Connect to a Server dialog box.
Figure 14-2 Connect to a Server Dialog Box
If you are going to make changes to a deployed Inline Service, it is important to follow these practices in order to preserve both your changes and the potential changes that have been made by the business user. If you are making changes to a deployed Inline Service, you can download it from Real-Time Decision Server using the Download icon on the toolbar. Use the following method:
Make sure that no business users are editing the deployed Inline Service.
Always lock an Inline Service when you download it, so that additional changes cannot be made by business users while you are enhancing it.
Make enhancements in Decision Studio.
Redeploy the Inline Service, releasing the locks.
During the period that you have the Inline Service locked, business users will be able to view, but not edit, the deployed Inline Service.
Note:
While you must use Decision Studio for Inline Service enhancement, you can redeploy the Inline Service either in Decision Studio or by using a command line deployment tool. For more information, see the chapter "Command Line Deployment of Inline Services" in Oracle Fusion Middleware Administrator's Guide for Oracle Real-Time Decisions.
To enable you to test and debug Inline Services, Oracle RTD provides the following facilities and features:
Problems and Test Views in Decision Studio
System Logs
Load Generator
This section contains the following topics:
Load Generator is a tool used for debugging and benchmarking Inline Services by simulating users. Load Generator is used both for testing the Inline Service, and for performance characterization.
For more information about Load Generator, see Chapter 15, "About the Load Generator."
The Problems view identifies compilation errors and validation errors as the Inline service is built. Double-click a compilation error to display the Java perspective with the error highlighted.
Double-click a validation error to display the Inline Service perspective with the element editor for the element that has validation errors.
Decision Studio includes a Test view where you can test individual Integration Points. The Test view allows you to simulate the operational systems that will call the Integration Points. The Test view has a drop-down list of all Integration Points in the Inline Service. To test the Integration Point, insert values for the session key and request data and click the run icon to run. Three subtabs provide information about the Integration Point: Results, Trace, and Log.
The Results tab shows the results of calling an Advisor Integration Point. Only Advisors return results. For testing Informants and for debugging both kinds of Integration Points, use logInfo()
.
You can use the statement logInfo()
at various points in your code as a debugging device. This statement is helpful to use in elements such as Advisors or Informants, Decisions, functions, and so on. Insert the statement into the logic pane of the element and use it as a device to display in the log data at different stages.
This section contains the following topics:
The Log tab gives a view of all logInfo()
statements.
The logInfo
method is part of the logging API described in the Decision Studio online help. The class com.sigmadynamics.supportClass SDOBase
contains methods for logging messages at the informational, debug, warning, and error levels. These logging methods generally accept a string and another argument as parameters.
Two examples of using logInfo
are as follows:
logInfo("Installation date = " + DateUtil.toString(session().getCustomer(). getInstallationDate()); logInfo("Customer age = " + session().getCustomer().getAge() );
Note:
For information on how to output to the Oracle RTD log the value of all session entity attributes or of a specified entity and its attributes, see Section 13.6.21, "Enhanced Entity Attribute Logging."
When testing an Integration Point, you can check for the incoming request data using the following methods. If the incoming parameter is mapped to a session attribute, there is a get
method for the parameter:
request.get$()
where $
is the parameter name with the first letter capitalized.
If the attribute is not mapped, there are methods to achieve the same results using the field name of the parameter:
String request.getStringValue(fieldName) SDStringArray request.getStringArrayValue(fieldName) boolean request.isArgPresent(fieldName)
Outgoing response data is always stored in a SDChoiceArray:
SDChoiceArray choices = null;
The Decision is executed by the Integration Point, and the Choice is stored:
if (session().isControlGroup()) { choices = RandomChoice.execute(); } else { choices = SelectOffer.execute(); }
To find out what the Choice is, you can get them from the array and use getSDOId
or getSDOLabel
.
if (choices.size() > 0) { Choice ch = choices.get(0); ch.getSDOId(); }
The best place to do this is in the Post Selection Logic of the Decision. After the Decision executes, the post selection logic will run.
You can use system logs to help you test and debug Inline Services, and also for performance monitoring and tuning.
The Oracle RTD runtime log files have the general name:
RTD_RUNTIME_HOME
\log\
server_name
-diagnostic
[-<n>]
.log
whereserver_name is the WebLogic Server on which Oracle RTD is running.
For more information, see "System Log and Configuration Files" in Oracle Fusion Middleware Administrator's Guide for Oracle Real-Time Decisions.