Tcif Guide
Tcif Guide
Tcif Guide
Teamcenter
Integration
Framework
tcif1 • 3.2
Contents
Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11
Configure the integration framework email service . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12
Troubleshoot Teamcenter Integration Framework transfer processes . . . . . . . . . . . . . . . 4-12
Control file uploading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14
Stop Teamcenter Integration Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14
Managing passwords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14
Configure the Apache Karaf password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14
Enable Karaf password encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15
Change the Teamcenter Integration Framework security repository password . . . . . . . . . 4-15
Teamcenter Integration Framework logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16
Teamcenter Integration Framework message objects . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16
Configuring Teamcenter Integration Framework exception message logging . . . . . . . . . . 4-17
Configure Teamcenter Integration Framework tracing in log files . . . . . . . . . . . . . . . . . . 4-18
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index-1
Improved usability
Based on customer feedback, several parts of Teamcenter Integration Framework have been updated
to improve ease of use and security, including:
• Creating and editing properties
Teamcenter Integration Framework (TcIF) integrates Teamcenter with other systems, helping to
automate processes which cross system boundaries. Teamcenter Integration Framework lets you
leverage your existing applications and integrate new applications with Teamcenter using a high
performance and scalable framework that decouples the integrations from the applications to reduce
maintenance complexity.
Install (or update) Teamcenter Integration Framework using Deployment Center or Teamcenter
Environment Manager (TEM) as described in Installation and update process.
The Teamcenter integration server requires a Java development kit (JDK) during installation. For
information about versions of operating systems, third-party software, Teamcenter software, and
system hardware certified for your platform, see the Teamcenter Compatibility Matrix.
Teamcenter Integration Framework is configured and administered using the Teamcenter Integration
Framework configuration interface as described in Configuring Teamcenter Integration Framework.
Start the Teamcenter integration server from the command line as described in Run Teamcenter
Integration Framework.
You can also configure Teamcenter Integration Framework to run as a service on Windows as
described in Run Teamcenter Integration Framework as a service.
Use TEM to install Teamcenter Integration Framework and (optionally) Teamcenter . . . . . . . . . 3-4
For instructions on creating and updating Teamcenter Integration Framework clusters, see Run
Teamcenter Integration Framework instances in a cluster.
2. Log onto Deployment Center and click the Software Repositories tile to view the Teamcenter
Foundation and Teamcenter Integration Framework software kits, verifying their availability
in the software repository.
3. Click the Environments tile to display the available environments. Select an existing scanned
Teamcenter environment to use to install Teamcenter Integration Framework or another existing
Teamcenter environment to use.
4. Click the Deploy Software tab. In the Software task, add the Teamcenter Integration Framework
software to the Selected Software list.
6. In the Applications task, update your selected applications with the following available
applications:
Integration Framework Core
The fundamental Teamcenter Integration Framework components.
Integration Framework for Applications
The integration with your selected Teamcenter environment.
7. In the Components task, bring each component to a 100% complete status by supplying the
required settings for each.
While supplying settings, record values such as user names and passwords for later reference.
9. Follow the steps in Run the deployment scripts in the Deployment Center help collection to run
the deployment scripts for your Teamcenter Integration Framework environment.
10. After you receive the Deployment action successfully completed message from the console
from which you ran the deployment script, Teamcenter Integration Framework is installed. Start
Teamcenter Integration Framework as described in Run Teamcenter Integration Framework.
3. On the Apply Updates panel, specify the location of the Teamcenter Integration Framework
kit in Update kit location.
9. On the Feature panel, expand Platform Extensibility > Integration Framework and choose
Integration Framework Core.
10. Continue through the remaining panels by accepting the default values. You can click Advanced
to choose different ports. The default values are:
Web Server Port: 8080
Security Port: 9001
Web UI Port: 8090
Active MQ Port: 61616
Rest Services Port: 8090
If you change the default values, make note of them. You need the Web Server Port number
when defining your sites in Teamcenter, and you need the Web UI Port number to access the
Teamcenter Integration Framework configuration interface when you enter the address directly in
a web browser.
TEM displays the Confirmation panel. Click Start to confirm the settings and start the
Teamcenter Integration Framework installation. It may take several minutes to complete the
installation. TEM displays a success message when the installation completes.
• On Linux and UNIX systems, you can start Teamcenter Integration Framework in interactive
mode by running the trun script in the tcif/container/bin directory. Alternatively, you can start
the application as a background process by running the start script in the same directory.
e. On the Media Locations panel, specify the location of the media used for the current
Teamcenter installation for Original Media Location. Then, browse to and select the
Teamcenter Integration Framework media location, adding it to the Update Location list.
f. Type a new identification and description in the Configuration panel if you do not want
to use the default values.
Note
To use the Enterprise Integration, TEM must be able to access the Teamcenter
Enterprise connector files (mti.jar and mtiems.jar) for the site. You must supply their
location in a later step.
If you are installing in an existing Teamcenter environment, you cannot change the installation
directory. Teamcenter Integration Framework is installed in the tcif directory under your existing
TC_ROOT directory. Otherwise, you can enter the path to the desired directory and Teamcenter
Integration Framework is installed in the tcif directory under the path you enter.
3. If you are installing a stand-alone Teamcenter Integration Framework, enter the path to the Java
Development Kit (JDK) in the Path box of the Java Development Kit panel.
4. You can accept the default port numbers or click Advanced to choose different ports. The
default values are:
Web Server Port: 8080
Security Port: 9001
Web UI Port: 8090
Active MQ Port: 61616
Rest Services Port: 8090
If you change the default values, make note of them. You need the Web Server Port number
when defining your sites in Teamcenter, and you need the Web UI Port number to access the
Teamcenter Integration Framework configuration interface when you enter the address directly in
a web browser.
5. If you are connecting to Teamcenter Enterprise, enter the path to the Teamcenter Enterprise
connector files (mti.jar and mtiems.jar) in the Enterprise Integration Setting panel.
TEM displays the Confirmation panel. Click Start to confirm the settings and start the
Teamcenter Integration Framework installation. It may take several minutes to complete the
installation. TEM displays a success message when the installation completes.
On Windows systems, a shortcut icon for starting Teamcenter Integration Framework is placed
on your desktop. Alternatively, you can start Teamcenter Integration Framework in a command
prompt window by running the trun script in the tcif\container\bin directory.
On Linux and UNIX systems, you can start Teamcenter Integration Framework in interactive
mode by running the trun script in the tcif/container/bin directory. Alternatively, you can start the
application as a background process by running the start script in the same directory.
• The Teamcenter Foundation kit required to support the updated version of Teamcenter
Integration Framework.
Software kits supporting several configurations are available from GTAC. Ensure you have the
correct software kits for the your operating system and version of Teamcenter an Teamcenter
Integration Framework.
2. Log onto Deployment Center and click the Software Repositories tile to view the Teamcenter
Foundation and Teamcenter Integration Framework software kits, verifying their availability
in the software repository.
3. Click the Environments tile to display the environments in Deployment Center. Select the
environment for which you want to update Teamcenter Integration Framework.
4. Click the Deploy Software tab. In the Software task, add the Teamcenter Foundation software
to the Selected Software list if it is not already listed. Then, add the Teamcenter Integration
Framework software to the Selected Software list.
6. In the Applications task, verify the Teamcenter Integration Framework applications are marked
for updating.
7. In the Components task, bring each component to a 100% complete status by supplying the
required settings for each.
While supplying settings, record values such as user names and passwords for later reference.
9. Follow the steps in Run the deployment scripts in the Deployment Center help collection to run
the deployment scripts for your Teamcenter Integration Framework environment. Once you
receive the Deployment action successfully completed message from the console from which
you ran the deployment script, Teamcenter Integration Framework is updated.
The previous Teamcenter Integration Framework is archived, remains functional, and can be
started if necessary. The previous Teamcenter Integration Framework is archived at the following
location:
TcIF_ROOT\tcif_<date_and_time_stamp>
10. Evaluate the files in TcIF_ROOT/container/etc to ensure all custom files have been migrated
from the old Teamcenter Integration Framework. Manually copy any files that have not been
migrated from the archived Teamcenter Integration Framework installation.
11. Evaluate the files in TcIF_ROOT/container/deploy to ensure all custom files have been migrated
from the old Teamcenter Integration Framework. Manually copy any files that have not been
migrated from the archived Teamcenter Integration Framework installation.
12. Custom feature files in the TcIF_ROOT/container/deploy directory that refer to the old
Teamcenter Integration Framework version will not deploy correctly. Update the files to refer to
the latest Teamcenter Integration Framework version.
13. Update your custom bundles as necessary. If custom bundles specifically use the old Teamcenter
Integration Framework version, update these bundles to use the latest Teamcenter Integration
Framework version.
14. Start Teamcenter Integration Framework. (On UNIX, start Teamcenter Integration Framework
from a console and not as a background process.)
The datastore migration occurs the first time the upgraded Teamcenter Integration Framework
is started. Once the migration is complete, Teamcenter Integration Framework restarts
automatically. The console window shows the migration status, and migration information is
captured in the Teamcenter Integration Framework log file TcIF_ROOT/container/log/tesb.log.
After the migration, you may need to manually resolve migration conflicts if files in the new
datastore have the same names as files in the old datastore, yet their contents differ. See
Resolve Teamcenter Integration Framework datastore migration conflicts for guidance.
Once conflicts are resolved, Teamcenter Integration Framework is ready for use.
2. Evaluate the files in TcIF_ROOT/container/etc to ensure all custom files have been migrated from
the old Teamcenter Integration Framework. Manually copy any files that have not been migrated.
3. Evaluate the files in TcIF_ROOT/container/deploy to ensure all custom files have been migrated
from the old Teamcenter Integration Framework. Manually copy any files that have not been
migrated.
4. Custom feature files in the TcIF_ROOT/container/deploy directory that refer to the old
Teamcenter Integration Framework version will not deploy correctly. Update the files to refer to
the latest Teamcenter Integration Framework version.
5. Update your custom bundles as necessary. If custom bundles specifically use the old Teamcenter
Integration Framework version, update these bundles to use the latest Teamcenter Integration
Framework version.
6. Start Teamcenter Integration Framework. The datastore migration occurs the first time the
upgraded Teamcenter Integration Framework is started. Once the migration is complete,
Teamcenter Integration Framework restarts automatically.
The console window shows the migration status, and migration information is captured in the
Teamcenter Integration Framework log file TcIF_ROOT/container/log/tesb.log.
After the migration, you may need to manually resolve migration conflicts if files in the new
datastore have the same names as files in the old datastore, yet their contents differ. See
Resolve Teamcenter Integration Framework datastore migration conflicts for guidance.
Once conflicts are resolved, Teamcenter Integration Framework is ready for use.
After the previous Teamcenter Integration Framework installation is moved to the backup directory,
the new Teamcenter Integration Framework version is installed in the original installation directory.
The steps for patching a standalone Teamcenter Integration Framework instance differ from those
for patching a Teamcenter Integration Framework instance that is part of a cluster. Each process
includes manually verifying that any site-specific customizations have properly migrated. Use the
following general processes for patching your instance.
2. Evaluate the files in TcIF_ROOT/container/etc to ensure all custom files have been migrated from
the old Teamcenter Integration Framework. Manually copy any files that have not been migrated.
3. Evaluate the files in TcIF_ROOT/container/deploy to ensure all custom files have been migrated
from the old Teamcenter Integration Framework. Manually copy any files that have not been
migrated.
4. Custom feature files in the TcIF_ROOT/container/deploy directory that refer to the old
Teamcenter Integration Framework version will not deploy correctly. Update the files to refer to
the latest Teamcenter Integration Framework version.
5. Update your custom bundles as necessary. If custom bundles specifically use the old Teamcenter
Integration Framework version, update these bundles to use the latest Teamcenter Integration
Framework version.
6. Start Teamcenter Integration Framework. The datastore migration occurs the first time the
patched Teamcenter Integration Framework is started. Once the migration is complete,
Teamcenter Integration Framework restarts automatically.
The console window shows the migration status, and migration information is captured in the
Teamcenter Integration Framework log file TcIF_ROOT/container/log/tesb.log.
After the migration, you may need to manually resolve migration conflicts if files in the new
datastore have the same names as files in the old datastore, yet their contents differ. See
Resolve Teamcenter Integration Framework datastore migration conflicts for guidance.
Once conflicts are resolved, Teamcenter Integration Framework is ready for use.
When patching from a release earlier than Teamcenter Integration Framework 3.0 (delivered with
Teamcenter 11.4), be aware that SSO is disabled by default in the new Teamcenter Integration
Framework installation and must be manually enabled if desired.
1. Shut down all Teamcenter Integration Framework instances that are part of the cluster.
3. One instance at a time, perform the following steps on each instance in the cluster.
a. Use TEM to patch Teamcenter Integration Framework on the instance.
b. Evaluate the files in TcIF_ROOT/container/etc to ensure all custom files have been migrated
from the old Teamcenter Integration Framework. Manually copy any files that have not
been migrated.
c. Evaluate the files in TcIF_ROOT/container/deploy to ensure all custom files have been
migrated from the old Teamcenter Integration Framework. Manually copy any files that
have not been migrated.
d. Custom feature files in the TcIF_ROOT/container/deploy directory that refer to the old
Teamcenter Integration Framework version will not deploy correctly. Update the files to refer
to the latest Teamcenter Integration Framework version.
e. If custom bundles specifically use the old Teamcenter Integration Framework version, update
these bundles to use the latest Teamcenter Integration Framework version.
4. Once all of the instances in the cluster have been patched, start Teamcenter Integration
Framework one instance at a time. Ensure that an instance has started and has successfully
completed its datastore migration before starting the next instance.
When the first instance is started, the local datastore migration occurs and is followed by the
cluster datastore migration. For the subsequent instances, only their local datastores are
migrated, as the cluster datastore has already been migrated. Once the datastore migration is
complete on each instance, Teamcenter Integration Framework restarts automatically.
After a migration, you may need to manually resolve migration conflicts if files in the new
datastore have the same names as files in the old datastore, yet their contents differ. See
Resolve Teamcenter Integration Framework datastore migration conflicts for guidance.
Migration artifacts
You must manually resolve migration conflicts when files in the new datastore have the same names
as files in the old datastore, yet their contents differ. To aid in resolving these conflicts, several
files related to the migration are placed in the TcIF_ROOT/container/migrate directory during the
migration process. The directory contains a /run directory with subdirectories uniquely named for
each migration run.
During the migration, the results of the migration are displayed in a console window and logged to the
following file: TcIF_ROOT/container/log/tesb.log.
Standalone Teamcenter Integration Framework installation:
The following files are backed up in the TcIF_ROOT/container/migrate/run/unique_id directory:
• LocalOldDS.zip
A full backup of the previous Teamcenter Integration Framework datastore.
• LocalNewDS_initial.zip
A snapshot of the new Teamcenter Integration Framework datastore with initial files.
• LocalNewDS_updated.zip
A snapshot of the new Teamcenter Integration Framework datastore with initial files and
migrated files from the previous datastore.
• LocalNewDS_final.zip
A full backup of the completely migrated datastore.
• LocalFilesToOverlay.zip
The files that were migrated from the previous Teamcenter Integration Framework datastore,
regardless of whether the same files also existed in the updated Teamcenter Integration
Framework datastore by default. Preserving these files ensures that several files that typically
hold customized values are carried over in the updated datastore.
• LocalFilesToUpload.zip
The files that were migrated from the previous Teamcenter Integration Framework datastore
because they did not exist in the updated Teamcenter Integration Framework datastore
by default.
• LocalFilesWithConflict.zip
The files that were not migrated from the previous Teamcenter Integration Framework
datastore because the same-named files existed in the updated Teamcenter Integration
Framework datastore by default.
• LocalFilesWithConflictList.txt
The list of files in LocalFilesWithConflict.zip for easy reviewing of the conflict list.
• LocalNewDS_initial.zip
A snapshot of the new Teamcenter Integration Framework local datastore with initial files.
• LocalNewDS_updated.zip
A snapshot of the new Teamcenter Integration Framework local datastore with initial files and
migrated files from the previous local datastore.
• LocalNewDS_final.zip
A full backup of the completely migrated local datastore.
• ClusterOldDS.zip
A full backup of the previous Teamcenter Integration Framework cluster datastore.
• ClusterNewDS_initial.zip
A snapshot of the new Teamcenter Integration Framework cluster datastore with initial files.
• ClusterNewDS_updated.zip
A snapshot of the new Teamcenter Integration Framework cluster datastore with initial files
and migrated files from the previous cluster datastore.
• ClusterNewDS_final.zip
A full backup of the completely migrated cluster datastore.
• LocalFilesToOverlay.zip
The files that were migrated from the previous Teamcenter Integration Framework local
datastore regardless of whether the same files also existed in the updated Teamcenter
Integration Framework local datastore by default. Preserving these files ensures that several
files that typically hold customized values are carried over in the updated local datastore.
• LocalFilesToUpload.zip
The files that were migrated from the previous Teamcenter Integration Framework local
datastore because they did not exist in the updated Teamcenter Integration Framework
local datastore by default.
• LocalFilesWithConflict.zip
The files that were not migrated from the previous Teamcenter Integration Framework local
datastore because the same-named files existed in the updated Teamcenter Integration
Framework local datastore by default.
• LocalFilesWithConflictList.txt
The list of files in LocalFilesWithConflict.zip for easy reviewing of the conflict list.
• ClusterFilesToDrop.txt
A list of files that were not migrated from the previous Teamcenter Integration Framework
cluster datastore because they are not required by the updated Teamcenter Integration
Framework version.
• ClusterFilesToOverlay.zip
The files that were migrated from the previous Teamcenter Integration Framework cluster
datastore regardless of whether the same files also existed in the updated Teamcenter
Integration Framework cluster datastore by default. Preserving these files ensures that
several files that typically hold customized values are carried over in the updated cluster
datastore.
• ClusterFilesToUpload.zip
The files that were migrated from the previous Teamcenter Integration Framework cluster
datastore because they did not exist in the updated Teamcenter Integration Framework
cluster datastore by default.
• ClusterFilesWithConflict.zip
The files that were not migrated from the previous Teamcenter Integration Framework cluster
datastore because the same-named files existed in the updated Teamcenter Integration
Framework cluster datastore by default.
• ClusterFilesWithConflictList.txt
The list of files in ClusterFilesWithConflict.zip for easy reviewing of the conflict list.
• If the platformExtension.jar file is embedded in a bundle, it must be updated to the most recent
version to support API changes.
• Ensure manifest file references are not specific to a version or bundle-version. Use open-ended
ranges.
• If third-party libraries are embedded in a bundle, ensure they are updated as necessary.
Embedded third-party libraries take precedence over libraries delivered with Teamcenter
Integration Framework.
• Ensure all feature files reference the current release version. Feature files that reference older
versions will not deploy correctly.
2. Download the following files to a disk location retaining the datastore directory structure:
• /config/BOSBox.jaxb
• /config/SSOPseudoAppIDMap.jaxb
3. Create an archive (ZIP) file containing all the downloaded files, maintaining the directory structure.
7. Delete all feature XML files that have a previous version in their names under the
TcIF_ROOT/tcif/container/deploy directory.
8. Upload the updated files to the Teamcenter Integration Framework datastore. You can do this
through the Datastore Configuration web page as follows, or you can copy the ZIP file containing
the backed-up datastore content into the TcIF_ROOT/tcif/container/autoinstall directory.
a. Start Teamcenter Integration Framework and open the Datastore Configuration web page.
b. Click Browse and choose the ZIP file containing the backed-up datastore content
c. Select the forward slash (/) from the Select a Location list and click Upload.
3. In a web browser, search for the following PAX-JDBC properties for your JDBC database:
• PAX-JDBC driver-name
• PAX-JDBC database-name
5. Create a data source file as follows and copy it to the TcIF_ROOT/tcif/container/etc/ directory.
Name the file using the following convention: org.ops4j.datasource-data-source-name.cfg.
The file must contain:
osgi.jdbc.driver.name=<PAX-JDBC driver name corresponding to JDBC driver used>
url=<JDBC Database URL>
dataSourceName=<data sourcename preferred>
user=<user name for DB connection>
password=<password for DB connection>
Note
The database user name and password cannot be obtained from the Teamcenter
Integration Framework site configuration wizard. You must get this information from
the database administrator.
This makes the data source available to Teamcenter Integration Framework as a data source
service.
6. Start Teamcenter Integration Framework and use the site configuration wizard to create a site
using the information obtained in step one and the new PAX-JDBC data source you created.
Wait to access Teamcenter Integration Framework until the "TcIF successfully started" message
appears.
2. Type the following commands in the Teamcenter Integration Framework command window:
karaf@TcIB> feature:install wrapper
karaf@TcIB> wrapper:install
3. Open the karaf-wrapper.conf file in the TcIF_ROOT\tcif\container\etc\ directory and add the
following new parameters:
Update the following existing parameters:
wrapper.java.initmemory=512
wrapper.java.maxmemory=1024
4. Stop the running instance of Teamcenter Integration Framework by closing the command window.
5. Open a new command window and type the following command to install the service:
%TC_ROOT%\tcif\container\bin\karaf-service.bat install
6. Check the wrapper.log file in the TcIF_ROOT\tcif\container\data\log directory for any errors.
7. Confirm that the service is running by typing the following URL in a browser:
http://localhost:<web-ui-port>/tcif/controller/webclient
Clustering considerations
Be aware of the following considerations when configuring Teamcenter Integration Framework
clusters:
• All nodes in the cluster must be running the same release version of Teamcenter Integration
Framework.
• An external proxy or load balancer can act as a single point of entry to the Teamcenter Integration
Framework cluster.
Note
When using Teamcenter Integration Framework with Microsoft SQL Server, the first time
Apache ActiveMQ connects with the SQL Server database, table modification warning
messages are logged. These messages can be safely ignored. The messages begin
as follows:
WARN | Could not create JDBC tables; they could already exist. Failure was: ALTER
TABLE ACTIVEMQ_ACKS DROP PRIMARY KEY Message: Incorrect syntax near the keyword
'PRIMARY'.
These warnings are due to a known issue with ActiveMQ and SQL Server. The tables are
created properly, and the warnings will not be reported in future sessions.
2. Ensure all messaging system processing jobs are completed in the Teamcenter Integration
Framework instance. When switching from a standalone Teamcenter Integration Framework
instance to a cluster node, messages in the instance's messaging system are not migrated
to the cluster messaging system.
3. From the open Teamcenter Integration Framework console window, use the cluster:join
command to add the Teamcenter Integration Framework instance to an existing cluster or to
create a new cluster.
The cluster:join command takes arguments identifying the type of database to be used and
connection information for the database. The command has the following form:
cluster:join –activemqDBUrl
mq_url –activemqDBUser mq_username –activemqDBPwd
mq_passwd db_type jdbc_url db_username db_passwd
where:
• -activemqDBUrl mq_url is the URL of the messaging persistence database. The URL is
required only for the first instance when creating a cluster.
• -activemqDBUser mq_username is the message database user name. The user name is
required only for the first instance when creating a cluster.
• db_type is the type of external database used to store configuration information (oracle
or mssql).
The configuration from the instance used to create the cluster is copied onto the cluster. Any
configuration information from nodes subsequently joining a cluster is ignored. Therefore, ensure
you create the cluster using the instance with your desired configuration.
Enter help cluster:join for a full description of the command's syntax.
4. From the Teamcenter Integration Framework console window, use the cluster:refresh command
to update (refresh) each previously existing node in the cluster after joining a new node to the
cluster. (If you have added several nodes to a cluster, perform a refresh on each node in
the cluster except for the last one added.) The refreshes are necessary to synchronize the
configuration of previously added nodes to include the latest nodes.
The cluster:refresh command has no parameters.
You can perform the following monitoring tasks with Teamcenter Integration Framework clusters:
• List nodes in a cluster
You can view the current nodes in a cluster using the cluster:list command from the Teamcenter
Integration Framework console window. The command lists the host names of each node
configured as part of the cluster.
The cluster:list command has no parameters.
where:
o host is the name of the server hosting the node.
For example:
http://tcifboston:8090/tcif/rest/isAlive
Removing a node from a cluster returns it to being a standalone instance using its embedded H2 SQL
database. The messaging server associated with the removed Teamcenter Integration Framework
node is no longer part of the cluster and does not share messages with the cluster. Any messages in
the messaging system are not migrated to the standalone instance's messaging system. Other nodes
in the cluster are still able to process those messages.
Perform the following steps to remove a node from a cluster.
1. From the open Teamcenter Integration Framework console window on the machine hosting the
Teamcenter Integration Framework instance to be removed, use the cluster:leave command to
remove the instance from the cluster.
The cluster:leave command has no parameters.
2. Shut down the ActiveMQ server running on the same machine as the removed node by closing
the command window.
3. When a node is removed from a cluster, it is shut down. Restart the standalone Teamcenter
Integration Framework instance using the trun.bat batch file in the TcIF_ROOT\tcif\container\bin\
directory of the machine hosting the instance.
4. The remaining nodes in the cluster must be updated to operate without the removed node as
part of the cluster configuration. Run the cluster:refresh command once for each remaining
node in the cluster.
The cluster:refresh command has no parameters.
• The scripting platform changed from BSH to Groovy. Groovy is almost a superset of Java;
however, some things do not map directly from Java to Groovy. For example, certain operations
with Java generics cause compiler errors. There are some array initializations that must be
written differently in Groovy. The scripts distributed with Teamcenter Integration Framework
provide good examples.
• The datastore is built into the Teamcenter Integration Framework platform in an H2 database.
The datastore starts and stops automatically with the platform. You can change the database
used; however, Siemens PLM Software has not tested and does not support Teamcenter
Integration Framework using other databases.
• An ActiveMQ JMS system also runs within the Teamcenter Integration Framework platform and is
used automatically with the SOAP services. The Java Message Service (JMS) system is set up
to automatically retry messages after some small delays and to put the messages into a dead
letter queue for potential manual retries. Manual retries repeat the entire process unless you
circumvent parts of the process by adding logic to Groovy scripts.
• The Teamcenter Integration Framework security system is simpler than Global Services security
and supports only LDAP and single sign-on (SSO). An LDAP server is bundled with the
Teamcenter Integration Framework framework and is the standard security system.
• The business process language (BPEL) engine used by Global Services is replaced with Groovy
scripting in Teamcenter Integration Framework. Because Groovy is similar to Java, it is much
easier to write and modify Global Multi-Site (GMS) processes.
• The Global Services message server based on business object definitions (BODs) and reactors is
implemented using the Java persistent API (JPA) and a Spring service in Teamcenter Integration
Framework.
• The Teamcenter Integration Framework user interface is extended to improve interaction with the
messaging system. A dashboard shows the most recent changes.
• The Global Services reactor framework is replaced with a Groovy scripting framework in
Teamcenter Integration Framework.
• The Global Services Publish servlet is replaced in Teamcenter Integration Framework with either
REST services or a new Publish service that supports the same type of URL as the old Publish
servlet, but forwards the message to the Groovy scripting framework.
• Global Services web services are supported with minor changes such as the SOAP endpoints.
• The Global Services schemas are mostly unchanged. However, the auditing schema has many
revisions and a new namespace. The connection schema remains unchanged with the exception
that the jndi-name attribute is renamed to bean-name. This impacts BODs you move from
Global Services to Teamcenter Integration Framework. The monitoring schema is no longer used
along with the query audit process.
• The Teamcenter Integration Framework email service replaces parts of the Global Services
notifier reactor and emailing capabilities. It is Camel and velocity based. There is a configuration
point and the velocity templates can be edited for customization.
Migration of packages
• Some packages are renamed to fit into the OSGi paradigm to align with the bundles and to avoid
splitting packages across bundles. Most of this occurred with the bind bundle and the Java
architecture for XML binding (JAXB) classes.
If a template with that site type does not exist, by default, the CustomConfig template is used for
the site. The connector configuration is created in the /config location of the datastore with a name
formatted as connector-config-name_site-id.jaxb.
If the development.jaxb template has the DevSite site-type attribute and the site ID in the wizard is
specified as DevSite, the wizard creates a development_DevSite.jaxb connector configuration file.
In BOD data source specifications, the config-name attribute must be set to development_DevSite
to use the connector with that site. If a template for the connector configuration file does not exist,
the wizard creates a CustomConfig_mySite.jaxb connector configuration file and the config-name
attribute value must be CustomConfig_mySite.
<conn:data-source-spec bean-name="com.teamcenter.esb.connector.tcsoa"
config-name="TeamcenterSoaConfig_987654"
• Global Services connector configuration files. Use the configuration user interface to generate all
connector configuration files in Teamcenter Integration Framework.
• The notifier reactor. Teamcenter Integration Framework uses Velocity templates for email
notifications. Any changes that you make to Global Services email templates you must make
in the Velocity templates.
You can migrate any changes that you make to the SOASavedQueryMapping and DataMapper
configuration files directly without any modifications.
Mapping control files supplied out-of-the-box (OOTB) with Global Services cannot be migrated.
Teamcenter Integration Framework uses a new version of the mapping engine that provides better
performance and supplies updated versions of the OOTB control files. You must update custom
mapping control files to meet the requirements of the new mapper engine prior to migrating them.
3. Any factor the specifies a parent factor (primary element in a child factor) must match an object in
its parent factors. When no match is found, a warning is generated.
• Some routines (for example, SetAttrsXFactor and RemoveAndDedangler) are listed twice.
This is required because the routine executes per factor and also executes after all the
data is gathered in the first pass.
b. Add the JAR file to the CLASSPATH variable and add its fully qualified name to one of the
postProcessorChain variables in the mappingconfig.xml file.
c. Extend the SnippetPostProcessor class and, at a minimum, override the process() method.
You must also write code in the initParams() method to process the paramStr argument.
Exported packages
com.teamcenter.datamapper.config
com.teamcenter.datamapper.mapperengine
Converted packages
mapperengine.jar
com.teamcenter.datamapper.*
Note
The existing package space remains the same because these classes are
not in the com.teamcenter.globalservices package space. For example, the
com.teamcenter.datamapper package space is the same in both the Global
Services component and the Teamcenter Integration Framework bundle.
com.teamcenter.esb.activemq
This bundle wraps and deploys the Java Message Service (JMS) in the framework.
There are no exported or converted packages in this bundle.
com.teamcenter.esb.bind
Provides binding services for the framework
Exported packages
com.teamcenter.esb.model.bod
com.teamcenter.esb.model.config
com.teamcenter.esb.model.connection
com.teamcenter.esb.model.data
com.teamcenter.esb.model.exception
com.teamcenter.esb.model.form
com.teamcenter.esb.model.security
com.teamcenter.esb.model.table
com.teamcenter.esb.model.util
com.teamcenter.esb.model.valuemap
com.teamcenter.esb.model.where
Note
The generated package names retain globalservices in the package name.
Changing these requires existing systems to also change the way they call
Teamcenter Integration Framework. The end system does not see any difference
in access.
com.teamcenter.globalservices.audit._2006_12
com.teamcenter.globalservices.bod._2006_12
com.teamcenter.globalservices.config._2006_12
com.teamcenter.globalservices.config.site._2010_06
com.teamcenter.globalservices.connection._2006_12
com.teamcenter.globalservices.data._2006_12
com.teamcenter.globalservices.datastore._2007_06
com.teamcenter.globalservices.failure._2011_06
com.teamcenter.globalservices.form._2006_12
com.teamcenter.globalservices.mapper._2007_06
com.teamcenter.globalservices.menu._2010_06
com.teamcenter.globalservices.monitoring._2007_06
com.teamcenter.globalservices.namespace._2006_12
com.teamcenter.globalservices.process._2007_06
com.teamcenter.globalservices.rule._2006_12
com.teamcenter.globalservices.security._2006_12
com.teamcenter.globalservices.sitemap._2007_06
com.teamcenter.globalservices.table._2006_12
com.teamcenter.globalservices.transfer._2007_06
com.teamcenter.globalservices.util._2006_12
com.teamcenter.globalservices.valuemap._2006_12
com.teamcenter.globalservices.webservice._2006_12
com.teamcenter.globalservices.wsutil._2006_12
Converted packages
com.teamcenter.globalservices.bod
com.teamcenter.globalservices.config
com.teamcenter.globalservices.connection
com.teamcenter.globalservices.data
com.teamcenter.globalservices.exception
com.teamcenter.globalservices.form
com.teamcenter.globalservices.security
com.teamcenter.globalservices.table
com.teamcenter.globalservices.util
com.teamcenter.globalservices.valuemap
com.teamcenter.globalservices.where
com.teamcenter.esb.bos
Provides business object server (BOS) services to the framework.
com.teamcenter.esb.cache
Provides cache functions to the framework.
There are no exported packages.
Converted packages
com.teamcenter._globalservices.cache
com.teamcenter.esb.camel
Provides Camel processes and services. It is the infrastructure for message routing.
There are no exported or converted packages.
com.teamcenter.esb.client
Provides Global Services client functions to the framework.
Exported packages
com.teamcenter.esb.client
Converted packages
com.teamcenter.globalservices.client
com.teamcenter.esb.commons
Provides common utilities to the framework.
Exported packages
com.teamcenter.esb.commons.data
com.teamcenter.esb.commons.exception
Converted packages
com.teamcenter.globalservices.util
com.teamcenter.esb.config
Provides connection configuration services to the framework.
Exported packages
com.teamcenter.esb.config.connection
Converted packages
com.teamcenter.globalservices.config.connection
com.teamcenter.esb.connector
Provides the base connector classes to the framework.
Exported packages
com.teamcenter.esb.connection
Converted packages
com.teamcenter.globalservices.connection
com.teamcenter.esb.connector.jdbc
Provides the JDBC connector.
There are no exported or converted packages.
com.teamcenter.esb.connector.tcsoa
Provides the SOA connector.
Exported packages
com.teamcenter.esb.connection.tc.soa
Converted packages
com.teamcenter.globalservices.connection.tc.soa
com.teamcenter.esb.connector.tcent
Provides the Teamcenter Enterprise connector.
Exported packages
com.teamcenter.esb.connection.tcent
Converted packages
com.teamcenter.globalservices.connection.tcent
com.teamcenter.esb.core
Contains core Teamcenter Integration Framework functions, such as exception handling,
messaging, settings, and XML functions.
Exported packages
com.teamcenter.esb.exception
com.teamcenter.esb.msg
Converted packages
com.teamcenter.globalservices.exception
com.teamcenter.globalservices.msg
com.teamcenter.esb.datastore
Contains the Teamcenter Integration Framework datastore.
There are no exported or converted packages.
com.teamcenter.esb.datastore
Contains the Teamcenter Integration Framework datastore.
There are no exported or converted packages.
com.teamcenter.esb.logger
Contains the Teamcenter Integration Framework logging function.
There are not exported packages.
Converted packages
com.teamcenter.globalservices.logger
com.teamcenter.esb.parser
Contains the Teamcenter Integration Framework parsing functions.
There are no exported or converted packages.
com.teamcenter.esb.security
Contains the Teamcenter Integration Framework security functions.
Exported packages
com.teamcenter.esb.security
Converted packages
com.teamcenter.globalservices.security
com.teamcenter.esb.tcsoa
Provides dependent JAR files for the SOA connector.
Exported packages
com.fnd0.schemas.wproxy._2014_10.proxylink
com.fnd0.services.strong.wproxy
com.fnd0.services.strong.wproxy._2014_10
com.teamcenter.net.tcserverproxy.admin
com.teamcenter.net.tcserverproxy.client
com.teamcenter.schemas.core._2006_03.datamanagement
com.teamcenter.schemas.core._2006_03.filemanagement
com.teamcenter.schemas.core._2006_03.reservation
com.teamcenter.schemas.core._2006_03.session
com.teamcenter.schemas.core._2007_01.datamanagement
com.teamcenter.schemas.core._2007_01.filemanagement
com.teamcenter.schemas.core._2007_01.managedrelations
com.teamcenter.schemas.core._2007_01.session
com.teamcenter.schemas.core._2007_06.datamanagement
com.teamcenter.schemas.core._2007_06.lov
com.teamcenter.schemas.core._2007_06.propdescriptor
com.teamcenter.schemas.core._2007_06.session
com.teamcenter.schemas.core._2007_09.datamanagement
com.teamcenter.schemas.core._2007_09.projectlevelsecurity
com.teamcenter.schemas.core._2007_12.datamanagement
com.teamcenter.schemas.core._2007_12.session
com.teamcenter.schemas.core._2008_03.session
com.teamcenter.schemas.core._2008_05.datamanagement
com.teamcenter.schemas.core._2008_06.datamanagement
com.teamcenter.schemas.core._2008_06.dispatchermanagement
com.teamcenter.schemas.core._2008_06.managedrelations
com.teamcenter.schemas.core._2008_06.propdescriptor
com.teamcenter.schemas.core._2008_06.reservation
com.teamcenter.schemas.core._2008_06.session
com.teamcenter.schemas.core._2008_06.structuremanagement
com.teamcenter.schemas.core._2009_04.projectlevelsecurity
com.teamcenter.schemas.core._2009_04.session
com.teamcenter.schemas.core._2009_10.datamanagement
com.teamcenter.schemas.core._2009_10.projectlevelsecurity
com.teamcenter.schemas.core._2010_04.datamanagement
com.teamcenter.schemas.core._2010_04.languageinformation
com.teamcenter.schemas.core._2010_04.session
com.teamcenter.schemas.core._2010_09.datamanagement
com.teamcenter.schemas.core._2011_06.datamanagement
com.teamcenter.schemas.core._2011_06.envelope
com.teamcenter.schemas.core._2011_06.lov
com.teamcenter.schemas.core._2011_06.operationdescriptor
com.teamcenter.schemas.core._2011_06.propdescriptor
com.teamcenter.schemas.core._2011_06.reservation
com.teamcenter.schemas.core._2011_06.session
com.teamcenter.schemas.core._2012_02.datamanagement
com.teamcenter.schemas.core._2012_02.operationdescriptor
com.teamcenter.schemas.core._2012_02.session
com.teamcenter.schemas.core._2012_09.datamanagement
com.teamcenter.schemas.core._2012_09.projectlevelsecurity
com.teamcenter.schemas.core._2012_10.datamanagement
com.teamcenter.schemas.core._2013_05.datamanagement
com.teamcenter.schemas.core._2013_05.lov
com.teamcenter.schemas.core._2014_10.datamanagement
com.teamcenter.schemas.globalmultisite._2007_06.importexport
com.teamcenter.schemas.globalmultisite._2007_06.sitereservation
com.teamcenter.schemas.globalmultisite._2007_12.importexport
com.teamcenter.schemas.globalmultisite._2008_06.importexport
com.teamcenter.schemas.globalmultisite._2010_04.importexport
com.teamcenter.schemas.globalmultisite._2011_06.importexport
com.teamcenter.schemas.multisite._2014_10.importexporttcxml
com.teamcenter.schemas.query._2006_03.savedquery
com.teamcenter.schemas.query._2007_01.savedquery
com.teamcenter.schemas.query._2007_06.finder
com.teamcenter.schemas.query._2007_06.savedquery
com.teamcenter.schemas.query._2007_09.savedquery
com.teamcenter.schemas.query._2008_06.savedquery
com.teamcenter.schemas.query._2010_04.savedquery
com.teamcenter.schemas.query._2010_09.savedquery
com.teamcenter.schemas.query._2013_05.savedquery
com.teamcenter.schemas.soa._2006_03.base
com.teamcenter.schemas.soa._2006_03.exceptions
com.teamcenter.schemas.soa._2006_09.clientcontext
com.teamcenter.schemas.soa._2011_06.metamodel
com.teamcenter.schemas.soa.objectpropertypolicy
com.teamcenter.schemas.workflow._2007_06.workflow
com.teamcenter.schemas.workflow._2008_06.workflow
com.teamcenter.schemas.workflow._2010_09.workflow
com.teamcenter.schemas.workflow._2013_05.workflow
com.teamcenter.schemas.workflow._2014_10.workflow
com.teamcenter.services.loose.core
com.teamcenter.services.loose.core._2006_03
com.teamcenter.services.loose.core._2007_01
com.teamcenter.services.loose.core._2007_06
com.teamcenter.services.loose.core._2007_12
com.teamcenter.services.loose.core._2008_03
com.teamcenter.services.loose.core._2008_06
com.teamcenter.services.loose.core._2009_04
com.teamcenter.services.loose.core._2010_04
com.teamcenter.services.loose.core._2011_06
com.teamcenter.services.loose.core._2012_02
com.teamcenter.services.strong.core
com.teamcenter.services.strong.core._2006_03
com.teamcenter.services.strong.core._2007_01
com.teamcenter.services.strong.core._2007_06
com.teamcenter.services.strong.core._2007_09
com.teamcenter.services.strong.core._2007_12
com.teamcenter.services.strong.core._2008_03
com.teamcenter.services.strong.core._2008_05
com.teamcenter.services.strong.core._2008_06
com.teamcenter.services.strong.core._2009_04
com.teamcenter.services.strong.core._2009_10
com.teamcenter.services.strong.core._2010_04
com.teamcenter.services.strong.core._2010_09
com.teamcenter.services.strong.core._2011_06
com.teamcenter.services.strong.core._2012_02
com.teamcenter.services.strong.core._2012_09
com.teamcenter.services.strong.core._2013_05
com.teamcenter.services.strong.core._2014_10
com.teamcenter.services.strong.globalmultisite
com.teamcenter.services.strong.globalmultisite._2007_06
com.teamcenter.services.strong.globalmultisite._2007_12
com.teamcenter.services.strong.globalmultisite._2008_06
com.teamcenter.services.strong.globalmultisite._2010_04
com.teamcenter.services.strong.globalmultisite._2011_06
com.teamcenter.services.strong.multisite
com.teamcenter.services.strong.multisite._2014_10
com.teamcenter.services.strong.query
com.teamcenter.services.strong.query._2006_03
com.teamcenter.services.strong.query._2007_01
com.teamcenter.services.strong.query._2007_06
com.teamcenter.services.strong.query._2007_09
com.teamcenter.services.strong.query._2008_06
com.teamcenter.services.strong.query._2010_04
com.teamcenter.services.strong.query._2010_09
com.teamcenter.services.strong.query._2013_05
com.teamcenter.services.strong.workflow
com.teamcenter.services.strong.workflow._2007_06
com.teamcenter.services.strong.workflow._2008_06
com.teamcenter.services.strong.workflow._2010_09
com.teamcenter.services.strong.workflow._2013_05
com.teamcenter.services.strong.workflow._2014_10
com.teamcenter.soa
com.teamcenter.soa.client
com.teamcenter.soa.client.model
com.teamcenter.soa.client.model.strong
com.teamcenter.soa.common
com.teamcenter.soa.common.utils
com.teamcenter.soa.exceptions
org.apache.xml.serialize
org.apache.xml.serializer
org.w3._2001.xmlschema
com.teamcenter.esb.services
Provides Teamcenter Integration Framework services.
Exported packages
com.teamcenter.esb.mapper
com.teamcenter.esb.publish
com.teamcenter.esb.service
com.teamcenter.esb.service.util
Converted packages
com.teamcenter.globalservices.service
com.teamcenter.fms
Provides Teamcenter File Services dependencies.
Exported packages
com.teamcenter.fms.servercache
com.teamcenter.fms.servercache. proxy
2. Move the ejbCreate method into the constructor of the connection box bean implementation.
3. Replace the Global Services packages with the Teamcenter Integration Framework packages in
the import statements and anywhere else they appear.
• \script\com\teamcenter\esb\connector\tc\soa\ImportTcXML.groovy
The CPM connector is unchanged except as described in Migrate a Global Services connector to
Teamcenter Integration Framework.
Create an ant module to build the solution bundle that is used in Teamcenter Integration Framework
structure. You do not need to publish this JAR file to out/jars and therefore you can publish it to a
solution specific configuration. Any additional bundles required to run your solution that are not part of
the standard Teamcenter Integration Framework installation must be in the following format.
JAR name com.teamcenter.solution.solution-11.1.0.jar
Contents (location in resources/solutionName.properties
JAR) META-INF/MANIFEST.MF OSGI-INF\blueprint\bundle-context-osgi.xml
OSGI-INF\blueprint\bundle-context.xml
com\teamcenter\..\*.class
I18N Contents resources/solutionName.properties
your-teamcenter-package-prefix/internal/msg/optional/TextBundleIDs.class
Installed Location TcIFInstallDir/tcif/container/bundles
Datastore components
If your solution requires datastore files, create an Ant module to build a ZIP file containing the
solution's datastore files. You can publish the resulting file to a solution specific configuration, that is,
there is no need for tcjars files. Use the following format.
IP file name SolutionDataStore.zip
Contents /solution/solution-name/script/com/.../*.groovy
/solution/solution-name/bosBOSName.xml
/solution/solution-name/config/ConfigName.xml
Feature file
Your feature must contain is one feature XML file named tcesb-solution-11.1.0-feature.xml. The
installed location must be tcifInstallDir/tcif/container/deploy.
Required changes Locate the other tcif entries in build/kits/kit_tc_cdrom.xml file and add the
feature_tcifsolutionintg.xml to the kit.
\solutions\subsCmp\tcif\container\bundles\com.teamcenter.subscmpl.solution-10.1.4.jar
Contains service and solution classes for substance compliance. This replaces the reactor.
\solutions\subsCmp\tcif\container\bundles\tcsoa-subscmpl-fragment-10.1.4.jar
This fragment adds the required support to the OOTB SOA connector to allow it to call an extension.
\solutions\subsCmp\tcif\container\deploy\tcesb-subscmpl-10.1.4-features.xml
This is a deployment file provisioning the deployment into the container.
processor. You can add REST endpoints that accept HTTP requests containing the content of the
messages as query or path parameters. Alternatively, JSON and other formats can be used with
the REST endpoints.
• Send a JMS message to the ActiveMQ server embedded in Teamcenter Integration Framework
with a PublishEvent object or a Groovy scripted type.
best practice. The ProxyService interface is the best way to interact with other systems from within
the processors. It looks up credentials for the site and creates a BOSClient instance to interact with
the connector. The ProxyService interface can also be used to initiate actions on other systems
based on the event that occurred on the first system.
Connector extensions are the best way to implement custom logic to interact with the backend
connections. For instance, if a JDBC database must be updated based on the message, the
ProxyService interface can be used to interact with the JDBC connector. This allows access to the
JDBC connector extension executed within the context of the JDBC connector.
A processor can call a connector extension for one connector to get data from the first system, call
another connector extension on a second connector, and pass the data from the first system to
update the second system.
The scope of the ProcessService interface code is limited to the class loading context of the
Teamcenter Integration Framework services bundle. Therefore, it may be necessary to use
PlatformExtension bundles to call Groovy scripts that execute within the bundle class loading
context with access to Java classes from other software vendors. For example, the services bundle
does not have access to the HTML client classes. You must create a platform extending bundle
to provide access to those classes.
Calling a service:
<invoke portType=”EmailInterface” inputVariable=”email-request-msg”
outputVariable=”email-response-msg”>
JAXB objects and setters replace the XML literal in BPEL. To call a connector extension, make a call
to the ProxyService interface with a ProxyServiceRequest object.
Note
The gs_transaction_id parameter in the templates is renamed to transaction_id to show
it is no longer specific to Global Services.
where tcif-server-host is your Teamcenter Integration Framework server name, and port-number is
your Web UI port (8090 by default).
The Teamcenter Integration Framework configuration interface displays the following configuration
options in the left pane.
Configure
Data Store Manually update the contents of the Teamcenter Integration Framework
datastore.
Properties Configure general properties of Teamcenter Integration Framework.
Security Configure user, SSO, and SSL settings.
JDBC Data View and configure JDBC data sources.
Sources
Sites View, create, edit, and remove sites that participate in Data Exchange.
Mapping Configure and manage mapping relationships between sites.
Queueing
Perform administration tasks related to Teamcenter Integration Framework queues. See
Queueing.
Activity Status
Search for, view, and delete stored messages. See Activity Status.
Data Views
View activity status, failed message information, and business object definitions (BODs). See
Failed messages.
Documentation
Access Teamcenter Integration Framework API, Java, and other documentation. See
Documentation.
View Default Log File
Retrieve the current Teamcenter Integration Framework log file. See View Default Log File.
Extensions
Provides an extension point where solution management and monitoring can be added to the
console. See Extensions.
Configure
Data Store
The datastore is populated with initial content when Teamcenter Integration Framework is installed.
• Use the Download pane to view the current directory structure.
• Click a file to download it and save it to a local directory or to open it in the default editor for
the file type.
You the Upload pane to navigate to and upload a Teamcenter Integration Framework file after
you create or modify it.
You can package a directory structure containing file contents in a compressed archive format (JAR
or ZIP files) and upload the entire contents to the appropriate location in the datastore by checking
Check to unpack contents of jar/zip file before you upload the file.
Any directories that do not exist are created when you upload the file. You can also create new
directories by manually typing them in the Datastore location for object box. This feature is useful
for Teamcenter Integration Framework customizations.
You can disable access to this pane as described in Control file uploading.
Use the Remove pane to navigate to files that are no longer needed by Teamcenter Integration
Framework. Removing files helps control the size of the datastore database as it evolves.
Properties
Properties lists the exposed property bundles (areas) used to configure general properties of
Teamcenter Integration Framework. The display attribute determines whether properties are
displayed for the area's configuration.
Click on an area to see its individual property names and values.
Display the list of existing property areas and click above the list of areas. Enter a name
for the new area and click OK. The new area is added to the list.
Property areas map to configuration files in the tcif/container/etc directory. The file names have the
form com.tc.esb.area_name.cfg. The properties are accessible programmatically using:
service.ui.config.ConfigurationProperties.getProperties(String areaName)
1. In the list of property areas, locate the area to edit and click .
2. Next to the property area name, click . Enter a name for the new property and click OK.
As you work with properties, click to update the list of displayed areas with the current contents
of the datastore.
Security
Principals
Define the attributes that Teamcenter Integration Framework uses to validate user credentials on the
Principals tab. The Principals tab lists currently valid Teamcenter Integration Framework users and
lets you perform the following tasks:
To refine the list of users, begin entering a string of characters in . As you type, the list
updates to show only the users with that string of characters in their names.
1. Click .
2. Fill in the fields defining the characteristics of the new user. Fields marked with are required to
create a new Teamcenter Integration Framework user.
Name Specifies a user name associated with Teamcenter Integration Framework.
Password Specifies the password associated with the user.
Confirm Password Confirms the password associated with the user.
Administrator When set to True, specifies the user has Teamcenter Integration
Framework administrator privileges.
Directory Specifies the directory containing business object definitions (BODs) for
objects the user can access. When no value is entered for Directory, the
BODs in the \bos directory of the datastore are displayed. To present
a different view of the data, specify the name of a directory that is a
subdirectory of the \bos directory.
3. Click Create to add the user to the Teamcenter Integration Framework datastore.
2. On the same line as that user's name, click and confirm the removal. The user is removed
from the datastore.
2. On the same line as that user's name, click . The user's characteristics are displayed.
3. Edit the user's characteristics and click Save to save the changes to the datastore.
As you work with users, click to update the list of Teamcenter Integration Framework users.
SSO
The SSO tab lets you configure Teamcenter Integration Framework for Security Services single
sign-on (SSO). Doing so allows a Teamcenter user to log on to any SSO-enabled Teamcenter product
and access any other SSO-enabled Teamcenter product using already supplied and validated
credentials.
Specify the following settings on the SSO tab. When your changes are complete, click Save to
commit them to the Teamcenter Integration Framework datastore. Restart the Teamcenter Integration
Framework server for the changes to take effect.
Enabled When checked, specifies that Teamcenter Integration Framework uses
Security Services single sign-on.
Admin Attribute Specifies that this instance of Teamcenter Integration Framework has
administrator privileges associated with its user’s security credentials.
Application ID Specifies the unique identifier that Security Services uses to identify this
Teamcenter Integration Framework instance. This value must correlate with
the IDs entered in the Teamcenter Security Services component's application
registries. For information about configuring Teamcenter products in Security
Services, see Security Services Installation/Customization in the Teamcenter
Help collection.
Identity URL Specifies the URL of the Security Services Identity Service, for example:
http:///cvgtsso1:8080/ssoSERVICE
Login Redirect Specifies the URL to which the client redirects the logon by setting the
URL complete URL for the Security Services logon window, for example:
http://cvgtsso1:8080/ssoLOGINSERVICE/weblogin/login_redirect
Redirect URLSuffix Specifies the URL page that Security Services redirects to after a successful
logon. This value is appended the Teamcenter Integration Framework redirect
URL in Security Services. Typically, you can accept the default /webclient
value.
Security Context Specifies the value used to decrypt a double-encrypted SSO token in
Decryption Key cases when context-sensitive security is used. This value must match
the value assigned to mediator password parameter when configuring
the SSO Login Service. For information about the Security Services
mediator password parameter and application tokens, see Security Services
Installation/Customization in the Teamcenter Help collection.
SSL
The SSL tab lets you configure Teamcenter Integration Framework for HTTPS communications.
Doing so provides secure encrypted communications from Teamcenter Integration Framework.
Specify the following settings on the SSL tab. When your changes are complete, click Save to
commit them to the Teamcenter Integration Framework datastore. Restart the Teamcenter Integration
Framework server for the changes to take effect.
Enabled When checked, specifies that Teamcenter Integration Framework uses an
HTTPS encrypted connection.
Key Password Specifies the password used to protect the private cryptographic key of a
public/private key pair.
Keystore Specifies the location of the repository for the security certificates used for
SSL encryption.
Keystore Specifies the password used to access the repository for the security
Password certificates. The Teamcenter Integration Framework security repository has
an administration account in its LDAP structure used for maintenance of
the repository. Siemens PLM Software recommends that you change the
default password value (secret) when you first start Teamcenter Integration
Framework.
Keystore Type Specifies the type of keystore you are using. Because Teamcenter Integration
Framework is Java-based, the default is JKS. Another commonly used
keystore type is PKCS#12, which is not Java-specific.
For information about the types of keystores, see the Java Cryptography
Architecture Oracle Providers Documentation on the Oracle web site.
To refine the list of connections, begin entering a string of characters in . As you type,
the list updates to show only the data source connections with that string of characters in their names.
1. Click .
2. Fill in the fields defining the characteristics of the new connection. Fields marked with are
required to create a new data source connection.
Data Source Name Specifies a name for this connection.
Database Type Specifies the type of database to connect to.
JDBC URL Specifies the URL used to connect to the database.
User Specifies the name used to log on to the database.
Password Specifies the database logon password. Confirm the password when
prompted.
Pooling When set to On, connection pooling is enabled for this data source.
Pool Size Specifies the number of connections to cache when pooling is enabled for
this data source. The default value is 64.
2. On the same line as that connection, click . Teamcenter Integration Framework tests the
connection and reports its status along with related details.
2. On the same line as that connection, click and confirm the removal. The data source
connection is removed.
2. On the same line as that connection, click . The connection's details are displayed.
3. Edit the connection details. Click Save when complete to save the changes.
As you work with data source connections, click to update the list of connections.
Sites
Sites allows you to view, create, and edit sites that participate in Data Exchange and to remove site
configurations that are no longer participating.
1. Click .
3. Use the Configuration Parameters and Security tabs to define the characteristics of the new
site. Depending on the type of site, parameters will vary.
Security Defines the Teamcenter Integration Framework users used to access the
Teamcenter or Teamcenter Enterprise site. The user name and password
must be a valid user at the target site.
JDBC Data Source Name defines the Teamcenter Integration Framework
configuration connector used to communicate with the site.
Teamcenter EndpointURL
PMM specific Defines the endpoint for the PMM site.
configuration
Libraryname
Defines the library that Teamcenter Integration Framework uses to
export and import data to the PMM site.
Teamcenter MUX_HOST
Enterprise Specifies the name of a computer on which the Teamcenter Enterprise
configuration MUX is running.
MUX_PORT
Specifies the port number of a computer on which the Teamcenter
Enterprise MUX is running.
DeleteMax
Specifies the maximum number of objects that a user or other client
can delete using the delete API. A value of 0 indicates no limit on the
number of deletions. The default value is 1.
db2UITranslation
Specifies whether domain managers convert data between the internal
representation and the user interface representation. The default is
false.
Teamcenter SOA_URL
configuration Specifies the URL for the Teamcenter SOA service which is the
context root for the Teamcenter instance.
CONNECTION_POOL_SIZE
Specifies the maximum number of connections Teamcenter Integration
Framework uses to connect to the data source. The default value is 4.
CONNECTION_POOL_REJUVENATION_RATE
Specifies the number of calls the connector can receive before the
current session is ended and new session is started. This parameter
is only valid when the associated CONNECTION_POOL_SIZE
parameter is specified. The default value is 15.
CONNECTION_MAX_RESERVATION_TIME
Specifies the number of seconds before warnings will be logged about
threads with reserved connections to data sources. The default value
is 3600.
Remove a site
1. Locate the site you wish to remove in the list of sites.
2. On the same line as that site's name, click and confirm the removal. The site is removed.
2. On the same line as that site's name, click . The site's characteristics are displayed.
3. Edit the site's characteristics. Click Save when complete to save the changes.
Mapping
When transferring information between sites, the format of the data may need to be adjusted before
being imported into the target site. The data can be reformatted by XSLT transforms, Java transforms,
or other means. Mapping lets you configure and manage mapping relationships between sites.
1. Click .
2. Select the source and target sites from the list of available site configurations.
3. Create a sequence of mapper transforms by clicking and dragging transforms from the list of
available transforms to the list of selected transforms. Click and drag the selected transforms
to reorder them.
2. On the same line as that mapping's name, click and confirm the removal. The mapping is
removed.
2. On the same line as that mapping, click . The mapping's characteristics are displayed.
3. Edit the mapping transforms. Click Save when complete to save the changes.
As you work with site mappings, click to update the list of mappings.
Queueing
Click Queueing to perform the following tasks:
• Create Teamcenter Integration Framework queues
Activity Status
Teamcenter Integration Framework generates messages for the activities that it performs. An
ActivityStatus message object is generated for each process or subprocess (ProcessStatus object)
and each step (StepStatus object). The message state and results are stored in the Teamcenter
Integration Framework activity status table in the database. Activity Status lets you search for,
view, and delete stored messages.
Search for a particular message by entering its ID in the Search field and clicking . The message
with that ID is displayed. Use the wildcard characters % (matches any number of characters) and
_ (matches a single character) to increase your search results.
For advanced search options, on the same line as the Search field, click . Specify your search
criteria and click Search. A list of messages matching your search criteria is displayed.
To refine the list of messages matching your search criteria, select to filter by ID, type, or user and
then begin entering a string of characters in . As you type, the list updates to show
only the messages with that string of characters in their ID, type, or user name.
Delete messages
When deleting messages, you will be prompted to confirm the deletion before any messages are
deleted. Use the following techniques to delete messages:
• Delete a particular message in the search results list by clicking on the same line as the
message.
• Delete a particular message by entering its ID in the Delete field and clicking . Use the
wildcard characters % (matches any number of characters) and _ (matches a single character)
to specify more messages.
• Delete one or more messages that match particular criteria by clicking on the same line as
the Delete field. Specify your deletion criteria and click Delete.
Data Views
Failed messages
Teamcenter Integration Framework displays failed messages for the activities that it attempts. Click
on a message in the Data Views pane to view its related details.
Documentation
Access additional Teamcenter Integration Framework documentation by clicking on Documentation
in Teamcenter Integration Framework configuration. The following documentation is available:
TcIF API
Displays documentation for the Teamcenter Integration Framework API supported in this release.
Java 8 Doc
Links to the current Java documentation.
Platform
Describes the Teamcenter Integration Framework platform.
Notices & Trademarks
Displays licensing and other information related to Teamcenter Integration Framework.
About
Displays current release information.
Extensions
Extensions provides an extension point where solution management and monitoring can be added
to the console.
Extensions references two RESTful Groovy scripts in the datastore. One for configuration
(/solution/extension/script/service/extension/Configure.groovy) and another for monitoring
(/solution/extension/script/service/extension/Monitor.groovy). These scripts are completely
customizable by downloading the groovy script from the datastore, modifying it, and uploading
it back to the same location. Any changes made will be reflected immediately upon refreshing the
page in the web browser. The Path annotations in the scripts should not be modified or the script will
not respond at the proper endpoint.
Configure
Displays the result of the /tcif/rest/extension/configure page generated by the
/solution/extension/script/service/extension/Configure.groovy script. The script can be
edited to generate any desired content, but the intent is to expose configuration of solutions
added to Teamcenter Integration Framework which require specialized configuration.
Monitor
Displays the result of the /tcif/rest/extension/monitor page generated by the
/solution/extension/script/service/extension/Monitor.groovy script. The script can be edited
to generate any desired content, but the intent is to expose monitoring of solutions added to
Teamcenter Integration Framework.
The email service configuration requires that you define an SMTP server and defaults for the
message, such as a sending email account and possibly an email account to copy on all messages.
For further information on supported email protocols and parameters, see the Camel web site at:
https://camel.apache.org/
A diagram showing the transfer of data from Teamcenter to Teamcenter Enterprise would closely
mirror the sequence of events in this diagram.
For Teamcenter Integration Framework, the main difference is the client that calls Teamcenter
Integration Framework. The Teamcenter Integration Framework is neutral; it executes a script
process for data transfer that contains a set of steps or activities.
The figure provides the sequence of each step in the process shown. You can view Teamcenter
Integration Framework activity status in the configuration interface by choosing View→Activity
status or in the Teamcenter Integration Framework log file. A Teamcenter Integration Framework
activity can have the following statuses:
Null Activity is not yet started or inactive.
In Progress Activity has started. Details indicates Active.
Waiting An error occurred during the activity. The process is waiting for a manual retry.
After resolving the error condition, the user must use the Resume button on
the Detailed Transfer Status dialog box to start the retry.
Complete Activity has finished. Details indicates Succeeded or Failed.
Aborted The transfer was aborted by a user prior to or during the activity.
Common activity IDs are:
• Scheduling
• Data Export
• Data Import
• Data Mapping
• Notification
If Teamcenter Integration Framework is running as a service on Windows, stop the service using
the Windows Task Manager or Microsoft Management Console.
Managing passwords
You can configure Karaf passwords using the users.properties file located in the tcif\container\etc
directory of your integration server installation location. This file contains the authorized users and
the associated passwords for them in the following format:
user-name=password-value[,role][,role]...
Karaf passwords are used to access the SSH console, JMX management layer, and the web console,
all using JAAS-based security authentication.
The initial configuration provides the IFAdmin user with admin (both case-sensitive) as the password
and admin as the role. For security reasons, you must change the user and password values and
enable password encryption, before you use the Teamcenter Integration Framework in a production
environment.
For more about Karaf roles and realms and how to manage them, see the Karaf documentation
provided at karaf.apache.org..
You must restart the Karaf console for the encryption feature to take effect.
• Hostname
Type the name of your Teamcenter Integration Framework host.
• Port
Type the Teamcenter Integration Framework LDAP port number (14389 by default).
• Encryption method
Leave the default No encryption value.
• Provider
Leave the default Apache Directory LDAP Client API value.
3. Click Check Network Parameter to verify connectivity. If the connection is successful, click Next.
• Bind DN or user
Type uid=admin, ou=system.
• Bind password
Type secret.
5. Click Check Authentication to verify you entered the proper credentials. If authentication
is successful, click Finish.
6. In the left navigation pane, expand ou=system and select ui=admin. In the right pane,
double-click userPassword.
7. Select the New Password tab and type your desired password in the Enter New Password box.
Leave the other values as they are and click OK.
• ActivityStatus
The ActivityStatus provides either a ProcessStatus (process or subprocess) or a StepStatus
(atomic step). An activity may be performed more than once in a process so each activity is given
a unique activityID value by the messaging system.
• ProcessStatus
One ProcessStatus object is created for attempt to process a message. It is uniquely identified
by the ProcessID value. A message is normally only processed once; however, if there are
retries attempted, there can be multiple ProcessStatus objects associated with a LogMessage
object. A process is composed of steps and possibly subprocesses. For instance export,
mapping, and import are steps and replica to stub notification is a subprocess that may have
one or more steps. A request for a subprocess uses the same messageID value as the parent
process so it can be tracked as part of the parent process.
• StepStatus
One StepStatus object is created for each step in the process. A step is an atomic unit and has
no substeps. An activity that has multiple steps is tracked by a process status and not a step
status. Each of the messaging objects can store additional properties such as client information,
logging information, and process state. For example, if a process failed at a step, it is possible for
that process to track the failure in the messaging system along with the auditing information. If
the message is resent, the process can use that information to resume from where the previous
processing failed.
The properties of the log configuration file define the logging configuration. For information about the
logging properties, see the Pax logging documentation at:
https://ops4j1.jira.com
Standard output stream
The first appender element in the Teamcenter Integration Framework log configuration file
creates a log4j appender object that logs (appends) exception messages to the standard output
stream (the System.out value on the param element).
You can delete this appender if you do not want to log to the standard output stream, or you may
want to change the format of the log entries using the layout element.
Level definition
The root element defines a log4j category that includes all Teamcenter Integration Framework
exception messages. You can easily change the type of messages logged by changing the value
of the level element. For example, if you change the value from error to fatal, only messages
with a fatal level are logged.
2. Locate the Logging level for all the TciF classes and Logging level for TcGS JAXB classes
entries and replace DEBUG with TRACE.
# Logging level for all of the TcIF classes
log4j.category.com.teamcenter.esb=TRACE
# Logging level for the TcGS JAXB classes
log4j.category.com.teamcenter.globalservices=TRACE
3. Stop the Teamcenter Integration Framework server, remove the log files, and restart the server.
You get full message tracing in the new log files until you change the configuration file and restart
the Teamcenter Integration Framework server.
Most scripts execute within the class loading context of the com.teamcenter.esb.services bundle.
They have access to the classes that are visible within the services OSGi bundle. Viewing the
headers of that bundle provides the complete list of packages that Groovy scripts can access. All but
the ConnectorExtension and PlatformExtension scripts fall in this category.
Similarly, the scripts that extend the connectors can execute within the class
loading context of the connector where they are used. These scripts implement the
com.teamcenter.esb.connection.ConnectorExtension interface and are started using the
execute() method of the BOSClient class. These scripts are intended to interact with the APIs of the
system that the connector is interacting with to provide additional capabilities to the connector.
The ConnectorExtension scripts are analogous to the PlatformExtension scripts. These implement
the com.teamcenter.esb.platform.extension.PlatformExtension interface. You can create an
OSGi bundle with a copy of the PlatformExtension jar embedded in it and an Aries Blueprint
declaration of an ExtensionService spring bean. This structure provides a new class loading context
in which groovy scripts can execute. This new OSGi bundle can import packages not accessible
by the other contexts where scripts can run. Using the PlatformExtensionManager the scripts
running in the services bundle can start the platform extension scripts providing access to other
packages and versions of software.
Groovy limitation
Scripts can start classes that are declared in other scripts. A Groovy classloader limitation exists
where a Groovy class that is called from another Groovy class is not necessarily the latest version
uploaded to the datastore. The Groovy classloader does not check to verify the version in the
datastore is more recent when a Groovy class is loaded into the Groovy classloader and the following
conditions exist:
• The Groovy class is subsequently modified.
• The class is not loaded explicitly by the Groovy classloader (as most Groovy Processes and
RESTful scripts are).
This limitation exists because it is not feasible to compile all scripts as they are uploaded as they may
require other scripts that have not been uploaded.
Upload the processing Groovy script to the Teamcenter Integration Framework datastore. Call the
process by sending a JSON request to the PostMessage endpoint (tcif/rest/messaging/post)or
by sending a SOAP request to the Teamcenter Integration Framework process or processAsync
endpoints.
Note
Siemens PLM Software recommends that you use JSON Groovy objects and the
PostMessage REST endpoint rather than SOAP and XML. Support for JAXB may be
deprecated in a future release.
synchronous and priority are optional, and their default values are true and 4 respectively.
Likewise, destination is optional. If no destination is specified, a rules engine is used to determine to
which queue the message is sent.
Queues can have associated properties. If the message has properties that match those of a
particular queue, that queue will be used to process the message. If no match is found, a default
process queue is used. Therefore, ProcessMessage JSON such as {"message" : "message"} is
sufficient. (message is the JSON or XML message that will be sent to the queue.)
For SOAP requests, you can send a web service request with a SOAP body containing XML that
corresponds to a Groovy JAXB class in the datastore. For the ProcessMessage, the message JSON
corresponds to a Groovy JSON or JAXB class in the datastore. Groovy JSON classes must extend
the class com.teamcenter.esb.internal.bind.JSONObject. JAXB classes must extend the class
com.teamcenter.esb.internal.bind.JAXBBaseObject.
XML namespaces should map onto the Groovy JAXB class package names. Tag names should map
onto class names. For example, if the request XML contains the http://teamcenter.com/esb/example
namespace attribute value and an example-request local name attribute value in the root element,
Teamcenter Integration Framework attempts to unmarshal the element into a Groovy JAXB object
that is in the /script/com/teamcenter/esb/example/ExampleRequest.groovy datastore location.
The namespaces are converted into package names following standard JAXB conventions and the
package names are mapped to datastore location names.
The JSON objects will have an @class field which maps onto a datastore location.
Note
Siemens PLM Software recommends that you put the /script location under the
/solution/solution-name location in the datastore.
This script includes JAXB annotations that allow Teamcenter Integration Framework to unmarshal it
from XML into a Java object. You can convert a schema file into JAXB classes using CXF or Axis2
tools and then change the extension from .java to .groovy to use it as a Groovy script.
Teamcenter Integration Framework appends Processor to an input received in a format similar to
com.teamcenter.esb.example.ExampleRequest through a SOAP request. It then looks for a
Groovy script with that name (com.teamcenter.esb.example.ExampleRequestProcessor) to
process the request. The processor script must implement the ProcessService interface and the
processing method must accept an argument whose type matches the request class. You upload the
processor script into the datastore within the same solution as the request script and in the same
directory (package) within the /script location.
The following is an example of a processor script:
package com.teamcenter.esb.example;
import com.teamcenter.esb.client.BOSClient;
import com.teamcenter.esb.client.BOSClientFactory;
import com.teamcenter.esb.commons.data.SerializableArrayList;
import com.teamcenter.esb.commons.data.SerializableList;
import com.teamcenter.esb.exception.ESBException;
import com.teamcenter.esb.model.security.Credentials;
import com.teamcenter.esb.service.ProcessService;
import java.lang.reflect.Method;
public class ExampleRequestProcessor implements ProcessService {
public ExampleResponse process(ExampleRequest request, Credentials credentials) throws ESBException {
ProxyServiceRequest serviceRequest = new ProxyServiceRequest();
serviceRequest.setSiteId("111"); // should match some site in TcIF
serviceRequest.setMethodName("com.tcesb.test.connector.extension.ComputeExtension");
serviceRequest.getArguments().addAll(Arrays.asList("AVG", 9, 6, 3));
Object result = ProxyService.callService(serviceRequest, credentials);
ExampleResponse response = new ExampleResponse();
response.setValue("response: " + result);
return response;
}
@Override
public Method getMethod()
throws NoSuchMethodException {
return getClass().getMethod("process", ExampleRequest.class, Credentials.class);
}
}
public EqualExtension() {
// ConnectorExtension constructor takes the name (will not be used for a groovy script),
// and the number of arguments expected. The arguments passed in are checked by the base
// connector implementation so that the extension does not have to check.
super("equal", [1] as Integer[]);
}
@Override
public Serializable execute(String objectName, ConnectionBoxImplementor boxImpl,
SerializableList<?> argumentList)
throws ESBException {
Object argument = argumentList.get(0);
if (argument instanceof java.lang.String && objectName.equals(argument)) {
return "equal";
}
return "unequal";
}
}
• Decoupled communication lets servers connect as needed and perform their operations in an
asynchronous fashion.
2. In the Teamcenter Integration Framework web interface, click Queueing to display the current
queues.
4. Enter a name for the queue. The queue name must be unique in the Teamcenter Integration
Framework cluster.
5. On the General Settings tab, update the queue settings as necessary for the queue.
Automatic Retries
Specifies the number of attempts to make to retry a failed job. If the job does not succeed
after this number of retries, it is sent to the dead letter queue (if available).
Parallelism
Specifies the number of messages that can be processed simultaneously. Setting
Parallelism to 1 specifies that messages are processed sequentially.
Processor
Specifies the Groovy script that processes messages in the queue.
7. Locate the new queue in the list of queues. Click next to the queue name and then click
to start the queue.
To perform the following tasks, first open the Teamcenter Integration Framework web interface by
browsing to <host>:<web-ui-port>/tcif/rest/login.
In the Teamcenter Integration Framework web interface, click Queueing in the left pane. The
currently configured queues are displayed.
Click for the queue for which you want to view properties. A list of settings such as its status,
number of automatic retries, processor, and timeout is displayed.
2. Click for the queue containing the jobs you wish to view. The currently queued jobs are
listed along with their current statuses.
2. Click for the job you wish to view. Detailed information about the job is displayed.
3. Click the Properties tab. A listing of the available job properties is displayed.
2. Review the jobs currently in the queue. Pause any jobs with a pending status.
3. Click next to the queue name and then click to pause the queue. All pending jobs in
the queue are paused until the queue is restarted.
4. Click next to the queue name and then click to restart the queue. Pending jobs
will be processed in priority order.
2. Click for the queue you wish to manage. Detailed information about the queue is displayed.
3. Review and update the settings on the General Settings and Properties tabs as necessary.
Some jobs may not be processed due to the target system being unavailable, network errors, or other
environmental issues. After a specified number of failed retry attempts, a job is moved to a storage
queue (a dead letter queue) if its target queue has the Dead Letter Setting setting enabled. Once
issues causing the failure are addressed, the job can be restarted.
In the Teamcenter Integration Framework web interface, locate the job you want to restart. Jobs in
the dead letter queue will be listed in their target queue, identified with a symbol. Click to
restore a job in the dead letter queue.
Delete a queue
2. Let all jobs in the queue complete, or cancel any jobs in the queue.
Teamcenter Integration Framework is based on an OSGI container with OSGI bundles using the
Blueprint dependency injection framework. To add a custom connector you must create a new
OSGI bundle. There is a maven archetype in the examples directory that helps you create custom
connectors. It does many of the following steps for you.
1. Create an OSGI manifest file that lists the Teamcenter Integration Framework Connector bundle
as a dependency. This connector bundle contains the interfaces that your custom connector
must implement.
This is the minimum requirement. Include other bundles as necessary (for example, Core and
Binding bundles).
3. Use the Blueprint file to create an OSGI service that implements the connector factory interface
to create instances of the connector.
The connector factory interface is a singleton created when the bundle is deployed. Clients use
it to get instances of the custom connector.
4. If your custom connector must support Groovy connector extensions, embed the
connectorExtension.jar file in the custom connector bundle and include the
OSGI-INF/blueprint/datastore-classloader-context.xml file.
Add the connectorExtension.jar file to the manifest classpath of the connector bundle. Refer to
the out-of-the-box Teamcenter Integration Framework connectors as examples.
5. Use the Blueprint files of the custom connector bundle to export the factory service. The following
example shows the service properties that enable to configuration user interface to create sites
based on a custom connector.
<service-properties>
<entry key="SiteType" value="my-connector-type"/>
<entry key="SiteVersion" value="my-connector-version"/>
</service-properties>
6. Deploy the OSGI bundle (JAR file) for your custom connector by copying the file into the
tcif/container/deploy directory.
After it is successfully deployed, the custom connector site type (my-connector-type) appears in
the list of connectors that the site configuration wizard displays.
To set configuration parameters on the connector, you can download the file from the data store,
edit it, and upload it.
The bundle name is a substring of the bundle-SymbolicName value specified in the OSGI
custom connector bundle. The command returns a value in the following format showing the
connector is deployed:
[279] [Active] [ ] [ 80 ]bundle-name (bundle-version)
The first number in square brackets is the bundle number. Active indicates the bundles state.
Created appears in the third set of square brackets when the Spring services are created.
To troubleshoot an issue (for example, if Active and Created are missing when you check the
deployment), run the following commands
bundles:headers bundle-number
Use the bundle-number on the system. If the bundle state is installed, use the following command to
start it or determine why it did not start:
bundles:start bundle-number
For more information on business object definitions and custom connectors, see Platform Extensibility
Configuration in the Teamcenter help collection. In particular, see the section titled Global Services
connectors.
Framework configuration interface will display the results. REST calls also can be made to fetch the
activity status information. (The endpoint is at TcIF-host-name:rest-port://micro/status/messages.)
The AuditClient class uses JSON AuditRequest objects and replaces the AuditService class that
used JAXB AuditRequest objects.
Note
The AuditService will be deprecated and should no longer be used.
The auditing service creates and updates auditing entries. The auditing information created there can
be monitored with Activity Status.
Typically, the same audit request is passed to the service many times: once prior to each activity
in a process to denote that the activity has started, once after each activity to mark the activity as
complete, and once at the end to mark the process complete.
An audit request is composed of three parts.
MessageInfo Defined once at the start of the process, it describes the message that initiated
the process. MessageInfo would not be altered by the process, as it is needed
for each auditing call to identify the transaction being audited. If a message
triggered more than one process, the MessageInfo for each of the processes
would be the same.
ProcessInfo Typically defined at the start of the process and marked as completed when
the process is done. ProcessInfo uniquely identifies the attempts to process
the message. Therefore, each attempt should have a unique ID.
ActivityInfo Replaced or reset at the start of each activity in the process and updated
as the activity is processed.
Carefully handle exceptions so that activities are always marked as complete. Otherwise, they may
appear as ongoing despite termination of processing due to error conditions. Surround each activity
with try/catch blocks. In the catch block, mark the activity as failed and completed. Also be sure to
mark the processes completed after the last activity is done.
A typical scenario for auditing a process follows:
1.
auditRequest = ProcessUtil.createAuditRequest();
auditRequest.setMessageInfo(ProcessUtil.createMessageInfo(...));
auditRequest.setProcessInfo(ProcessUtil.createProcessInfo(...));
auditRequest.setActivityInfo(...);
2.
activityInfo.setActivityId("activity 1");
auditService.audit(auditRequest); // audit start of 1st activity
3.
ProcessUtil.setActivityCompleted(...)
auditService.audit(auditRequest); // audit end of 1st activity
4.
ProcessUtil.setActivityInProgress(activityInfo);
activityInfo.setActivityId("activity 2");
auditService.audit(auditRequest); // audit start of 2nd activity
5.
ProcessUtil.setActivityCompleted(...)
auditService.audit(auditRequest); // audit 2nd activity completed
and so on
6.
processInfo.setCompleted(...); // mark process completed
auditRequest.setActivityInfo(null); // not logging activity info in this case
auditService.audit(auditRequest); // audit end of process
The auditing of the process as completed can be done in conjunction with the auditing call that marks
the last activity as completed. That is, using only one call to auditService.audit() after marking both
the processInfo completed and the activityInfo completed.
Each of the MessageInfo, ProcessInfo, and ActivityInfo objects has support for additional
properties. The additional properties are displayed in the Teamcenter Integration Framework
configuration interface and are returned by the REST service.
The sample solution contains traditional datastore directories including bos, config, and script. The
contents of solution directories are handled as if they were in the standard directories with those
names, except for precedence rules. For example, the business object definitions (BODs) in the
BOS directory appear in the data views, the configuration files in the config directory are used to
configure connectors, and the scripts in the script directory are executed. The scripts respond to
web service requests, RESTful service requests, connector extensions, and so forth. Scripts in one
solution can depend on scripts in other solutions.
To prevent potential problems, use unique names for packages and other content in solutions. There
is a defined search order for looking up files across solutions. Files in the standard directory take
precedence and then the solutions are searched in alphabetical ordering from A to Z. Therefore, if
solution joe contains a /bos/XXX BOD, that is used instead of the same BOD from solution sam, if
one exists.
An entire solution can be removed easily by selecting the solution name in the file removal form in the
datastore configuration page of the configuration user interface.
The autoinstall directory exists in the container directory. If you create a ZIP file and move it to the
autoinstall directory, the contents of the ZIP file are extracted and uploaded to the datastore. You
can do the same thing through the user interface in the datastore configuration page.
A L
appender element . . . . . . . . . . . . . . . 4-17 log4j.xml file . . . . . . . . . . . . . . . . . . . 4-17
Logs
C Exception messages . . . . . . . . . . . . 4-17
Configuration files
log4j.xml . . . . . . . . . . . . . . . . . . . . 4-17 M
E Messages
Exception messages . . . . . . . . . . . . 4-17
Elements
appender . . . . . . . . . . . . . . . . . . . . 4-17
root . . . . . . . . . . . . . . . . . . . . . . . . 4-17 R
Exception log root element . . . . . . . . . . . . . . . . . . . 4-17
Reconfiguration . . . . . . . . . . . . . . . 4-17
XML elements
X
appender . . . . . . . . . . . . . . . . . 4-17
root . . . . . . . . . . . . . . . . . . . . . 4-17 XML
Exception log configuration file Exception log . . . . . . . . . . . . . . . . . 4-17
Modification . . . . . . . . . . . . . . . . . . 4-17 XML elements
root element . . . . . . . . . . . . . . . . . . 4-17 appender . . . . . . . . . . . . . . . . . . . . 4-17
Exception messages . . . . . . . . . . . . . . 4-17 root . . . . . . . . . . . . . . . . . . . . . . . . 4-17
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