NexJ Logo

Example environment settings for NexJ CRM deployment

The following are example environment settings for a typical NexJ CRM deployment on Model Server.

For information about environment setting values for IBM WebSphere, see Example environment settings for NexJ CRM deployment in the deployment documentation for the 8.9 release.

While almost all of the values are configurable, you must replace the value in angle brackets for the example to be valid.

Application server settings

The following properties can be configured for Model Server in the server or environment file. Depending on your configuration, you may also need to deploy additional settings which are also described in this section. The XML attribute and notes column in the following tables show the attribute names that are used in the environment file.

Overview settings for a typical NexJ CRM deployment

AttributeXML attribute and notesValue
Anonymous HTTP Server
URL
httpAnonymousURL

HTTP server
anonymous content URL.
<http://server.example.com:port/
nexj/anon>
Authentication Audit

authAudit

Enables auditing of successful user authentication. Default value is "false".

true
Authentication Debugging

authDebug

Enables authentication debugging.

true
Authentication DomainauthDomain

Authentication domain or Kerberos realm, usually DOMAIN.EXT in capital letters.
<EXAMPLE.COM>
Authentication ServiceauthService

The Kerberos service principal name (SPN) for the environment.
<HTTP/localhost.example.com>
Balancing

balancing


Specifies the session load balancing algorithm. Load balancing occurs when a session is restored from the persistence store. If the session is load balanced, requests are redirected to another node by an external load balancer.

Supported values are:

preemptive
Balance every time a session is activated (default).

threshold
When activating a session, balance only if the current node is busy. That is, only if the memory-in-use is above the threshold or the CPU is above the threshold.

none
No load balancing.

preemptive
Batch Email Recipient List
Enabled
batchEmailRecipientListEnabled

Enables users to view a list of selected email recipients and modify the list.
false
Batch NotificationsbatchNotifications

Enables batch task and document creation notifications.
false
Call Records EnabledcallRecordsEnabled

Enables call records functionality.
false
Client Performance Status
Enabled
clientPerfStatusEnabled

Enables the client performance statistics functionality.
true
Cluster CPU Threshold

clusterCPUThreshold


The CPU usage at which a node is considered busy. Specified as a percentage, up to 100.

50
Cluster Memory Limit

clusterMemoryLimit


The memory usage at which a node is considered overloaded, expressed as the percentage of utilization of the total heap.

This is the maximum memory usage allowed before session passivation is forced. When the object queue dispatcher node becomes overloaded, it initiates pre-emptive failover and a new non-busy node is selected to be the dispatcher.

80
Cluster Memory Threshold

clusterMemoryThreshold


The memory usage at which a node is considered busy, expressed as the percentage of utilization of the allocated heap.

75
Currency Conversion
Enabled
currencyConversionEnabled

Enables currency conversion to allow developers to convert values between currencies for the NexJ application.
false
Debug

debug

Enables debugging.

true
Deployment Locationlocation

The location where you want to deploy NexJ CRM.
For Model Server, the location can be: <C:\java\container\deploy>

Info

For information about additional locations, see Deploying Model Server .

Descriptiondescription

A meaningful description of what is being deployed.
<Local machine with the bootstrap container in the default location>
Email Draft EnabledemailDraftEnabled

Enables users to preview batch emails before sending them to recipients.
false
Email Signature EnabledemailSignatureEnabled

Enables users to include email signatures when sending batch emails.
false
Email To Service RequestemailToServiceRequest

Enables users to automatically create service requests from customer emails.
false
Event Audit

eventAudit

Enable logging of create, update, and delete actions that users perform on objects, for example, creating or deleting a lead. Actions for all auditable objects are logged. For update actions, original and changed values are recorded.

true
Exchange Log Enabled

exchangeLogEnabled

Enables including Exchange synchronization process logs in the application logs.

true
Hierarchy Security
Enabled
hierarchySecurityEnabled

Enables hierarchy based access for entities,
opportunities, and activities.
false
HTTP Forbidden EnabledhttpForbiddenEnabled

Enables the HTTP 403 Forbidden response for a permanent authentication failure. Otherwise, HTTP 404 Not Found is used to hide the existence of an HTTP resource, as a deterrent.
true
Compressed HTTP Response

httpGZip

Enables gzip compression for HTTP traffic, which means that HTTP traffic is compressed to minimize network bandwidth.

true
HTTP Lock Timeout

httpLockTimeout

HTTP session lock timeout in seconds. The value of 0 indicates unlimited.

60
HTTP Maximum Size

httpMaxSize

Maximum HTTP request size in bytes. The value of 0 indicates unlimited.


HTTP Report URL httpReportURL

Provides the HTTP URL for reports.
<http://server.example.com:port/nexj/reports>
HTTP Server URL

httpURL

Specifies the HTTP server URL.

If a port number is not specified, a default HTTP port number based on the value of the secureTransport attribute is used:

  • If secureTransport="false", the default port is 7080.
  • If secureTransport="true", the default port is 7443.

If a port number is specified, the system either uses that number or replaces it, depending on the following:

  • If the URL scheme aligns with the secureTransport value, meaning the URL scheme is "https" when secureTransport="true" and "http" when secureTransport="false", the specified port number is used.
  • If there is a mismatch between the URL scheme and the secureTransport value, the port number is replaced as follows:
    • If the URL scheme is "http" and secureTransport="true", the last three digits of the specified port are replaced with 443. This applies regardless of the number of digits in the port number. For example, 80 or 123 would be replaced with 443; 8441 would be replaced with 8443; and 12345 would be replaced with 12443.
    • If the URL scheme is "https" and secureTransport="false", the last three digits of the specified port are replaced with 080.
<http://server.example.com:port/nexj/>
Journal DirectoryjournalDirectory

The directory in which to store the transactional journal. If a relative path is specified then the journal directory is placed under the server data directory. The journal files are placed in a subdirectory named after the node name.
tx${test.clone}
Maximum Pool Size

maxPoolSizeMaximum database connection pool size per server.

33
Minimum Pool Size

minPoolSizeMinimum database connection pool size per server.

3
Name Change Context
Audit
nameChangeContextAudit

Enables automatic context auditing of changes to the name attribute for audited instances.
true
Passwordpassword

The password corresponding to the deployment user ID.
<Deployment_Password>
Persistent Session

persistentSession

Enables session persistence and load balancing. Session information is stored using a file system or a database.

true
Poll Period

pollPeriod

Specifies the time interval in milliseconds between poll requests when the push type is set to none (client polling).

300,000 milliseconds (5 minutes)
Port Offset

port.offset


When running two or more nodes on the same server, specify the port.offset property to ensure that ports from different nodes do not conflict with each other. The default offset for the port is relative to the port in the HTTP server URL.

For example, if the HTTP server URL is http://host.domain.ext:7080/nexj and the port offset is 100, the JVM will listen to port 7180 for HTTPS traffic.

100
Preview ThresholdpreviewThreshold

Maximum document size, in bytes, for automatic preview.
202,400
Push PasswordpushPassword

Specifies the password of the push user when used with the Push User property or the keystore password when used with the Push Certificate property.
<Push_Password>
Push Redirector URLpushRedirectorURL

Specifies the host, port, and context path of the push redirector.
<http://localhost:port/nexj/pushRedirect>
Push Server URLspushServerURLs

Specifies the list of full paths to each instance of the push server running on each node of the application cluster. Multiple servers are separated with a space.
<http://app1.local:8080/nexj/push>
<http://app2.local:8080/nexj/push>
Push Trust

pushTrust

Specifies a Base64 encoded public certificate of the Model Server on which the push server is running.

<certificate>
Push Type

pushType

Specifies the Comet mode that the NexJ application users for push notifications. If the selected type isn't supported by the client web browser, polling is used.

Supported values are "streaming", "long", or "none".

streaming
Push UserpushUser

Specifies the user that authenticates with the NexJ application when connecting to the push server.
<Push_ID>
Read Audit

readAudit

Specifies whether to log read actions by users in NexJ CRM based on attributes selected for read audit in the NexJ model.

Possible values are access, attributes, values, and none (default). For more information, see Configuring audit trails.

none
RPC PrivilegerpcPrivilege

The privilege required for access to generic Remote Procedure Call (RPC) protocols. If not set, the access is unrestricted and a validation warning is generated. Generic RPC protocols are HTTP/soap, HTTP/text, HTTP/web, HTTP/xml and EJB. Generic
RPC is used by all the clients except for the flat page client.
InternalManage
Rules for Service Level
Agreements
ruleSLA

Enables service level agreements functionality for service requests.
false
Secure Transport Protocol
(use SSL)
secureTransport

Enables encrypted SSL communication and server authentication.
false
Session Cookie

sessionCookie

The session cookie name.

NEXJSESSIONID
Session Timeout

sessionTimeout

Session timeout in minutes. The value of 0 indicates unlimited. For persistent sessions, session timeout is the period of inactivity before the session is persisted.

20
Statistics Availability

statAvailability

The availability of statistics.

Supported values are:

none
No statistics available.

self
Statistics only available for the current node.

distributed
Statistics available for the entire cluster (default).

distributed
Theme

theme

The theme which should be used to override the default look and feel of the application.

<ThemeName>
Transaction Timeout

transactionTimeoutThe default transaction timeout in seconds. The value of 0 indicates infinite timeout.

300
Type

type

For Model Server, the value is Generic.

Unit of Work Listener
Enabled
uowListenerEnabled

Enables the unit of work listener component
that shares NexJ CRM transactional data with registered listeners.
false
Update AuditupdateAudit

Determines whether create, update, and delete actions that users perform on objects are logged, for example, changing a contact name.
false
Useruser

The ID that will be provided if the server that you deploy to requests an ID and password before allowing metadata to be copied.
<Deployment_ID>

LDAP settings for a typical NexJ CRM deployment

AttributeXML attribute and notesValue
Authentication
Protocol
ldapAuthProtocol

The authentication protocol for connecting the
LDAP server.
simple
Group Context DNldapGroupContextDN

The distinguished name (DN) used to search for
groups.
<LDAP_Group_Context_DN>
Group FilterldapGroupFilter

The LDAP filter used to identify objects that are
groups.
(objectCategory=group)
Group Name
Attribute
ldapGroupNameAttribute

The group attribute that holds the group's name.
sAMAccountName
PasswordldapPassword

The password corresponding to the LDAP user ID.
<LDAP_Password>
URLldapURL

The LDAP server URL for determining the user
group membership.
<LDAP_URL>
UserldapUser

The user ID to use to connect to the LDAP server.
<LDAP_User_ID>
User Context DNldapUserContextDN

The DN used to search for users.
<LDAP_User_Context_DN>
User FilterldapUserFilter

The LDAP filter used to identify objects that are
users.
(objectCategory=user)
User Login
Attribute
ldapUserLoginAttribute

The login name that is used to authenticate users.
userPrincipalName

Additional settings for a typical NexJ CRM deployment

AttributeXML attribute and notesValue
Authentication Group authGroup

The Group ID used for coarse grained authentication. Application users must be part of the group.
nexjusers
Authentication Protocol authProtocol

The authentication protocol.
custom or spnego
Channel Warning Timeout

channelWarningTimeoutTimeout in milliseconds after which a warning is generated. The value of 0 indicates indefinite. The default value is 1000.

2000
Cluster Broadcast Address

clusterBroadcastAddressThe network broadcast address, which sends your IP address to a range of broadcast IP addresses simultaneously and receives on your own IP address. If not specified, the default value is 255.255.255.255.

255.255.255.255
Cluster Discovery Port

clusterDiscoveryPort

The Cluster Manager’s discovery port. By default, the same value as messagePort is used.

1111
Cluster Discovery
Protocol

clusterDiscoveryProtocol


The Cluster Manager’s discovery protocol.

The supported values are "unicast", "multicast", "broadcast" and "tcp".

The default value is "multicast".

unicast
Cluster Multicast Group

clusterMulticastGroup


The multicast group to join. The value is chosen from a reserved range of IP addresses and sends and receives to multicast IP addresses. If not specified, the default value is 239.192.10.1.

239.192.10.1
Configuration

config

In a .properties file, indicates which .environment file is used as the template.

Not supported in a .environment file.

Development.environment
Distributed distributed

Enables clustering services.
true
Keystore Password keystorePassword

The password used for the application server's ssl.keystore file.
text:keypass
Material Design materialDesign

Reserved for future use. Do not enable.
false
Message PortmessagePort

TCP/IP port used for intra-cluster communication with the Object Queue engine.
1111
Message UsermessageUser

The user ID used for Object Queue messaging.
<adminID>
Sample DatasampleData

Specifies whether sample data is generated.
false
Testtest

Specifies whether the server may be used for testing.
false

Data source connection settings

A typical deployment of NexJ CRM requires the following data sources to be configured with the following properties.

The SessionDatabase is required when using session persistence.

The following data sources are required for a typical deployment:

  • AuditLogDatabase
  • BI_1_BI_Database
  • call:Call
  • Conversation
  • DefaultRelationalDatabase
  • ecr:ECR
  • flow:Flow
  • LockDatabase
  • msg:Messaging
  • ObjectQueueDatabase
  • rules:Rules
  • SessionDatabase
  • sso:SSO
  • StagingDatabase
  • StatDatabase
  • uicomp:UIComponent

The suggested properties and values are the same for all data sources.

Data source connection settings for a typical NexJ CRM deployment

AttributeXML attribute and notesMSSQL valueOracle value
Relational Database Connection

DataSource (element)


Data source name. Add this element for each data source.

<datasourcename><datasourcename>
Adapter

adapter

Data source adapter.

MSSQLOracle
Host

host

Database server host name.

<localhost><localhost>
User

user

The ID used by the application to
access the database.

<Database_User><Database_User>
Databasedatabase

The name of the database the
application will access.
<Database_Name><Database_Name>
Portport

Database server port number.
14331521
Passwordpassword

The password corresponding to the
database user ID.
<Database_Password><Database_Password>
Pathpath

Name of the JDBC driver JAR file.
jtds-1.2.2-9.jarojdbc14.jar
Query TimeoutqueryTimeout

Number of seconds before queries
timeout.
<querytimeoutvalue>10
Warning TimeoutwarningTimeout

Number of milliseconds before a
timeout warning occurs for long-running queries.
<querytimeoutvalue>250

Channel connection settings

A typical deployment of NexJ CRM requires that you add certain channels to the environment file.

File channel connection settings

ReportingOutputFileChannel channel connection settings for a typical NexJ CRM deployment

AttributeXML attribute and notesValue
Channelchannel

Channel connection name.
ReportingOutputFileChannel
Type

FileConnection (element)

The type of channel connection to
use.

FileConnection
Incoming DirectoryincomingDirectory

The full path to the incoming directory. In XML, this attribute is named.
<\\server.domain.ext\AddressLookup
\incoming>
Outgoing DirectoryoutgoingDirectory

The full path to the incoming directory. In XML, this attribute is named.
<\\server.domain.ext\AddressLookup
\outgoing>
Temporary DirectorytemporaryDirectory

The full path to the temporary directory. In XML, this attribute is
named.
<\\server.domain.ext\AddressLookup
\temporary>
Processed DirectoryprocessedDirectory

The full path to the processed directory. In XML, this attribute is named.
<\\server.domain.ext\AddressLookup
\processed>
Patternpattern

Indicates the file pattern to search for
in the lookup.
*.zip
Transaction TimeouttransactionTimeout

Indicates the number of milliseconds before the lookup times out.
7200

HTTP channel connection settings

ExchangeEWSNotificationReceiver channel connection settings for a typical NexJ CRM deployment

AttributeXML attribute and notesValue
Channelchannel

Channel connection name.
ExchangeEWSNotificationReceiver
TypeHTTPConnection (element)

The type of channel connection to
use.
HTTPConnection
Authenticationauthentication

The type of authentication to use.
none


ExchangeEWSSender channel connection settings for a typical NexJ CRM deployment

AttributeXML attribute and notesValue
Channelchannel

Channel connection name.
ExchangeEWSSender
TypeHTTPConnection (element)

The type of channel connection to
use.
HTTPConnection
URLurl

The host must be that of the
Exchange Web Service for the target
server.
http://<host>/ews/Exchange.asmx
Useruser

The user name used to connect to
remote HTTP servers.
<HTTP_User_ID>
Passwordpassword

The password corresponding to the
HTTP User ID.
<HTTP_User_Password>
Trusttrust

The certificate file.
<certificatefile>
Authenticationauthentication

The type of authentication to use.
basic
Read TimeoutreadTimeout

Timeout (in milliseconds) for
outbound HTTP requests.
180000
Use HTTPS
Communication

secure

Uses HTTPS communication in the
receiver. 

true

Info

ExchangeEWSSender2 and ExchangeEWSSender3 channels are duplicates of ExchangeEWSSender and are also optional channel connections when there is only one entry point for Exchange EWS communication; just one ExchangeEWSSender channel is sufficient in that event.

HelpChannel connection settings for a typical NexJ CRM deployment

AttributeXML attribute and notesValue
Channelchannel

For online help functionality.
HelpChannel
TypeHTTPConnection (element)

The type of channel connection to
use.
HTTPConnection
URLurl

The first example (in the Value column) is of an internaly-run help server running on port 8080.

The second example points to the public end-user documentation for NexJ CRM 9.2.

<https://intranet.example.com:8080/help/>

or

<https://documentation.nexj.com/pubuser92>


InfluxDB channel connection settings for a typical NexJ CRM deployment

AttributeXML attribute and notesValue
Channelchannel

For persisting performance statistics
to InfluxDB.
monitor:influxdb:HTTPSenderchannel
TypeHTTPConnection (element)

The type of channel connection to
use.
HTTPConnection
URLurl

The secure user-accessible URL for
the server that writes to the specified
InfluxDB database, including the port
number, if required.
<https://intranet.example.com:8086/write?
db=database/>

Kafka channel connection settings

Kafka channel connection settings for a typical NexJ CRM deployment

AttributeXML attribute and notesValue
Channelchannel

For sending and receiving messages through Apache Kafka.
kafkaChannel
TypeKafkaConnection (element)

The type of channel connection to use.
KafkaConnection
Encodingencoding

Character set for serializing and deserializing string messages.
UTF-8
Topictopic

For sender channels, the Kafka topic to send to.
For receiver channels, the Kafka topic to receive from.

If the channel receives input from multiple topics, you can enter a space-separated list of topics.

If the channel is used for both sending and receiving, it sends messages to the first topic in the list and receives messages from all the topics in the list including the first one.

kafkaTopic1
Serversservers

A space-separated list of host/port pairs to use for establishing the initial connection with the Kafka cluster.

The client will make use of all available servers irrespective of which servers are specified.

localhost:9092

Max SendersmaxSenders

Maximum Kafka producers (senders) per server. For unlimited producers, enter -1 as the value.

Applies to sender channels only.

16
Request TimeoutrequestTimeout

Timeout (in milliseconds) for Kafka requests.
25000
Warning TimeoutwarningTimeout

Number of milliseconds before a timeout warning occurs for longrunning queries.

For infinite timeout, specify 0 as the value.

2000
Use SSL Securitysecure

If set to true, requires SSL security. If set to <auto>, defaults to the value of the secureTransport attribute in the server configuration.
true
Authenticationauthentication

Authentication mode. The options are:

  • none: Allows anonymous sign-in. Results in an error if Kafka server requires authorization.
  • basic:  Authenticated using a username and password.
  • server: Authenticates using SPNEGO silent sign-on with the server process account's credentials.
  • certificate:  Authenticates using an X.509 certificate.
basic
Useruser

Kafka user ID.
user
Passwordpassword

The password corresponding to the Kafka user ID.
password
Certificatecertificate

The certificate and private key for logging in to the remote system. The certificate must be in base64-encoded PKCS #12 representation.
<certificate>
Trusttrust

The X.509 certificate, or the signer's certificate thereof, for the remote system. If unspecified, the server will trust the global trust certificate if it is specified in the environment file.
<trust>
Sender PropertiesSenderProperties (element)

Additional Kafka producer properties to be added to the sender channel. For a list of these properties, see http://kafka.apache.org/documentation.html#producerconfigs.
senderPropertyName
Receiver PropertiesReceiverProperties (element)

Additional Kafka consumer properties to be added to the receiver channel. For more information, see http://kafka.apache.org/documentation.html#consumerconfigs.
receiverPropertyName

You can define some attributes both at the channel level and the channel connection level. Channel connection settings override any individual channel settings.

If your NexJ application uses the Avro format to send Kafka messages, the Kafka channel requires additional configuration. For more information, see Additional configuration for sending Avro messages .

Mail channel connection settings

Mail channel connection settings for a typical NexJ CRM deployment

AttributeXML attribute and notesValue
Channelchannel

Channel connection name.
Mail
TypeMailConnection (element)

The type of channel connection to
use.
MailConnection
Email Accountuser

User name used to connect to the
mail server.
<user.name@example.com>
Passwordpassword

The password corresponding to the
Email Account.
<Email_Password>
FolderinFolder

The incoming messages folder. 
INBOX
Receiver ProtocolinProtocol

The protocol to use for incoming
messages. 
pop3
Receiver HostinHost

The mail server host for incoming
messages.
<mailserver.example.com>
Receiver EncryptioninEncryption

The type of channel connection to
use. 
SSL
Sender Emailfrom

The default email address for the
sender. 
<outmail@example.com>
Sender ProtocoloutProtocol

The protocol to use for outgoing
messages.
smtp
Sender HostoutHost

The mail server host for outgoing
messages.
<outmailserver.example.com>

Message Queue channel connection settings

ErrorQueue channel connection settings for a typical NexJ CRM deployment

AttributeXML attribute and notesValue
Channelchannel

Channel connection name.
ErrorQueue
TypeMessageQueueConnection (element)MessageQueueConnection
Useruser

User name used to connect to the
JMS queue.
<JMS_Queue_User_ID>
Passwordpassword

The password corresponding to the
JMS queue user ID.
<JMS_Queue_Password>

TCP channel connection settings

IOSNotificationSender channel connection settings for a typical NexJ CRM deployment

AttributeXML attribute and notesValue
Channelchannel

Channel connection name.
IOSNotificationSender
TypeTCPConnection (element)

The type of channel connection to
use.
TCPConnection
Certificatecertificate

The contents of the push certificate.
<certificate>
Passwordpassword

The password used when exporting
the private key.
<password>
Use SSL/TLSsecure

Use SSL/TLS communication for the channel.
true
Sender Read TimeoutsenderReadTimeout

The TCP sender's message read timeout in milleseconds. A value of zero indicates an infinite timeout.
2000

SOA connection settings

A typical deployment of NexJ CRM requires that you add certain SOA connections to the environment file.

The following SOA connections are required for a typical deployment:

  • nexj:act:ActTemplate:1.0
  • nexj:act:ActivityPlan:1.0
  • nexj:act:ApprovalObject:1.0
  • nexj:act:DocumentService:1.0
  • nexj:act:Task:1.0
  • nexj:call:InboundCall:1.0
  • nexj:crm:AssignmentModel:1.0
  • nexj:crm:EntityParticipation:1.0
  • nexj:crm:Household:1.0
  • nexj:crm:Interaction:1.0
  • nexj:crm:Note:1.0
  • nexj:crm:Person:1.0
  • nexj:crm:ScheduleItem:1.0
  • nexj:crm:Task:1.0
  • nexj:crm:User:1.0
  • nexj:crm:UserPerson:1.0
  • nexj:flow:FlowObject:1.0
  • nexj:flow:QuestionnaireService:1.0
  • nexj:flow:SecurityDelegateService:1.0
  • nexj:ilm:DistributeActionCommandClient:1.0
  • nexj:ilm:Lead:1.0
  • nexj:leaf:Leaflet:1.0
  • nexj:rules:CreateActivityPlanCommandClient:1.0
  • nexj:rules:CreateTaskCommandClient:1.0
  • nexj:rules:MessageActionCommandClient:1.0
  • nexj:rules:Rule:1.0
  • nexj:rules:SetActionCommandClient:1.0
  • nexj:soa:Audit:1.0
  • nexj:soa:Bulletin:1.0
  • nexj:soa:ConversationService:1.0
  • nexj:soa:DataMatchService:1.0
  • nexj:soa:DataMatchServiceConfiguration:1.0
  • nexj:soa:DesktopBeaconPushService:1.0
  • nexj:soa:DesktopPushService:1.0
  • nexj:soa:DesktopStreamRefreshPushService:1.0
  • nexj:soa:EmailNotificationService:1.0
  • nexj:soa:MobilePushService:1.0
  • nexj:soa:NotificationService:1.0
  • nexj:soa:PortalIntegration:1.0
  • nexj:soa:PortletRegistry:1.0
  • nexj:soa:Registry:1.0
  • nexj:soa:SubscriptionEngineService:1.0
  • nexj:soa:UserRegistry:1.0
  • nexj:soa:UserRegistryClient:1.0
  • nexj:sso:Authentication:1.0
  • nexj:ui:ObjectComponentClient:1.0
  • nexj:ui:UIComponent:1.0
  • nexj:ui:UIComponentClient:1.0
  • nexj:ui:WorkQueueItemRelatedObject:1.0

The suggested attributes and values are the same for all SOA connections.

Generic SOA connection settings for a typical NexJ CRM deployment

AttributeXML attribute and notesValue
Serviceservice

The service associated with the connection.
<servicename>
Addressaddress

The host (and port if applicable) must be that of the target service server.
<http://hostname:port/nexj/text>
Bindingbinding

The binding for connecting to the
service. Overrides the binding from
the registry.
context
Authenticationauth

The authentication mode for
connecting to the service. Overrides
the authentication mode from the
registry.
basic
Useruser

User name used to log into the
service.
< Service_User_ID >
Passwordpassword

The password corresponding to the
service user ID.
<Service_Password>

Example XML environment file for NexJ CRM deployment on Model Server 

The settings from the previous sections are reflected in the following example environment file:

<Environment 
  authDomain="<EXAMPLE.COM>" 
  authService="<HTTP/localhost.example.com>"
  batchEmailRecipientListEnabled="false"
  batchNotifications="false"
  birthdayMailerEnabled="false"
  callRecordsEnabled="false"
  clientPerfStatusEnabled="true"
  clientPerfStatusMobileRedCriteria="1500 45 400 30"
  clientPerfStatusMobileYellowCriteria="750 45 200 15"
  currencyConversionEnabled="false"
  description="Local machine with the bootstrap container in the default location"
  emailDraftEnabled="false"
  emailSignatureEnabled="false"
  emailToServiceRequest="false"
  hierarchySecurityEnabled="false"
  httpForbiddenEnabled="true"
  httpGZip="true"
  httpReportURL="<http://server.example.com:port/reporting>"
  httpURL="<http://server.example.com:port/nexj/>"
  journalDirectory="tx${test.clone}"
  location="c:\java\container\deploy"
  materialDesign="false"
  messageUser="nexjsa"
  nameChangeContextAudit="true"
  password="<Deployment_Password>"
  persistentSession="true"
  pollPeriod="300000" 
  previewThreshold="202400"
  pushPassword="<Push_Password>"
  pushRedirectorURL="<http://localhost:port/nexj/pushRedirect>"
  pushServerURLs="<http://app1.local:8080/nexj/push http://app2.local:8080/nexj/push>"
  pushType="streaming"
  pushUser="<Push_ID>"
  readAudit="none"
  rest.configMetadata="CRMRestAPIConfig" 
  rest.schemaBase="CRMSchemaBaseJSON" 
  rest.version="1.0.0" 
  rpcPrivilege="InternalManage"
  ruleSLA="false"
  secureTransport="false"
  tagsEnabled="false"
  type="Generic"
  uowListenerEnabled="false"  
  updateAudit="false"
  user="<Deployment_ID>">
  <PKIKeyPairs>
    <PKIKeyPair keystore="<keystore>" name="<adminID>" password="testPass"/>
  </PKIKeyPairs>  
  <DataSourceConnections>
    <RelationalDatabaseConnection 
    adapter="MSSQL" 
    database="<Database_Name>"
    host="<localhost>" 
    password="<Database_Password>" 
    path="jtds-1.2.2-9.jar"
    port="1433" 
    user="<Database_User>">
      <DataSource name="DefaultRelationalDatabase"/>
      <DataSource name="rules:Rules"/>
      <DataSource name="uicomp:UIComponent"/>
      <DataSource name="Conversation"/>
      <DataSource name="ecr:ECR"/>
      <DataSource name="msg:Messaging"/>
      <DataSource name="SessionDatabase"/>
      <DataSource name="flow:Flow"/>
      <DataSource name="StagingDatabase"/>
      <DataSource name="call:Call"/>
      <DataSource name="sso:SSO"/>
      <DataSource name="StatDatabase"/>
      <DataSource name="AuditLogDatabase"/>
      <DataSource name="LockDatabase"/>
      <DataSource name="portal:Portal"/>
      <DataSource name="bp:CPM"/>
      <DataSource name="inform:Inform"/>
    </RelationalDatabaseConnection>
    <RelationalDatabaseConnection 
    adapter="Oracle11g" 
    database="<Database_Name>"    
    host="<localhost>" 
    password="<Database_Password>" 
    path="ojdbc14.jar" 
    port="1521" 
    user="<Database_User>">
      <DataSource name="ObjectQueueDatabase"/>
    </RelationalDatabaseConnection>
    <RelationalDatabaseConnection
     adapter="MSSQL" 
     database="<Database_Name_BI>"    
     host="<localhost>" 
     password="<Database_Password>" 
     path="jtds-1.2.2-9.jar"    
     port="1433" 
     user="<Database_User>">
      <DataSource name="BI_1_BI_Database"/>
    </RelationalDatabaseConnection>
    <FileStorageConnection 
    adapter="Generic" 
    dataDirectory="C:\file\attachment\data"      
    temporaryDirectory="C:\file\attachment\temp">
      <DataSource name="Attachment"/>
      <DataSource name="FileExport"/>
    </FileStorageConnection>
  </DataSourceConnections>
  <ChannelConnections>
      <MessageQueueConnection channel="ErrorQueue" password="<JMS_Queue_Password>" user="<JMS_Queue_User_ID>/>
      <MessageQueueConnection channel="RetryQueue" password="<JMS_Queue_Password>" user="<JMS_Queue_User_ID>"/>
      <MailConnection channel="Mail" from="<outmail@example.com>" inFolder="INBOX" inHost="<mailserver.example.com>" inProtocol="pop3" outHost="<outmailserver.example.com>" outProtocol="smtp" outReadTimeout="60000" outWriteTimeout="60000" password="<Email_Password>" user="<user.name@example.com>"/>
      <HTTPConnection authentication="basic" channel="ExchangeEWSSender" password="<HTTP_User_Password>" secure="true" trust="<certificateFile>" url="https://<host>/ews/Exchange.asmx" user="<HTTP_User_ID>"/>
      <HTTPConnection authentication="credential" channel="ExchangeEWSSender2" password="<HTTP_User_Password>" secure="true" trust="<certificateFile>" url="https://<host>/ews/Exchange.asmx" user="<HTTP_User_ID>"/>
      <HTTPConnection authentication="basic" channel="ExchangeEWSSender3" password="<HTTP_User_Password>" secure="true" trust="<certificateFile>" url="https://<host>/ews/Exchange.asmx" user="<HTTP_User_ID>"/>
      <HTTPConnection authentication="none" channel="ExchangeEWSNotificationReceiver"/>
      <HTTPConnection channel="BESNotificationSender" password="<HTTP_User_Password>" secure="true" trust="<certificateFile>" user="BESPushTest"/>
      <HTTPConnection authentication="none" channel="JasperReportData"/>
      <HTTPConnection authentication="perimeter" channel="JasperServer"/>
      <HTTPConnection authentication="none" channel="NotificationUnsubscribeChannel" password="<HTTP_User_Password>"/>
      <FileConnection channel="ReportingOutputFileChannel" outgoingDirectory="C:\<file>\fileChannels\reporting\"/>
      <HTTPConnection channel="inform:ArticleSearch" trust="<certificate>" url="<url_provided_by_Grapevine6>"/>
      <HTTPConnection channel="rest:OpenAPI"/>
      <HTTPConnection channel="rest:REST"/>
      <HTTPConnection channel="rest:SelectionOptions"/>
      <HTTPConnection authentication="basic" channel="inform:RelatedObject" password="<password>" trust="<certificate>" url="<http://server.example.com:port>/nexj/channel/rest:REST" user="informUser"/>
   </ChannelConnections>
   <SOAConnections>
      <SOAConnection auth="perimeter" binding="context" service="nexj:act:ActivityPlan:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:act:ActTemplate:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:act:ApprovalObject:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:act:DocumentService:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:act:Task:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:call:InboundCall:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:crm:AssignmentModel:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:crm:EntityParticipation:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:crm:UserPerson:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:flow:FlowObject:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:flow:QuestionnaireService:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:flow:SecurityDelegateService:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:ilm:DistributeActionCommandClient:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:ilm:Lead:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:leaf:Leaflet:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:rules:CreateActivityPlanCommandClient:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:rules:CreateTaskCommandClient:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:rules:MessageActionCommandClient:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:rules:Rule:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:rules:SetActionCommandClient:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:soa:Audit:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:soa:Bulletin:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:soa:ConversationService:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:soa:DataMatchService:1.0">
         <Properties>
            <Property name="system" value="#t"/>
         </Properties>
      </SOAConnection>
      <SOAConnection auth="perimeter" binding="context" service="nexj:soa:DataMatchServiceConfiguration:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:soa:DesktopBeaconPushService:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:soa:DesktopPushService:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:soa:DesktopStreamRefreshPushService:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:soa:EmailNotificationService:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:soa:MobilePushService:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:soa:PortalIntegration:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:soa:PortletRegistry:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:soa:Registry:1.0">
         <Properties>
            <Property name="system" value="#t"/>
         </Properties>
      </SOAConnection>
      <SOAConnection auth="perimeter" binding="context" service="nexj:soa:SubscriptionEngineService:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:soa:UserRegistry:1.0">
         <Properties>
            <Property name="system" value="#t"/>
         </Properties>
      </SOAConnection>
      <SOAConnection auth="perimeter" binding="context" service="nexj:soa:UserRegistryClient:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:ui:ObjectComponentClient:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:ui:UIComponent:1.0">
         <Properties>
            <Property name="system" value="#t"/>
         </Properties>
      </SOAConnection>
      <SOAConnection auth="perimeter" binding="context" service="nexj:sso:Authentication:1.0">
         <Properties>
            <Property name="system" value="#t"/>
         </Properties>
      </SOAConnection>
      <SOAConnection auth="perimeter" binding="context" service="nexj:crm:Person:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:crm:User:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:crm:Household:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:crm:Task:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:ui:WorkQueueItemRelatedObject:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:crm:ScheduleItem:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:crm:Note:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:crm:Interaction:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:soa:NotificationService:1.0"/>
      <SOAConnection auth="perimeter" binding="context" service="nexj:ui:UIComponentClient:1.0"/>
   </SOAConnections>
</Environment>

Using the environment file as a template with a .properties file

You can use the example environment file above to create an environment file that can be used as a template for multiple environments. I t would be similar to the example, but some of the values would be replaced with variables. For example, in the example environment file above, a relational database connection could be defined with the following settings:

<RelationalDatabaseConnection adapter="MSSQL" database="finance" host="localhost" password="nexj" path="jtds-1.2.2-9.jar" port="1433" user="nexj">

In an environment file used as a template, it would be defined with the following settings instead:

<RelationalDatabaseConnection adapter="${RelationalDatabaseConnection.Adapter}" database="${RelationalDatabaseConnection.DEF.Db.Name}${test.clone}" host="${RelationalDatabaseConnection.Db.Host}" password="${RelationalDatabaseConnection.Db.Password}" path="${RelationalDatabaseConnection.Db.Path}" port="${RelationalDatabaseConnection.Db.Port}" user="${RelationalDatabaseConnection.Db.User}">

You would then also need to create one or more .properties files that refer to specific databases used in different deployment environments. For example, you can create a DeploymentMSSQL.properties file that contains the following code:

RelationalDatabaseConnection.Adapter=MSSQL
RelationalDatabaseConnection.DEF.Db.Name=finance
RelationalDatabaseConnection.Db.Host=localhost
RelationalDatabaseConnection.Db.Password=nexj
RelationalDatabaseConnection.Db.Path=jtds-1.2.2-9.jar
RelationalDatabaseConnection.Db.Port=1433
RelationalDatabaseConnection.Db.User=nexj

You could also create a DeploymentOracle.properties file that contains the following code:

RelationalDatabaseConnection.Adapter=Oracle11g
RelationalDatabaseConnection.DEF.Db.Name=finance
RelationalDatabaseConnection.Db.Host=localhost
RelationalDatabaseConnection.Db.Path=ojdbc14.jar
RelationalDatabaseConnection.Db.Port=1521
RelationalDatabaseConnection.Db.User=nexj_dba

Both of these .properties files would need to specify the config setting to refer to the environment file that is being used as a template. For example:

config=Deployment.environment


All the settings described in this topic can be included in an .environment file used as a template, either with either variable or constant values.