Archive for the ·

tibco

· Category...

How to trace BusinessWorks application

1 comment

You can set
Trace.Startup=true
Trace.Task.*=true
Trace.JC.*=true
Trace.Engine=true
Trace.Debug.*=true

in deployed tra file and then restart the application, run the process and until the errors appear again, then check detailed log file locates in the <install-path>\tibco\tra\domain\application\logs folder. Please keep in mind that all manual settings will be cleared after redeploy. To keep it permanent, set in bwengine.tra file in <install-path>\tibco\bw\<version>\bin folder.

Also possible to redirect the stdout and stderr output to any file. Please set in deployed cmd:
"/<install-path>/tibco/bw/<version>/bin/bwengine.exe" --run --propFile "/<install-path>/tibco/tra/domain/application/<application>.tra" > "/tmp/trace.out" 2>&1
then start this cmd from command shell.

You can also enable higher tracing to Hawk, set -tsm_tracelevel -1 in your <install-path>\tibco\tra\domain\<domain-name>\hawkagent.cfg and restart your Hawk Agent. The logs will be under <install-path>\tibco\tra\domain\<domain-name>\logs\tsm.log by default, you can define it using -tsm_traceLogFile parameter.

Deploy issue when running master and secondary TIB/Admin

no comments

TIBCO domain needs a repository where all service data are stored. This repository can be in xml files near TIBCO Administrator or it can be in a database. When you run both master and secondary servers of TIBCO Administrator, it is better to store repository in a database, because if it stored in files, both Administrator instances have to maintain its own copy of the repository. So, it could be a problem with syncing in some cases. When the copy of repository on the secondary server is out of sync, we can experience a problem with deploying and starting applications.

The errors seen in the admin log file:

2010 Feb 15 13:24:21:267 GMT +4 Error [ApplicationConfiguration] AESDKJ-0000 [http-8090-Processor11] COM.TIBCO.hawk.talon.MicroAgentException: Request timed out
2010 Feb 15 13:24:23:720 GMT +4 Error [Administrator] AESDKJ-0000 [http-8090-Processor11] ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error

And in the tsm log files errors are similar to:

2010 Feb 15 13:23:10:335 GMT 4 tsm Debug [] [TRA-000000] tsm.syncBindings: probably admin server is not available. exception message: com.tibco.pof.entity.EntityStoreException: error creating client Server not responding
Caused by: com.tibco.infra.repository.OperationFailedException: error creating client Server not responding at com.tibco.infra.repository.RepoFactory.newClient(RepoFactory.java:3046)

Workaround is to stop secondary Administrator and deploy then. Solution is to stop secondary Administrator, remove all repository files on the secondary server, then copy repository files from the master. Usually all repository files in the <tibco_home>\administrator\domain\<domain_name>\data folder. Strategic decision – migration to a database storage.

By the way, when you plan a backup/restore solution, it makes sense to backup repository only on the master TIBCO Administrator, but in the case of recovery, restore it on both at the same time.

Configuring HermesJMS for TIBCO EMS

29 comments

HermesJMS provides a GUI to access JMS queues and topics for common tasks such as sending messages, removing messages and copying messages between queues and topics. It’s one of some “must have” tools for EMS admins and application support team.

Get the latest installer from SourceForge: http://sourceforge.net/projects/hermesjms/files/ then run it:
java -jar hermes-installer.jar

Installation is very simple, just few screens: release notes, license agreement, installation path, components (here is only one actually), summary, files copying, shortcuts creation and installation finish.

To start HermesJMS run hermes.bat in your <installation_folder>\HermesJMS\bin. If you got error message “cannot find \bin\javaw”, make sure that you have JAVA_HOME system variable defined to your jre folder.

When Hermes started successfully, click on “Create new JMS session” button, preferences window will appear, select providers tab and right-clik on free space. Then press “Add Group” and enter group name. Right-click on “Library” and press “Add JAR(s)”. Look in <tibco_home>\ems\5.1\lib folder and select all .jar files there. Click “Open”, then let Hermes to scan jars for factories: press “Scan” button. Then press “Apply”. All libraries will be in the list like on my screenshot.

Go to “Sessions” tab and enter name for session: “My EMS” for example, then select “EMS” loader. Next step is select “com.tibco.tibjms. TibjmsConnectionFactory” class and “Tibco EMS” plugin. Order is very important: select loader, then class, then plugin. Right-click on free space in plugin section and press “Add property”. You have to enter all three properties: username, password and serverURL, do the same for Connection Factory, then press “OK” to save and close properties window.

Now we can connect Hermes to our EMS. Let it discover queues and topics, press “Discover queues and topics from the provider” button. Then confirm replacement of the current set of destinations and list will be updated. That’s all.

If you need more information: HermesJMS home.

TIBCO Rendezvous undocumented profiling feature

2 comments

If you experience out of memory issues, or just want to debug function invocations or check consuming memory by Rendezvous daemon internals, you can enable undocumented profiling feature. You need go to http://rvd_host:7580/profiling URL. On the page select the desired check-boxes and then press submit.

Daemons profiling data will be in the log, you can view it on the screen, however better to start rvd or rvrd with log parameters -logfile c:\logs\rvd.log -log-max-size 1024 -log-max-rotations 5 and look at the log files.

Connecting from TIBCO to MS SQL using Windows Authentication

5 comments

Yes, it is possible. We can connect from BusinessWorks applications to MS SQL database using Windows authentication. Even more, we can run TIBCO Domain and store all data in MS SQL instance, where only Windows authentication enabled. Do it simply.

Get the latest version of Microsoft SQL Server JDBC Driver from microsoft.com site. Unzip it. Then:

  • copy sqljdbc.jar to <tibco_home>\tpcl\5.6\jdbc
  • copy \auth\x86\sqljdbc_auth.dll to C:\WINDOWS\SysWOW64 (or to C:\WINDOWS\System32 on 32bit system) and to <tibco_home>\tra\5.6\bin

Configure your BW-application to use appropriate driver and connection string:
JDBC_Driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
URL: jdbc:sqlserver://<server_name>;
instanceName=<instance>;
databaseName=<database>;
integratedSecurity=true;

The process must be started under Windows domain user who has the database rights. To do that just start domain Hawk Agent service under this user (should be in local admins or has appropriate permissions). Then all BW-applications on this particular machine, started by TIBCO Administrator or using appmanage tool, will also run under this user and can connect to MS SQL database using Windows authentication.

If you would like to create TIBCO Domain and use MS SQL Win auth only instance to store the data, you can use the same JDBC driver and URL. All you need is just run TIBCO Administrator and Hawk Agents in the TIBCO domain under Win domain user who has the database rights.

TIBCO Hawk microagent and eventlog.out file growing

no comments

We recently encountered a situation when the hawk\bin\eventlog.out file grew, until it ran out of disk space. This is a known bug: we can’t configure or disable eventlog.out file even if we don’t use Windows event logs monitoring microagent rules.

This has been fixed in Hawk 4.8.1 Hotfix 3:

1-83ZKPM
In the Eventlog microagent, the logging events in the eventlog.out
file kept growing and could not be turned off. This has been fixed.

You can download this or latest hotfix from the TIBCO support ftp server as Hawk hotfixes are cumulative.
To install stop all Hawk services, then just copy these files from the hotfix archive and replace the ones that already exist:

  • /hawk/bin/tibhawkhma.exe
  • /hawk/lib/agent.jar
  • /hawk/lib/console.jar

If you run 64bit Hawk, take /hawk/bin/tibhawkhma64.exe from archive and save it as /hawk/bin/tibhawkhma.exe

By the way, some other important things were fixed in the Hawk 4.8.1 Hotfix 3 and Hotfix 4, so please keep your Hawk agents updated.

TIBCO iProcess engine installation on Solaris

1 comment

This is my quick reference for single-server TIBCO BPM iProcess engine installation on Solaris. Possible to add another server and convert environment to a cluster later. Oracle has to be installed, ORACLE_HOME and ORACLE_SID environment variables must be set. Run swinstall installation script as a root user who also DBA in Oracle, script will create iProcess database.

./swinstall

Script will collect installation data:
Installing TIBCO iProcess Engine version 11.0.2

Location, Identification and OS Accounts Menu

* ) Installation Directory : /export/home/tibco/tibco/iprocess
2 ) iProcess Engine Nodename : s-bpm01
3 ) iProcess Engine Licensee Name : TIBCO iPE 11.0.2 Install
4 ) iProcess Engine Background User Name : pro
5 ) iProcess Engine Administration User Name : swadmin
6 ) iProcess Engine User Group Name : staffwar

ORACLE Database Connection and Account Details

1 ) Oracle DB TNS Identifier : orcl
2 ) Oracle DB Administrator Name : system
3 ) Oracle DB Administrator Password : ********
4 ) iProcess Engine DB Schema Owner Name : swpro
5 ) iProcess Engine DB Schema Owner Password : staffpro1
6 ) iProcess Engine DB User Name : swuser
7 ) iProcess Engine DB User Password : swuser1
8 ) Data Tablespace Name : STAFFWAR
9 ) Temporary Tablespace Name : TEMP
10) Schema Sizing Configuration : Small

Display configuration summary and start installation:
==============================================
Configuration Summary
==============================================

General
===============================================
Install type: install (MASTER)
Version: 11.0.2
Target location: /export/home/tibco/tibco/iprocess
Licensee: TIBCO iPE 11.0.2 Install

iProcess Objects Server Version: 11.0.2
iProcess Objects Director Version: 11.0.2

Node Details
===============================================
Node name: s-bpm01
Client-Server RPC port: 391875

Environment Settings
===============================================
iProcess Engine User group: staffwar
iProcess Engine bkg. account: pro
iProcess Engine admin. account: swadmin

Optional Settings
===============================================
Autostart Server: Y
Passwords required for login: Y
Enable Prediction (Global): N
Enable Case Data Normalization: Y
Enable Activity Publishing: N
Configure iProcess E-Mail Plug-in: Y
Enable iProcess Objects Server: Y
Enable iProcess Objects Director: N
Install TIBCO Hawk 4.8.1: N
Enable Webdav write access: N

DataBase Settings
===============================================
Database Type: ORACLE
TNS Identifier: orcl
DBA Name: system
DB Schema Owner: swpro
DB User: swuser
Data Tablespace: STAFFWAR
Temp Tablespace: TEMP

The final step:
Your TIBCO iProcess Engine installation has now been configured as follows:

--------------------------------------------------------------------------------
Machine ID Machine Name Master Check Error Files Machine Comment
--------------------------------------------------------------------------------
1 S-BPM01 Y Y s-bpm01

Checking and setting file permissions ...

TIBCO iProcess Engine Installation Complete

Display engine password:
TIBCO iProcess Engine Password is:
********************************************
* 3BFD-7292-DBAF-A3E7-823D-4720-351E *
********************************************
Licensee Name is:
TIBCO iPE 11.0.2 Install
(The existing TIBCO iProcess Engine Password and Licensee Name may also be
displayed later by running 'swconfig').

Reminder:
All users of TIBCO iProcess Engine (Staffware) should have the
environment variable $SWDIR set to
/export/home/tibco/tibco/iprocess
before invoking or starting TIBCO iProcess Engine.

Installer will run the final check and complete:
TIBCO iProcess Engine Nodename ( s-bpm01 ) checked OK.
TIBCO iProcess Engine RPC Number ( 391875 ) checked OK.
TIBCO iProcess Engine service ports checked OK
TIBCO iProcess Engine process entries OK

Then I have to create this .profile for pro user:
SWDIR=/export/home/tibco/tibco/iprocess
export SWDIR
ORACLE_HOME=/export/home/oracle/product/10.2.0/db_1
ORACLE_SID=orcl
export ORACLE_HOME ORACLE_SID
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$SWDIR/libs
export LD_LIBRARY_PATH

To start iProcess engine:
su - pro
cd bin
./swstart -p
./swstart

Admin tool:
su - pro
cd util
./swadm