5
INSTALLATION GUIDE
v1.1, May 2014
Copyright MISYS 1995-2014. ALL RIGHTS RESERVED. Registered in England No. 01360027. All rights reserved.
Registered Office: One Kingdom Street, Paddington, London W2 6BL, United Kingdom
TI Plus
Installation Guide v1.1
Feedback
Do you have comments about our guides and online help? Please address any comments and questions to
your local Misys representative.
ii
TI Plus
Installation Guide v1.1
CONTENTS
Chapter 1 System Overview
Architecture Summary
Hardware Components
Software Components
1
1
1
2
3
3
4
5
5
5
5
5
6
6
7
7
13
14
15
15
15
16
Chapter 7 Security
CAS Authentication
Pre-Authentication - x509
Pre-Authentication - General
Re-Authentication
17
17
18
19
19
20
20
21
21
22
22
23
24
24
25
25
26
26
27
27
28
29
30
31
31
iii
TI Plus
Installation Guide v1.1
32
32
33
33
Chapter 13 Miscellaneous
UI Customisation
Document Window Recording
Amount in Words
PDF Document Watermarks
Deploying Help Text
Error Display
Local Module
File System Resources
35
35
36
36
37
37
37
37
38
41
41
41
42
43
43
43
44
44
44
44
48
49
49
50
50
50
50
54
55
55
56
57
65
66
66
66
68
72
72
79
80
80
80
82
iv
TI Plus
Installation Guide v1.1
Description
Chapter 1
provides an overview of the Trade Innovation system, summarising the individual hardware and
software components.
Chapter 2
Chapter 3
provides summary details on what is involved in creating the TI Plus database and deploying TI
Plus to an application server.
Chapter 4
Chapters 5-14
provide information about various components of the TI Plus applications and the configuration
options associated with them.
Chapter 15
Chapter 16
Chapter 17
Chapter 18
Chapter 19
Chapter 20
DOCUMENT CONVENTIONS
The convention used in the Guide for identifying links accessed via drop-down lists from other links is to cite
the name of the first link, followed by name of the second link separated from it by a '|' character - for
example, Other|FX Calculator'.
Note: This format is used for notes that contain information of more than usual significance, such as
warnings or hints on using the software.
In the tables listing fields in windows, a tick next to a field indicates that the field is mandatory.
FURTHER READING
TI Plus is supported by a comprehensive documentation set, which includes user guides for each TI Plus
product:
TI Plus Documentation Overview lists each of the documents in the set and explains what it covers.
TI Plus Common Facilities User Guide explains common screen elements shared by TI Plus
products and is referred to where required in this guide.
TI Plus
Installation Guide v1.1
ARCHITECTURE SUMMARY
The following diagram illustrates the gross software architecture of the system showing the operation of
multiple processing zones (these are the zones of a 'global processing' architecture).
Global Application
Global Application
Database
Zone Database
Zone access
tiplus2 application
(Clusterable on J2EE)
HTTP(S)
HTTP
HTTP Server
Front Office
System
Content
Management
System
Back Office
System
Zone access
tiplus2 application
(Clusterable on J2EE)
Zone Database
As the diagram shows, the TI Plus 2 software consists of two enterprise applications:
Global application A management application providing user management and zone control
facilities
Zone access tiplus2 application The trade finance application. This application can be deployed
multiple times, each configured to use a dedicated zone database
Both types of application may be installed in a cluster, however for the global application, the number of
server instances in the cluster must be limited to two, and each must be on a separate host.
HARDWARE COMPONENTS
The table below lists and describes the function of the hardware components of the system.
Component
What it does
Network
Database Servers
Application Servers
Runs the TI Plus Enterprise Application. This provides middleware services for
security and state maintenance, along with data access and persistence
1
TI Plus
Installation Guide v1.1
Component
What it does
HTTP Server
Client PCs
Client PCs run a web browser (e.g. Internet explorer) to communicate with the
web/application server
SOFTWARE COMPONENTS
The table below lists and describes the software components of the system.
Component
What it does
Trade Innovation
application
Operating system for the Application and Web Server or Database Server
Solaris 64-bit
Operating system for the Application and Web Server or Database Server
AIX 64-bit
Operating system for the Application and Web Server or Database Server
Operating system for the Application and Web Server or Database Server
Oracle 11g
Serves as the Database repository for the TI Plus 2 application. Installed on the
Database Server
DB2 v9.7
Serves as the Database repository for the TI Plus 2 application. Installed on the
Database Server
Serves as the Application server and hosts the TI Plus 2 enterprise applications
WebSphere 7.0/8.5
Serves as the Application server and hosts the TI Plus 2 enterprise applications
JBoss 5.1
Serves as the Application server and hosts the TI Plus 2 enterprise applications
Serves as the Application server and hosts the TI Plus 2 enterprise applications
HTTP Server
The software choice for the HTTP server is largely driven by the chosen application
server. It may be that an existing HTTP server can be used
Microsoft Word
Used to create document templates which are uploaded to and utilised by the
application to produce associated documents during user transactions
Content Repository
Web Browser
Browser Software for accessing the TI Plus application on the application server.
TI Plus
Installation Guide v1.1
SOFTWARE COMPONENTS
The required software is broken down by the following components:
Client PCs
Note: This Guide does not provide instructions on installing software components supplied by a third party
vendor. All these products come with comprehensive installation guides which must be consulted prior to
implementation.
AIX, Solaris, Red Hat Linux Enterprise Server or Windows 2008 Server or later based on the
application server support
HTTP Server
The software required for the HTTP Server is largely based on the choice of application server software. For
instance WebSphere, IBM's HTTP Server software is supplied as part of the software package.
The only prerequisite is that the HTTP server software is supported by the application server software.
Client PCs
Client PCs using a web browser will be used to access TI Plus. A plug-in for viewing PDF files will also be
required to view documents and reports.
TI Plus
Installation Guide v1.1
It is recommended that you perform installation and configuration in the following sequence.
Install the operating system and all necessary patches on the designated database server.
Install the operating system and all necessary patches on the designated application server.
TI Plus
Installation Guide v1.1
Create the TI Plus 2 database schemas and run the appropriate scripts
Set up the required topology of application server instances to deploy the TI Plus 2 software into
Configure the application server including setting up JNDI resources (JDBC, JMS etc)
Perform the first steps of starting the servers, installing the products and uploading default document
templates
Application names
Security to use
Choice of service access options, including an incoming EJB server, support for JMS-based access,
including the Trade Portal Interface, and a test utility to help familiarise with the service interfacing
operations
TI Plus
Installation Guide v1.1
FIRST STEPS
This section summarises the additional steps that must now be performed after the applications have
successfully started, but before the TI Plus applications can be run
Use the Static Data application to add one or more branches and main banking entities
Set up teams roles and users as require, as well as setting up the users in the global application
Refer to the TI Plus Static Data Maintenance Guide, TI Plus System Tailoring Guide and TI Plus Security
Guide for more details.
TI Plus
Installation Guide v1.1
Database creation scripts are supplied in the /scripts folder of the software release. Upgrade scripts are
also available where appropriate. For information on which upgrades scripts are appropriate, refer to the
release notes accompanying the software.
SQLRunner
In the /tools folder of the software distribution is a utility called SQLRunner that allows you to
Save a copy of the script with the parameters replaced in order to run the script via a preferred utility
TI Plus
Installation Guide v1.1
This panel allows you to choose if the script is to be run against a database or simply saved after replacing
the parameters. The following steps illustrate executing a script against a database.
Enter the details:
Option
Description
Execute script
Driver
URL
The URL for the database. For Oracle this will be in the form:
jdbc:oracle:thin:@<host>:1521:<database>
whereas for DB2 it will be:
jdbc:db2://<host>:50000/<database>
User
User id
Password
Folder where the substituted script will be saved the name of the script will be the
same as the script selected on the next panel
The Test button is available to verify that the connection details are correct.
Click Next.
Locate the script you wish to run. A description of the script will be displayed when it has been selected.
If the script is a template that extracts information from the database, then you must specify an output folder
and file extension.
Note: Note that this folder must already exist. If it contains any files, you will be prompted to confirm that
these files may be deleted.
TI Plus
Installation Guide v1.1
Click Next.
This panel lists the parameters defined in the script and if applicable may already have default values
assigned. Selecting a parameter will provide a description with any special considerations that are required
for the values supplied.
Once the parameter values have been entered, click Next.
TI Plus
Installation Guide v1.1
This panel summarises the information collected so far. Click Run to execute (or save) the script.
This panel shows the progress of the script, and when the script is finished, the following dialog is shown:
10
TI Plus
Installation Guide v1.1
This shows the details of the exception, and provides four options in the dropdown box:
Stop execution
The last option allows you to provide a file name which will be used to save the remaining part of the script
still to be executed.
Once a script has been executed, by pressing the Back button, you will go back to the script selection panel.
Note that parameter values will be retained.
You can also call this utility from a command script and bypass the user interface. The parameters to pass
are as follows:
Option
Description
-c,--class <classname>
-d,--url <URL>
-g,--cmd
Suppresses any UI
-h,--help
-i,--input <file>
-l,--log <file>
-m,--mode <E=execute|S=save:<folder>>
-n,--extn <extn>
-o,--output <folder>
-p,--password <pwd>
-q,--sql <file>
-r,--param <property=value>
-t,--quiet
-u,--user <id>
-w,--onexceptionfile <file>
-x,--onexception <I|S|W>
Oracle
It is expected with Oracle, that separate schemas will be used in the same database. Create the schemas for
the global (TIGLOBAL) and zone (TIZONE1) tables by creating these two users.
Run the oGlobals-xxxx.tpl database script using the script runner. For the Schema Name for
Trade Innovation, use TIGLOBAL, instead of the default TRADEIN1
Run the database scripts below using the script runner. For the Schema Name for Trade Innovation,
use TIZONE1, instead of the default TRADEIN1.
oTIxxxx.tpl
oeqxxxx.tpl
oaf-xxxx.tpl
onf-xxxx.tpl
oCextxxxx.tpl
ocmsxxxx.tpl
Note: Note that with version G.1.1 of the database, a transition was made from using unique indexes to
11
TI Plus
Installation Guide v1.1
using primary keys. To provide that transition, the scripts oDIxxxx.tpl and oCPKxxxx.tpl must also be
run after the rest of the scripts to delete the unique indexes and then create the primary keys.
Note that the TI Plus application accesses the database using an XA database driver. If the user used to
connect to the database does not have sufficient privileges, you may see XA exceptions in the application
logs. In this case, the following privileges need to be granted to the user:
grant select on pending_trans$ to <user>;
grant select on dba_2pc_pending to <user>;
grant select on dba_pending_transactions to <user>;
grant execute on dbms_xa to <user>;
DB2
It is expected that a database will be created for the global application and each of the zone applications.
Run the following database scripts for each zone database using the script runner in sequence.
TIxxxx.tpl
eqxxxx.tpl
af-xxxx.tpl
nf-xxxx.tpl
Cextxxxx.tpl
CMSxxxx.tpl
Note: Note that with version G.1.1 of the database, a transition was made from using unique indexes to
using primary keys. To provide that transition, the scripts DIxxxx.tpl and CPKxxxx.tpl must also be run
after the rest of the scripts to delete the unique indexes and then create the primary keys.
Reporting Views
Reporting views are supplied in the scripts:
rvcxxxx.tpl
rvdxxxx.tpl
The first script creates the views, while the second script drops the views. So, during an upgrade process, it
is necessary to run the rvdxxxx.tpl script of the current version of the database. Once the upgrade
scripts have been run, the rvcxxxx.tpl script of the new version may then be run.
Note: These scripts may be run against both DB2 and Oracle databases.
12
TI Plus
Installation Guide v1.1
The customisation facility allows extra fields to be added for customer details, transaction master and event
details, and posting details. This extra data can be used in processing rules and referenced in customer
documents. The output of using this facility includes:
Database scripts
Deployment descriptors may need to be updated (both general JEE and application server specific)
Configuration files created/updated (not just properties but spring configuration files as well)
The provided assembly mechanism for the enterprise archives driven by a declared configuration enables
this level of flexibility in our software. It also provides an additional level of security where if an external
access mechanism is not required (e.g. RMI access, or an alternate security configuration not requiring the
CAS server), it is not simply disabled - it is not included to be deployed at all.
Some of the properties defined may seem to tie an EAR file to a particular deployment environment,
however those properties are created as web.xml environment entries. These entries may then be changed
or overridden during or after deployment in one of the following ways (listed in the order that they are
loaded):
Overriding the web.xml environment entries is application server specific - in WebLogic it is done through
deployment plans, in WebSphere you can change them as part of deployment if you script the deployment,
or you can change them through the admin console. In JBoss it is less clear, as there is no inherent way of
doing this. So the remaining options must be used instead.
This means that when a final configuration is arrived at after all customisation is performed, the resulting
EAR files produced may be deployed to multiple systems through a promotion process resulting in the
production system, by updating these properties as appropriate.
13
TI Plus
Installation Guide v1.1
SOFTWARE DISTRIBUTION
The /software folder in the main distribution has four main subfolders:
/applications - used as a target for software assembly
/components - holds the master software
/configuration - location of configuration files
/lib - tools used for assembling the software
When the application archives are assembled, the folders /assembly and /deploy are created under the
/applications folder. Once assembled, the enterprise archives are located in the /deploy folder.
The /components folder contains two subfolders, /modules and /system. /modules contains the
optional components that may be required, whereas /system contains the core software.
The /configuration folder contains master configuration property files used to drive the assembly
process.
The /lib folder contains utility code, including ant, which is used to perform the assembly.
Once the configuration options have been specified, the software is assembled by running the ant build
script from the root /software folder. For Windows, a build.bat file is supplied to auto-configure using ant
to run the build script. A build.sh script is supplied that runs on Linux, but can be adapted to the preferred
shell script format.
The following chapters provide information about various features of the applications and the configuration
options associated with them.
14
TI Plus
Installation Guide v1.1
Configuration
The following properties can be defined in the global.configuration.properties file:
Property
Description
appserver.weblogic
appserver.websphere
appserver.jboss
appserver.jee6
Setting this property provides support for JBoss EAP 6.2 (AS 7.3)
database.oracle
database.db2
global.app.name
Name that will be used for the global application archive the default is
tiplus2-global
GlobalAppContext
Used to define the context URL for the global web module the default is
tiplus2-global
GlobalURL
Full URL of the global application. This is used to navigate back to the global
application when exiting form the zone. Make sure the protocol is correct in
relation to the security configuration used
15
TI Plus
Installation Guide v1.1
Property
Description
GlobalSchema
Schema name for the tables created for the global application - for DB2 this
would be TRADEIN1, for Oracle TIGLOBAL
Description
DeploymentId
tiplus2.app.name
Name that will be used for the tiplus2 application archive default is
tiplus2-deploy1
TIPlus2AppContext
Used to define the URL for the web module default is tiplus2-deploy1
ZoneId
APPLICATION COMMUNICATION
The communication between the global application and multiple deployments of the tiplus2 application uses
JMX. As each server running a tiplus2 application deployment starts up, it will connect to the global
application and register itself, and its own configuration, enabling the global application to connect back to it.
As each user logs in and accesses a zone database, their access via a particular server in the cluster is
registered. When a zone is suspended, then those users accessing that zone database are prompted to log
off when they next send a request to the server.
The limitation of two servers to a global application cluster is due to the JMX protocol used, which does not
work in a federated environment. So one of the server instances is nominated as the primary server to which
all tiplus2 application servers connect to register. If the primary server is not available, or a connection to the
server is lost, then the attempts are made to connect to the secondary server. If the secondary server itself
loses contact with the primary server, then it promotes itself to be the primary server, and will accept the
incoming server registration requests.
As part of the registration request, details are passed so the global application can connect back to the
tiplus2 application server.
Configuration
In the global.configuration.properties file, the following properties are set:
Property
Description
JMXPrimaryHost
JMXSecondaryHost
JMXGlobalPort
JMXProtocol
These values are used by the global application as well as the tiplus2 application instances.
If failover is not required, then the JMXSecondaryHost may be left blank. Note that when the global
application starts it queries the host name from the network stack. The host name returned must match the
Primary or Secondary host names. It may be that the host name is returned with a domain suffix. If the global
application cannot match the host name, an error is logged during initialization together with the host name
returned from the network stack. This must then be used to update the host property.
In the tiplus2.configuration.properties file, the following properties are set:
Property
Description
JMXZonePortStart
JMXZonePortEnd
While instances of the global application must be on separate hosts, there may be multiple server instances
of a tiplus2 application deployment on the same host - so a range is required. The number of ports available
in the range must be at least equal to the number of server instances that that application can have on a
single host.
16
TI Plus
Installation Guide v1.1
CHAPTER 7 SECURITY
Since the TI Plus software consists of at least two applications, it requires a single-signon authentication
environment.
TI Plus was designed to integrate with different authentication environments. To achieve this, the spring
security framework is used to provide a chiefly configuration-based solution, to provide the highest flexibility.
Two single-signon models are supported:
Co-operative authentication
Pre-authenticated
The co-operative model relies on the configuration of an authentication server that can be redirected to and
also called directly to verify any token or ticket issued. This model is used to provide the default configuration
of the software by bundling an open source single-signon server (CAS - central authentication server) in the
global application.
The pre-authentication model relies on network or application server configuration to force authentication
before access is made to the application. If the user cannot be derived from the request, then access is not
allowed. Two configurations are provided to achieve this - one based on client certificates, and the other a
little more generic that can reference a configured HTTP header to extract the user id.
Note that whatever authentication mechanism used, the user must be defined in the user registry in the
global application database.
CAS AUTHENTICATION
An open source single-signon server is embedded in the global application, and both global and tiplus2
applications reference the server to issue tickets based on user authentication. These tickets are then
verified explicitly by a direct connection from the server being accessed to the CAS server.
By default, only the authentication part of the server access is via HTTPS, however it is possible to enforce
HTTPS for all access to the application.
Authentication is performed by presenting a login page, accepting a user id and password. The password is
checked against the password stored in the user registry in the global application database. The password is
stored using a one-way encryption algorithm.
An alternate configuration allows the credentials captured to be verified via Windows Active Directory server
using LDAP.
Note that if the global application is clustered, then there needs to be a trust relationship between the
application servers and the issuer of the SSL certificate of the HTTP server being used as the load balance
point of the global application.
Configuration
In the global.configuration.properties file, the following properties are set:
Property
Description
security.cas
security.cas.https
Set this property to force all access to the application to be via HTTPS.
CASServerURL
This is the URL for the CAS server - as the CAS server is embedded in the
global application, this is the HTTPS URL for the global application https://<global-host>:[<port>]/tiplus2-global
CASServiceURL
This is the HTTPS URL of the application to be authenticated for - this turn
out to be the HTTPS URL of the global application https://<global-host>:[<port>]/tiplus2-global
Description
CASServiceURL
This is the HTTPS URL of the application to be authenticated for - this turn
out to be the HTTPS URL of the tilus2 application https://<tiplus2-host>:[<port>]/tiplus2-deploy1
17
TI Plus
Installation Guide v1.1
If authentication is required by a Window Active Directory server, then the following properties must be
defined in the global.configuration.properties file:
Property
Description
security.cas.ldap
security.cas.ldap.host
security.cas.ldap.port
security.cas.ldap.base.dn
security.cas.ldap.user
search_user@bank.domain.com
security.cas.ldap.password
security.cas.ldap.search.base
security.cas.ldap.search.filter
The search string to use. This must be compatible with the template
specified previously. Which is:
(&(sAMAccountName={0})(objectclass=user))
Note: The email format for users is not required when adding users or logging in.
The database creation script for the global application database has a pre-defined user called
SUPERVISOR. To set up other users you can do one of the following:
Configure the application not to use LDAP to start with, and add at least one user that is already
defined in the domain and make them a Security Officer. LDAP can then be enabled, and the new
user used to set up all of the others
Add SUPERVISOR to the active directory before first logging in with LDAP enabled
Update the creation script to change SUPERVISOR to a user already defined in the active directory
domain. The application can then have LDAP enabled.
PRE-AUTHENTICATION - X509
If authentication via client certificates is required (using smart cards for instance), then the configuration
relies on the HTTP server (or HTTP component of a single application server) being set to enforce client
certificates, and also to be responsible for checking that the certificate presented is not on a revocation list.
When the user access the application, the certificate is extracted from an HTTP header, and using a
configured regular expression, the user id is identified.
Configuration
In the global.configuration.properties file, the following properties are set:
Property
Description
security.x509
security.x509.regexp
This property represents the regular expression required to extract the user
id. The default expression is CN=(.*?)$, which extracts the content of the
last CN= component at the end of the name sequence
18
TI Plus
Installation Guide v1.1
PRE-AUTHENTICATION - GENERAL
If your network infrastructure relies on proxy servers to verify all HTTP access is authenticated, then the
configuration relies on the users user id being added as an HTTP header.
In this configuration, all authentication is expected to be performed before access to the application is
permitted. By default all access is assumed to be over HTTP. It is possible to fore all access to be via
HTTPS.
Configuration
In the global.configuration.properties file, the following properties are set:
Property
Description
security.preauth
...preauth.https
...preauth.principal.header
The name of the HTTP header that will contain the user id.
...preauth.credentials.header
Note: Note that the property names have had the security prefix omitted for readability.
RE-AUTHENTICATION
It is possible to configure TI Plus to require the user to re-enter their password when processing a
transaction after it has been input. Details of this functionality can be found in the System Tailoring Guide.
The re-authentication process is currently only supported when using the CAS single-signon configuration.
Note that when using this facility, it is necessary to control how the session cookies used by each application
are processed - keeping them separate for the global and tiplus2 applications.
Configuration
In the global.configuration.properties file, the following properties are set:
Property
Description
security.reauthenticator
security.reauthenticator.cas
19
TI Plus
Installation Guide v1.1
Database connections
Apart from message driven beans, the mapping of JNDI resources from a local name to a global name is not
defined in application deployment descriptors. This operation is performed on demand.
When defining JNDI resources, each application server (WebSphere, WebLogic and JBoss) have different
ways of targeting JNDI resources. For WebSphere, JNDI names can be defined at the Cell, Node, Cluster or
Server level, and when a resource is looked up, these levels are checked in order of specific (Server) to
general (Cell). So it is possible to define different resources with the same name for different servers.
WebLogic allows targeting of resources to particular servers or clusters, while JBoss expects all appropriate
resources to be defined for each server deployment.
Since it is possible to deploy multiple tiplus2 application instances to the same server (each accessing a
different zone), there also needs to be a mechanism for being able to provide different resources of the same
JNDI identifier in the same server.
JNDI PATTERNS
To be able to provide a local to global mapping facility that can work at a lower level than a particular server,
then JNDI patterns can be specified that at runtime will be used to resolve to the global JNDI name.
A JNDI identifier is made up of a category and name for instance jdbc/zone where jdbc is the category,
and zone is the name. The category is used to locate the pattern to be used. Patterns are defined in the
jndi.resource.locator.properties file.
Given a local JNDI name for instance jdbc/zone, then the following properties are checked in order until
one is encountered:
jndi.jdbc.zone
jdbc.pattern
jndi.pattern
${deployment}
${zone}
${category}
${name}
The simplest of patterns is ${category}/${name} which simply maps the local name to be the global
name.
Configuration
A master.jndi.resource.locator.properties file is supplied with default patterns for the different
application servers. Copy or rename this file to be jndi.resource.locator.properties. Uncomment
the properties for the relevant application server where the properties have values.
For instance for WebLogic, uncomment the appropriate jndi.pattern property only.
For JMS-based resources, though it is possible to use ${zone} as a parameter it is more appropriate to use
${deployment} instead. Especially as this property file is used when creating the deployment descriptors
for message driven beans.
20
TI Plus
Installation Guide v1.1
jdbc/dlzone for access to the zone application database for departmental limits
for the global connection pool, configure twice the number of expected concurrent users
for the zone connection pool, configure twice times the number of concurrent users and add twice
the number of async framework slots.
JMS RESOURCES
JMS resources are discussed in subsequent chapters.
21
TI Plus
Installation Guide v1.1
Ad-hoc reporting
End of day
The framework is an independent generic facility that the tiplus2 application makes use of and provides
function-specific enquiries to provide monitoring and control. There is also a generic lower-level enquiry that
provides access to some repair features not available at the functional level.
These rules can be applied at two levels at the zone level, or within a named stream. If a sequential job
needs to start at the zone level, then no other parallel or sequential job can already be running either at the
zone level or within a named stream. A sequential job can start in a named stream if no sequential job is
running at the zone level, and no other sequential or parallel job is running in the named stream.
There is a limit to the number of jobs that can be run at once. This is controlled via tuning parameters
defined in the global application for the deployment. When a deployment is defined in the global application,
a single tuning parameter is creating defining the total number of slots available for the async framework in
that deployment.
A slot represents a running step. By default the minimum number of slots a job can use is 1. So the default
tuning parameter provides the maximum number of jobs that can run at once inside a deployment. There are
other tuning parameters that may be set available:
Maximum number of slots for a particular job in a particular zone and optionally a particular stream
Maximum number of instances of a named parallel job that can run at the same time
Maximum number of named steps within a job that can run in parallel
As jobs start, they are allocated an equal share of available slots unless they are capped by the tuning
parameters by name. Some jobs only require a single slot as they are made up of one or more sequentially
running steps. In which case when they are initiated, they declare they are single stream. This then is taken
into account when sharing out the remaining slots.
The maximum number of slots at the zone level is really to limit the number of jobs that can be started for a
zone. So if there is a tuning parameter that sets the maximum number of slots for the zone to 5, then it will
limit the number of jobs that can be started not cap the number of slots for the zone. So if there are three
jobs running already each requiring a minimum of 1 slot, two more of the same type could be started
before jobs would have top wait until a running job finishes. If the number of slots defined at the deployment
level is 10, then the 5 jobs would run with 2 slots each.
The sequence in which steps for a job run, is based on a steps dependency. Steps with no dependency are
run first and as they complete, steps that are dependent on them are eligible to run. These steps are then
run in turn until there are no more steps left to run.
22
TI Plus
Installation Guide v1.1
Steps can go into a waiting state, which means that after the call to the step object completes, the object is
thrown away, and a timer is set to a configurable period. After this period is complete, the step is re-created
and called to check if the step can complete. This mechanism is only used where the purpose of a step is to
initiate something, and then wait until it is complete.
If a step needs to be re-attempted at a later time, it can ask for the job to be postponed for a period of time.
Once that time is reached, the job is eligible to be restarted from where it left off.
The difference between the two features is that for waiting steps, the job is still executing, and may be
preventing other jobs from running.
Configuration
In the tiplus2.configuration.properties file, the following properties can be set:
Property
Description
monitor.period
transfer.postpone.period
JMS QUEUES
Jobs and steps are processed by messages sent to JMS queues. There are three main queues:
The job lifecycle queue deals with initiating jobs, allocating slots to them and marking them as complete. The
job execution queue handles all messages to do with executing and completing steps, and managing which
steps should be executed next. The step execution queue handles messages to do with executing business
functionality.
Both the job lifecycle and job execution queues are fully transactional, so they may be configured with a
number of retries before being delivered to a fourth dead message queue. The step execution queue is not
fully transactional, however repair facilities are available to retry or bypass steps that have not completed
successfully.
Configuration
The JNDI names for the queues are:
queue/JobLifecycleQueue
queue/JobExecutionQueue
queue/StepExecutionQueue
queue/DeadMessageQueue
jms/QueueConnectionFactory
23
TI Plus
Installation Guide v1.1
SPLIT DEPLOYMENT
Ordinarily, the async framework is deployed along with the rest of the tiplus2 application. A drawback of this
is that users accessing the system are competing for resources with these long running processes.
It is possible to deploy the async framework as a standalone application which can then be sized and
controlled independently from the rest of the application. The remaining tiplus2 application only requires
access to the JMS server used by the standalone deployment, and references to the job lifecycle and job
execution queues. The remaining queues are used by the async framework alone.
Configuration
In the tiplus2.configuration.properties file, the following properties can be set:
Property
Description
deployment.split
When the applications are assembled, if this property is set, this configuration will generate two enterprise
archives. One with the same name as usually expected, and the second ending with -async.
USER IDENTIFICATION
Jobs that are processed through the async framework will adopt a common user id. This is to focus the
security features for users on allowing to jobs to be initiated rather than what the jobs actually do.
Configuration
In the tiplus2.configuration.properties file, the following properties can be set:
Property
Description
DefaultBatchUser
The user specified in this property will be used as the default user for async jobs
24
TI Plus
Installation Guide v1.1
These notifications are transactional in nature, so if status changes are rolled back, these notifications are
also rolled back.
NOTIFICATIONS
Notifications once generated are handled by a message driven bean and can be published as
Notifications.All service request messages.
Since notifications are informational in nature, it is possible to publish them using a JMS topic, rather than
queue see later section on service access.
Configuration
In the tiplus2.configuration.properties file, the following properties can be set:
Property
Description
service.access.notification.async.job.status
service.access.notification.async.step.status
service.access.notification.event.step.status
A JMS queue is required to trigger transaction-based notifications. So where a transaction is rolled back, the
notifications will be as well.
The queue must be configured so that a number of delivery attempts are made. If those are exceeded, it
must be configured to use the dead message queue defined as part of the async framework.
The JNDI name for the queue is:
queue/NotificationQueue
The JMS queue connection factory is the same as the async framework:
jms/QueueConnectionFactory
25
TI Plus
Installation Guide v1.1
APIStubs a test-only facility to allow familiarisation with setting up message formats for service
access
EJB A stateless session bean made available for remote access for using services provided by TI
Plus
Plain JMS incoming and outgoing service access using XML messages via JMS where responses
are not required
Pseudo-Synchronous JMS incoming and outgoing service access using XML messages via JMS
with the ability to set a reply queue
JMS Equation interface a pre-configured set of queues and resources for interfacing to one or
more Equation units
JMS TPI a pre-configured set of queues and resources for interfacing to one or more instances of
the Misys Trade Portal Interface
JMS Watch List Checker - a pre-configured set of queues and resources for interfacing to one or
more instances of a Watch List Checker system such as Misys Trade Watch
APISTUBS
This is a test facility that allows the familiarisation of sending messages into TI Plus and providing
responses to messages originating from TI Plus.
With this enabled, three tables are created in the zone database APISERVER, APICLIENT and
APIRESPONSE.
The APISERVER table is checked for periodically to see if there are any messages to be sent into TI Plus.
Once processed, the item is updated with the response received.
Whenever a service request is made from TI Plus, the request message is stored in the APICLIENT table,
and the details of the request are used to match an entry in the APIRESPONSE table in order to send back a
targeted service response.
A client data entry utility is available in the /sdk/tools/apistubs distribution folder. For more details
refer to the TI Plus SDK Systems Interfacing Guide.
Configuration
In the tiplus2.configuration.properties file, the following properties can be set:
Property
Description
service.access.apistubs
...apistubs.db.url
...apistubs.db.user
User id
...apistubs.db.password
Plain text password for the user (this is not expected to be configured in the
production environment)
...apistubs.db.schema
The name of the schema where the apistubs tables will be created
26
TI Plus
Installation Guide v1.1
EJB
A stateless session bean called EnigmaServiceAccess is available to be called to pass an XML message
as a parameter, and receive the response on return.
The EJB is supplied in the com.misys.tiplus2.service.access-ejb.jar file, which can be used as
the remote client jar file as well. Note that this file does not contain stubs and ties for the EJB as these are
application server specific. Please generate these using the utilities appropriate to the application server you
are using.
Configuration
In the tiplus2.configuration.properties file, the following properties can be set:
Property
Description
service.access.ejb
Uncomment this property to enable the EJB remote access facility. Note that
if this is not set, the EJB is not included in the assembly
PLAIN JMS
Plain JMS service access allows both incoming and outgoing service requests. This service access must
only be used where a response to the service request is not required.
Incoming and outgoing queue names are derived from queue name prefixes defined in the configuration. For
each incoming queue, the JNDI name of queue/<prefix>Incoming will be used. For each outgoing
queue, the JNDI name of queue/<prefix>Outgoing will be used. For each unique queue name prefix,
the JNDI name of jms/<prefix>QueueConnectionFactory will be used for the respective queue
connection factory.
For outgoing service requests, it is unlikely that all outgoing requests will be handled by the same interface.
So it is possible to list the service operation identifiers whose service requests are to be sent to the
corresponding queue.
As part of the global processing facilities, it is possible to interact with multiple external systems that provide
the same role for different parts of the branch hierarchy defined in the zone. For instance, there may be
multiple main banking entities, each of which will require interfacing to its own general ledger system.
Service request messages identify the target system as part of their request header which is available to
the middleware to enable routing the request to the correct system.
However if you simply want to assign a particular queue to a particular system, then prefix the service
operation identifiers with the name of the external system defined in TI Plus.
Configuration
In the tiplus2.configuration.properties file, the following properties can be set:
Property
Description
service.access.jms
service.access.jms.plain
...plain.server.queues
...plain.client.queues
...plain.client.services
This property defines which service operations use which queue prefix when
sending service requests (see below)
...plain.client.xa
27
TI Plus
Installation Guide v1.1
PSEUDO-SYNCHRONOUS JMS
Pseudo-synchronous JMS service access is similar to plain JMS access, except that messages sent can
wait for responses. Similarly if messages received contain a reply to queue, then the response is sent to that
queue.
When a message is sent, a reference to a reply queue and a correlation id is placed in the JMS header of
the JMS message. The interface then reads from the reply queue for messages that contain the correlation
id. The read from the reply queue is performed for a configured time period, and if the response is not picked
up, a response will be returned with a status of UNAVAILABLE.
It is the responsibility of the receiving interface to send the reply to the specified queue with the correlation
id. Also, the message should have a time to live attribute set to the same value as the timeout. This means it
will be removed from the queue automatically, and so there will not be a build-up of slow response
messages on the reply queue.
It is also possible to define a simple transformation of request and response messages. See the Interface
Services Guide for more details.
As for plain JMS, incoming and outgoing queue names are derived from queue name prefixes defined in the
configuration. For each incoming queue, the JNDI name of queue/<prefix>Incoming will be used. For
each outgoing queue, the JNDI name of queue/<prefix>Outgoing will be used. The JNDI name for the
reply queue queue/<prefix>OutgoingReply For each unique queue name prefix, the JNDI name of
jms/<prefix>QueueConnectionFactory will be used for the respective queue connection factory.
For purely outgoing messages that dont require responses, it is possible to publish them via topics.
The cross reference of service operations to queue prefix names works in the same way as for plain JMS.
Configuration
In the tiplus2.configuration.properties file, the following properties can be set:
Property
Description
service.access.jms
service.access.jms.sync
...sync.server.queues
...sync.server.transform
...sync.server.timetolive
...sync.send.client.queues
TI Plus
Installation Guide v1.1
Property
Description
response
...sync.send.client.topics
...sync.send.client.transform
...sync.sendrecv.client.queues
...sync.sendrecv.client.transform
...sync.sendrecv.timeout
...sync.client.services
...sync.xa
Configuration
In the tiplus2.configuration.properties file, the following properties can be set:
Property
Description
service.access.jms
service.access.jms.eqi
...eqi.enquire.priority
TI Plus
Installation Guide v1.1
Property
Description
...eqi.enquire.timeout
...eqi.transfer.priority
...eqi.transfer.timeout
...eqi.swift
Target queue
queue/eqEnquireOutgoing
TIPLUS2.BO.ENQUIRY
queue/eqEnqureOutgoingReply
TIPLUS2.BO.REPLY
queue/eqTransferOutgoing
TIPLUS2.BO.TRANSFER
queue/eqTransferOutgoingReply
TIPLUS2.BO.REPLY
queue/eqSwiftOutgoing
TIPLUS2.BO.TRANSFER
queue/eqIncoming
TIPLUS2.BO.REPLICATION
jms/eqEnquireQueueConnectionFactory
jms/eqTransferQueueConnectionFactory
jms/eqQueueConnectionFactory
Configuration
In the tiplus2.configuration.properties file, the following properties can be set:
Property
Description
service.access.jms
service.access.jms.tpi
...tpi.xa
Set to yes to enable the use of XA when writing messages to the queue
...tpi.systems
This property must be set if there are more than one corporate access
systems defined. For those systems that correspond to instances of MTP, then
this property must contain a comma separated list of their identifiers
...tpi.client.services
TI Plus
Installation Guide v1.1
The JNDI resources generated for the trade portal interface are:
queue/meridian<system>Outgoing
queue/meridian<system>Incoming
jms/meridian<system>QueueConnectionFactory
Configuration
In the tiplus2.configuration.properties file, the following properties can be:
Property
Description
service.access.jms
service.access.jms.wlc
...wlc.xa
Set to yes to enable the use of XA when writing messages to the queue
...wlc.systems
This property must be set if there are more than one watch-list check
systems defined. For those systems that correspond to instances of watchlist checker systems, then this property must contain a comma separated
list of their identifiers
...wlc.client.services
USER IDENTIFICATION
When the TI Plus software needs to use an external service, it will adopt a nominated user id representing
TI Plus in the system being accessed. The expectation is that TI Plus is controlling when it is appropriate for
the TI user to access the external service, and so it will not be necessary to restrict the service use based on
the individual TI users.
Configuration
In the tiplus2.configuration.properties file, the following property can be set:
Property
Description
DefaultServiceUser
For outgoing service requests, this user id is used to represent service access
from TI Plus
31
TI Plus
Installation Guide v1.1
Configuration
In the tiplus2.configuration.properties file, the following property can be set:
Property
Description
override.no.split.bulk.message
Configuration
In the tiplus2.configuration.properties file, the following property can be set:
Property
Description
service.access.split.batch
32
TI Plus
Installation Guide v1.1
CROSS-ZONE REBROADCASTER
Global Server
Global application deployment
Rebroadcaster
c
Incoming
d1
TI1Broadcast
h1
h2
BroadcastReply
d2
TI2Broadcast
i
b
OutgoingReply
Outgoing
e1
g1
Incoming
f1
g2
e2
Incoming
Outgoing
OutgoingReply
f2
Zone 1 Access
Zone 2 Access
TI1 Server
TI2 Server
The difference between them is the first will send the same request to all zones the user is authorised to that
are online, whereas the second contains a set of zone-based requests that are split into zone-specific
requests. This may be a subset of zones that the user is authorised to.
33
TI Plus
Installation Guide v1.1
As responses are received, the data is aggregated using the original sort sequence requested. Each zone
request is limited to return a maximum number of rows. This limit will also be applied to the aggregated
response.
The use of this facility relies on the pseudo-synchronous JMS facility.
Configuration
In the global.configuration.properties file, the following properties are set:
Property
Description
use.cross.zone.dashboard
cross.zone.dashboard.useXA
cross.zone.dashboard.timeout
34
TI Plus
Installation Guide v1.1
CHAPTER 13 MISCELLANEOUS
UI CUSTOMISATION
The tiplus2 application user interface can be customised to allow literals to be translated, and screen
controls to be suppressed where not used. These facilities are defined by XML files.
With the workflow orchestration features of the application, it is possible to introduce new Log steps. Since it
may be preferable to show different sets of fields for different log steps, it is now possible for a Log step to
allow all fields to be entered equivalent to an Input step.
To provide Log step pages similar to what was available previously, a set of XML files are included. These
files will be used during application assembly by default. They are located in the
/software/components/modules/ui/conf/log folder.
When configuring the system to use these features, it is necessary to be able to see the effects of
translation, or control suppression quickly. So, for each facility, it is possible to specify the XML file (or folder
in the case of UI control files) and a reload period. This allows the files to be updated and reloaded every so
often. The minimum period is 15 seconds.
Once they are defined, these files can be placed in the appropriate folders:
/software/components/modules/ui/conf/literals
/software/components/modules/ui/conf/fragments
and they will be included in the tiplus2 deployment.
In the tiplus2.configuration.properties file, the following properties can be set:
Property
Description
ui.customisation
...show.page.context
...literals.file
Location of the literals XML file when complete this will be the
name of the file with classpath: as a prefix this will be
copied from the
/software/components/modules/ui/conf/literals
folder
...literals.reload
...fragments.exclude.log.steps
...fragments.merge
...fragments.file
...fragments.reload
35
TI Plus
Installation Guide v1.1
Note:
1. Note that ui.customisation has been omitted to improve readability.
2. Also, if the fragments location is set to a folder during fragments configuration, the log step files will not
be included, and must be copied to the folder if they are required.
3. If a folder is being monitored, then it must contain at least one file, and not become empty while the
application is running, as the monitoring will cease.
Description
override.document.window.recording
It is also possible to override how the javascript functions that control how the windows are opened and
closed. For more information refer to the TI Plus SDK Application Extension Guide.
AMOUNT IN WORDS
The TI Plus software has the facility to edit a monetary amount as words. The algorithm used has some
options that can be varied:
Add a phrase to the end of the amount if it is a whole number of major currency units
Description
override.sayas.minor.units.description
override.sayas.whole.number.suffix
override.sayas.negative.amount.prefix
override.sayas.use.fractions
36
TI Plus
Installation Guide v1.1
Description
override.watermark.colour
override.watermark.font.name
override.watermark.font.size
override.watermark.rotation
Description
HelpTextURL
The URL of help text folder that is the parent of the locale folder
ERROR DISPLAY
When an unexpected error is encountered, the Error page shows as much information as it can. This is
useful during acceptance testing to quickly diagnose the issue. However in a production environment it may
be preferable to suppress the diagnostic information on the page (though it will still be logged).
The following property may be set in the global.configuration.properties file:
Property
Description
ShowSummaryErrorDetails
LOCAL MODULE
In the /components/modules folder, there is a /local folder reserved for local overrides to the assembly
process. Sample build-global.xml and build-tiplus2.xml scripts are supplied that illustrates some
of the facilities available. These include:
It is also possible to include an EJB jar file in the application see the build-tiplus2.xml script in the
/ejb-service-access module as an example.
For more information see the Interface Services Guide
37
TI Plus
Installation Guide v1.1
Description
local.overrides
Create the CSV import and export folders /tiplus2/csv/import and /tiplus2/csv/export
Description
override.max.keep.alives
override.keep.alive.interval
With the default settings, the browser will keep the user's session alive for 10 minutes before their session
timeout will re-activate. So if the session timeout is set to 20 minutes, it will be effectively extended to 30
minutes while editing document fields with these settings.
38
TI Plus
Installation Guide v1.1
Description
FROM:
TO:
CC:
BCC:
SUBJECT:
TEXT:/HTML:
During testing, the TO: field should be set to a hard-wired e-mail address so test documents are not
inadvertently sent to a customer. Alternatively make sure that the SMTP server used is not able to forward emails outside of the banks network.
To enable the handler add the following property to the tiplus2.configuration.properties file:
Property
Description
override.use.email
In the application server administration console, configure a mail session resource with a JNDI name of
mail/zone. Only details for outgoing mail needs to be configured.
FTP Attempts
Where a resource is to be transferred via FTP, it is possible to specify the number of attempts that are to be
made before the transfer is considered a failure. Set the property resource.ftp.handler.attempts to
the number required. The default value is 3.
39
TI Plus
Installation Guide v1.1
Using CMS
CMS by default will only accommodate attachments of 1MB for DB2 and 10MB for Oracle. It is up to the
users to change this by applying the alter command below.
For DB2
ALTER TABLE CMS_ITEM ALTER COLUMN ITEM set data type blob(XXX)
For Oracle
ALTER TABLE CMS_ITEM MODIFY BLOB (ITEM) (STORAGE (NEXT XXX))
Where XXX is the size you want e.g. 10M for 10 MB, 1G for 1 GB
40
TI Plus
Installation Guide v1.1
Description
Invoker binding
Resource adapter
See later section detailing how to configure JBoss to use WebSphere MQ.
41
TI Plus
Installation Guide v1.1
42
TI Plus
Installation Guide v1.1
Create a backup of the fonts folder. By default this folder will contain a set of Lucida-based fonts.
The first line of this file declares the number of lines following it.
This must be increased by the number of lines declared on the first line of the fonts.scale file
already located in the folder
So if the first line of fonts.dir is 80, this must be increased by the equivalent number on the first
line of the fonts.scale file - currently 509 - so in this example it would become 589. The rest of
the fonts.scale file after the first line then needs to be copied to the end of the fonts.dir file.
Note this file must be saved in a unix format - so the merge should be performed in a text editor on
the target machine.
43
TI Plus
Installation Guide v1.1
INITIAL CONFIGURATION
EJBDeploy (WebSphere 7 Only)
While the TI Plus software does not have many EJBs, there are quite a number of jar files, that may cause
the ejbdeploy tool to run out of memory when trying to install an instance of the tiplus2 application.
To remedy this, the memory setting for the tools can be increased by editing the following file:
<install>/WebSphere/AppServer/deploytool/itp/ejbdeploy.bat
Note if you are running on AIX, this would be ejbdeploy.sh.
In the file, look for the JAVA_CMD variable, and find the Xmx parameter for maximum heap size, and
increase it. The value of 512m will be enough.
JDBC CONFIGURATION
JDBC resources can be set up from the Resources->JDBC->JDBC Providers and Resources->JDBC->Data
sources links.
Only jdbc/global is required for the global application, whereas all jdbc resources are required for the
tiplus2 application deployment servers.
If you are using DB2, then for each datasource, select the Custom properties link, and set the
webSphereDefaultIsolationLevel to 2 (Read Commited).
JMS CONFIGURATION
The areas of the application that use JMS are:
Service Access
Cross-zone dashboard
Add the server to the bus using the Bus members link. Note it will be necessary to restart the server
before installing the TI Plus software to allow the bus member to start
44
TI Plus
Installation Guide v1.1
Add the async framework queues to the bus using the Destinations link:
JOB.LIFECYCLE.QUEUE
JOB.EXECUTION.QUEUE
STEP.EXECUTION.QUEUE
NOTIFICATION.QUEUE
DEAD.MESSAGE.QUEUE
For the job lifecycle, job execution and notification queues, edit their definitions, and change the
Exception destination details. Specify the DEAD.MESSAGE.QUEUE as the target, and the Maximum
failed deliveries per message as 5.
Create the JMS resources for the server, starting with a queue connection factory using the
Resources->JMS->Queue connection factories link, selecting the bus name, and using the JNDI
name jms/QueueConnectionFactory
Create five Queues using the Resources->JMS->Queue link, specifying the appropriate JNDI name,
and selecting the relevant destination queue from the bus. The JNDI names are:
queue/JobLifecycleQueue
queue/JobExecutionQueue
queue/StepExecutionQueue
queue/NotificationQueue
queue/DeadMessageQueue
Create five Activation specifications to map the queues to the message driven beans that use them,
using the Resources->JMS->Activation specifications link. The JNDI names to use are
listener/<queue name>. Associate them with the respective queues
If a split deployment is configured, then the steps described correspond to the async framework server. For
the user access server, the only resources that need to be set up are the connection factory, and queue
resources for the job lifecycle, job execution and notification queues.
As far as other JMS resources are concerned, both the user access and async framework servers need to
be configured in the same way unless otherwise stated.
Service Access
JMS Service access is usually configured using an external JMS provider, such as WebSphere MQ. This
section describes how to configure MQ to be used with WebSphere. The example used to describe the
configuration is for the TPI interface whose JNDI resources are:
queue/meridianIncoming
queue/meridianOutgoing
jms/meridianQueueConnectionFactory
Note that is possible to link WebSphere MQ to a service bus. If this is the case, then follow similar steps to
the async framework, as the relevant queues will appear as bus-located resources. In this circumstance, you
can also use the WebSphere specific configuration option to use activation specifications, rather than listener
ports which are described below.
45
TI Plus
Installation Guide v1.1
Click New, select WebSphere MQ messaging provider as a provider then click OK.
Value
Name
MeridianQCF
JNDI Name
jms/meridianQueueConnectionFactory
Select Enter all the required information into this wizard and click Next.
Value
Transport
Client
Hostname
Port
SYSTEM.DEF.SVRCONN
Configuring Queues
In the navigation tree, click the link Resources->JMS-> Queues and set the appropriate scope.
Click New and select WebSphere MQ messaging provider as a provider then click OK.
Value
Name
MeridianIncomingQ
JNDI Name
queue/meridianIncoming
Queue name
TI.GWY.IN.<N>
Queue manager
Select the queue and click on WebSphere MQ connection properties. Enter the following and click
OK and then on the Save link
Field
Value
SYSTEM.DEF.SVRCONN
Repeat the steps above for the outgoing queue with following details:
Field
Value
Name
MeridianOutgoingQ
JNDI Name
queue/meridianOutgoing
Queue name
TI.GWY.OUT.<N>
46
TI Plus
Installation Guide v1.1
Field
Value
Name
listener_meridianIncoming
jms/meridianQueueConnectionFactory
queue/meridianIncoming
Cross-Zone Dashboard
For WebSphere, these queues are defined on a bus that has the global and each tiplus2 server as bus
members. If the same bus is used by the tiplus2 servers for the async framework queues, then simply add
the global server as a destination, otherwise create a new bus and add all servers as bus members.
Global Server
Global application deployment
Rebroadcaster
Bus
Incoming
TI1Broadcast
REBROADCASTER.INCOMING
Outgoing
TI2Broadcast
REBROADCASTER.REPLY
TI1.ENQUIRY.INCOMING
TI1.ENQUIRY.REPLY
OutgoingReply
BroadcastReply
TI2.ENQUIRY.INCOMING
Incoming
Incoming
TI2.ENQUIRY.REPLY
Outgoing
OutgoingReply
Zone 1 Access
Zone 2 Access
TI1 Server
TI2 Server
The solid lines are JNDI mappings, whereas the dashed lines are references due to the queue being defined
as the reply-to attribute on an originating message in these cases no JNDI mapping is required.
The following steps assume you are creating a new bus, and that there are two zones - AMERICA
(deployment TI1) and EUROPE (deployment TI2).
Create a Bus called TIDashboard from the Service integration->Buses link
Add the global and tiplus2 servers to the bus using the Bus members link
Add the following queues using the Destinations link, referencing the relevant bus member as appropriate:
Queue name
Bus member
REBROADCASTER.INCOMING
Global server
REBROADCASTER.REPLY
Global server
47
TI Plus
Installation Guide v1.1
Queue name
Bus member
TI1.ENQUIRY.INCOMING
TI1 server
TI1.ENQUIRY.REPLY
TI1 server
TI2.ENQUIRY.INCOMING
TI2 server
TI2.ENQUIRY.REPLY
TI2 server
Create the following connection factories, queues and activation specifications from the Resources->JMS> links
For the global application server:
jms/QueueConnectionFactory
jms/enquiryQueueConnectionFactory
jms/enquiryQueueConnectionFactory
When the EAR files are deployed, the message driven bean mapping for the Incoming queue will default to
a listener port being defined.
This needs to be overridden to use an activation specification as referred to in the previous chapter. Add the
following to the tiplus2.configuration.properties file:
override.enquiryincoming.use.websphere.activation=Y
48
TI Plus
Installation Guide v1.1
Set Class loader order to be Classes loaded with local class loader first (parent last)
Set War class loader policy to be Single class loader for application
Enter the domain and path from the URL used to access the global application
49
TI Plus
Installation Guide v1.1
INITIAL CONFIGURATION
Shared Libraries
Before installing the TI Plus software, two shared libraries must be installed
Select to Install this deployment as a library option and target the servers the applications are going
to be installed to.
JDBC CONFIGURATION
JDBC resources can be set up from the Services->JDBC->Data Sources link.
The jdbc/global datasource must target all servers, whereas the zone-based datasources need only
target the tiplus2 application servers.
If you are using Oracle as your DBMS, make sure on the Connection Pool tab under the Advanced link, the
check box for Remove Infected Connections Enabled is unchecked. If this is enabled, then connections will
be created and destroyed continually, negating the advantage the connection pool provides. The TI Plus
software access the Oracle connection directly in order to provide more robust CLOB/BLOB handling so
the connections are fine to be reused.
Do not set an XA transaction timeout on the JDBC resource let it default to the JTA timeout.
If you are using DB/2, make sure that the option Keep Connection After Local Transaction is not set.
Both of these settings can be found on the Transaction tab of the JDBC resource.
JMS CONFIGURATION
The areas of the application that use JMS are:
Service Access
Cross-zone dashboard
Create a JMS server using the Services->Messaging->JMS Servers link. Target the server that the
tiplus2 application will be deployed to.
50
TI Plus
Installation Guide v1.1
From the Configuration tab of the JMS Module, add the queues and connection factory linking them
to the subdeployment:
jms/QueueConnectionFactory
queue/JobLifecycleQueue
queue/JobExecutionQueue
queue/StepExecutionQueue
queue/NotificationQueue
queue/DeadMessageQueue
Note: Note that when creating the queue connection factory, make sure that the XA Connection Factory
Enabled field on the Transactions tab is checked.
If you are creating a split deployment, then these steps apply to the async server. The user access server
needs to reference the JMS server just defined as a Foreign Server. Only the connection factory and the job
lifecycle, job execution and notification queues need to be included in the foreign server definition.
As far as other JMS resources are concerned, both the user access and async framework servers need to
be configured in the same way unless otherwise stated.
Service Access
JMS Service access is usually configured using an external JMS provider, such as WebSphere MQ. This
section describes how to configure MQ to be used with WebLogic. The example used to describe the
configuration is for the TPI interface whose JNDI resources are:
queue/meridianIncoming
queue/meridianOutgoing
jms/meridianQueueConnectionFactory
Note: The username is defined because the WebSphere MQ server will only grant access to a valid user
defined on the machine that the MQ Server is running.
51
TI Plus
Installation Guide v1.1
Click on the Services->Messaging->JMS Modules link. Click on the JMS module for the tiplus2
server
Click the New button, select the Foreign Server radio button, and then click the Next button. Give the
Foreign Server a name and click the Next button. Ensure that the targeting is set to the
subdeployment click the Finish button.
Click on the newly created resource, and enter the following value in the JNDI Initial Context Factory
textbox:
com.ibm.mq.jms.context.WMQInitialContextFactory
Then enter the following value into the JNDI Connection URL textbox:
<JMS-Server-hostname>:<queuemanager-port>/SYSTEM.DEF.SVRCONN
Click Save.
Create Destinations
In the JMS Foreign Server, select the Destinations tab, and for each queue
Click the New button to create a new Foreign Destination.
Give the destination a Name, a Local JNDI Name, and a Remote JNDI Name. Finally, Click OK.
The following queues should be defined.
Local JNDI name
queue/meridianIncoming
TI.GWY.IN.<N>
queue/meridianOutgoing
TI.GWY.OUT.<N>
Note: The Remote JNDI Name must match the name given to the queue created within the WebSphere MQ
Server.
Create Connection Factories
In the JMS Foreign Server, select the Connection Factories tab.
Give the foreign connection factory a Name, a Local JNDI Name, and a Remote JNDI Name. Finally,
Click OK.
Field
Value
jms/meridianQueueConnectionFactory
TIMQMGR
Note: Ensure that the username and password fields on the Foreign Connection Factory are left blank as
this will cause problems.
52
TI Plus
Installation Guide v1.1
Cross-Zone Dashboard
The approach for the cross zone dashboard configuration for WebLogic is to have a single JMS server on
the global application server that hosts the queues, and the zone applications treat that JMS server as a
foreign server. The names of the resources referred to below are suggestions, however any JNDI name
specified must be used.
Global Server
Global application deployment
Rebroadcaster
JMS Server
Incoming
TI1.ENQUIRY.REPLY
TI1Broadcast
OutgoingReply
TI2.ENQUIRY.REPLY
BroadcastReply
TI2Broadcast
Outgoing
OutgoingReply
Incoming
Incoming
IncomingResponse
IncomingResponse
Outgoing
Zone 1 Access
Zone 2 Access
TI1 Server
TI2 Server
The dotted lines for queues indicate they are placeholders for the actual queues that reside in the global
JMS server. The following steps assume that there are two zones - AMERICA (deployment TI1) and EUROPE
(deployment TI2).
For the global application:
Create a JMS server called GlobalJMSServer using the Services->Messaging->JMS Servers link.
Target the server the global application will be deployed to.
Create a new JMS module called GlobalModule using the Services->Messaging->JMS Modules
link
Add a Subdeployment to the GlobalModule using the Subdeployments tab, targeting the
GlobalJMSServer
From the Configuration tab in the GlobalModule, add the following queues and connection factory,
linking them to the subdeployment
Resource name
Type
JNDI name
QueueConnectionFactory
Connection
Factory
jms/QueueConnectionFactory
REBROADCASTER.INCOMING
Queue
queue/rebroadcasterIncoming
REBROADCASTER.REPLY
Queue
queue/rebroadcasterOutgoingResponse
TI1.ENQUIRY.INCOMING
Queue
queue/ti1BroadcastIncoming
TI1.ENQUIRY.REPLY
Queue
queue/ti1BroadcastOutgoingResponse
TI2.ENQUIRY.INCOMING
Queue
queue/ti2BroadcastIncoming
TI2.ENQUIRY.REPLY
Queue
queue/ti2BroadcastOutgoingResponse
Note that the xxx.ENQUIRY.REPLY queues will not be accessed directly by the global application via these
JNDI names, however they will be used to link to the relevant zone JMS configuration.
53
TI Plus
Installation Guide v1.1
Create a new JMS module called TI1Module using the Services->Messaging->JMS Modules link
targeting the server that the AMERICA zone is to be accessed from
From the Configuration tab create a Foreign Server called GlobalForeignServer, setting the
JNDI Initial Context Factory to weblogic.jndi.WLInitialContextFactory and JNDI
Connection URL to t3://<global server>:<global http port>
Resource name
Local JNDI
Remote JNDI
Incoming
queue/
enquiryIncoming
queue/
ti1BroadcastIncoming
IncomingResponse
queue/
enquiryIncomingResponse
queue/
rebroadcasterOutgoingResponse
Outgoing
queue/
enquiryOutgoing
queue/
rebroadcasterIncoming
OutgoingReply
queue/
enquiryOutgoingReply
queue/
ti1BroadcastOutgoingResponse
Local JNDI
Remote JNDI
ConnectionFactory
jms/
enquiryQueueConnectionFactory
jms/
QueueConnectionFactory
54
TI Plus
Installation Guide v1.1
INITIAL CONFIGURATION
JBoss has the following folder structure:
Folder
Content
/bin
Control scripts
/client
/common/lib
/docs
/lib
/server
/server/all
/server/default
Default configuration
/server/xxx
To create an instance of an application server, then a server configuration folder must be used as a basis.
If clustering is required, start with /server/all, otherwise start with /server/default.
The name of the subfolder of /server will become the name of the server configuration for example
/server/global-server1 would represent an application server for running the global application.
Startup Scripts
To start an application server, create a script in the /bin folder called run-<config>.bat. (or run<config>.sh on Linux). The script should contain:
set RUN_CONF=C:\jboss\bin\run.<config>.conf.bat
run.bat -c <config> -b hostname
Where nn starts as 01. While the first configuration does not need to specify this each subsequent
configuration by specifying ports-nn has a set of port numbers offset by 100 x nn.
So, for instance the first configuration would use port 8080 for http. When specifying ports-01, this would
become 8180.
This script also contains the memory requirements for the application server, and so it must be set
accordingly.
If clustering support is required, make sure that all of the servers that are to be used in a cluster share the
same UPD IP number and that other application servers do not. This IP address is specified by setting the
jboss.partition.udpGroup property:
set JAVA_OPTS="%JAVA_OPTS% -Djboss.partition.udpGroup=228.11.11.12"
Those servers participating in the cluster must all specify the same IP address.
55
TI Plus
Installation Guide v1.1
Default Datasource
A JBoss application server has a default data source that is used for identity tracking, and the default JMS
implementation. It is pre-configured using hsqldb. Use a database created specifically for JBoss using your
chosen DMBS. Update the /server/<config>/deploy/default-ds.xml to reference the database
you nominate. All of the relevant tables will be created on demand.
Examples of this file are in /jboss/docs/examples/jca based on the DBMS used.
Setting up SSL
Create the folder /common/conf and open a terminal at this location.
To create a certificate for each application server, execute the following command for each configuration:
keytool -genkey -alias <mykey> -keyalg RSA -validity 3650 -keystore
mykeys.keystore
setting the <mykey> value to one that represents the configuration.
Also create a trust store with the certificates, by first exporting them:
keytool -export -alias <mykey> -keystore mykeys.keystore -file <mykey>.cer
and then importing them:
keytool -import -alias <mykey> -file <mykey>.cer -keystore mykeys.truststore
You will be prompted for password and identity information. When asked for first and last name, enter the
host name of the url associated with the application server.
Update the configuration of the embedded tomcat server to reference the certificates as follows:
Note that the keystoreFile attribute should reference the file using an absolute path.
Update the run.<config>.conf.bat file to reference the truststore by adding the following two lines near
the bottom:
set JAVA_OPTS="%JAVA_OPTS% -Djavax.net.ssl.trustStore=C:/jboss/common/conf/mykeys.truststore"
set JAVA_OPTS="%JAVA_OPTS% -Djavax.net.ssl.trustStorePassword=<password>"
JDBC CONFIGURATION
For each datasource a separate configuration XML file is required. Examples of the format of these files are
in the /jboss/docs/examples/jca folder based on the DBMS used. For example, the following
represents the definition of a DB2 global database:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<xa-datasource>
<jndi-name>jdbc/global</jndi-name>
<xa-datasource-class>com.ibm.db2.jcc.DB2XADataSource</xa-datasource-class>
<xa-datasource-property name="ServerName">host</xa-datasource-property>
56
TI Plus
Installation Guide v1.1
<xa-datasource-property name="DatabaseName">TIGLOBAL</xa-datasource-property>
<xa-datasource-property name="User">TRADEIN1</xa-datasource-property>
<xa-datasource-property name="Password">TRADEIN1</xa-datasource-property>
<xa-datasource-property name="DriverType">4</xa-datasource-property>
<xa-datasource-property name="currentLockTimeout">-1</xa-datasource-property>
<!-- Note, as opposed to the Type2 driver, DB2 Type 4 requires the PortNumber. By default
this is 50000-->
<xa-datasource-property name="PortNumber">50000</xa-datasource-property>
<!-- Must be set if using multiple DB2 XA resources in same transaction -->
<isSameRM-override-value>false</isSameRM-override-value>
<track-connection-by-tx/>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
<max-pool-size>50</max-pool-size>
<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml -->
<metadata>
<type-mapping>DB2</type-mapping>
</metadata>
</xa-datasource>
</datasources>
It is worth applying a naming convention for each datasource definition. For instance:
tiplus2-global-db2-jcc-xa-ds.xml
JMS CONFIGURATION
The areas of the application that use JMS are:
Service Access
Cross-zone dashboard
If you are setting up a split deployment, then this definition corresponds to the async framework server.
For the user access server, then only the JobLifecycleQueue, JobExecutionQueue and
NotificationQueue definitions are required though the re-delivery configuration is not required for
these definitions.
57
TI Plus
Installation Guide v1.1
To link these two queues to the async framework server, then a messaging bridge needs to be set up in the
user access server to push messages from the job lifecycle, job execution and notification queues to the
equivalent queues in the async framework server. This will require:
The details of this configuration are not shown here. Review the section on the cross-zone dashboard, and
base your configuration on that example. This scenario is simplified because there is only one-way traffic.
As far as other JMS resources are concerned, both the user access and async framework servers need to
be configured in the same way unless otherwise stated.
Service Access
JMS Service access is usually configured using an external JMS provider, such as WebSphere MQ. This
section describes how to configure MQ to be used with JBoss. The example used to describe the
configuration is for the TPI interface whose JNDI resources are:
queue/meridianIncoming
queue/meridianOutgoing
jms/meridianQueueConnectionFactory
58
TI Plus
Installation Guide v1.1
This will create and bind the remote connection factory and queues to the JBoss JNDI context.
In the wmq.jmsra-ds.xml file, define an <mbean> of the admin object for the incoming queue.
<mbean code="org.jboss.resource.deployment.AdminObject"
name="jboss.jca:service=WASDestination,name=meridianIncoming">
<depends optional-attributename="RARName">jboss.jca:service=RARDeployment,name='wmq.jmsra.rar'</depends>
<attribute name="JNDIName">queue/meridianIncoming</attribute>
<attribute name="Type">javax.jms.Queue</attribute>
<attribute name="Properties">
baseQueueManagerName=<value>
baseQueueName=TI.GWY.IN
</attribute>
</mbean>
Where:
Where:
The baseQueueManagerName <value> is the name of the remote WebSphere MQ queue manager.
59
TI Plus
Installation Guide v1.1
Where:
Set the port <value> of the WebSphere MQ queue manager. By default this is set to 1414.
Set the queueManager <value> to the name of the remote WebSphere MQ queue manager.
Finally, locate the jms-ds.xml file in the %JBOSS_HOME%/server/<tiplus2server>/deploy/messaging folder. In the <tx-connection-factory> definition for JmsXA, update
the property SessionDefaultType to be javax.jms.Queue.
To access the connection factory, you will need to add the following property to the
jndi.resource.locator.properties file.
jndi.jms.meridianQueueConnectionFactory=java:jms/meridianQueueConnectionFactory
Configure the Message Driven Bean
To link the message driven bean to the WebSphere MQ queue, add the following properties to the
tiplus2.configuration.properties file:
jboss.meridianIncoming.invoker.binding.name=message-inflow-driven-bean
jboss.meridianIncoming.resource.adapter.name=wmq.jmsra.rar
jboss.meridianIncoming.activation.config.useJNDI=true
jboss.meridianIncoming.activation.config.channel=SYSTEM.DEF.SVRCONN
jboss.meridianIncoming.activation.config.hostName=<value>
jboss.meridianIncoming.activation.config.port=<value>
jboss.meridianIncoming.activation.config.transportType=CLIENT
For more information, see the section on JBoss Integrating Other JMS Providers.
Cross-Zone Dashboard
For JBoss, each server will reference queues defined locally to that server, but the zone servers will also use
the JBoss Messaging Bridge facility to pass messages between servers. It is possible to define the bridge
definitions on either the global server or the zone server. In our case, it is more appropriate to set the bridge
definition on the zone server so messages are only pushed and pulled when the zone server is running.
Global Server
Global application deployment
Rebroadcaster
Incoming
Messaging Bridge
OutgoingReply
Incoming
Outgoing
IncomingResponse
BroadcastReply
TI2Broadcast
Local JMS
Pull
Push
Pull
TI1Broadcast
TI2.ENQUIRY.REPLY
Push
TI1.ENQUIRY.REPLY
Messaging Bridge
Incoming
IncomingResponse
OutgoingReply
Outgoing
Local JMS
Local JMS
Zone 1 Access
Zone 2 Access
TI1 Server
TI2 Server
60
TI Plus
Installation Guide v1.1
In order to use the JBoss Messaging Bridge facility, it is necessary to make sure that each JBoss messaging
server has a unique ServerPeerID value. To set this value, add a system property to each of the server
startup scripts:
JAVA_OPTS="$JAVA_OPTS -Djboss.messaging.ServerPeerID=<id>"
The value is simply a number starting from zero. Make sure each server has a unique number. In the
diagram, the dotted lines for queues are acting as staging queues that simply have their messages
transferred to another JMS server.
The following steps assume that there are two zones - AMERICA (deployment TI1) and EUROPE
(deployment TI2).
Global Application Server
In the global application, define a JMS queue connection factory with the JNDI name of
jms/QueueConnectionFactory:
<tx-connection-factory>
<jndi-name>jms/QueueConnectionFactory</jndi-name>
<use-java-context>false</use-java-context>
<xa-transaction/>
<rar-name>jms-ra.rar</rar-name>
<connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connectiondefinition>
<config-property name="SessionDefaultType"
type="java.lang.String">javax.jms.Topic</config-property>
<config-property name="JmsProviderAdapterJNDI"
type="java.lang.String">java:/DefaultJMSProvider</config-property>
<max-pool-size>20</max-pool-size>
<depends>jboss.messaging:service=ServerPeer</depends>
</tx-connection-factory>
JNDI Name
REBROADCASTER.INCOMING
queue/rebroadcasterIncoming
REBROADCASTER.REPLY
queue/rebroadcasterOutgoingResponse
TI1.ENQUIRY.INCOMING
queue/ti1BroadcastIncoming
TI1.ENQUIRY.REPLY
queue/ti1BroadcastOutgoingResponse
TI2.ENQUIRY.INCOMING
queue/ti2BroadcastIncoming
TI2.ENQUIRY.REPLY
queue/ti2BroadcastOutgoingResponse
JNDI Name
TI1.ENQUIRY.INCOMING
queue/enquiryIncoming
REBROADCASTER.REPLY
queue/rebroadcasterOutgoingResponse
TI1.ENQUIRY.OUTGOING
queue/enquiryOutgoing
TI1.ENQUIRY.REPLY
queue/enquiryOutgoingReply
61
TI Plus
Installation Guide v1.1
The JBoss Messaging Bridge allows queues defined in different servers to be linked using their JNDI names.
In order to do this, it is necessary to provide a linkage from each tiplus2 server to the JNDI context in the
global application. This requires an ExternalContext referencing the global JNDI context to be declared
for each tiplus2 server. To do this, locate the conf/jboss-service.xml file for each tiplus2 server and
add the following:
<mbean code="org.jboss.naming.ExternalContext"
name="jboss.jndi:service=ExternalContext,jndiName=global">
<attribute name="JndiName">global</attribute>
<attribute name="Properties">
java.naming.provider.url=jnp://<ip address>:port
</attribute>
</mbean>
Where <ip address> is the IP address of the machine where the global application is deployed and the
port number is the listening port of the JNDI NamingContext. Declaring the above enables us to access the
global JNDI context in the global application by prefixing the JNDI references with global/.
Next we need to define a remote JMS provider for the bridge to connect to push message to or pull
messages from for each tiplus2 server. This is declared by adding the following definition:
<mbean code="org.jboss.jms.jndi.JMSProviderLoader"
name="jboss.jms:service=GlobalAppJMSProviderLoader,name=GlobalAppJMSProvider">
<attribute name="ProviderName">GlobalAppXAConnectionFactory</attribute>
<attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>
<attribute name="FactoryRef">global/XAConnectionFactory</attribute>
<attribute name="QueueFactoryRef">global/XAConnectionFactory</attribute>
<attribute name="TopicFactoryRef">global/XAConnectionFactory</attribute>
<depends>jboss.jndi:service=ExternalContext,jndiName=global</depends>
</mbean>
Finally the JBoss Messaging Bridge definition needs to be added. The following mappings are required for
the AMERICA zone server TI1:
Source
Target
queue/enquiryOutgoing
global/queue/rebroadcasterIncoming
queue/rebroadcasterOutgoingResponse
global/queue/rebrodcasterOutgoingResponse
global/queue/ti1BroadcastIncoming
queue/enquiryIncoming
global/queue/ti1BroadcastOutgoingResponse
queue/enquiryOutgoingReply
The equivalent mappings for the EUROPE zone server TI2 - are:
Source
Target
queue/enquiryOutgoing
global/queue/rebroadcasterIncoming
queue/rebroadcasterOutgoingResponse
global/queue/rebrodcasterOutgoingResponse
global/queue/ti2BroadcastIncoming
queue/enquiryIncoming
global/queue/ti2BroadcastOutgoingResponse
queue/enquiryOutgoingReply
<!-- The JMS provider loader that is used to lookup the source destination -->
<depends optional-attribute-name="SourceProviderLoader">
jboss.messaging:service=JMSProviderLoader,name=JMSProvider
</depends>
62
TI Plus
Installation Guide v1.1
<!-- The JMS provider loader that is used to lookup the target destination -->
<depends optional-attribute-name="TargetProviderLoader">
jboss.jms:service=GlobalAppJMSProviderLoader,name=GlobalAppJMSProvider
</depends>
<!-- The JNDI lookup for the source and target destinations -->
<attribute name="SourceDestinationLookup">queue/enquiryOutgoing</attribute>
<attribute name="TargetDestinationLookup">
global/queue/rebroadcasterIncoming
</attribute>
<!-- The username to use for the source connection
<attribute name="SourceUsername">guest</attribute>
<!-- The password to use for the source connection
<attribute name="SourcePassword">guest</attribute>
<!-- The username to use for the target connection
<attribute name="TargetUsername">guest</attribute>
<!-- The password to use for the target connection
<attribute name="TargetPassword">guest</attribute>
-->
-->
-->
-->
<depends optional-attribute-name="SourceProviderLoader">
jboss.jms:service=GlobalAppJMSProviderLoader,name=GlobalAppJMSProvider
</depends>
<depends optional-attribute-name="TargetProviderLoader">
jboss.messaging:service=JMSProviderLoader,name=JMSProvider
</depends>
<attribute name="SourceDestinationLookup">
global/queue/ti1BroadcastIncoming
</attribute>
<attribute name="TargetDestinationLookup">queue/enquiryIncoming</attribute>
63
TI Plus
Installation Guide v1.1
<attribute
<attribute
<attribute
<attribute
name="SourceUsername">guest</attribute>
name="SourcePassword">guest</attribute>
name="TargetUsername">guest</attribute>
name="TargetPassword">guest</attribute>
<attribute name="QualityOfServiceMode">2</attribute>
<attribute
<attribute
<attribute
<attribute
name="MaxBatchSize">1</attribute>
name="MaxBatchTime">-1</attribute>
name="FailureRetryInterval">30000</attribute>
name="MaxRetries">-1</attribute>
<attribute name="AddMessageIDInHeader">false</attribute>
</mbean>
<mbean code="org.jboss.jms.server.bridge.BridgeService"
name="jboss.messaging:service=TI1-rebroadcasterOutgoingResponse-Bridge,name=JMSBridge-ti1rebroadcasterOutgoingResponse"
xmbean-dd="xmdesc/Bridge-xmbean.xml">
<depends optional-attribute-name="SourceProviderLoader">
jboss.messaging:service=JMSProviderLoader,name=JMSProvider
</depends>
<depends optional-attribute-name="TargetProviderLoader">
jboss.jms:service=GlobalAppJMSProviderLoader,name=GlobalAppJMSProvider
</depends>
<attribute name="SourceDestinationLookup">
queue/rebroadcasterOutgoingResponse
</attribute>
<attribute name="TargetDestinationLookup">
global/queue/rebroadcasterOutgoingResponse
</attribute>
<attribute
<attribute
<attribute
<attribute
<attribute
<attribute
<attribute
<attribute
<attribute
<attribute
</mbean>
name="SourceUsername">guest</attribute>
name="SourcePassword">guest</attribute>
name="TargetUsername">guest</attribute>
name="TargetPassword">guest</attribute>
name="QualityOfServiceMode">2</attribute>
name="MaxBatchSize">1</attribute>
name="MaxBatchTime">-1</attribute>
name="FailureRetryInterval">30000</attribute>
name="MaxRetries">-1</attribute>
name="AddMessageIDInHeader">false</attribute>
<mbean code="org.jboss.jms.server.bridge.BridgeService"
name="jboss.messaging:service=TI1-RebroadcasterOutgoingResponse-Bridge,name=JMSBridgeti1-RebroadcasterOutgoingResponse"
xmbean-dd="xmdesc/Bridge-xmbean.xml">
<depends optional-attribute-name="SourceProviderLoader">
jboss.jms:service=GlobalAppJMSProviderLoader,name=GlobalAppJMSProvider
</depends>
<depends optional-attribute-name="TargetProviderLoader">
jboss.messaging:service=JMSProviderLoader,name=JMSProvider
</depends>
<attribute name="SourceDestinationLookup">
global/queue/ti1BroadcastOutgoingResponse
</attribute>
<attribute name="TargetDestinationLookup">queue/enquiryOutgoingReply</attribute>
<attribute
<attribute
<attribute
<attribute
<attribute
<attribute
<attribute
<attribute
<attribute
<attribute
name="SourceUsername">guest</attribute>
name="SourcePassword">guest</attribute>
name="TargetUsername">guest</attribute>
name="TargetPassword">guest</attribute>
name="QualityOfServiceMode">2</attribute>
name="MaxBatchSize">1</attribute>
name="MaxBatchTime">-1</attribute>
name="FailureRetryInterval">30000</attribute>
name="MaxRetries">-1</attribute>
name="AddMessageIDInHeader">false</attribute>
</mbean>
</server>
A similar configuration is required for the EUROPE zone. Effectively scan for ti1 and replace with ti2.
64
TI Plus
Installation Guide v1.1
65
TI Plus
Installation Guide v1.1
PRE-REQUISITE SOFTWARE
Java
The minimum version of Java required is Java 1.6; this must be installed before JBoss 7 can start. The latest
version of 1.6 should be used.
INITIAL CONFIGURATION
JBoss 7 has the following folder structure:
Folder
Content
/appclient
/bin
Start up scripts, start up configuration files and various command line utilities
like vault, add-user and Java diagnostic report available for Unix and Windows
environments
/bin/client
/bundles
/docs
/domain
Configuration files, deployment content, and writable areas used by the domain
mode processes run from this installation
/modules
/standalone
Configuration files, deployment content, and writable areas used by the single
standalone server run from this installation
/welcome-content
66
TI Plus
Installation Guide v1.1
The /appclient, /domain and /standalone folders act as templates for creating the respective
environments.
Note: For the rest of this chapter, the identifier JBOSS will be used to represent the folder where the JBoss 7
software has been installed.
The /domain folder contains the following subfolders:
Folder
Content
/configuration
Configuration files for the domain and for the Host Controller and any servers
running off of this installation. All configuration information for the servers
managed within the domain is located here and is the single place for
configuration information
/content
An internal working area for the Host Controller that controls this installation.
This is where it internally stores deployment content. This directory is not meant
to be manipulated by end users.
Note that a domain does not support deploying content based on scanning a file
system
/lib/ext
Location for installed library jars referenced by applications using the ExtensionList mechanism
/log
Location where the Host Controller process writes its logs. The Process
Controller, a small lightweight process that actually spawns the other Host
Controller process and any Application Server processes also writes a log here.
/servers
Writable area used by each application server instance that runs from this
installation. Each application server instance will have its own subfolder, created
when the server is first started. In each server's subdirectory there will be the
following subfolders:
/data -- information written by the server that needs to survive a restart of the
server
/log -- the server's log files
/tmp -- location for temporary files written by the server
/tmp
/tmp/auth
Special location used to exchange authentication tokens with local clients so they
can confirm that they are local to the running process
Content
/configuration
Configuration files for the standalone server that runs off of this installation. All
configuration information for the running server is located here and is the single
place for configuration modifications for the standalone server.
/data
/deployments
End user deployment content can be placed in this directory for automatic
detection and deployment of that content into the server's runtime.
NOTE: The server's management API is recommended for installing deployment
content. File system based deployment scanning capabilities remain for
developer convenience.
/lib/ext
Location for installed library jars referenced by applications using the ExtensionList mechanism
/log
/tmp
/tmp/auth
Special location used to exchange authentication tokens with local clients so they
can confirm that they are local to the running AS process
It is recommended that the folders /domains and /servers are added to the JBoss 7 folder to contain the
specific configurations to be created.
67
TI Plus
Installation Guide v1.1
For this chapter, copy the /domain folder to be a subfolder of /domains called /tiplus2.
Management User
In order to use the management console for configuring/controlling the domain, a management user needs
to be created for the domain configuration. This is done by executing the following command from the
JBOSS/bin folder:
add-user.bat dc ../domains/tiplus2/configuration
This will prompt for the type of user take the default of a.
Enter the Username and Password when prompted. Note that the password must be at least 8 characters
long and contain at least one digit and one non-alphanumeric character.
Take the default when prompted for the groups the user should be added to and answer no to whether the
user is to be used for a remote server to access a local server.
Startup Scripts
Create startup scripts by copying domain.bat and domain.conf.bat (or domain.sh and domain.conf
based on the OS you are using). For the rest of the chapter, it is assumed that JBoss 7 is running on
Windows.
Name the files domain-tiplus2.bat and domain-tiplus2.conf.bat respectively.
Edit the file domain-tiplus2.bat, and add the following environment variable declarations at the
beginning of the file:
set
set
set
set
Edit the domain-tiplus2.conf.bat and locate the JAVA_HOME reference. Uncomment the reference
and set the variable to the location of where the java software has been installed.
To reference the correct configuration folder, add the following java option towards the end of the file:
set "JAVA_OPTS=%JAVA_OPTS% -Djboss.domain.base.dir=%JBOSS_BASE_DIR%"
By default, the management console is bound to the localhost so is not available remotely. To bind it to the
local machine name instead, add the following java option towards the end of the file:
set "JAVA_OPTS=%JAVA_OPTS% -Djboss.bind.address.management=<machine-name>"
To start the domain controller, run the following command from the JBoss 7 /bin folder:
domain-tiplus2.bat
MANAGEMENT CONSOLE
To use the management console, open a browser and navigate to the URL:
http://localhost:9990/console (or reference the machine name if this has been set)
You will be prompted to enter a user id and password. Enter the credentials configured earlier.
Note: If no users have been set up, you will not be able to access the management console.
This proves that the initial setup is correct.
As part of the initial configuration, there are sample servers and server-groups included. These may be
deleted from the Hosts tab.
68
TI Plus
Installation Guide v1.1
Profiles Define resources such as data sources, queues, web container settings etc
Socket Binding Group a collection of named ports based on the set of JEE features you intend to
use
Server Group defines a combination of profile and socket binding, and some default properties for
servers assigned to the group. Can also be thought of as a cluster definition
In order to create a server instance, you must have a server group to define it in. The server group must
reference both a profile and a socket binding group.
The standalone configuration has a single profile and socket binding group definition the concept of server
group does not match, as the configuration applies to a single server.
In the default domain configuration provided, there are four sample profiles and socket binding groups. For
each deployment of software, a unique profile is required based on one of the samples supplied.
A deployment of software is the set of applications that will be deployed to a server group. So for instance if
you intend to deploy the global application and zone application to a single server within a server group, your
profile needs to contain all of the resources.
For the rest of this chapter, we will need a profile for the global application and a profile for the tiplus2
application. For the moment we will use a shared socket binding group, however this could be separated as
well.
The profile we will use as a starting point will be the full profile, so we need to make a few changes to the full
profile before we copy it.
JDBC Drivers
JDBC drivers can be deployed to individual servers or server groups, but it makes more sense to make them
a core module, and reference them as a global module. Otherwise each application would need to reference
the module as a dependency.
For instance, to install a driver in a jar file called ojdbc6_11.2.0.3.jar as a core module called
com.oracle you need to do the following:
This then needs to be set as a global model. Make sure the domain management server is not running, and
open the domain.xml file in a text editor.
The profile then needs to reference this module as an available JDBC driver:
TI Plus
Installation Guide v1.1
A similar process can be used to register a module called com.db2 if that is the DBMS you are using. In this
case, the jar files and the module.xml file would be placed in the JBOSS/modules/com/db2/main folder.
Creating Profiles
To create the profiles for the global and tiplus2 applications, simply copy the <profile> called full for
each one, naming them full-global and full-<deployment id> (e.g. the default deployment id is
ti1, so the profile would be called full-ti1).
Note: This is a suggested naming convention for illustration purposes.
The JMXGlobalPort
Port
Binding-group
remoting-global
4448
full-sockets
remoting-ti1
4449
full-sockets
The JMXGlobalPort property must be set to the same value as the remoting-global port in the
global.configuration.properties file.
The remoting-ti1 port will be discovered at runtime when a server instance starts.
Note: The deployment id is converted to lowercase, and the remoting name derived accordingly
This means that the JMXZonePortStart and JMXZonePortEnd properties do not need to be set for JBoss
7.
To link these port reservations to the remoting service, each profile must add a reference to the new port.
Make sure the domain controller is not running. Open the domains.xml file and change the following:
Add a new <connector> child (replace ti1 with your deployment id converted to lower case)
<connector name="remoting-connector-ti1" socket-binding="remoting-ti1"/>
70
TI Plus
Installation Guide v1.1
Server Groups
From the Hosts tab, create two server groups one for the global application and one for the tiplus2
application.
Select Server Groups from the Server section on the left hand side. Add the following two groups:
Name
Profile
Socket Binding
group-global
full-global
full-sockets
group-ti1
full-ti1
full-sockets
You can edit these groups to add default JVM settings. Any servers added to the server group will use these
unless overridden.
Web Container
By default, the profiles are not configured to use SSL.
From the Profiles tab, select the full-global profile from the drop-down, and expand Web in the
Subsystems section. Select Servlet/HTTP, and then click on the Connectors mini tab.
Click Add, and enter the following:
Property
Value
Name
https
Socket Binding
https
Protocol
HTTP/1.1
Scheme
https
Enabled
checked
Click Save.
Note: This is not the complete configuration for SSL, as not all settings can be entered through the domain
management console see later section
The sample configuration also provides a virtual server definition with some aliases that should be replaced.
Click on the Virtual Servers mini tab.
Select default-host and click on Edit.
Replace the aliases with an appropriate value.
This must be repeated for the full-ti1 profile.
Setting up SSL
Create the folder JBOSS/domains/common and open a terminal at this location.
To create a certificate for each application server, execute the following command for each configuration:
keytool -genkey -alias <mykey> -keyalg RSA -validity 3650 -keystore
mykeys.keystore
setting the <mykey> value to one that represents the configuration.
Also create a trust store with the certificates, by first exporting them:
keytool -export -alias <mykey> -keystore mykeys.keystore -file <mykey>.cer
and then importing them:
keytool -import -alias <mykey> -file <mykey>.cer -keystore mykeys.truststore
You will be prompted for password and identity information. When asked for first and last name, enter the
host name of the URL associated with the application server.
To reference the certificates, the domains.xml file must be updated. Make sure the domain controller is not
running.
Open the domains.xml file and make the following changes:
Find the full-global profile, and locate the <subsystem> with the xmlns value of
urn:jboss:domain:web:1.5
71
TI Plus
Installation Guide v1.1
DEFINING SERVERS
Just before creating new servers, add two common JVM Options to each of their server groups:
-Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK=true
-Dorg.jboss.as.logging.per-deployment=false
Create a server definition for each of the global and tiplus2 applications global-server and ti1server. Reference the relevant server group and the full-sockets socket binding group.
Since we are using the same socket binding group, each server must provide a port offset to make the set
unique.
Note: If you create a global server, make sure the port offset is 0 in a clustered environment, there must
only be one global server instance per IP address up to a maximum of two instances
For each server define the JVM Option:
-Djboss.bind.address=<host name>
CONFIGURING PROFILES
Some of the remaining resources to be defined require servers to be running. From the Runtime tab, hover
over each server and click the link Start server.
JDBC Configuration
From the Profiles tab, select the relevant profile from the dropdown and then Datasources under Connector
in the Subsystems section on the left hand side.
Select the XA Datasources tab.
For each datasource, click Add, and enter the following information:
Property
Value
Name
Global
JNDI Name
java:/jdbc/global
Value
Name
oracle
oracle.jdbc.xa.client.OracleXADataSource
Value
URL
jdbc:oracle:thin:@<host>:1521:<db>
TI Plus
Installation Guide v1.1
Property
Value
Username
Password
Click Done.
Review the connection pool properties from the Pool mini tab.
Once defined, select the data source and enable it.
Repeat the process for each of the data sources that need to be defined for each server group.
For the global application, this is:
java:/jdbc/global
java:/jdbc/global
java:/jdbc/zone
java:/jdbc/dlzone
java:/jdbc/reports
JMS Configuration
The areas of the application that use JMS are:
Service Access
Cross-zone dashboard
JNDI Name
JobLifecycleQueue
java:/queue/JobLifecycleQueue
JobExecutionQueue
java:/queue/JobExecutionQueue
StepExecutionQueue
java:/queue/StepExecutionQueue
NotificationQueue
java:/queue/NotificationQueue
DeadMessageQueue
java:/queue/DeadMessageQueue
JobLifecycleQueue
DeadMessageQueue
JobExecutionQueue
DeadMessageQueue
73
TI Plus
Installation Guide v1.1
Pattern
NotificationQueue
DeadMessageQueue
If you are setting up a split deployment, then this definition corresponds to the async framework server.
For the user access server, then only the JobLifecycleQueue, JobExecutionQueue and
NotificationQueue definitions are required though the re-delivery configuration is not required for
these definitions.
To link these two queues to the async framework server, then a messaging bridge needs to be set up in the
user access server to push messages from the job lifecycle, job execution and notification queues to the
equivalent queues in the async framework server. This will require:
The details of this configuration are not shown here. Review the section on the cross-zone dashboard, and
base your configuration on that example. This scenario is simplified because there is only one-way traffic.
As far as other JMS resources are concerned, both the user access and async framework servers need to
be configured in the same way unless otherwise stated.
Service Access
JMS Service access is usually configured using an external JMS provider, such as WebSphere MQ. This
section describes how to configure MQ to be used with JBoss 7. The example used to describe the
configuration is for the TPI interface whose JNDI resources are:
queue/meridianIncoming
queue/meridianOutgoing
jms/meridianQueueConnectionFactory
Usually this is an empty tag. If so, replace it as follows otherwise merge the definitions:
<subsystem xmlns="urn:jboss:domain:resource-adapters:1.1">
<resource-adapters>
<resource-adapter id="wmq.jmsra.rar">
<archive>wmq.jmsra.rar</archive>
<transaction-support>XATransaction</transaction-support>
<connection-definitions>
<connection-definition
class-name="com.ibm.mq.connector.outbound.ManagedQueueConnectionFactoryImpl"
jndi-name="java:/jms/meridianQueueConnectionFactory"
pool-name="java:jms/meridianQueueConnectionFactory">
<config-property name="port">1414</config-property>
<config-property name="hostName">MQSERVER</config-property>
74
TI Plus
Installation Guide v1.1
<config-property name="channel">SYSTEM.DEF.SVRCONN</config-property>
<config-property name="transportType">CLIENT</config-property>
<config-property name="queueManager">QMGR</config-property>
</connection-definition>
</connection-definitions>
<admin-objects>
<admin-object
class-name="com.ibm.mq.connector.outbound.MQQueueProxy"
jndi-name="java:/queue/meridianIncoming"
pool-name="java:/queue/meridianIncoming">
<config-property name="baseQueueName">TI.GWY.IN</config-property>
<config-property name="baseQueueManagerName">QMGR</config-property>
</admin-object>
<admin-object
class-name="com.ibm.mq.connector.outbound.MQQueueProxy"
jndi-name="java:/queue/meridianOutgoing"
pool-name="java:/queue/meridianOutgoing">
<config-property name="baseQueueName">TI.GWY.OUT</config-property>
<config-property name="baseQueueManagerName">QMGR</config-property>
</admin-object>
</admin-objects>
</resource-adapter>
</resource-adapters>
</subsystem>
Where
The hostname is the name of the machine where the WebSphere MQ server is running
For more information, see the section on JBoss Integrating Other JMS Providers.
75
TI Plus
Installation Guide v1.1
Cross-Zone Dashboard
For JBoss 7, each server will reference queues defined locally to that server, but the zone servers will also
use the JBoss7 JMS Bridge facility to pass messages between servers. It is possible to define the bridge
definitions on either the global application server or the tiplus2 application server. In our case, it is more
appropriate to set the bridge definition on the tiplus2 application server so messages are only pushed and
pulled when the zone server is running.
Global Server
Global application deployment
Rebroadcaster
Incoming
Messaging Bridge
Incoming
OutgoingReply
Outgoing
BroadcastReply
TI2Broadcast
Local JMS
Pull
Push
Pull
TI1Broadcast
TI2.ENQUIRY.REPLY
Push
TI1.ENQUIRY.REPLY
Messaging Bridge
Incoming
IncomingResponse
IncomingResponse
OutgoingReply
Outgoing
Local JMS
Local JMS
Zone 1 Access
Zone 2 Access
TI1 Server
TI2 Server
The following steps assume that there are two zones - AMERICA (deployment TI1) and EUROPE
(deployment TI2).
JNDI Names
REBRAODCASTER.INCOMING
java:/queue/rebroadcasterIncoming
java:jboss/exported/queue/rebroadcasterIncoming
REBROADCASTER.REPLY
java:/queue/rebroadcasterOutgoingResponse
java:jboss/exported/queue/rebroadcasterOutgoingResponse
TI1.ENQUIRY.INCOMING
java:/queue/ti1BroadcastIncoming
java:jboss/exported/queue/ti1BroadcastIncoming
TI1.ENQUIRY.REPLY
java:/queue/ti1BroadcastOutgoingResponse
java:jboss/exported/queue/ti1BroadcastOutgoingResponse
TI2.ENQUIRY.INCOMING
java:/queue/ti2BroadcastIncoming
java:jboss/exported/queue/ti2BroadcastIncoming
TI2.ENQUIRY.REPLY
java:/queue/ti2BroadcastOutgoingResponse
java:jboss/exported/queue/ti2BroadcastOutgoingResponse
76
TI Plus
Installation Guide v1.1
The queue connection factory needs to be XA compliant. The easiest way of doing this is to add another
JNDI entry to the hornetq-ra <pooled-connection-factory> for the group-global profile. The
XML section should look like:
<pooled-connection-factory name="hornetq-ra">
<transaction mode="xa"/>
<connectors>
<connector-ref connector-name="in-vm"/>
</connectors>
<entries>
<entry name="java:/JmsXA"/>
<entry name="java:/jms/QueueConnectionFactory"/>
</entries>
</pooled-connection-factory>
JNDI Name
TI1.ENQUIRY.INCOMING
java:/queue/enquiryIncoming
REBROADCASTER.REPLY
java:/queue/rebroadcasterOutgoingResponse
TI1.ENQUIRY.OUTGOING
java:/queue/enquiryOutgoing
TI1.ENQUIRY.REPLY
java:/queue/enquiryOutgoingReply
The queue connection factory needs to be XA compliant. The easiest way of doing this is to add another
JNDI entry to the hornet-ra <pooled-connection-factory> for the full-ti1 profile. The XML
section should look like:
<pooled-connection-factory name="hornetq-ra">
<transaction mode="xa"/>
<connectors>
<connector-ref connector-name="in-vm"/>
</connectors>
<entries>
<entry name="java:/JmsXA"/>
<entry name="java:/jms/enquiryQueueConnectionFactory"/>
</entries>
</pooled-connection-factory>
Repeat this for the EUROPE zone (TI2 deployment, full-ti2 profile).
TI Plus
Installation Guide v1.1
<max-retries>-1</max-retries>
<max-batch-size>500</max-batch-size>
<max-batch-time>500</max-batch-time>
<add-messageID-in-header>true</add-messageID-in-header>
</jms-bridge>
<jms-bridge name="ti1-rebroadcasterOutgoingResponse-bridge">
<source>
<connection-factory name="/ConnectionFactory"/>
<destination name="/queue/rebroadcasterOutgoingResponse"/>
</source>
<target>
<connection-factory name="/jms/RemoteConnectionFactory"/>
<destination name="/queue/rebroadcasterOutgoingResponse"/>
<user>user name</user>
<password>password</password>
<context>
<property key="java.naming.factory.initial"
value="org.jboss.naming.remote.client.InitialContextFactory"/>
<property key="java.naming.provider.url" value="remote://hostname:4447"/>
</context>
</target>
<quality-of-service>AT_MOST_ONCE</quality-of-service>
<failure-retry-interval>10000</failure-retry-interval>
<max-retries>-1</max-retries>
<max-batch-size>500</max-batch-size>
<max-batch-time>500</max-batch-time>
<add-messageID-in-header>true</add-messageID-in-header>
</jms-bridge>
<jms-bridge name="ti1-enquiryIncoming-bridge">
<source>
<connection-factory name="/jms/RemoteConnectionFactory"/>
<destination name="/queue/ti1BroadcastIncoming"/>
<user>user name</user>
<password>password</password>
<context>
<property key="java.naming.factory.initial"
value="org.jboss.naming.remote.client.InitialContextFactory"/>
<property key="java.naming.provider.url" value="remote://hostname:4447"/>
</context>
</source>
<target>
<connection-factory name="/ConnectionFactory"/>
<destination name="/queue/enquiryIncoming"/>
</target>
<quality-of-service>AT_MOST_ONCE</quality-of-service>
<failure-retry-interval>10000</failure-retry-interval>
<max-retries>-1</max-retries>
<max-batch-size>500</max-batch-size>
<max-batch-time>500</max-batch-time>
<add-messageID-in-header>true</add-messageID-in-header>
</jms-bridge>
<jms-bridge name="ti1-enquiryOutgoingReply-bridge">
<source>
<connection-factory name="/jms/RemoteConnectionFactory"/>
<destination name="/queue/ti1BroadcastOutgoingResponse"/>
<user>user name</user>
<password>password</password>
<context>
<property key="java.naming.factory.initial"
value="org.jboss.naming.remote.client.InitialContextFactory"/>
<property key="java.naming.provider.url" value="remote://hostname:4447"/>
</context>
</source>
<target>
<connection-factory name="/ConnectionFactory"/>
<destination name="/queue/enquiryOutgoingReply"/>
78
TI Plus
Installation Guide v1.1
</target>
<quality-of-service>AT_MOST_ONCE</quality-of-service>
<failure-retry-interval>10000</failure-retry-interval>
<max-retries>-1</max-retries>
<max-batch-size>500</max-batch-size>
<max-batch-time>500</max-batch-time>
<add-messageID-in-header>true</add-messageID-in-header>
</jms-bridge>
You may be required to configure a user name and password in order to send or consume messages from
remote queues. The default hornet settings require users with the guest role. Create a user in a similar
way to the administration user referred to earlier in the Application Realm with a role of guest.
A similar configuration is required for the EUROPE zone. Effectively scan for ti1 and replace with ti2.
From the Runtime tab, select Manage Deployments in the Domain section on the left hand side.
Click Add, and locate the EAR file to deploy. Once deployed, select the application and click
Assign. Check the appropriate server group and click Save.
It is recommended that the global application is deployed first, and then the user log on to verify the
deployment configuration. Once checked, the tiplus2 application may then be deployed.
79
TI Plus
Installation Guide v1.1
Start the global application server, check the deployment and zone configuration and then start the
first tiplus2 application server
Click Close to continue to the configuration menu and select the Installation|Import menu option.
After clicking the Import option, TI Plus will validate the existence of the .csv files needed at this stage. If
the .csv files are not present in the required folder, you will get a validation message of Failed to open
import file in the validation column. Confirm that the .csv files exist in the required folder and/or confirm that
you have created the correct folder.
A successful validation will provide information in the columns of version, created, unit and user. It is now
possible to import the .csv configuration files and provide the base configuration
TI Plus displays information for products that should be present using the Configuration Import window
80
TI Plus
Installation Guide v1.1
TI Plus displays information for each configuration file that should be present under the following headings. If
any file that should be present is not found, TI Plus displays information under the first two headings only.
Heading
What it shows
Code
A unique code.
Product
Version
The version of TI Plus used to create the configuration file for the product.
Created
Unit
The mnemonic of the unit from which the configuration file was created. Note that files
supplied by Misys will have a dummy unit of S/A.
User
The user
Validation
Import?
Indicates whether the product is selected for processing or not. This is initially N (not
selected) for all products
A separate button is available to import the security capabilities. This must be run first.
The first files to import are the general non-product-specific files GEN, CDE and REP. Select each one in turn
and then press Do selected.
Note that if you are importing these files for a TI Plus system that is to interface to an Equation system, then
for GEN and CDE, press Options, and select only the following optional items:
Documents
Incoterms
Locales
This will also create the SUPERVISOR user. Exit the application until you see the global application list of
zones, and navigate back to the zone. You need to go to the Security application and give SUPERVISOR all
capabilities using the Capabilities map menu option.
Launch the Security application and on the Capabilities map page, refresh and highlight SUPERVISOR and
press Select. Then scroll down to Unassigned access authorities and press Assign All. Do this before
continuing with the product-specific imports.
Exit from the zone application this will refresh the capabilities of the user.
Return to the Installations|Import section of the Configuration application and select each of the required
product-specific files in turn (either singularly, altogether, or in small batches).
TI Plus processes the selected products, providing messages advising you of its progress and informing you
when processing has finished
81
TI Plus
Installation Guide v1.1
Import all the .csv files for the products you intend to use except for the first three that you have already
imported and the SSD.
Note: Only import those products you will be using when you initially go live. Do not import products that will
be implemented after the initial live date, as this will complicate the subsequent implementation of these
products in the live environment.
The ODC.CSV file holds information used by all four collection order products. Therefore, if you import any of
the four collection order products you must import both the product-specific .CSV file and the ODC.CSV file.
If you are going to import the supplied SSD file, then a new system option must be created. Run the System
Tailoring application, and select the Zone options menu. Add a new System option by pressing the New
button, calling the new option SSD and setting it to All. Finally, return to Configuration application, and
import the SSD.csv file.
Once imported, in the System Tailoring application, take the Branch options/Service mappings link, and
select the branch shown and click Assign services. Refresh the list, and assign them all to the branch.
Click Browse.. and locate the relevant templates.zip file. Click the OK button of the file chooser dialog
box.
Click OK. The upload template facility will show a list detailing the templates that have been uploaded
82