nJAMS Implicit and Explicit Logging

In order to provide support to particular solution logging is mandatory part. In tibco there are number of ways to do this like you can log information in files, log in DB on the other hand  TIBCO also provide their own interface for logging called CLE (Common Logging and Exceptions).

In my previous article I have explained about the nJAMS architecture and their basics. Now I am going to discuss how nJAMS works with TIBCO BW.

The nJAMS Client™ for BW can be used in two different modes depending on the needs and project circumstances:

  • Explicit mode using the palette in TIBCO Designer
  • Implicit mode using the client without changing the TIBCO repositories

Explicit mode is intended for users to implement monitoring activities and events at design time using TIBCO Designer. The nJAMS Client™ for BW adds a palette to TIBCO Designer. The palette consists of a set of different activities and enables you to equip the processes with many monitoring events as appropriate and needed. At the process level you can drag and drop the activities from the palette to the design panel and configure them accordingly. The palette automatically adds a nJAMS section in the global variables tab in the left panel of TIBCO Designer. The global variables show the default configuration that you adjust according to your environment.

Make use of nJAMS Client™ for BW implicitly

Using nJAMS explicitly requires the user to open up the repository using the TIBCO designer, enhance the implementation of the processes and then go through the major tasks of the project lifecycle including regression testing and deployments. There are particular cases where it is necessary to avoid this overhead in order to save efforts and costs for the project or to quickly enable a large number of existing projects and processes for monitoring. For this purpose nJAMS provides the possibility to instrument the TIBCO BusinessWorks™ engines with nJAMS Client™ for BW without using the nJAMS palette at design time. Instead, the nJAMS Client™ for BW is configured through the TRA file of the TIBCO BusinessWorks engine to run in the same JVM as the engine that it monitors.

nJams Global Variable Configuration
Name Description Valid Value Default value
nJAMS/logMode Globally controls the operation mode of the nJAMS Client™ for BW complete: nJAMS will monitor all processes that are executed within the TIBCO BusinessWorks engine.
 exclusive: nJAMS will only  monitor processes that make explicit use of the nJAMS Client™ for BW palette. All other processes will be ignored.
none: the nJAMS functionality is completely disabled; event instrumented processes that are using the nJAMS Client™ for BW palette are not monitored.
nJAMS /configurationFile Defines the path to a directory or file name where the configuration of this client is stored. Directory: If a directory is configured the client will search for a file of name <ENGINE_NAME>_njam s_config.xml. Absolute file name: if an absolute file name is configured the client will use that file as its configuration file. <none>
nJAMS/DataProvider /File/enabled Enables or disables the writing of log entries to a  local log file true: write log entries to a local log file
false: disable local log file writing
nJAMS/DataProvider /File/name The full name of the log file to write log entries to (if enabled) complete path to a log file; for example: /tmp/njams.log <none>
nJAMS/DataProvider /JMS/clientId Specifies the EMS connection’s clientId to be set Any valid clientId string; for example:OrderService-Engine1 <TIBCO _ DOMAIN _NAME> -<BW _ENGINE  _ NAME>
nJAMS/DataProvider /JMS/useJNDI Controls whether to use JNDI to lookup (JMS) connection factories or not true: use a JNDI server to lookup connection factories true
nJAMS/DataProvider /JMS/useQueues Set this global variable to control whether to use (JMS) queues or topics to communicate with the nJAMS server true: use (JMS) queues
false: use (JMS) topics
nJAMS/DataProvider /JMS /destination The (JMS) destination name prefix. The prefix will be extended with “.event” for nJAMS event messages and “.command” for messages send from the server to the nJAMS Client™ for BW Any valid JMS destination name is allowed for this global variable. njams
nJAMS/DataProvider /JMS /enabled Enabled or disables the sending of nJAMS events via JMS. true: nJAMS communicates with the nJAMS server using JMS
false: JMS communication is disabled.
nJAMS/DataProvider /JMS/user The JMS server user name to use Any valid JMS server user that has the required privileges to send and receive messages on the destinations defined using the nJAMS/DataProvider /JMS/destination global variable. <none>
nJAMS/DataProvider /JMS/password The JMS user’s password The matching password for the configured JMS user. The password is allowed to be clear text (not recommended) or obfuscated (using TIBCO’s obfuscation tool). <none>
nJAMS/DataProvider /JMS/server The JMS or JNDI server connection URL  This can either be the JNDI connection URL if JNDI is enabled or the native JMS server connection URL. Examples for TIBCO EMS are: tibjmsnaming://localhost:7222 (forJNDI) or tcp://localhost:7222.  For TIBCO EMS fault tolerant or load-balanced URLs are supported.  tibjm snaming: // localhost: 7222
nJAMS/DataProvider /JMS/context Factory If using JNDI this sets the JNDI context factory For TIBCO EMS use: com.tibco.tibjms.naming. TibjmsInitialContextFactory com. tibco.tibjms .naming. Tibjms Initial Context Factory
nJAMS/DataProvider /JMS/connectionFactory Configures the connection factory to lookup when using JNDI Any configured (JMS) connection factory Queue Connection Factory
nJAMS/DataProvider  /JMS/compress Determine if the JMS messages should be send in compressed mode to save bandwidth. true: the JMS header “JMS_TIBCO_COMPRESS” is set to “true”; the TIBCO EMS libraries will compress the message before sending.
false: the JMS message is send without compression.
nJAMS/DataProvider /JMS/deliveryMode Sets the producer's default delivery mode. Delivery mode is set to PERSISTENT by default. PERSISTENT (default) NON_PERSISTENT PERSISTENT
nJAMS/DataProvider /EngineLog/enabled Controls whether nJAMS will write log messages to the TIBCO BusinessWorks true: write log messages to the TIBCO BusinessWorks engine log file false