Configuration

This part of the book contains information on installation configurations that may be relevant.

Configuration concepts

Configuration of an iKnowBase installation is done through setting named configuration properties to specific values. Changes to configuration objects are static, and will require a restart of the application server. The values used by a running application are shown in various locations in the management console, e.g. at /ikb$console.

Property sources

Properties are available from many different sources. When an application requires a property value, it will check these sources in order, and the first one that can supply the required property will be used:

Often, the database table is most convenient, but you may also choose to use any of the available property source. Either way, you can and should verify that the correct values are set, using the ikb$console application as shown above.

The ikb_installation_properties database table

Using the IKB_INSTALLATION_PROPERTY table is the most common option. Since this table is shared between all applications and all application server instances, it is possible to add expressions that are checked at runtime in order to select the proper property. This is done using the “instance_qualifier” table column.

At startup, each iKnowBase java web application loads properties from the ikb_installation_table. For each row, it will evaluate the “instance_qualifier” value to decide if this particular property is valid for this particular application instance. The qualifier is interpreted using the Spring Expression Language, which allows for combining various types of tests.

The available variables and methods for the expression is limited to the following logical interface definition:

Variable Description
hostname Name of server
directory Startup directory; same as the java property “user.dir”
contextPath Root context path of web application (e.g. "“ or ”/ikbViewer")
getSystemProperty(name) Value of system property

These can be combined in several ways, to achieve various effects:

Qualifier Description
hostname == 'tango' Used by any application running on a host named “tango”
contextPath == '/ikbInstant' Used by the instant application
directory == '/opt/iknowbase/sso' Used by applications running from the “/opt/iknowbase/sso”-directory
true Used by any application, anytime
hostname == 'tango' && contextPath == '/ikbBatch' Used by the batch application, when running on a host named “tango”
hostname == 'tango' && contextPath matches '/ikb.*' Used by all “/ikb” prefixed applications, when running on a host named “tango” (/ikbBatch, /ikbStudio, ...)

Note that prior to iKnowBase 6.6, the qualifier had a different syntax which did not cater for advanced usage scenarios such as logical expressions. For backward compatibility, this syntax is still supported; however, this will be removed in the future, so we strongly recommend using the new expression style instead:

Qualifier Description
hostname=tango Used by applications running on a host named “tango”
contextPath=/ikbInstant Used by the instant application
user.dir=/opt/iknowbase/sso Used by applications running from the “/opt/iknowbase/sso”-directory
* Used by any application, anytime

Configuring the ikbViewer application

This section describes the main configuration objects for the ikbViewer application.

ContentServerConfiguration

The Content Server is the unit responsible for serving file content, such as word documents or PDFs.

Property name Description
com.iknowbase.contentServer.defaultContentDisposition Set to “inline” to have the browser try to open documents in-line, or to start Office for viewing. Set to “attachment” to have “save as” as the default browser behaviour.
com.iknowbase.contentServer.createResponseHeaders Toggles whether to include HTML-headers for document information. Normally left unchanged.

PageEngineConfiguration

The Page Engine is the unit responsible for composing portlets and data, and rendering information to web clients.

Property name Description
com.iknowbase.pageEngine.contentCacheEnabled Toggles whether content caching is used at all. The legal values are either “true” or “false”.

SearchClientConfiguration

The Search Client, using SOLR, handles connections to a SOLR search server. “searchEngineName” refers to the logical name given to the Solr Configuration.

Property name Description
com.iknowbase.searchEngine. <searchEngineName>.search.URL URL to index server, e.g. http://solr.example.com/solr.
com.iknowbase.searchEngine. <searchEngineName>.search.connectionTimeoutMillis Max number of milliseconds to wait for the connection.
com.iknowbase.searchEngine. <searchEngineName>.search.operationTimeoutMillis Max number of milliseconds to wait for the operation.

CacheManagerConfiguration

The iKnowBase system provides a content cache, based on Ehcache ( http://www.ehcache.org). While Ehcache is used for many caching needs internally in iKnowBase, the content cache is special in that it is in fact a replicated cache: Values stored in the content cache is replicated to all other nodes in a cluster. For more information on Ehcache replication and the meaning of the configuration variables, see http://ehcache.org/documentation/distributed_caching_with_rmi.html.

Property name Description
com.iknowbase.cache.EHCache.peerDiscovery Sets the properties used by Ehcache to discover other nodes.
com.iknowbase.cache.EHCache.listenerProperties Sets the properties used by Ehcache node for cache replication.

SecureTokenEngineConfiguration

iKnowBase needs to generate a secure token for login information in the following scenarios:

  1. On-demand loading in an Oracle Portal-based Dimension Navigator.
  2. Content loading when using the Office add-in.
  3. Client authentication integration between ikbViewer and ikbInstant.

This token is generated using the HMAC_SHA1 message authentication algorithm, based on a secret key along with user and time information.

By default, a suitable key is automatically generated when the application server starts up. However, for load balanced scenarios with multiple application servers, this would result in different keys and spurious failures during data load. You may then manually specifiy a secret key in the configuration. Please use a long phrase with multiple words, numbers and special characters.

Property name Description
com.iknowbase.secureTokenEngine.secureKey Key value used for generating tokens, when required.

ActivitiProcessEngineConfiguration

iKnowBase comes with an embedded process engine based on the Activity BPM Platform. This engine must be explicitly enabled if you want to use it.

Property name Description
com.iknowbase.process.activiti.enabled Toggles whether the activiti engine is enabled
com.iknowbase.process.activiti.jobExecutorEnabled Toggles whether the activiti engine will pick up jobs from the database, or only respond to online requests
com.iknowbase.process.activiti.processEngineName Sets the name of the process engine. Should normally not be changed.
com.iknowbase.process.activiti.mailServerDefaultFrom Sets default “from” address for email sent from activiti.
com.iknowbase.process.activiti.mailServerHost Hostname for smtp server used when sending email.
com.iknowbase.process.activiti.mailServerPort Port number for smtp server.
com.iknowbase.process.activiti.mailServerUsername Username used for logging in to email server when sending email.
com.iknowbase.process.activiti.mailServerPassword Password used for logging in to email server when sending email.

BpelProcessServicesConfiguration

When iKnowBase Process Services is installed, the ikbViewer runtime application(s) will need to know how to connect to the iKnowBase Process Services engine (ikbProcessServices), and how to log on to the underlying Oracle BPEL engine.

Property name Description
com.iknowbase.ProcessServices.WorkflowService.initialContextFactory Name of the java-class to use for the InitialContextFactory when connecting to the Process Services Server
com.iknowbase.ProcessServices.WorkflowService.providerURL URL used to connect to the Process Services Server
com.iknowbase.ProcessServices.WorkflowService.securityPrincipal Username used for connecting to the Process Services server. This username is used by the application server itself, and is often not a real user.
com.iknowbase.ProcessServices.WorkflowService.securityCredentials Password for the given user
com.iknowbase.ProcessServices.BPELWorkflowService.domain The domain id for the BPEL-domain. The default value of “domain” is often correct.
com.iknowbase.ProcessServices.BPELWorkflowService.securityRealm The realm used by Process Services when connecting on to the BPEL server.
com.iknowbase.ProcessServices.BPELWorkflowService.securityPrincipal The username used by Process Services when connecting to the BPEL-server
com.iknowbase.ProcessServices.BPELWorkflowService.securityCredentials The password used by Process Services when connecting to the BPEL-server.

The values for WorkflowService.initialContextFactory and WorkflowService.providerURL vary between application servers. Typical values are as follows:

Application server Property Format of typical value
Oracle WebLogic Server WorkflowService.initialContextFactory weblogic.jndi.WLInitialContextFactory
WorkflowService.providerURL t3://localhost:8001

SpringSecurityConfiguration

Application security in iKnowBase relies on the Spring Security Framework and provides multiple modules for authentication and authorization.

See iKnowBase Installation Guide > Web Application Security for additional explanations.

See [Application context path]/ikb$console/config/configurations for default and active web application security configuration. All sections start with com.iknowbase.spring.security.

Debug

Spring Security provides a debug mode documented as:

"Enables Spring Security debugging infrastructure. This will provide human-readable (multi-line) debugging information to monitor requests coming into the security filters. This may include sensitive information, such as request parameters or headers, and should only be used in a development environment."

Property name Description
com.iknowbase.spring.security.debug Enable or disable Spring Security debug mode

For debugging, you may also want to enable trace logging adjust the logger levels to trace for org.springframework.security and com.iknowbase.spring.security.

Note that this particular debug flag is not visible under /ikb$console/config/configurations.

Default authentication module

iKnowBase supports having multiple active authentication modules at the same time and these can be explicitly triggered, however, one must be set as the default.

Property name Description
com.iknowbase.spring.security.init.defaultAuthenticationModule Name of the authentication module to use as the default

Authentication modules

Module specific configuration is provided in the following sections.

Basic module configuration

No configuration options available.

Container module configuration
Property name Description
com.iknowbase.spring.security.container.enabled Enable or disable module. Should not be necessary to change this setting.
Form module configuration
Property name Description
com.iknowbase.spring.security.form.loginPageURL Login URL (absolute or relative) for submitting username and password.
com.iknowbase.spring.security.form.loginErrorURL Error URL (absolute or relative) if authentication does not succeed.
com.iknowbase.spring.security.form.rememberMeEnabled Enable (true) or disable (false) RememberMe functionality.
com.iknowbase.spring.security.form.rememberMeTokenValiditySeconds RememberMe token cookie validity in seconds.
com.iknowbase.spring.security.form.rememberMeTokenCleanupThresholdSeconds RememberMe token cookie cleanup threshold in seconds. Must be higher than the highest token validity for this iKnowBase database repository.
com.iknowbase.spring.security.form.rememberMeCookieName Set the cookie name used for RememberMe tokens.
com.iknowbase.spring.security.form.rememberMeCookiePath Set the cookie path used for RememberMe tokens. Defaults to / (all apps on host).
com.iknowbase.spring.security.form.rememberMeCookieDomain Set the cookie domain used for RememberMe tokens. Defaults is to send the cookie to the full host name that issued it.
FormAuto module configuration

No configuration options available.

Header module configuration
Property name Description
com.iknowbase.spring.security.header.enabled Enable (true) or disable (false) module.
com.iknowbase.spring.security.header.serverNameExpr Regular expression restriction matching against the host name of the server to which the request was sent.
com.iknowbase.spring.security.header.remoteAddrExpr Regular expression restriction matching against the end client’s IP address.
com.iknowbase.spring.security.header.realRemoteAddrExpr Regular expression restriction matching against the immediate client’s IP address (typically a reverse proxy). ONLY available for iKnowBase QuickStart.
com.iknowbase.spring.security.header.headerNameUser Name of HTTP request header containing the authenticated username.
com.iknowbase.spring.security.header.headerNameUserExtractExpr If necessary, specify a regular expression for extracting the username from the specified request header’s value.
com.iknowbase.spring.security.header.headerNameSecret Name of HTTP request header containing the authentication shared secret.
com.iknowbase.spring.security.header.headerValueSecret Value of the shared authentication secret (if any).
com.iknowbase.spring.security.header.authSchemeName The scheme name in use when the server sends an authentication challenge.
com.iknowbase.spring.security.header.sendAdditionalHttpBasicChallenge Also send a HTTP Basic authentication challenge.
com.iknowbase.spring.security.header.realmName The realm name to use for basic challenge.
com.iknowbase.spring.security.header.unauthorizedStatusCode HTTP response status code for authentication challenge.
com.iknowbase.spring.security.header.unauthorizedResponseHeaders Pipe delimited set of response headers.
Spnego module configuration
Property name Description
com.iknowbase.spring.security.spnego.enabled Enable (true) or disable (false) module.
com.iknowbase.spring.security.spnego.serverNameExpr Regular expression restriction matching against the host name of the server to which the request was sent.
com.iknowbase.spring.security.spnego.remoteAddrExpr Regular expression restriction matching against the end client’s IP address.
com.iknowbase.spring.security.spnego.realRemoteAddrExpr Regular expression restriction matching against the immediate client’s IP address (typically a reverse proxy). ONLY available for iKnowBase QuickStart.
com.iknowbase.spring.security.spnego.requestHeaderName HTTP request header (if any) that must be present on the request for spnego to be enabled.
com.iknowbase.spring.security.spnego.requestHeaderExpr Regular expression for validating the specified HTTP request header.
com.iknowbase.spring.security.spnego.keytab Path to keytab file.
com.iknowbase.spring.security.spnego.targetName targetName corresponding to the name registered in keytab (HTTP/[NAME]@[DOMAIN]).
com.iknowbase.spring.security.spnego.sendAdditionalHttpBasicChallenge Also send a HTTP Basic authentication challenge.
com.iknowbase.spring.security.spnego.realmName The realm name to use for basic challenge.
com.iknowbase.spring.security.spnego.fallbackRedirectEnabled Fallback to form based authentication instead of authentication challenge if spnego cannot be completed.
LDAP UsernamePassword authentication provider
Property name Description
com.iknowbase.spring.security.ldap.enabled Enable (true) or disable (false) module.
com.iknowbase.spring.security.ldap.serverUrl URL to ldap server. May use LDAPS. TLS is not supported.
com.iknowbase.spring.security.ldap.clientUserDn Full DN for client ldap user used for user lookup.
com.iknowbase.spring.security.ldap.clientUserPassword Password for client ldap user.
com.iknowbase.spring.security.ldap.userDnPattern DN pattern for users within the base dn given in server url.
com.iknowbase.spring.security.ldap.usernameAttribute Attribute matching the authentication username submitted by the web client.
com.iknowbase.spring.security.ldap.ikbUsernameAttribute Attribute used as iKnowBase authenticated user.

The LDAP provider may also be used in conjunction with the LDAP sync service. If the user was not found, the LDAP sync service will make an attempt at synchronizing the user into the iKnowBase User Repository.

Property name Description
com.iknowbase.spring.security.ldap.sync.enabled Enable (true) or disable (false) module.
com.iknowbase.spring.security.ldap.sync.profileExternalKey External key to LDAP synchronization profile defined in iKnowBase.
com.iknowbase.spring.security.ldap.sync.executionUserName Execution user. Should normally not be changed.
iKnowBase UsernamePassword authentication provider
Property name Description
com.iknowbase.spring.security.ikbauth.enabled Enable (true) or disable (false) module.
Social authentication provider
Property name Description
com.iknowbase.spring.security.social.enabled Enable (true) or disable (false) module.
com.iknowbase.spring.security.social.socialSignupURL Signup URL (absolute or relative) to redirect the user to if the social authentication attempt did not match an iKnowBase user account.
com.iknowbase.spring.security.social.socialProvidersEnabled Comma separated list of providers. Used when rendering login and activation page. Defaults to all enabled providers.
com.iknowbase.spring.security.social.encryptionPassword Password used when encrypting social authentication tokens before they are persisted to database. Required if you enable social authentication.
com.iknowbase.spring.security.social.encryptionSalt Salt, which must be an even number of 8 or more hex characters. Used when encrypting social authentication tokens before they are persisted to database. Required if you enable social authentication.

Google specific configuration:

Property name Description
com.iknowbase.spring.security.social.google.enabled Enable (true) or disable (false) module.
com.iknowbase.spring.security.social.google.clientId Client ID registered with the social provider.
com.iknowbase.spring.security.social.google.clientSecret Client Secret registered with the social provider
com.iknowbase.spring.security.social.google.scope OAuth scope for requesting permissions with the social provider. Default will enable authentication.

Twitter specific configuration:

Property name Description
com.iknowbase.spring.security.social.twitter.enabled Enable (true) or disable (false) module.
com.iknowbase.spring.security.social.twitter.clientId API Key registered with the social provider.
com.iknowbase.spring.security.social.twitter.clientSecret API Secret registered with the social provider
com.iknowbase.spring.security.social.twitter.scope OAuth scope for requesting permissions with the social provider. Default will enable authentication.

Facebook specific configuration:

Property name Description
com.iknowbase.spring.security.social.facebook.enabled Enable (true) or disable (false) module.
com.iknowbase.spring.security.social.facebook.clientId App ID registered with the social provider.
com.iknowbase.spring.security.social.facebook.clientSecret App Secret registered with the social provider
com.iknowbase.spring.security.social.facebook.scope OAuth scope for requesting permissions with the social provider. Default will enable authentication.

LinkedIn specific configuration:

Property name Description
com.iknowbase.spring.security.social.linkedin.enabled Enable (true) or disable (false) module.
com.iknowbase.spring.security.social.linkedin.clientId API Key registered with the social provider.
com.iknowbase.spring.security.social.linkedin.clientSecret Secret Key registered with the social provider
com.iknowbase.spring.security.social.linkedin.scope OAuth scope for requesting permissions with the social provider. Default will enable authentication.

Secure Token authentication

Note: The iKnowBase Secure Token Engine configuration is described in SecureTokenEngine

Property name Description
com.iknowbase.spring.security.securetoken.maxAgeSeconds Max age allowed when validating the iKnowBase secure token.

Anonymous / Public authentication provider

Property name Description
com.iknowbase.spring.security.authentication.ikbpublic.anonymousKey Shared key used by the anonymous authentication provider. Should normally not be set.

iKnowBase User Details

All authentication attempts must ultimately load a user from the iKnowBase User Repository before the authentication is fully accepted.

Property name Description
com.iknowbase.spring.security.userdetails.executionUserName Execution user. Should normally not be changed.

Switch User

Property name Value
com.iknowbase.spring.security.switchuser.enabled Enable (true) or disable (false) module.
com.iknowbase.spring.security.switchuser.accessCheckProcedureName Name of check access database procedure.
com.iknowbase.spring.security.switchuser.auditProcedureName Name of audit database procedure (optional)

User Account Activation

Property name Value
com.iknowbase.spring.security.activation.showActivationOptionsURL Activation options URL (absolute or relative) to redirect the user to if a valid activation token is presented.
com.iknowbase.spring.security.activation.activationFailedURL Failure URL (absolute or relative) to redirect the user to if the user presented an invalid activation token.
com.iknowbase.spring.security.activation.ikbProviderSetPasswordEnabled Enable users with activation token to set the user’s password in the iKnowBase User Repository.
com.iknowbase.spring.security.activation.ikbProviderSetPasswordAlgorithm Override default password encryption algorithm when setting password.

IKB Auth Token

Property name Value
com.iknowbase.spring.security.ikbauthtoken.activation.enabled Enable (true) or disable (false) processing of token type ACTIVATION.
com.iknowbase.spring.security.ikbauthtoken.login.enabled Enable (true) or disable (false) processing of token type LOGIN.

Configuring the ikbBatch application

This section describes the main configuration objects for the ikbBatch application.

FileConverterConfiguration

The ikbBatch application contains a file converter server, which can be configured to listen for file conversion requests. In order to work, you must install Oracle Outside In on the server, and then set the outside in location as a configuration property.

Property name Description
com.iknowbase.batch.fileConverter.enabled Toggles whether to start the fileConverter. The legal values are either “true” or “false”.
com.iknowbase.batch.fileConverter.dequeTimeoutSeconds Number of seconds each dequeue() shall wait before recycyling.
com.iknowbase.batch.fileConverter.spawnPolicy Decides when the fileConverter starts listening for a new message. Use “immediate” for parallel processing, or “delayed” for serial processing.
com.iknowbase.batch.fileConverter.outsideInDirectory Location of outside in installation. File Converter is disabled when this is not set.
com.iknowbase.batch.fileConverter.replyMessageExpirationSeconds Number of seconds each reply message shall be valid, before expiring.

BatchPageEngineConfiguration

The ikbBatch application contains a page engine server, which can be configured to listen for page rendering requests.

Property name Description
com.iknowbase.batch.pageEngine.enabled Toggles whether to start the fileConverter. The legal values are either “true” or “false”.
com.iknowbase.batch.pageEngine.dequeTimeoutSeconds Number of seconds each dequeue() shall wait before recycyling.
com.iknowbase.batch.pageEngine.spawnPolicy Decides when the pageEngine starts listening for a new message. Use “immediate” for parallel processing, or “delayed” for serial processing.
com.iknowbase.batch.pageEngine.replyMessageExpirationSeconds Number of seconds each reply message shall be valid, before expiring.

ContentIndexerConfiguration

The ikbBatch application contains a content indexer server, which listens for indexing requests and forwards them to the appropriate search engine for actual indexing. “searchEngineName” refers to the logical name given to the Solr Configuration.

Property name Description
com.iknowbase.batch.contentIndexer.enabled Toggles whether to start the contentIndexer. The legal values are either “true” or “false”.
com.iknowbase.batch.contentIndexer.dequeTimeoutSeconds Number of seconds each dequeue() shall wait before recycyling.
com.iknowbase.batch.contentIndexer.spawnPolicy Decides when the pageEngine starts listening for a new message. Use “immediate” for parallel processing, or “delayed” for serial processing.
com.iknowbase.searchEngine. <searchEngineName>.index.type Type of index server. Currently “SOLR” is the only supported value.
com.iknowbase.searchEngine. <searchEngineName>.index.URL URL to index server, e.g. http://solr.example.com/solr/CoreName.
com.iknowbase.searchEngine. <searchEngineName>.index.connectionTimeoutMillis Max number of milliseconds to wait for the connection.
com.iknowbase.searchEngine. <searchEngineName>.index.operationTimeoutMillis Max number of milliseconds to wait for the operation.
com.iknowbase.searchEngine. <searchEngineName>.index.commitWithinSeconds Max number of seconds before the index server commits an update to the search index.

EmailReaderConfiguration

The ikbBatch application contains an email reader client, which can load email from external mail servers. This can be enabled or disabled through configuration.

Property name Description
com.iknowbase.batch.emailReader.enabled Toggles whether the emailReader is enabled or not.

Configuring the ikbStudio application

There are no configuration items specific to the ikbStudio application.

Configuring the ikbWebdav application

This section describes the main configuration objects for the ikbWebdav application.

FtpServiceConfiguration

The ikbWebdav application contains an embedded FTP-server that lets you use FTP against all documents exposed through the Webdav protocol. This is enabled by setting the following properties:

Property name Description
com.iknowbase.webdav.ftp.listenPort Port number to listen for FTP-requests on.

Configuring the ikbWebServices application

This section describes the main configuration objects for the ikbWebServices application.

WebServicesConfiguration

Property name Description
com.iknowbase.ws.mtomEnabled Toggles whether MTOM is enabled for the SOAP endpoints.

WebServicesSecurityConfiguration

Property name Description
com.iknowbase.ws.security.requireAuthentication Toggles whether WS-SECURITY based authentication is required to connect to the SOAP server.
com.iknowbase.ws.security.loginModuleName Name of login module to handle login requests. Use default value.
com.iknowbase.ws.security.trustedPrincipal Name of trusted principal (user or group) if only some users are to be given access

Configuring the ikbInstant application

This section describes the main configuration objects for the ikbInstant application.

InstantServerConfiguration

The Instant Server is the contact point for Web Clients as well as managing all topics, clients, users and message delivery.

Property name Description
com.iknowbase.instant.suspendTimeoutLP How long in miliseconds a Long Polling connection is suspended before the server resumes the connection. This will trigger a reconnect by the client.
com.iknowbase.instant.enableCORSFilter Server side support for Cross Origin Resource Sharing (CORS). The legal values are either “true” or “false”.
com.iknowbase.instant.cleanupTopicThreshold How often the disconnect cleanup maintenance thread looks for disconnected clients.
com.iknowbase.instant.cleanupDisconnectedConnectionsThreshold How long a connection needs to be in disconnect inactivity queue before it is examined and validated.
com.iknowbase.instant.broadcastDelayUserListUsers Delay between a client subscribe and the issued broadcast for userList is. Must be large enough to allow the client to complete the handshake and enter suspend mode.
com.iknowbase.instant.broadcastDelayUserListJoin Optional delay between a detected join and the issued broadcast. Default no delay.
com.iknowbase.instant.broadcastDelayServerRequest Optional delay between a serverRequest and the issued broadcast. Default no delay.

Note: Make sure you also configure SecureTokenEngine to enable authentication for web clients

InstantQueueServerConfiguration

The Instant Queue Server is the unit responsible for consuming messages published using Instant’s PL/SQL API and delivering them to the specified topic where all web clients are connected.

Property name Description
com.iknowbase.instant.aq.enabled Toggles whether AQ messages is processed by this instance at all. The legal values are either “true” or “false”.
com.iknowbase.instant.aq.dequeTimeoutSeconds Number of seconds each dequeue() shall wait before recycyling.
com.iknowbase.instant.aq.spawnPolicy Decides when the AQ server starts listening for a new message. Use “immediate” for parallel processing, or “delayed” for serial processing.

Sample script

This is a sample script, showing how to set installation properties:

truncate table ikb_installation_properties;
insert into ikb_installation_properties (property_name, property_value)
select 'com.iknowbase.page.PageEngine.isContentCacheEnabled', 'true' from dual UNION
select 'com.iknowbase.ProcessServices.WorkflowService.InitialContextFactory', 'weblogic.jndi.WLInitialContextFactory' from dual UNION
select 'com.iknowbase.ProcessServices.WorkflowService.ProviderURL', 'opmn:ormi://localhost:6003:home/ikbProcessServices' from dual UNION
select 'com.iknowbase.ProcessServices.WorkflowService.SecurityPrincipal', 'orcladmin' from dual UNION
select 'com.iknowbase.ProcessServices.WorkflowService.SecurityCredentials', 'mypassword' from dual;