This topic describes how you can configure Enterprise Cache for Open Integration in SMC. You can use a non-Advanced configuration when SMC manages the required cache configuration, or an Advanced configuration when you need to add or update the required Open Integration cache XML.
It includes the following sections:
- Prerequisites for Advanced Configuration
- Before You Begin
- Configuring Advanced Cache
- Cache Configuration Scenarios
- Validating the Deployment
- Recovering from Coherence Request Timeout Errors
- Configuring the Open Integration Cache Request Timeout
- Advanced XML Reference
Prerequisites for Advanced Configuration
When you use an Advanced configuration, you must ensure that all three Open Integration cache mappings and all three corresponding schemes are present in the XML configuration. Do not configure only one mapping or scheme.
| Purpose | Cache Name Pattern | Scheme | Service or Listener |
|---|---|---|---|
| Open Integration sessions | OpenInt_* |
oi-distributed-sessions |
DistributedCache /
OpenIntEvictionListener |
| Open Integration REST sessions | OpenIntRest_* |
oi-distributed-rest-sessions |
DistributedCache /
OpenIntRestEvictionListener |
| Open Integration current-task coordination | OpenIntAtomic_*_CurrentTasks |
oi-concurrent |
DistributedConcurrentCache |
The configuration must also include OIExtendTcpProxyService for Open
Integration.
OpenIntRest_*
exactly as shown. Do not use OpenIntRest\_*.Before You Begin
For an existing environment, you must complete the following steps before you change or redeploy Enterprise Cache:
- Stop Open Integration.
- Complete the applicable cache configuration and deployment steps.
- Confirm that the Enterprise Cache Server deployment completes successfully.
- Start Open Integration.
Configuring Advanced Cache
To use an Advanced configuration:
- In SMC, open Profiles, and then select Enterprise Cache Server.
- Under Cache Configuration, enable Advanced.
- Add or update the required Open Integration cache XML.
You don’t need to make Open Integration-specific changes under Tango Coherence Override.
Cache Configuration Scenarios
This section describes the different scenarios for advanced and non-advanced cache configurations. It includes the following sections:
- Scenario 1: New Installation with Non-Advanced Cache Configuration
- Scenario 2: New Installation with Advanced Cache Configuration
- Scenario 3: Upgrade with an Existing Advanced Cache Configuration
- Scenario 4: Upgrade with an Existing Non-Advanced Cache Configuration
- Scenario 5: Upgrade Without Existing Cache Using a Non-Advanced Configuration
- Scenario 6: Upgrade Without Existing Cache Using an Advanced Configuration
Scenario 1: New Installation with Non-Advanced Cache Configuration
You can use this scenario for a new Siebel CRM environment that uses a non-Advanced cache configuration.
To perform a new installation using a non-Advanced cache configuration:
- Create a new non-Advanced Enterprise Cache server profile in SMC.
- Configure the Enterprise Cache server profile. For more information, refer the Introduction to Coherence Cache documentation.
- Deploy the Enterprise Cache server profile.
- Confirm that the deployment completes successfully.
- Start Open Integration.
Scenario 2: New Installation with Advanced Cache Configuration
You can use this scenario for a new Siebel CRM environment that requires an Advanced cache configuration.
To perform a new installation using an Advanced cache configuration:
- Create an Enterprise Cache Server profile in SMC.
- Under Cache Configuration, enable Advanced.
- Configure Enterprise Cache installation and general settings. For more information, refer the Introduction to Coherence Cache documentation.
- Add the required Open Integration Advanced configuration, all three cache
mappings, all three schemes, both eviction listeners,
OIExtendTcpProxyService, andExtendTcpProxyService. - Deploy the Enterprise Cache Server profile.
- Confirm that the deployment completes successfully.
- Start Open Integration.
Scenario 3: Upgrade with an Existing Advanced Cache Configuration
You can use this scenario when the earlier release already uses an Advanced Enterprise Cache Server profile.
Siebel 26.8 adds a dedicated cache for Open Integration REST sessions.
To upgrade with an existing advanced cache configuration:
- Add
oi-distributed-rest-sessionsscheme to the existing<caching-scheme-mapping>section:<cache-mapping> <cache-name>OpenIntRest_*</cache-name> <scheme-name>oi-distributed-rest-sessions</scheme-name> </cache-mapping> - Add
<distributed-scheme>to the existing<caching-schemes>section:<distributed-scheme> <scheme-name>oi-distributed-rest-sessions</scheme-name> <service-name>DistributedCache</service-name> <backing-map-scheme> <read-write-backing-map-scheme> <internal-cache-scheme> <local-scheme> <high-units>0</high-units> <expiry-delay>0</expiry-delay> </local-scheme> </internal-cache-scheme> <listener> <class-scheme> <class-name> com.siebel.openint.cache.OpenIntRestEvictionListener </class-name> <init-params> <init-param> <param-name>context</param-name> <param-value>{manager-context}</param-value> </init-param> </init-params> </class-scheme> </listener> </read-write-backing-map-scheme> </backing-map-scheme> <autostart>true</autostart> </distributed-scheme> - Complete the cache configuration in SMC:
- Stop Open Integration.
- Open the existing Enterprise Cache Server profile in SMC.
- Under Cache Configuration, enable Advanced.
- Save a backup copy of the existing cache configuration XML.
- Add the 26.8 REST mapping and scheme.
- Make sure all the prerequisites for Advanced configuration are available. For more information, see Prerequisites for Advanced Configuration.
- Retain
ExtendTcpProxyServiceand all valid customer-specific configuration. - Do not duplicate cache mappings, scheme names, service names, listeners, or proxy definitions.
- Save the profile and redeploy the Enterprise Cache Server deployment using the standard SMC procedure.
- Start Open Integration after the deployment completes successfully.
Scenario 4: Upgrade with an Existing Non-Advanced Cache Configuration
You can use this scenario when Enterprise Cache was deployed by using the standard non-Advanced SMC configuration in the earlier release.
To upgrade with an existing non-advanced cache configuration:
- Stop Open Integration.
- Delete the existing Enterprise Cache Server deployment from SMC.
- Create a new non-Advanced Enterprise Cache Server profile.
- Configure the Enterprise Cache server profile. For more information, refer the Introduction to Coherence Cache documentation.
- Deploy the new Enterprise Cache Server profile.
- Confirm that the deployment completes successfully.
- Start Open Integration.
No custom Open Integration cache XML is required.
Scenario 5: Upgrade Without Existing Cache Using a Non-Advanced Configuration
You can use this scenario when the earlier release did not use Enterprise Cache and you want the upgraded environment to use a non-Advanced configuration.
To upgrade with an existing cache using a non-advanced configuration:
- Stop Open Integration, if it is running.
- Create a new non-Advanced Enterprise Cache Server profile in SMC.
- Configure the Enterprise Cache server profile. For more information, refer the Introduction to Coherence Cache documentation.
- Deploy the Enterprise Cache Server profile.
- Confirm that the deployment completes successfully.
- Start Open Integration.
No custom Open Integration cache XML is required.
Scenario 6: Upgrade Without Existing Cache Using an Advanced Configuration
You can use this scenario when the earlier release did not use Enterprise Cache, and you want the upgraded Siebel CRM environment to use Open Integration cache with an Advanced configuration.
To upgrade without an existing cache using an Advanced configuration:
- Stop Open Integration.
- Create a new Enterprise Cache Server profile in SMC.
- Under Cache Configuration, enable Advanced.
- Configure Enterprise Cache installation and general settings. For more information, refer the Introduction to Coherence Cache documentation.
- Make sure all the prerequisites for Advanced configuration are available. For more information, see Prerequisites for Advanced Configuration.
- Deploy the Enterprise Cache Server profile.
- Confirm that the deployment completes successfully.
- Start Open Integration.
No XML merge is required because no earlier Enterprise Cache configuration exists.
Validating the Deployment
After you complete the applicable scenario:
- Confirm in SMC that the Enterprise Cache Server deployment is running.
- Confirm that
DistributedCacheandDistributedConcurrentCachestart successfully. - Confirm that
ExtendTcpProxyServiceandOIExtendTcpProxyServicestart successfully. - Review Enterprise Cache Server logs for cache-configuration, listener, cluster, and proxy-service errors.
- Confirm that Open Integration starts successfully.
- Confirm that Open Integration functions that require cache access work successfully.
Recovering from Coherence Request Timeout Errors
You can use this procedure when Open Integration reports a Coherence request timeout.
com.tangosol.net.RequestTimeoutException: Request timed out- Stop Open Integration.
- Restart Coherence by restarting the Enterprise Cache Server deployment.
- Restart the Object Managers used by Open Integration.
- Investigate the underlying Coherence network connectivity or latency issue.
- If Coherence network latency is causing the timeout, configure an
appropriate value for
Openint.cache.request-timeout. - Start Open Integration.
- Verify that Open Integration connects to Coherence successfully and that no
new
RequestTimeoutExceptionerrors are reported.
Configuring the Open Integration Cache Request Timeout
The default value of Openint.cache.request-timeout is 2 seconds. If
network latency between Open Integration and Coherence causes timeouts, increase the
parameter gradually until the timeout is resolved. You must use the lowest
request-timeout value that supports the observed Coherence network latency.
Openint.cache.request-timeout
accommodates longer Coherence response times. It does not resolve the underlying
network issue. Continue to investigate and resolve the source of the latency.Openint.cache.request-timeout can have the following
effects:- Requests wait longer for a Coherence response before timing out.
- Requests served by Open Integration can take longer to complete.
- More requests can remain active at the same time.
- Load on the Siebel Server can increase.
- The number of Open Integration sessions can increase beyond the expected level.
You must use the lowest request-timeout value that supports the observed Coherence network latency.
Advanced XML Reference
You can use the following XML as a reference for the required Open Integration
Advanced configuration for Siebel CRM. This reference XML shows only the Open
Integration additions. You must merge these entries into your existing
cache-config file.
<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config coherence-cache-config.xsd">
<caching-scheme-mapping>
<cache-mapping>
<cache-name>OpenInt_*</cache-name>
<scheme-name>oi-distributed-sessions</scheme-name>
</cache-mapping>
<cache-mapping>
<cache-name>OpenIntRest_*</cache-name>
<scheme-name>oi-distributed-rest-sessions</scheme-name>
</cache-mapping>
<cache-mapping>
<cache-name>OpenIntAtomic_*_CurrentTasks</cache-name>
<scheme-name>oi-concurrent</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<distributed-scheme>
<scheme-name>oi-distributed-sessions</scheme-name>
<service-name>DistributedCache</service-name>
<backing-map-scheme>
<read-write-backing-map-scheme>
<internal-cache-scheme>
<local-scheme>
<high-units>0</high-units>
<expiry-delay>0</expiry-delay>
</local-scheme>
</internal-cache-scheme>
<listener>
<class-scheme>
<class-name>
com.siebel.openint.cache.OpenIntEvictionListener
</class-name>
<init-params>
<init-param>
<param-name>context</param-name>
<param-value>{manager-context}</param-value>
</init-param>
</init-params>
</class-scheme>
</listener>
</read-write-backing-map-scheme>
</backing-map-scheme>
<autostart>true</autostart>
</distributed-scheme>
<distributed-scheme>
<scheme-name>oi-distributed-rest-sessions</scheme-name>
<service-name>DistributedCache</service-name>
<backing-map-scheme>
<read-write-backing-map-scheme>
<internal-cache-scheme>
<local-scheme>
<high-units>0</high-units>
<expiry-delay>0</expiry-delay>
</local-scheme>
</internal-cache-scheme>
<listener>
<class-scheme>
<class-name>
com.siebel.openint.cache.OpenIntRestEvictionListener
</class-name>
<init-params>
<init-param>
<param-name>context</param-name>
<param-value>{manager-context}</param-value>
</init-param>
</init-params>
</class-scheme>
</listener>
</read-write-backing-map-scheme>
</backing-map-scheme>
<autostart>true</autostart>
</distributed-scheme>
<distributed-scheme>
<scheme-name>oi-concurrent</scheme-name>
<service-name>DistributedConcurrentCache</service-name>
<backing-map-scheme>
<partitioned>true</partitioned>
<local-scheme>
<unit-calculator>BINARY</unit-calculator>
</local-scheme>
</backing-map-scheme>
<autostart>true</autostart>
</distributed-scheme>
<proxy-scheme>
<scheme-name>OIExtendTcpProxyService</scheme-name>
<service-name>OIExtendTcpProxyService</service-name>
<acceptor-config>
<tcp-acceptor>
<socket-provider system-property="coherence.extend.socketprovider"/>
</tcp-acceptor>
</acceptor-config>
<autostart>true</autostart>
</proxy-scheme>
</caching-schemes>
</cache-config>