Dispatcher Server Installation
Dispatcher Server Installation
Teamcenter 12.0
Dispatcher Server
Installation
TTS00002 • 12.0
Contents
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1
Unable to run Dispatcher components as a Windows service due to a missing DLL file . . . . . . . C-1
Troubleshoot the Dispatcher Server by running the Translation Admin Client . . . . . . . . . . . . . . C-1
Troubleshoot the Dispatcher Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-2
Troubleshoot the scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-2
Troubleshoot translators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-2
Troubleshoot the dispatcher client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-3
Dispatcher client fails to start due to FSC exception error . . . . . . . . . . . . . . . . . . . . . . . . . . . C-3
Dispatcher client fails to start while using JBoss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-4
Figures
Note
This manual provides instructions for installing and configuring Dispatcher in a stand-alone
environment.
For information about installing Dispatcher components using Teamcenter Environment
Manager (TEM), see the Getting Started with Dispatcher manual.
The Dispatcher Server allows you to perform translations either using a Web server (Web mode) or
through remote method invocation (RMI) mode.
• Web mode: For performing translations across a firewall. This mode requires a Web server
and a file server.
• RMI mode: For performing translations within a firewall. This mode requires a common staging
directory.
RMI is a standard for distributed objects written in Java and uses a remote procedure call (RPC) to
invoke applications, components, and/or modules in a network. Translations using RMI mode are
generally faster. The Dispatcher Server standard installation supports RMI mode.
The scheduler balances the translation load in the event of multiple translation requests. If you have
numerous translation tasks in the scheduler queue at your site, you can start multiple modules. Each
module is automatically connected to the dispatcher scheduler and immediately starts participating
in the translation process.
The translation task request embeds information of the source file location and type of translation.
The module starts a separate thread to process each request. On starting the thread, the module
downloads the source file from the file server or common staging directory location to a unique
directory, invokes the required translator, and starts the translation process. After the Dispatcher
Server successfully completes the translation process, the module uploads the resulting files to the
file server or common staging directory location and notifies the scheduler. The scheduler then
communicates the status of the translation to the client.
Translation process
3. Depending on time or priority, the dispatcher scheduler sends the request to the dispatcher
module.
4. The dispatcher module accesses the common staging directory to get the source files.
5. The dispatcher module invokes the translator to translate the required files.
6. The dispatcher module places the result files in the staging directory.
9. The client accesses the result files from the common staging directory.
The following figure describes a typical translation process using RMI mode.
Client
SYSTEMS
Staging
1 9 Directory SYSTEMS
4 6 Translation
Scheduler
SwToJt
SeToJt 3
JtToJpeg
5 7
DocToPdf
IdeasToJt
Translation Modules
2. The client creates a translation request and submits it to the Web server across the firewall.
5. The dispatcher module downloads the CAD file from the file server location and invokes the
required translator based on the request.
6. The dispatcher module uploads the translated file to the file server after the Dispatcher Server
completes the translation.
7. The dispatcher module sends a message to the dispatcher scheduler. The dispatcher scheduler
caches the messages.
8. The client pings the Web server for translation event messages.
9. The Web server communicates with the dispatcher scheduler to get the cached messages.
10. The client downloads the result files from the file server.
The following figure describes a typical translation process using Web mode.
Web Server
Translation
Web Server
SYSTEMS
2 3
8
File Server
SYSTEMS 9
10
1 SYSTEMS
Firewall
6 5
Translation
Scheduler
Translation Modules
Client
Unused Port or
Port specified by
Scheduler to Client
Client puts source files Port 2001
and gets results files Client to Scheduler
Port 1999
SYSTEMS
SYSTEMS Scheduler to Module
Module gets source files
and puts results files.
Translation
Common Port 2001
Staging Module to Scheduler Scheduler
Directory
Translation
Module 1 r
1 ule
2 00 hed
r t Sc
Po to le
ule 9 du
od 99 o
M r t 1 to M
Module gets source files SYSTEMS Po ler
du
and puts results files. c he
S
Translation
Module 2
External Client
Port 80
SYSTEMS
Web server/
File server
Corporate
Network
Module to File Server Port 2001
HTTP Port 8080 or 80; can to Scheduler
also be configured as HTTPS
SYSTEMS SYSTEMS
Port 1999
Scheduler to
Module
Translation Translation
Module Scheduler
Port 2001
Module to Scheduler
Note
Use worksheets during the planning stages to record the DNS host name and IP address
of each designated server machine. Mark components as you install them and record
related data such as home directory of Web server and used ports.
• Install and configure the Web server and deploy the Web application if you plan to use Web
mode. Alternatively, configure the common staging directory if you plan to use RMI mode.
• Install the prerequisite software on the modules for the translators you want to implement.
Note
Siemens PLM Software recommends that you install dispatcher modules on
enterprise-class servers only. Enterprise-class servers are better designed to handle the
computational, memory, and multithreaded requirements of translators for large models.
• For each CAD translator, one or more preprocessor or postprocessor translators may be
required. For each dedicated module machine, plan to include one CAD translator, the required
preprocessor and postprocessor translators, and the required CAD software.
For example, if your site requires translation of Pro/ENGINEER, NX, and I-deas® parts and drawing
data to JT or DXF format for Teamcenter Automotive Supplier, you must ideally allocate three
dedicated module machines as follows:
• module1: Install and enable ProEToJt and ProEToDxf translators. Install and configure the
Pro/ENGINEER translator and Visual Collaboration Toolkit.
• module2: Install and enable NxToPv, NxToPvDirect, and NxToCgmDirect translators. Install
and configure the NX translator and Visual Collaboration Toolkit.
• module3: Install and enable the IdeasToJt package file and the JtToJpeg translator. Install and
configure the IdeasToJt translator and the Visual Collaboration Toolkit.
In a real-world implementation, you can rarely allocate dedicated module machines for each installed
translator. However, each module can support multiple translators if there are no conflicts. The
Dispatcher Server is capable of scheduling translations and load balancing. If the translations are not
fast enough, add additional dispatcher module machines to handle additional loads. To increase the
throughput for a particular translator, implement multiple modules with the same translator.
Note
The Dispatcher Server standard installation supports RMI mode.
Note
Steps 5 and 6 are optional. Perform these procedures only if you run the dispatcher
client.
#DispatcherServer.URL=rmi://localhost:2001
DispatcherServer.URL=http://localhost:8080/DispatcherServer/
7. To test the Dispatcher Server in Web mode, start the dispatcher admin client and use HTTP as
Server Mode to login in. Try a test translation using the tozipfile translator.
You have set up the Dispatcher Server for Web mode correctly if your test translation is successful.
• The client and Dispatcher Server should be installed by the same user to avoid directory access
issues as the client and dispatcher modules use the same staging location.
• In the common staging directory configuration, the dispatcher module should have directory
create permission and write access to files on the client staging location using the network.
This means that when you access the staging location from the module machine, you should be
able to access or list (in UNIX systems) the directory contents of the staging location. The staging
location can be a network shared location.
• The physical location of the machine on which the common staging directory is configured should
be in closer proximity to the module machines than dispatcher server client machines.
This helps the translators to access files faster. The translators create temporary files and read
the source files from the common staging directory.
Windows
Translation
Module
Linux T1, T2
(client1)
Solaris
Linux
Linux Linux Translation
Translation
(client2) Web Server Module
Scheduler
T3, T4
Linux
IRIX
(client3)
Translation
Module
T5, T6
The following figure describes a typical configuration for the Linux platform using RMI mode.
Windows
Translation
Module
Linux T1, T2
(client1)
Solaris
Linux
Linux Translation
Translation
(client2) Module
Scheduler
T3, T4
Linux
IRIX
(client3)
Translation
Module
T5, T6
Note
The Web archive (WAR) file, file server servlet, and Dispatcher Server servlet are
required only if you use Web mode to perform translations.
• Dispatcher scheduler
• Dispatcher modules
• Dispatcher client
Software requirements
• Microsoft Windows
• Linux
For information about versions of operating systems, third-party software, and Teamcenter software
that are certified for your platform, see the Siemens PLM Software Certification Database.
Hardware requirements
The following table describes the memory and virtual memory requirements for the Web server,
scheduler, translation module, and dispatcher admin client.
Note
Siemens PLM Software recommends that you install dispatcher modules on
enterprise-class servers only. Enterprise-class servers are better designed to handle the
computational, memory, and multithreaded requirements of translators for large models.
Dispatcher Client
Web application Dispatcher admin client service
Requirements server/scheduler modules (optional) (optional)
Memory Application 4 GB 512 MB 1 GB
server: 1 GB minimum1 minimum minimum
minimum
Scheduler: 512 MB
minimum
Virtual Memory Application 600 MB 600 MB 600 MB
server: 1800 MB minimum minimum minimum
minimum
Scheduler: 600 MB
minimum
1. Dispatcher modules may require additional memory, depending on the source file size, translation type, or other processes running on
the machine.
Note
The Web application is certified to run on WebLogic and WebSphere.
An available HTTP or HTTPS connection is required if you install the Web server on
a remote network.
Using worksheets
Using worksheets
Use the following worksheets during the planning stages to record the DNS host name, IP address,
and other properties for each designated server machine. Mark components you install and record
relevant data such as home directories of Web servers and used ports.
Print or copy the worksheets and use them to plan and track your implementation.
The information you record is especially useful when you modify the configuration and properties files
that control the communication between various servers and server machines.
A typical implementation includes multiple dispatcher modules, a single Web server, and a dispatcher
scheduler. Be sure to print out a copy of the appropriate worksheet for each planned machine.
Installed software
Supported Web server:
• WebLogic (Yes/No)
• WebSphere (Yes/No)
• DispatcherServer.war (Yes/No)
Checkin.Dir:
Checkout.Dir:
Reference.Dir:
Web server HOME:
resource directory:
Worksheet: Scheduler
Installed components
Scheduler HOME:
MailHost:
AdminEmail:
BindingName Default: DispatcherScheduler
Other:
Worksheet: Module
Installed components
Module HOME:
MailHost:
AdminEmail:
Installed components
TCTS_HOME:
DB_Host:
DB_Port:
Staging.Dir:
Note
The Dispatcher Server standard installation supports RMI mode. RMI mode is faster for
performing translations; however, it can be used only within a firewall.
2. Copy the Scheduler directory from the DispatcherServer directory to the Web server or a
different machine.
3. From a command prompt, change to the bin directory where the scheduler is installed and run
one of the following:
• Windows: runscheduler.bat
• UNIX: runscheduler.sh
Set up modules
1. Locate the Dispatcher Server software distribution image for your platform on your local computer
or network.
2. Copy the Module directory from the Dispatcher directory to the module machine.
3. Extract the translators.zip file for your platform to the Module directory. When you unzip this
file, it creates a Translators directory (within the Module directory) containing all the supported
translators.
4. Open the transmodule.properties file from the Module/conf directory on the module machine.
• Web mode: Do not specify any value for this property. When this property is left empty, the
staging directory is set to the Module_Home/Trans directory by default.
• RMI mode: The location you specify must map to the location where the dispatcher client
places the source files. For example, if the source file location is:
D:/Client/staging/UserName/Guid/SourceFiles
Change mapping to:
D:/Client/staging/
6. If the scheduler is on a different machine, edit the Scheduler.URL property to specify the
machine name or IP address and port number of the scheduler machine.
Note
This port number must match the port number given in the transscheduler.properties
file in the Dispatcher\Scheduler\conf directory on the scheduler machine.
7. From a command prompt, change to the bin directory where the module is installed and run
one of the following:
• Windows: runmodule.bat
• UNIX: runmodule.sh
Note
Set up the Web server only if you use Web mode for translations.
1. Locate the Dispatcher Server software distribution image for your platform on your local computer
or network.
2. Copy the WebServer directory to the designated translation Web server machine.
Note
Setting up the Translation Admin Client is optional.
1. Locate the Dispatcher Server software distribution image for your platform on your local computer
or network.
2. Copy the AdminClient directory from the Dispatcher directory to the Translation Admin Client
machine.
3. Change to the AdminClient\bin directory and run the appropriate script to start the Translation
Admin Client:
• Windows: runUI.bat
• UNIX: runUI.sh
4. Perform a test translation to verify that the Dispatcher Server is set up and configured properly.
Implementing translators
Implementing translators
• Manually edit the translator.xml file to activate translators. Alternatively, use the configuration
editor to quickly configure modules and translators, and install modules.
• Copy the Translators directory from the software distribution image to the Dispatcher\Module
directory on the module machine.
• Edit the startup file (.bat or .sh) of the translator to specify appropriate values for properties with
CHANGE_ME tags.
• Verify that you have installed the required software and, if needed, the default postprocessor
and related translator.
Note
By default, the isactive attribute is set to false for all translators in the translator.xml
file.
Example:
<!-- Configuration of the Catia V4 to JT translator developed
by THEOREM -->
<Catiav4ToJt provider="UGS" service="catiav4tojt" isactive="false"
wrapperclass="&EAIWRAPPER">
Change to:
3. Verify that the TransExecutable dir, TransExecutable name, or SysExecutable name tag
is correctly specified.
4. Ensure that the appropriate postprocessor for the translator is configured and activated. If you do
not want to use a postprocessor, make sure to comment the Postprocess provider tag within
the service tags of the translator in the translator.xml file.
Example of a commented postprocessor:
<!-- Postprocess provider="UGS" service="previewservice"/ -->
5. For CAD translators, verify that the tessellation configuration file name and directory are correctly
specified.
Each translation module resides on a separate machine and is connected to the translation scheduler
for better load balancing. The scheduler sends translation tasks to the modules and the modules
start one or more translators to perform the translations. It also balances the translation load in the
event of multiple translation requests.
Install the translation scheduler on the designated scheduler machine. This may be on the same
machine as the Web server or any other machine.
Prerequisite
Make sure that you set the JAVA_HOME variable to the root directory where you have installed
JRE or JDK.
1. Locate the Dispatcher software distribution image for your platform on your local computer
or network.
2. Copy the Scheduler directory from the Dispatcher directory to the translation Web server or to
a different machine.
Note
All the properties described in this section are optional.
1. Open the transcheduler.properties file from the Scheduler/conf/ directory on the scheduler
machine.
2. Edit the Port property to specify an unused port number to look up the translation scheduler. The
default port value is 2001.
Note
This must be the same as the port number specified in the Scheduler.URL property
in the DispatcherServer.config file in the Dispatcher\WebServer directory and the
transmodule.properties file in the Dispatcher\Module\conf directory.
4. To specify the number of days for which the scheduler should store translation events, edit the
NumOfEventLogs property. By default, it is set to 3.
If set to 3, the scheduler deletes any events after the third day.
5. Edit the UseDatabase property to set true or false values. By default, it is set to true.
This property determines whether translation data is stored in-memory (false) or in a database
(true) for the scheduler. If you use in memory settings, translation data can possibly be lost if
the scheduler crashes.
Note
Open the database.xml file from the Scheduler\conf directory to see the supported
databases.
6. Edit the DbConfigFile property to specify the location of the database.xml file. By default, it is
set as follows:
DbConfigFile=../conf/database.xml
7. To specify the sleep time (in minutes) for the scheduler thread, edit the
SchedulerThreadSleepTime property. By default, it is set to 0.25.
If the module is busy and the scheduler cannot submit a job, the thread becomes inactive for the
specified time. The scheduler then submits the job after the specified sleep time.
8. (Optional) Edit the SaveSession property to set true or false values. By default, it is set to true.
When set to true, this option saves the session if the scheduler goes down. When you restart the
scheduler, it restores the tasks and events from the session file.
9. To specify a name for the client to look up the scheduler, edit the BindingName property. By
default, it is set to DispatcherScheduler.
Note
The name you specify here must match the Scheduler.BindingName property in the
WebServer\DispatcherServer.config file, if you use Web mode for translations.
10. To stop translation tasks submitted to the module, edit the StopTranslatingTasks property to
specify true or false values. By default, it is set to true.
When set to true, the scheduler can stop translation tasks if the client sends abort or stop
translation requests.
11. To specify the LogWriter internal logger implementation class, edit the LogSystemClassName
property. You can use the default value, which is set as follows:
LogSystemClassName=com.teamcenter.infrastructure.logmanager.
writer.internal.log4j.Log4jInternalLogger
• UNIX: runscheduler.sh
Note
If the startup message fails to appear, check the log file for errors.
Note
If you run the scheduler as a service, Siemens PLM Software recommends that you run
the module and dispatcher client also as Windows services.
Note
Perform this step only if you have installed the scheduler manually.
Each process or task tag on the scheduler corresponds to a translator definition in the translator.xml
file on the module. You can manage the number of processes you want to run across modules at a
given time by specifying a limit using the MaxLimit property. This property defines the maximum
number of translations that you can run simultaneously.
Note
By default, no process is specified in the TaskConfiguration.xml file. This means that
there is no limit on the number of processes that you can run across modules.
2. To define the maximum number of translations that you can run simultaneously, add a Task
Provider element as in the example that follows:
Example:
<Task Provider="XYZ" Service="XYZ" MaxLimit="3"/>
Note
The service attribute in the TaskConfiguration.xml file must match the service attribute
in the translator.xml file in the Module\conf directory.
• MySQL
• Oracle
• HSSQL
For more information about configuring the database, see the Scheduler\conf\database.xml file.
Installing modules
Installing modules
For better load balancing, each translation module resides on a separate machine and is connected
to the translation scheduler. The scheduler sends translation tasks to the modules and the modules
start one or more translators to perform the translations.
The module machine should be a stand-alone machine dedicated for file translations.
Note
Siemens PLM Software recommends that you install translation modules on
enterprise-class servers only. Enterprise-class servers are better designed to handle the
computational, memory, and multi-threaded requirements of translators for large models.
Prerequisite
J2SE Runtime Environment (JRE) or J2SE Development Kit (JDK).
Make sure that you set the JAVA_HOME variable to the root directory where you have installed
JRE or JDK.
2. Copy the Module directory from the Dispatcher directory to the module machine.
3. Extract the translators.zip file for your platform to the Module directory. When you unzip this
file, it creates a Translators directory (within the Module directory) containing all the supported
translators.
Caution
Disable screen savers on module machines. If the scheduler sends a translation request to
a module while the screen saver is running, the module may hang.
Some CAD systems have a file-path length limitation. Copy the Module directory to a
root-level directory to avoid this problem.
Setting up modules
Configure modules for RMI or Web mode
Edit the transmodule.properties file on the module machine to use RMI or Web mode.
1. Open the transmodule.properties file from the Module/conf directory on the module machine.
• RMI mode
The location you specify must map to the location where the Dispatcher Server client puts
the source files. For example, if the source file location is:
D:/Client/staging/UserName/Guid/SourceFiles
Change the mapping to:
D:/Client/staging/
Note
All of the properties described in this section are optional except the Scheduler.URL
property (step 2) if the scheduler is on a different machine and FileServer.URL property
(step 16), if you use Web mode.
2. If the scheduler is on a different machine, edit the Scheduler.URL property to specify the
machine name or IP address and port number of the scheduler machine.
Note
This port number must match the port number given in the transscheduler.properties
file in the Dispatcher\Scheduler\conf directory on the scheduler machine.
Example:
Scheduler.URL=rmi://localhost:2001
If the scheduler is on a different machine, use the scheduler hostname instead of localhost.
4. Edit the Port property and specify the port number for the module to look up the scheduler. The
default port number is 1999. You can use any other valid port number, which is not in use.
Example:
Port=1999
5. Edit the MaximumTasks property to specify the maximum number of translation tasks. The
default value is 3.
Note
This property is used only if the SubmitFilters property is set as described in the
previous step.
8. Edit the MaximumProgress property to specify the number of attempts the module should make
to monitor the progress of the translation before stopping the process. The default value is 100.
If the translation process does not continue after the specified number of attempts, the module
stops the process.
Note
(Optional) You can also set the MaximumProgress property in the
Module\conf\translator.xml file.
<XYZ provider="SIEMENS" service="XYZ" isactive="true"
MaximumProgress="50">
9. Edit the MonitorInterval property to specify the time interval for checking the progress of the
translation task. The time is specified in minutes. The default value is 0.5.
10. Edit the MaximumDeleteTries property to specify the maximum number of delete attempts for
the module to delete the task directory. The default value is 3. Before deleting the task directory,
the module creates a log entry in the module log file.
The module locks all translation requests for specific files and does not release them until all
files are copied to the appropriate directory. Therefore, you must specify this property for the
module to make several attempts to delete the task directory.
Note
To preserve the task directory for troubleshooting, set this property to 0.
11. Edit the Scheduler.TriesBeforeEmail property to specify the number of attempts for the module
to connect to the scheduler before sending an e-mail message to the administrator. The default
value is 1.
12. Edit the ReportFileTransfer property to set true or false values. The default value is false.
When set to true, the dispatcher client gets all file transfer events; however, this can hamper
performance.
14. Edit the Scheduler.BindingName property to specify the binding name used to look up the
scheduler. The default binding name is DispatcherScheduler. If you have more than one
scheduler at your site, the binding name should be unique.
Note
The name you specify here must match the BindingName given in the
transscheduler.properties file in the Dispatcher\Scheduler\conf directory on the
scheduler machine.
Example:
Scheduler.BindingName=DispatcherScheduler
15. Edit the Scheduler.MaximumTry property to specify the number of attempts to connect to the
scheduler before removing the scheduler connection from the list. The default value is 150. If the
scheduler connection is removed from the list, the administrator must restart the module.
The interval between each attempt is determined by the MonitorInterval property, described
in step 9.
Example:
Scheduler.MaximumTry=150
16. To specify the URL used by the module to connect to the file server, edit the FileServer.URL
property.
17. To specify the byte array size used for uploading files, edit the FileServer.ByteSize property. The
default value is 1048576.
18. To specify the maximum threads allowed to upload files at any given time, edit the
FileServer.MaximumUpload property.
The default value is 8. This means that if all the eight threads are uploading files, the thread that
comes after them has to wait till one of the threads has finished uploading files.
19. To configure the file server to authenticate cookies, edit the Cookie.Definition property to specify
the cookie name and value to be sent to the server. The default value is cookie.
Note
Use cookies only if your server supports cookie authentication.
20. Edit the Cookie.NameAndValue property to specify the name and value of the persistent cookie.
This is to authenticate whether the server supports cookie authentication. Separate the name
and value with the equal to (=) sign.
Note
The values you specify for Cookie.Definition and Cookie.NameAndValue properties
should match the values given in the AdminClient\conf\transclient.properties file.
21. To specify the file server implementation classes to use, edit the FileServer.Servlet,
FileServer.Local, and LogSystemClassName properties.
Default values:
Note
The default values can be used without any changes.
• FileServer.Servlet=com.teamcenter.tstk.server.fileserver.servlet.
FileServerImpl
• FileServer.Local=com.teamcenter.tstk.server.fileserver.local.
FileServerLocalImpl
• LogSystemClassName=com.teamcenter.infrastructure.logmanager.writer.
internal.log4j.Log4jInternalLogger
2. Edit the FileServer.URL property to specify the machine name or IP address and port number of
the Web server:
Example:
FileServer.URL=https://MachineName:PortNumber/
DispatcherServer/FileServer
Starting modules
• UNIX: runmodule.sh
Note
If you run the module as a service, Siemens PLM Software recommends that you run the
scheduler and dispatcher client also as Windows services.
For more information, see the respective chapters for the scheduler and dispatcher client
components.
To run the module as a Windows service, run the moduleWinService.bat file from the Module\bin
directory.
Note
Windows service does not support mapped drives. You should use a UNC path or path
which is local to the machine.
Teamcenter Integration for SolidWorks (SWIM) does not support UNC paths.
Note
Start the scheduler service before you start the module service to avoid connection delays
and translation failures.
Note
Perform this step only if you have installed the module manually.
Note
Skip this topic if you use RMI mode for performing translations.
2. Copy the WebServer directory from the Dispatcher directory to the Web server machine.
Note
You must verify the home directory location of the Web server before proceeding
with the Dispatcher Server installation.
2. Deploy the DispatcherServer.war file from the WebServer directory on your Web server and
start the Web server. For more information, see your Web server documentation.
3. Open a Web browser and enter the following URL to verify the status of the Dispatcher Server:
http://host-name:port-number/DispatcherServer
Replace host-name with the name of your Web application server host.
Replace port-number with the port number used by your Web application server.
If you have successfully deployed the WAR file, the Web browser displays the following message:
Note
This is only a sample message and the type of message you get depends on the
Web server you use.
Note
All the properties described in this section are optional except the Scheduler.URL property
(step 2), if the scheduler is on a different machine.
2. If the scheduler is on a different machine, edit the Scheduler.URL property to specify the
machine name or IP address and port number of the scheduler. The Dispatcher Server uses
2001 as the default port number.
Example for Web mode:
Scheduler.URL=scheduler_hostname:2001
Note
This port number should be the same as the port number in the
transscheduler.properties file in the Dispatcher\Scheduler\conf directory.
3. Edit the Scheduler.BindingName property to specify a name to look up the scheduler. If you
have more than one scheduler at your site, specify a unique name.
Example:
Scheduler.BindingName=DispatcherScheduler
Note
This should be the same as the binding name in the transscheduler.properties file in
the Dispatcher\Scheduler\conf directory.
4. Edit file server environment, general, and file server lock properties as appropriate. For more
information, see the DispatcherServer.config file.
• Gathering the required files (C) and placing them in a predefined directory.
3. The dispatcher client submits the translation request to the Dispatcher Server (E). The request
contains all the necessary information to submit the request, including a hierarchical map of
CAD files.
5. The dispatcher client maps translated files to CAD files and adds this mapping information
to the original task file (G).
6. The dispatcher client passes this information to the client for further processing.
The following figure shows the flow of data through the dispatcher client.
A 1
SYSTEMS
B 2
/visfiles
F C D G
JT CAD XML XML
CAD
= CAD JT
CAD CAD JT
4 JT CAD CAD CAD JT
JT CAD
4
SYSTEMS
• I-deas
• Pro/ENGINEER
• CATIA
Install server solutions for CAD integration and the translation environment according to the
documentation provided with each integration.
Note
Siemens PLM Software recommends that you install the dispatcher client on a machine in
close proximity to the client machine for optimal performance.
2. Edit the DispatcherServer.URL property to use RMI or Web mode. By default, it is set to RMI
mode.
Note
If you want to use Web mode, be sure to comment the RMI URL property and
uncomment the HTTP URL property.
#DispatcherServer.URL=rmi://localhost:2001
DispatcherServer.URL=http://localhost:8080/DispatcherServer/DispatcherServer
2. If you use RMI mode, edit the Staging.Dir property to set it to the common staging directory.
(Leave this property blank for Web mode.)
Note
The common staging directory specified here should be the same as the directory
specified in the transmodule.properties file on the module machine.
3. (Optional) Edit the Port property to define the port number for the dispatcher client RMI registry.
The default value is 1099.
You can specify any other valid RMI port, which is not in use.
4. Edit the CHANGE_ME tags for database host (DB_Host), database port (DB_Port), and trusted
database user (User) as appropriate.
Note
Edit DB_Host, DB_Port and User properties only if you use Teamcenter Enterprise.
5. (Optional) Edit the BadChars property to replace bad characters from the translation task source
files with “_” to avoid translation errors.
6. (Optional) Edit the PreviewMapping property to define whether the generated preview images
should be mapped back to the PDM system. You can specify the value as 0 to disable preview
images or 1 to generate preview images. The default value is 1.
7. (Optional) Edit the NamingContext property to specify a naming context for the generated JT
files.
Naming context parameters are as follows:
• Option1: Partnumber_PartName.jt
8. (Optional) Edit the EventHandler property to specify the event handler class, which is the
implementation of the IEventHandler interface that handles the translation events coming from
the Dispatcher Server.
The default value is set as follows:
EventHandler=com.teamcenter.translationservice.test.TestEventHandlerImpl
9. (Optional) Edit the BomPreviewMapping property to define an appropriate mapper. Specify 1 for
BOM-based preview mapping or 0 for standard preview mapping. The default value is 0.
• UNIX: runDispatcherClient.sh
Note
If you run the dispatcher client as a service, Siemens PLM Software recommends running
the scheduler and modules also as a service.
1. If you use Teamcenter, set the TC_DATA and TC_ROOT system variables as appropriate.
You must set a permanent system variable from My Computer or Control Panel > Advanced
system settings > Environment variables.
Examples:
TC_DATA=C:\Progra~1\Siemens\tcdata
TC_ROOT=C:\Progra~1\Siemens\Teamcenter8
Note
When you install Teamcenter, TEM automatically sets the FMS_HOME system
variable.
The Dispatcher Client service fails to start as a Windows service if you do not set the
TC_DATA and TC_ROOT system variables.
3. From the Windows Services console, right-click DispatcherClientversion service and choose
Properties.
4. In the Log On pane, choose the This account option to assign a logon account for the
Dispatcher Client service.
Note
You must provide administrator privileges for the Dispatcher Client service.
Note
Start the scheduler and modules before you start the dispatcher client to avoid connection
delays and translation failures.
Note
Start the scheduler service before you start the dispatcher client to avoid connection delays
and translation failures.
Note
Perform this step only if you have installed the dispatcher client manually.
Note
The procedures described in this section are specific to Teamcenter Enterprise.
UNIX:
Note
To submit tasks, the Task.xml file should have all the required information as defined in
the Task.xsd file in the DispatcherClient\xml directory.
• Processes the translation event messages and modifies and/or deletes submitted tasks.
Note
The Translation Admin Client is a sample implementation of the Dispatcher Server. You
can install it optionally to verify the Dispatcher Server installation and setup.
Prerequisites
• J2SE Runtime Environment (JRE) or J2SE Development Kit (JDK).
• Make sure that you set the JAVA_HOME variable to the root directory where you have installed
JRE or SDK.
2. Copy the AdminClient directory from the Dispatcher directory to the machine you have
designated for Translation Admin Client.
Note
The Translation Admin Client standard installation supports the common staging directory
option. The common staging directory avoids the need for file transfers from the client
and module locations.
1. Browse to the AdminClient\conf directory and open the transclient properties file.
• RMI mode: The location you specify must map to the location where the module places the
source files. For example, if the source file location is:
D:/Client/staging/UserName/Guid/SourceFiles,
change the mapping to:
D:/Client/staging/
Note
The Staging.Dir property you specify here must match the Staging.Dir property you
have specified in the transmodule properties file in Module\conf directory.
• Specify translation options as described in Installing and setting up the Translation Admin Client.
• Start the Web server/file server, if you use Web mode for translations.
• UNIX: runUI.sh
3. In the Server URL box, specify the appropriate URL for the server mode you have selected.
4. In the Staging Directory box, enter the staging directory, if you use RMI mode for translations.
Alternatively, click Find to change to the staging directory.
Note
The staging directory you enter here must match the Staging.Dir property you have
specified in the transmodule properties file in the Dispatcher\Module\conf directory.
Managing translations
Translate files
1. Click Translate to open the Translate pane.
This is the default pane that opens when you start the Translation Admin Client.
2. From the Provider and Service area, select the service provider, for example, UGS. Then
select the translator, for example, tozipfile.
Note
You can customize the Translation Admin Client translator mappings by editing the
AdminClientUI.xml file in the Dispatcher\AdminClient\ui\swing directory.
• Repeating option for repeated tasks. Select Start Time, End Time and specify the Interval
value (in seconds) as appropriate.
Note
For repeating tasks, the interval you specify should be more than the translation
time. Otherwise, translation state changes can become unpredictable.
4. In the Submits box, type the number of times you want to submit the files for translation. You can
submit the same task multiple times for performance testing.
5. From the Context menu, select the context. Generally, the stand-alone translation context
is Translation.
7. In the Destination box, specify the destination file name for translation results.
8. In the Dependent Files box, specify dependent files. Alternatively, click Find to browse to the
location of the files.
For part translations, dependent files can be drawing files associated with the part and for
assembly translations, the dependent files can be subassemblies and parts related to the root
assembly.
9. In the Translator Options box, type a key name and its associated value.
The following table describes some examples of key and value pairs you can use.
Key Values
OUTPUT_TYPE CGM, TIF, HPG, PDF, or JPG
COMBINE_OUTPUT blank to create multiple output files.
-combine to create a single output file.
The Submitted, Finished, Errors, and Interrupted fields display the number of translations
submitted, translations finished, translations with errors, and translations interrupted for the current
session.
Manage translations
1. Click Admin to open the Admin pane.
2. In the Query & Admin pane, select the appropriate options for your query and then click Query.
The following table describes the query options that you can use in Translation Admin Client.
Option Description
ALL or UGS Allows you to query all tasks or tasks for a specific service
provider such as UGS.
ALL or translator name Allows you to query all tasks or tasks for a specific translator
such as tozipfile.
Task ID Allows you to query for tasks with specific task IDs.
Option Description
User Name Allows you to query tasks based on user name.
Status Allows you to query tasks based on the task status. For
example, finished tasks.
3. In the Auto Query box, type the time in seconds for querying translation tasks automatically. If
you enter 5, the Translation Admin Client queries for new translation tasks every 5 seconds.
After you start an automatic query, click Stop Query to stop querying.
4. If other modules are connected to the Translation Admin Client, click Manage Modules to
view and manage them. The Manage Translation Modules window lists the machine names
(modules) and their status. Select a machine name and click Start if the module is not started
or Pause to pause the module. Pause stops the modules from taking more requests; however,
it does not stop existing requests.
Click Close to close the Manage Translation Modules window.
5. After you click a task in the Tasks pane, do one of the following:
• Stop, to stop the task.
You cannot stop tasks that have reached the final state, that is, finished translations,
translations with errors, and translations for which service is not available.
• Change Priority, to change the priority of tasks. You can choose, High, Medium, or Low
as appropriate.
You cannot change the priority of tasks that have started.
• Change Time, to specify the translation start time in mm/dd/yyyy hh:mm format for tasks.
You cannot change time for tasks that have started.
Note
You can also perform batch translations using the sample BatchInput.xml file from the
AdminClient\testxml directory. It uses the Dispatcher Server client APIs to perform
batch translations.
You can save translation batch files to an XML file and import it later for performing batch
translations.
3. Select an input file or row in the Batch Translations pane, and select one of the following options:
• Submit, to submit the batch for translation.
• Save, to save the batch file as an XML file. This file can be imported later for performing
batch translations.
</Provider>
</ProviderMap>
• If Siemens PLM Software is the service provider for the new translator, add a <Service>
element within the existing Siemens PLM Software provider tags as follows:
<Service string="iditojt" ext=".jt">
<FileFilter id="Idi" string="idi" desc="Idi Files (*.idi)"/>
</Service>
Property Description
Service string Translator name. For example, IdiToJt.
Service string ext File output extension.
FileFilter id Used for filtering input files.
FileFilter string Input file extension, excluding the period (.).
FileFilter desc Description of input files displayed in the browser.
2. Edit the <RootDir value="../data"/> property to specify the directory for your main source files.
4. Edit other properties such as service provider, priority value, and input extensions. The sample
code that follows describes these properties.
In the following example, ssw_idi0001.idi file in the data subdirectory of the AdminClient
installation will be translated to the .zip format.
<?xml version="1.0"?>
<!--
This software and related documentation are proprietary to UGS Corp.
COPYRIGHT 2007 UGS CORP. ALL RIGHTS RESERVED
-->
<TranslationTasks>
<!-- RootDir is the common directory for all the Input files in
this xml file.-->
<!-- This can be absolute path or relative path from
AdminClient/bin Directory.-->
<RootDir value="../data"/>
<!-- To add more tasks to the batch, copy and insert more TranslationTask
elements -->
<TranslationTask Submits="1" Provider="UGS" Service="tozipfile"
context="Translation"> <Priority value="2"/>
<!-- For time based tasks uncomment Time tag. Time format is
"MM/dd/yyyy HH:mm" -->
<!--Time value="01/25/2007 17:33"/-->
<Options>
<Option key="Test_Key" value="Test_Value"/>
</Options>
<!-- If RootDir is specified input file path is value of "RootDir + Input". >
< If RootDir is not specified input file path is value of "Input" and >
< has to be absolute path. >
< This applies to the both Input and Dependant element attribute. -->
<Input value="ssw_idi0001.idi"/>
<!-- Dependant values take * wildcard -->
<!-- Dependant value="*.dep"/ -->
</TranslationTask>
</TranslationTasks>
• log-volume-location\category\task
log-volume-location is the central repository of log files. In the TEM installer, you can specify the log
volume location in the Dispatcher Services Log Directory box.
category is Dispatcher Server for Dispatcher Server components.
process is the directory for all process logs. Process logs are the main log files for components,
such as the scheduler and module.
task is the directory for all task logs. Task logs are log files specific to tasks, such as submitting
files for translation or generating translated files.
<logger name="Process">
<level value="INFO"/>
<appender-ref ref="ProcessAppender"/>
<appender-ref ref="ProcessConsoleAppender"/>
</logger>
<logger name="Task">
<level value="INFO"/>
<appender-ref ref="TaskAppender"/>
<appender-ref ref="TaskConsoleAppender"/>
</logger>
Note
All the properties described in this section are optional.
1. Open the respective properties file for the component from the Dispatcher\component-name\conf
directory.
2. Edit the LogManager.Debug property to set it to true or false values. By default, it is set to false.
If set to true, debug messages are written on the console.
3. Edit the MaxTries property to set it to an appropriate value. By default, it is set to 0 for the
stand-alone Dispatcher Server.
If the MaxTries property is set to 5, the Dispatcher Server component tries to write XML files to
the metadata\process and metadata\task directories every 0.5 seconds for five times if the XML
files are locked by another metadata writer thread.
Note
To stop logging, set logfile="none".
Note
Before you install the Web Application Manager, install a Siemens PLM Software-supported
Web application server on your Web application server host.
2. Locate the Teamcenter software distribution image for your platform on your local computer
or network.
4. In the Unzip To Folder field, type the path to WEB_ROOT, and then click Unzip.
After 7-Zip extracts the installation files, click Close to close the 7-Zip self-extractor dialog box.
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1
Adding the translator JAR file to the classpath and path . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-7
• Error handling
Note
Complete API documentation is available in the Dispatcher Server software distribution
image from the dispatcher\Documentation\javadocs directory. Open the index.html
file to view this documentation.
• Interface TranslationModule
• Interface TranslatorRunnable
The Dispatcher Server includes a default wrapper class that can perform most translations and, often,
all you need to do is configure the translator.xml file to set up the translator.
In this case, the system attribute represents the classpath passed to the Java Virtual Machine (JVM)
module. Ensure that the translator Java archive files are added to the module classpath.
The element definition of the translator specifies options, file extensions, and any preprocessor or
postprocessor translators. The format of the definition depends on the command string used by the
translator in the batch mode.
Note
The translator.xml file in the Module/conf directory includes examples of translator tags
defined for CAD to JT translators. This is a good source of examples for new translator
tags.
The container element for this translator is <AToB>. The following table describes the container
element attributes.
Attribute Description
provider Ensures that there is no name conflict if there is more than one translator
with the same name. The client uses this provider name to submit a
translation request.
service Identifier for this particular translator. The client uses the service name to
submit a translation request.
maxlimit The maximum number of simultaneous instances of a translation of a
given type (for example, UgToJt) that a module can perform.
If a translator can handle only one translation at a given time, the value
must be set to 1. Any value greater than 1 can cause translation failures.
If there is a limitation based on number of licenses available, set the
maxlimit property for the number of licenses.
isactive Specifies whether a translator is active or not.
NoOfTries Specifies the number of tries.
By default it is set to 1.
OutputNeeded Specifies whether output is needed.
By default it is set to true.
MaximumProgress (Optional) This property is used to specify the number of attempts the
module should make to monitor the progress of the translation before
stopping the process. The default value is 100. If the translation process
does not continue after the specified number of attempts, the module
stops the process.
You can add this property in the Module\conf\translator.xml file.
Note
If this property is not specified in the
Module\conf\translator.xml file, default values
are taken from the global definitions in the
Module\conf\transmodule.properties file.
Attribute Description
WaitTimeForReTries (Optional) Modules have the capability to retry translations if they fail.
This property is used to specify the wait time before retrying the translator.
It is useful in cases where the translator fails due to resource and/or
license issues.
By default it is set to 0.
You can add this property in the Module\conf\translator.xml file.
ExclExitVal (Optional) Some third-party translators give a non-zero exit value even if
the translations are successful. This property is used to exclude the use
of an exit value to evaluate the status of a translation.
By default it is set to 0.
You can add this property in the Module\conf\translator.xml file.
logfile (Optional) This property is used to capture translator output and error
streams in a separate translator log file. This log file is available in the
result directory along with the other output files.
You can add this property in the Module\conf\translator.xml file.
Note
If the logfile tag is not specified, a log file with
Provider_ServiceName.log name is created. If set to
logfile=none, no log file is created.
The <TransExecutable> element specifies an executable. This may be any executable file called
from the command line (for example, .exe, .bat, or .sh).
• The dir element specifies the full path to the executable file.
The <Options> element defines the arguments for the executable. If the arguments to the translator
are order dependent, ensure that the options are specified in the dependent order.
• The name attribute recognizes the following keywords:
o outputdir: Path to the directory were the output file should be located
These keywords do not take any value; the Dispatcher Server defines the value. Any other
value passed is only a description name. If you do not use a predefined keyword, you must
assign the name a value.
• The string attribute is a prefix string required for any of the option arguments.
• Use the value option if the name attribute is not one of the predefined keywords. In this example,
the executable requires a configuration file. value defines the full path to the configuration file.
This can be any value the translator understands.
Note
Copy the Translators directory to Dispatcher\Module directory when you install the
presupplied translators provided with your client solution.
• Windows and UNIX: Add a CPATH statement that includes the path to all .jar files required
by the translator.
The following examples show how to modify the appendcpath script to add the AToB translator
to the JVM classpath. In this case, the AToB translator has a single Java archive file and does
not require any DLLs.
• Windows: set CPATH=%CPATH%;%HOME%\Translators\atob\atob.jar
Note
For UNIX, the process status command depends on the UNIX shell.
While ksh uses $?, csh uses $status.
Deployment considerations
Before deploying the Dispatcher Server, you need to plan your deployment strategy which includes:
• Identifying translation load.
The module is where all the intense computational process of translations occur. The module should
be sized sufficiently to handle the expected translation throughput.
The module hardware requirement is governed by the translator hardware requirements, number
of translators installed, and the number of maximum potential translation tasks (number of users
simultaneously submitting tasks).
An enterprise class server machine is highly recommended for the module, as these machines have
the ability to scale the number of CPUs and memory much more than a normal workstation.
The scheduler provides the communication from Teamcenter clients and manages the queue and job
distribution to the modules.
The scheduler is only a pipeline mechanism to manage the translation requests used by modules.
The scheduler requires minimum machine resource to run; however, it does hold an object in memory
for each translation request that it is managing.
The dispatcher client gets the translation task from Teamcenter to Dispatcher Server. Only one
dispatcher client is required per Teamcenter server installation.
The dispatcher client for Teamcenter manages the data extraction and data loading into Teamcenter.
While the data extracting and loading are not computationally intensive, it does require a machine
with communication pipeline to the server as well as enough disk space and memory needed for
the operations. Although not required, the recommended approach is to have the dispatcher client
running on the same machine as the Teamcenter server.
Number of users
The number of users submitting translation tasks needs to be accounted for when trying to get
the maximum amount of throughput.
If a site has 100 users that can potentially submit 100 simultaneous translation tasks, and the
expected throughput is 1 hour, there must be enough computational capacity to handle the load. This
can be accomplished by providing enough CPU and memory to handle the 100 tasks. Increasing
load capacity can also be handled by adding additional modules to handle the additional throughput.
As throughput requires increase or decrease, modules can be started or stopped dynamically to
handle the load requirements.
Knowing the average size of the models that will be using the system will give an idea as to the
minimal requirements required to support the normal day-to-day operational needs. Consider size of
the models to be submitted for translation estimates when planning for the number of translations
that can be executing simultaneously.
Note
If a machine has 10 GB memory available, and the average size of the model requires 4
GB of memory to translate, the maximum number of translators that should be configured
to run at a given time should be two.
Model complexity influences translation times. Models with many curves are more geometrically
complex to translate than models with many straight edges.
The components required to get the data from Teamcenter to the translators are mainly pipeline
mechanisms for moving data and communication and require proper network bandwidth for the
expected data load which is unique to each site. The machine performing the actual translation task
must have enough CPU, memory, and disk space capacity to load and translate the models.
Understanding the disk space requirements needed ensures that the translations will not run out of
disk space during a translation. To get the required disk space requirements, multiply the average
sized model with the number of possible simultaneous translations.
Average model size x number of translations = Average disk space needed at any given time
You also need to account for the generated data, logs, CAD system files while calculating the disk
space needed.
With this kind of deployment, you can distribute the computing power of multiple machines within
the same domain to handle translation tasks.
Each Dispatcher Server component distributed on separate machines within the same domain.
Teamcenter server and dispatcher client on the same machine, scheduler and modules on other
machines
Teamcenter server and dispatcher client on the same machine, scheduler and modules on
other machines
Teamcenter Server, dispatcher client, scheduler on the same machine, modules on other machines
Teamcenter server, dispatcher client, scheduler on the same machine, modules on other
machines
Teamcenter Server and dispatcher client on the same machine, scheduler and one module on the
same machines, another module on a different machine
Teamcenter server and dispatcher client on the same machine, scheduler and one module on
the same machines, another module on a different machine
Teamcenter Server, dispatcher client, scheduler on the same machine, modules on machines
of different platforms.
Teamcenter server, dispatcher client, scheduler on the same machine, modules on machines
of different platforms.
Unable to run Dispatcher components as a Windows service due to a missing DLL file . . . . . . . C-1
Troubleshoot the Dispatcher Server by running the Translation Admin Client . . . . . . . . . . . . . . C-1
• Windows: runscheduler.bat
• UNIX: runscheduler.sh
• Windows: runmodule.bat
• UNIX: runmodule.sh
Note
Ensure that the Web server is started if you use Web mode.
• Windows: runDispatcherClient.bat
• UNIX: runDispatcherClient.sh
4. Check log files for the scheduler and modules. If there are any warnings, take correction action
as appropriate.
2. Check the log files for errors. If there are errors, take corrective action as appropriate.
If there are no errors and if the tozipfile translator successfully completes the translation, the
Dispatcher Server is working properly.
To correct this problem, modify the port number for the scheduler in the transscheduler.properties
file in the Dispatcher\Scheduler\conf directory.
Note
There is no log file for this error.
Troubleshoot translators
If there is a problem with a translator, you can see a message in the module window or an error in
the log file.
Example:
Skipping translator translator-name
because of exception.
2. Run the translator manually against a CAD file. If it works manually, then the problem is not with
the translator itself, but with the translator setup. If it fails, the translator may not be properly
licensed.
Do not perform translations from within Teamcenter until you can manually perform the translation.
3. To test the translator setup, run the Translation Admin Client to test the translators in question as
described in Troubleshoot the Dispatcher Server by running the Translation Admin Client. If all
configured translators work, the problem is not with the translator setup.
Note
If the translation for any configured translator fails, the problem is with the translator
setup.
4. Examine the translator.xml and other setup files for the failed translator.
2. Ensure that the connection to the Teamcenter host is still running. Often, dispatcher client fails
because it is unable to upload and download translation files to the Teamcenter host.
Headquarters
Europe
Granite Park One
Stephenson House
5800 Granite Parkway
Sir William Siemens Square
Suite 600
Frimley, Camberley
Plano, TX 75024
Surrey, GU16 8QD
USA
+44 (0) 1276 413200
+1 972 987 3000
Asia-Pacific
Americas
Suites 4301-4302, 43/F
Granite Park One
AIA Kowloon Tower, Landmark East
5800 Granite Parkway
100 How Ming Street
Suite 600
Kwun Tong, Kowloon
Plano, TX 75024
Hong Kong
USA
+852 2230 3308
+1 314 264 8499