TIF 2019.2.0 Release Information 2019-05-03
XML Schemas - Change of Namespace
All namespace URIs used in the configuration files to reference XSD files have been changed from "techniatranscat.com" to "technia.com".
<tif:Job
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tif="http://technia.com/TIF/JobCfg"
xmlns:common="http://technia.com/TIF/Common"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://technia.com/TIF/JobCfg http://products.technia.com/tif/schema/latest/JobCfg.xsd">
</tif:Job>
If you have used XML Schema validation of your configuration files, you can simply do a search/replace in your configuration files to change the URI.
Property Files - Macros
The property files used for configuring TIF may contain macros. The macros may reference properties in the same file, system properties and some TIF core properties.
Production Mode Setting
A new flag specifying if TIF will be started in production OR development mode have been added. If starting TIF in production mode, some feature like hot-deployment of listeners will be disabled.
Also, the TIF production mode setting will also control the TVC production mode setting unless you have explicitly overridden that.
In the property files, you may use the macros ${tif.developmentMode}
and ${tif.productionMode}
to resolve the value of the current mode.
The TIF start scripts will look for a ENV variable called PRODUCTION_MODE.
If this is present, the value will be used as input for the tif.productionMode
parameter.
Unless specified, TIF will start default in production mode. |
JMS Listener Enhancements
JMS listener is now able to concurrently consume messages from a JMS queue. In practice, each consumer is assigned with separate session running in its own thread.
Furthermore, it is also possible to share the same connection if there are multiple JMS listeners listening to the same destination.
Example below:
<tif:JMSListener
xmlns:tif="http://technia.com/TIF/JMSListener"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://technia.com/TIF/JMSListener file:///C:/apps/tif-server/modules/enovia/schema/JMSListener.xsd">
<tif:Name>My JMS Listener</tif:Name>
<tif:Destination id="my-jms-destination" />
<tif:Handler className="com.acme.MyJMSListener" />
<tif:ConsumerCount>2</tif:ConsumerCount> (1)
<tif:ShareConnection>true</tif:ShareConnection> (2)
</tif:JMSListener>
1 | Number of concurrent consumers. |
2 | Shares connection. |
LDAP Support - Basic Authentication
Support for authenticating a remote user against LDAP has been added. This feature can be used together with Basic authentication if you want to authenticate the remote user against a LDAP directory rather than against the ENOVIA/3DEXPERIENCE database.
The LDAP authentication is enabled by setting the loginService
property for a web application to ldap
.
See example below:
http.webapp.jaxrs.loginService=ldap
http.webapp.jaxrs.realm=Webservices
You still need to configure a security constraint in the WEB.XML per webapp exactly like before. Just remember that the roles specified there are resolved against the LDAP group membership. |
Please read more this document for more information.
Hot Deployment of *-Listeners
Some configuration types in TIF corresponds to more complex deployment inside TIF. The configurations in question are listed below.
-
File / Directory Listener
-
JMS Listener
-
IBM MQ Listener
-
AMQP/RabbitMQ Listener
-
Reply Handler
Instances of these configuration types are represented as service activators internally in TIF.
If you add a configuration of such type, a new service activator will be created and made available in TIF.
Same if you remove a configuration of this type, the corresponding service activator will be stopped and removed.
Changing a configuration of this type will, if the service activator is running, cause the service activator to restart with the configuration changes reflected in the service activator.
This feature is per default enabled only when TIF is started in development mode.
With Context - Specify Security Context
File/Directory-, JMS-, IBM MQ-, AMQP/RabbitMQ- listeners and Reply Handlers uses a common configuration element for the ENOVIA/3DEXPERIENCE context handling.
This configuration element is called WithContext
.
As of this release, the WithContext
element allows configuration of the ENOVIA/3DEXPERIENCE security context.
You can either point out a specific security context to be used, or you can specify to use the default security context for the user in question.
Below is an example how to do so.
<WithContext user="integration-user"
securityContext="Design Engineer.Company Name.GLOBAL" />
Or to use the default security context
<WithContext user="integration-user"
useDefaultSecurityContext="true" />
Encoding in Create/Update Integration via File
Encoding of input and success/error response payload can be optionally defined in the configuration. For example:
<tif:DirectoryListener
xmlns:tif="http://technia.com/TIF/DirectoryListener"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://technia.com/TIF/DirectoryListener http://products.technia.com/tif/schema/latest/DirectoryListener.xsd">
<tif:Handler type="CreateUpdateIntegration" />
...
<tif:Arguments>
<tif:Argument name="inputEncoding" value="UTF-8" />
<tif:Argument name="outputEncoding" value="UTF-8" />
...
</tif:Arguments>
</tif:DirectoryListener>