With the project model and the workspace, once we are ready to deploy the solution, we extract a config file from the workspace and send it to a suitable TDI Server: the runtime environment.
When starting the CE we will be prompted to select a workspace directory, which is where the CE stores all our TDI projects and files. This is different from the solution directory, though the workspace directory may very well be contained inside the solution directory. From the workspace, the CE gathers files to form a runtime configuration file (rs.xml) that can be executed on a TDI server.
workspace directory | Belongs to the CE where the project files are stored. |
install directory | Belongs to the TDI server when it executes. |
solution directory | Belongs to the TDI server when it executes. Default working directory.
Set in defaultSolDir.bat as part of install. |
The CE working directory should always be the same as the solution directory, and that is the way TDI is by default configured.
The working directory should not be confused with the workspace. Your workspace is where the Configuration Editor will store your project files, including components and AssemblyLines, and it is typically located under your Solution Directory, for example...
We can create server and solution directories inside the CE, and run AssemblyLines on those servers, but relative paths in configurations are no longer the same when we use connectors in the CE as opposed to using them when we run the AssemblyLine.
When we run the AssemblyLine with this connector everything looks fine. Then we create a new server with a solution directory pointing somewhere else than the current working directory. We configure the connector and the connector resolves the file name to the correct place (that is, the abc file resides in our current working directory). However, when we run the AssemblyLine it fails, since it can't find the file. This is because the new server runs in a different working directory (the solution directory) than the CE.
When we use discover attributes in the CE it will look for a file in the working directory of the CE (solutions directory specified at install time and in defaultSolDir.bat). When we run the AssemblyLine with this connector everything looks fine. Then we create a new server with a solution directory pointing somewhere else than the current working directory. We configure the connector and the connector resolves the file name to the correct place (that is, the abc file resides in our current working directory). However, when we run the AssemblyLine it fails, since it can't find the file. This is because the new server runs in a different working directory (the solution directory) than the CE.
By default, the working directory of the CE is set to the solution directory of the default server that is used to execute AssemblyLines. So if we don't change anything we should not see any of these problems except when we create new solution directories or change the solution directory of the default server.
Here is an example of a CE working directory and solution directory for a default server...
total 29 drwx------+ 4 Atechian None 0 Sep 28 13:40 MQePWStore drwx------+ 2 Atechian None 0 Sep 28 13:47 configs drwx------+ 2 Atechian None 0 Sep 28 13:47 etc -rwx------+ 1 Atechian None 33 Sep 28 13:47 idisrv.sth drwx------+ 2 Atechian None 0 Sep 28 13:47 libs drwx------+ 2 Atechian None 0 Sep 28 13:46 logs drwx------+ 2 Atechian None 0 Sep 28 13:47 serverapi -rwx------+ 1 Atechian None 22786 Sep 28 13:47 solution.properties -rwx------+ 1 Atechian None 1928 Sep 28 13:47 testserver.jks ./MQePWStore: total 1 drwx------+ 3 Atechian None 0 Sep 28 13:40 Queues drwx------+ 3 Atechian None 0 Sep 28 13:40 Registry -rwx------+ 1 Atechian None 400 Sep 28 13:40 pwstore_server.ini ./MQePWStore/Queues: total 0 drwx------+ 6 Atechian None 0 Sep 28 13:40 PWStoreServer ./MQePWStore/Queues/PWStoreServer: total 0 drwx------+ 2 Atechian None 0 Sep 28 13:47 AdminQ drwx------+ 2 Atechian None 0 Sep 28 13:47 AdminReplyQ drwx------+ 2 Atechian None 0 Sep 28 13:40 _default drwx------+ 2 Atechian None 0 Sep 28 13:40 passwords ./MQePWStore/Queues/PWStoreServer/AdminQ: total 0 ./MQePWStore/Queues/PWStoreServer/AdminReplyQ: total 0 ./MQePWStore/Queues/PWStoreServer/_default: total 0 ./MQePWStore/Queues/PWStoreServer/passwords: total 0 ./MQePWStore/Registry: total 0 drwx------+ 5 Atechian None 0 Sep 28 13:40 PWStoreServer ./MQePWStore/Registry/PWStoreServer: total 0 drwx------+ 2 Atechian None 0 Sep 28 13:40 Listeners drwx------+ 2 Atechian None 0 Sep 28 13:47 Queue drwx------+ 2 Atechian None 0 Sep 28 13:40 QueueManager ./MQePWStore/Registry/PWStoreServer/Listeners: total 1 -rwx------+ 1 Atechian None 293 Sep 28 13:40 StorageListener.MQeReg ./MQePWStore/Registry/PWStoreServer/Queue: total 10 -rwx------+ 1 Atechian None 1128 Sep 28 13:40 PWStoreServer+AdminQ.MQeReg -rwx------+ 1 Atechian None 403 Sep 28 13:40 PWStoreServer+AdminReplyQ.MQeReg -rwx------+ 1 Atechian None 419 Sep 28 13:40 PWStoreServer+DeadLetterQ.MQeReg -rwx------+ 1 Atechian None 410 Sep 28 13:40 PWStoreServer+SYSTEM.DEFAULT.LOCAL.QUEUE.MQeReg -rwx------+ 1 Atechian None 418 Sep 28 13:47 PWStoreServer+SYSTEM.TRANSACTION.QUEUE.MQeReg -rwx------+ 1 Atechian None 385 Sep 28 13:40 PWStoreServer+_default.MQeReg -rwx------+ 1 Atechian None 386 Sep 28 13:40 PWStoreServer+passwords.MQeReg ./MQePWStore/Registry/PWStoreServer/QueueManager: total 1 -rwx------+ 1 Atechian None 304 Sep 28 13:40 PWStoreServer.MQeReg ./configs: total 0 ./etc: total 141 -rwx------+ 1 Atechian None 50 Sep 28 13:47 TDI0701.SYS2 -rwx------+ 1 Atechian None 70769 Sep 28 13:47 TouchpointTemplate.xml -rwx------+ 1 Atechian None 176 Sep 28 13:47 build.properties -rwx------+ 1 Atechian None 408 Sep 28 13:47 derby.properties -rwx------+ 1 Atechian None 1891 Sep 28 13:47 di_castor_mapping.xml -rwx------+ 1 Atechian None 90 Sep 28 13:47 global.properties.v611 -rwx------+ 1 Atechian None 22862 Sep 28 13:47 ibmdi.ico -rwx------+ 1 Atechian None 488 Sep 28 13:47 it_registry.properties -rwx------+ 1 Atechian None 7087 Sep 28 13:47 jlog.properties -rwx------+ 1 Atechian None 3452 Sep 28 13:47 log4j.properties -rwx------+ 1 Atechian None 862 Sep 28 13:47 pkcs11.cfg -rwx------+ 1 Atechian None 1698 Sep 28 13:47 reconnect.rules -rwx------+ 1 Atechian None 623 Sep 28 13:47 tdimiggbl-log4j.properties -rwx------+ 1 Atechian None 639 Sep 28 13:47 tdisrvctl-log4j.properties -rwx------+ 1 Atechian None 2634 Sep 28 13:47 tp.xml -rwx------+ 1 Atechian None 610 Sep 28 13:47 updateinstaller-log4j.properties ./libs: total 0 ./logs: total 4 -rwx------+ 1 Atechian None 1647 Sep 28 20:06 ibmdi.log ./serverapi: total 11 -rwx------+ 1 Atechian None 614 Sep 28 13:47 cryptoutils.bat -rwx------+ 1 Atechian None 128 Sep 28 13:47 registry.enc -rwx------+ 1 Atechian None 120 Sep 28 13:47 registry.txt -rwx------+ 1 Atechian None 564 Sep 28 13:47 testadmin.der -rwx------+ 1 Atechian None 1926 Sep 28 13:47 testadmin.jks
The workbench is the main user interface application in which you perform all configuration and development of TDI solutions. The workbench consists of a number of views and editors that let we do this.
Parent topic: The Configuration Editor