Wednesday, November 21, 2018

TIBCO Installation - JDBC driver configuration to connect to Database (Oracle)


      As we know, both TIBCO stack and database installation happens independently and both will have separate folders to maintain their binary after installation. Once you done with TIBCO and database installation, we have to configure JDBC lib/jars at below specified locations to make our TIBCO environment to communicate/connect to database.

1. designer.tra : --> Applications to connect to Database to perform CURD operations during design time.

a. Open "<<TIBCO_HOME>>/designer/<<version>>/bin/designer.tra" file using text/vi editor

b. Locate the Line : tibco.env.CUSTOM_CP_EXT (at Line no.37)

c. Append JDBC lib folder path to it as below :


NOTE : Here we consider Oracle DB driver to explain this scenario but we can configure JDBC lib directory corresponds to DB which you are trying to communicate.

2. bwengine.tra : --> BW Engine to communicate to Database to perform CURD operations during run time.

a. Open "<<TIBCO_HOME>>/bw/<<version>>/bin/bwengine.tra" file using text/vi editor

b. Locate the Line : tibco.env.CUSTOM_EXT_PREPEND_CP (at Line no.38)

c. Append JDBC lib folder path to it as below :


NOTE : Here we consider Oracle DB driver to explain this scenario but we can configure JDBC lib directory corresponds to DB which you are trying to communicate.

3. Before creating new TIBCO domain using database repository :

      An Administrator domain stores domain information in a database repository or file repository, depending on the tranport type. If TIBCO Rendezvous(RV) is set as the transport, you can store domain data in a database repository or file repository. If TIBCO Enterprise Message Service(EMS) is set as transport, you can only store domain data in a database repository.

      For database repository, While creating new TIBCO domain we might encounter issue to connect to DB, this is due to missing JDBC driver. This we can solve it with below configuration:

--> Copy "jdbc" folder from oracle installation directory to tpcl lib directory.

     From - <<ORACLE_HOME>>/app/user/product/11.2.0/dbhome_1
     To     - <<TIBCO_HOME>>/tpcl/<<version>>

NOTE : Here we consider Oracle DB driver to explain this scenario but we can configure JDBC lib directory corresponds to DB used while creating the domain.


Read More »

TIBCO Administration Server start issue with JDBC driver


      An Administrator domain stores domain information in a database repository or file repository, depending on the tranport type. If TIBCO Rendezvous(RV) is set as the transport, you can store domain data in a database repository or file repository. If TIBCO Enterprise Message Service(EMS) is set as transport, you can only store domain data in a database repository.

      For database repository, we provide database connection details during creation of domain and sometimes we may encounter issue with missing of JDBC driver while restarting the TIBCO Administration Server as below :

      To resolve this and to get the TIBCO Administrator Server finds the JDBC driver, do the below configuration :

1. Navigate to "<<TIBCO_HOME>>/administrator/domain/<<DOMAIN_NAME>>/bin" folder

2. Open the tibadmin_<<domain>>.tra file and append JDBC lib folder path to "tibco.class.path.extended" ( at Line number : 48)

3. Restart the TIBCO Administrator Server

NOTE : Here we consider Oracle DB driver to explain this scenario but we can configure JDBC lib directory corresponds to DB used while creating the domain.


Read More »

Monday, November 19, 2018

buildear utility usage in TIBCO BW


      The buildear utility builds an EAR file based on the Enterprise Archive resource that is defined in a TIBCO Designer project. When saving, buildear increments the archive build number and saves it to the project.

      The buildear utility and buildear.tra file are installed in the <<TIBCO_HOME>>\tra\version\bin directory. Navigate to this location through command prompt and run below command by passing required parameters mentioned as below :

buildear -v -s -ear /Deployments/TechsNibApp.archive -o c:\ear\deployment\TechsNibApp.ear -p c:\tibco\projects\TechsNibApp

Summary of options used :

-v     --> Validate the project before creating the archive. Aborts on errors

-s     --> saves the archive as another version in the project

-ear    --> Location of the archive resource present in TIBCO Designer project.

-o     --> Location and name of the output EAR file, make sure EAR file name must use the .ear suffix

-p     --> Location of the TIBCO Designer project where the archive has been created

      If you don't specify '-ear' argument, then tool will create a full project ear packaging all adapters in their own adapter archives and all process definitions in a single process archive. Note this feature is not implemented for packaging other types of archives.

      buildear utility writes log information to the designer.tra file. By default, on Windows, the log is located in the C:\Documents and Settings\user-name\.TIBCO\logs folder and even we can change this default log location in TIBCO designer.


Read More »

To enable TLS v1.2 in TIBCO BW 5.13


       TIBCO ActiveMatrix BusinessWorks can use Secure Socket Layer (SSL) to provide secure communication. The successor of SSL is Transport Layer Security(TLS). The TLS protocol provides communications privacy over the Internet. The protocol allows clinet/server applications to communicate in a way that is designed to prevent eavesdropping, tampering or message forgery.

          In real time, We might see applications which are developed in BW 5.13 interact with third party applications uses SOAP/HTTPs (or) any HTTPs service enabled with SSL using TLS v1.2 certificates but by default, BW 5.13 uses TLS v1.0 for SSL communication and we might encounter timeout issues while interacting with these applications/services.

     We can resolve this issue by adding below JAVA property to bwengine.tra file located in <<TIBCO_HOME>>\bw\5.13\bin folder.

java.property.TIBCO_SECURITY_VENDOR=j2se

       For deployed applications, we can add it to <<application>>.tra file localted in <<TIBCO_HOME>>\tra\domain\<<DOMAIN_NAME>>\application\<<application_name>> folder and make sure to restart the corresponding applications/services once after done with the changes.

To debug in designer, add this property to designer.tra(under <<TIBCO_HOME>>\designer\5.10\bin folder) file along with bwengine.tra file.

Note :
To check the TLS compatibility, check the java version used by your <<TIBCO_HOME>> and refer to below table for JAVA versions and it's corresponding compatible TLS versions.

Java VersionSSL/TLS defaultOther Supported Versions
Java 6TLS v1.0TLS v1.0, SSLv3.0*
Java 7TLS v1.0TLS v1.2, TLS v1.1, SSLv3.0*
Java 8TLS v1.2TLS v1.1,TLS v1.0, SSLv3.0*


Read More »

Wednesday, June 28, 2017

How to read a resource exists within the BW project | tibcr in tibco bw


       We can fetch any resource exist in bw project by using "Retrieve Resources" activity available in SOAP palette. This we can do it is as follows.

       For example here we create a process to read xsd file(TestData.xsd) available in "SharedResources/Schemas" folder under project root directory. To do this, open the Retrieve Resources activity input tab and configure the "resourcePath" with the location of file as "SharedResources/Schemas/TestData.xsd" and run the process to get the whole xsd in the output tab of the activity.

You can refer the below screenshot for the configuration and execution of process.


Note : While creating deployment please make sure to include referred file(s) in shared archive.

      Apart from this, alternatively we can use below "tibcr://" command to fetch the xsd/xml file within bw project where ever required.

 tib:render-xml(document("tibcr://<<Resource Path>>"))

  • document(<< >>) - used here is an XSLT function which opens an XML document based on URI
  • tibcr:// - used internally inside TIBCO products for RV based communication

Example -  tib:render-xml(document("tibcr://SharedResources/Schemas/TestData.xsd"))

  You can check the below configuration of Mapper activity to pass the above said command and to fetch the xsd file which we considered in the post.


Read More »

Sunday, December 25, 2016

/bin/sh^M : bad interpreter - Error while executing Shell script


      Sometimes we may encounter with "./configure : /bin/sh^M : bad interpreter" error while executing shell script on UNIX machines.Unix uses different line feeds and carriage returns so can't read the file you created on Windows. Hence it is seeing ^M as an illegal character. We can solve this as follows:

Solution-1 : To fix this, open your script with vi editor and enter in vi command mode (key ESC), then type this:

:set fileformat=unix

Finally save it :x! (or) :wq!

Solution-2 : If you want to write a file on Windows and then port over, make sure your editor is set to create files in UNIX format.

In notepad++ in the bottom right of the screen it tells you the document format. By default it will say Dos\Windows, To change it go to

settings --> preferences --> New Document tab --> select the Format as Unix(LF) and then close and create a new document.


Read More »

Monday, November 21, 2016

Different types of variables in TIBCO BW


There are several types of variables in TIBCO ActiveMatrix BusinessWorks, each with their own purpose and usage. TIBCO ActiveMatrix BusinessWorks provides the following types of variables:

  • Global Variables
  • Process Variables
  • Shared Variables


Global Variables – These variables allow you to specify constants that can be used throughout the project. The constants can be specified and changed while designing and testing your project. You can specify different values for each deployment of your project.

--> You can define new Global Variables in the Global Variables section of project explorer.


Process Variables – These variables allow you to access various data in your project. For example, there are predefined process variables containing the process ID, project name and other information. You can also create user-defined process variables for containing process-specific data.

--> To assign a value to a user-defined process variable, use the Assign activity. Assign allows you to specify which process variable you wish to modify. You can then specify a new value for the process variable in the input tab of the assign activity.


A Shared Variable is a shared configuration resource in the General Activities palette. There are two types of shared variables.

  • Shared Variables
  • Job Shared Variables

Shared Variables – A Shared Variable resource allows you to share data across process instances. All process instances can read and update the data stored in a shared variable. This type of shared variable is useful if you wish to pass data across process instances or of you wish to set a common set of information available to all process instances.

Job Shared Variable – A Job Shared Variable resource is similar to a Shared Variable, but its scope is limited to the current job. A copy of the variable is created for each new process instance.

--> You can use the Get Shared Variable and Set Shared Variable activities to get/set the data to a shared variables.


Read More »
back to top