Tuesday, March 24, 2015

Administration

What is an Administration Domain?
An Administration Domain is a collection of Users, Machines, Applications and Services. An Administration Domain is managed by Administration Server, which is assisted by a Hawk Agent running on each machine in the domain.

What are the Domain Information storage options?
Administration Domain information be stored in Database or in Files.

What factor decides the Domain Information storage is Database or Files?
Depending on the Transport Type used for the Domain inter communication. For the EMS transport type Domain Information storage must be  Database, For TIBCO RV you can choose between File or Database repository.

While creating a domain the default transport used is 'RV', you can change it to EMS and then provide EMS details and also the DB details.


Where does Domain Data stored in the File Based Domain?
Domain data is stored in the SYS_domain.dat and AUTH_domain.dat files. Location of these files is TIBCO_HOME\administrator\domain\<Domain_Name>\data on the Administration Machine.

Data stored in the SYS_domain.dat file is referred to as the administration domain.The Administration domain contains Installed software,Machines, Applications, Plug-ins, TIBCO Administrator ACLs.
Data stored in the AUTH_domain.dat file is referred to as the authorization domain.The authorization domain contains the users, roles and data access ACLs.

Where does Domain Data stored in the Database Based Domain?
For the Database based domain, when you create the domain it will automatically creates the tables in the Database & these tables begin with 'Au' and 'Ad'. Administration domain is stored in tables beginning with "Ad" & Authorization domain data is stored in tables beginning with "Au".

How does Hawk Agent access the Domain Repository in File based & Database based domain?
File Based: Hawk Agent access the Domain Repository through the Administrator Server.
Database based: Hawk Agent access the Domain Repository directly.

Files based Domain Vs Database based Domain, which is most efficient?
You can achieve the increased performance in the Database Domain as it directly access the repository. And it directly writes the changes items to the Database, where in the File based Domain it will load all files system in the memory & rewrites the entire file which is expensive operation.

When using a file-based repository with a primary and secondary administration server, performance will be slower than when using a database to store administration domain data.


What are the available Deployment choices?
There are two deployment choices:
1. Using Local Application Data
2. Using Server-Based Application Data

For the Transport Type "RV", you can chose between "Using Local Application Data or Using Server-Based Application Data" deployment choices.
For the Transport Type "RV",  by default it will be "Using Local Application"


What is main difference Using Local Application Data Vs Using Server-Based Application Data deployment choices?
In "Using Local Application Data" the project files are created under TIBCO_HOME\tra\domain\<Domain_Name>\datafiles on each of the target machines. This allows the applications to run independently of the administration server.

In "Using Server-Based Application Data" a repository instance for the application is created on the administration server and the repository instance is referenced in each application’s instance’s property file. This consumes lot of memory, CPU & Threads.

Does Secondary Administration servers in an EMS-based admin domain have write access?
Yes, In an EMS-based Administration domain the Secondary Administration servers acts exactly like the the Primary servers. You can deploy, delete, modify applications. For RV- based domain secondary server will have only read access.


Where does the Administration server properties are stored?
tibcoadmin_<Domain_Name>.tra file contain the properties which is located under TIBCO_HOME\administrator\domain\<Domain_Name>\bin folder.

Which web server used by the TIBCO Administrator?

Tomcat

What is the default port selected for the TIBCO Administrator?
Its 8080, you can assign the different port using Domain Utility.

Where does the Tomcat logs are stored?
Separate logs are stored for just Tomcat at location TIBCO_HOME\administrator\domain\<Domain_Name>\tomcat\logs\ A new set of files is created each day you use the software. 

Where does the Administration server logs are stored?
Admin server logs are stored in Administrator.log file located in TIBCO_HOME\tra\domain\<Domain_Name>\logs\.

What is the default Max log size and Max number of log files for the Administrator log?
The default Log size is 5000KB and the Max number log files 5. These values are defined in the AdministrationDomain.Properties located in TIBCO_HOME\tra\domain\<Domain_Name>\
  • LogGenerations= 5
  • LogGenerationSize=5000  (in KB)
Where does the Hawk Agent logs are stored?
Hawk agent logs are written to the tsm.log and HawkAgent.log and stored in TIBCO_HOME\tra\domain\<Domain_Name>\logs\.
  • tsm.log includes the high-level Hawk Agent messages.
  • HawkAgent.log includes the lower-level Hawk Agent messages.

Where does the deployed Application logs are stored?
Deployed application logs are written to Application_Name.log and stored in TIBCO_HOME\tra\domain\<Domain_Name>\application\logs

Where does the Audit logs are stored?
Any TIBCO application that accesses the security module in a domain writes information to the audit log. The log is stored on the machine that hosts the administration server in TIBCO_HOME\tra\domain\<Domain_Name>\logs\

Where does the Domain Utility logs are stored?
Domain Utility logs are written to the log file names domainutility.log and it stored in TIBCO_HOME\tra\<ver>\logs\. The log contains information about user selections in TIBCO Domain Utility.

What are the storage options available for Business Works processes?
File System (Default) or Database. Using the TIBCO administrator you can configure the location where BW process running on the server store the internal information.


To select File/Datase  storage option navigate in the admin GUI as below :
Application_Name> ConfigurationBuilder>Process Archive.par>Adavnced>TIBCO BusinessWorks Checkpoint Data Repository

Advantage of using Databse for storage of BW process information?
Some of the functionality mentioned below are not available with File system. Should use Database if process required below functions.
  • If shared variables is used to pass information across multiple process engines.
  • Duplicate detection of messages across multiple engines after a recovery from a checkpoint.
  • Using critical section groups across multiple engines requires a database for storage.
  • Wait/Notify activities can be used to pass data between services running on different machines.
Explain Max Job, Flow Limit & Use Activation Limit.
These three parameters define the control of execution of the Business Works Services.

Max Job specifies the maximum number of  concurrently running process instances that can be loaded into memory. or in other words it will limit the maximum number of jobs those can be loaded into memory at a given time.
e.g: If there total of 30 Process Instances have been created, & the Max Job value set is 10. Then out of 30 process instances 10 will be loaded into memory and 20 will be paged to disk. 

Flow Limit Flow limit parameter limits the creation of the the process instances. When the number of process instances created reaches the value specified by Flow Limit, then the process engine enters the Flow Control state in which the further process instance creation will suspended until the number of created process instances value reaches approximately half the value of the flow limit.

e.g: If the Flow Limit = 30, The process instance creation will be suspended when number of created process instance =30. It will resume process creation when the number of created processes instance value is <=15.

Activation Limit Specifies that once a process instance is loaded, it must remain in memory until it completes.

What is Thread Count?
It specifies the number of threads to use to execute process instances. The number of threads represents how many process instances can execute concurrently.

What are the default values for Max Job, Flow Limit & Use Activation Limit?
Max Job=0, Use Activation Limit= Checked, Flow Limit=0. 
This combination will create unlimited number of Process Instances and Will load unlimited number of jobs into memory. This choice should be chosen when you have enough resources & memory available.
Note Use Activation Limit= Checked has no effect when Max Jobs=0.

What value combinations for Max Job, Flow Limit & Use Activation Limit will executes the processes in a sequential manner?
Max Job=1, Use Activation Limit= Checked, Flow Limit=N
Max Job=1, Use Activation Limit= Checked, Flow Limit=0

Note above settings will create a lot of overhead, if you want to achieve the sequential execution a better way is to define the Sequencing key on the Misc. tab of the Process starter palettes.

Where do we set MaxJob, Use Activation Limit and Flow Limit parameters in Admin GUI?
To set these parameters navigate in the admin GUI as below :
Application_Name>ConfigurationBuilder>ProcessArchive.par>Adavnced>TIBCOBusinessWorks Process Configurations.
You can change theses values for each of the process starter defined in the archive file.

What are Blocking & Non-Blocking Activities?
Depending on whether an activity run on its own private thread or engine thread when it is waiting on an event or when it executed sleep command, can be classified as Blocking & Non-Blocking. Blocking Activities are those which runs on Engine Thread always and Non-Blocking Activities are those which runs on Engine Thread when it's ready execute else it will run on Private Thread.

What happens when a primary server fails in a Fault-Tolerant group of Process Engine?
The primary servers starts the process starters and executes the services & The Secondary server will be stand by. When Primary server fails, the secondary server resume the role of the primary server and it restarts the process starters and services are restarted from their last checkpoint.

How does the primary and secondary servers communicate about their states?
Primary and secondary server engines send the heartbeats to notify each other about their current state. Heartbeats are sent every 10000ms (default), heartbeat interval  and if the heartbeat not received then the secondary server waits until activation interval 35000ms (default).
Note: Activation interval is 3.5 times of Heartbeat interval.

What are the different relationship to configure Process engine Fault-Tolerant groups?
Fault-Tolerant groups can be configured as Peer or Master & Secondary Relationships.

Peer Relationship is FT Group is configured as shown below. The FT Weight in the Peer group must be same. The default value is 200, you can define custom value as well.

Master & Secondary Relationships FT group configured as shown. The member with highest weight is the master.

What are the external factors which affect the BW engine?
In addition to the Enginee parameters like MaxJob, FlowLImit, ActivationLimit, ThreadCount & StepCount there severl external factors listed below which affects the BW engine performance.
  • Rate of Incoming messages
  • Other OS processes that may be running on the system
  • Network Latency
  • Performance of external applications integrated with BW
Explain the difference in the Peer Vs Master & Secondary Relationships FT groups.
In Peer relationship FT group, If all the engines are peers, when the machine executing the current processes fails then the another peer engine resume processing for the first engine and it process until it fails and other engine resume it's role.

In the Master & Secondary Relationships FT group, the secondary engine takes role of primary and executes the process until the primary server is back, & then resume secondary role and gets into standby mode. Meaning, primary engine executes processes always as long as it's up & running.

What is the file is used to define Custom Engine Properties?
in bwengine.xml  custom properties for the process engine can be defined. This file is located on BW engines in tibco_home\bw\<ver>\lib\com\tibco\deployment

A member of which user group can reset the Admin Console password for other user?
Only a member of "Super User" group can reset password.

What is the Max Deployment Revision?
It indicates the number of revisions to keep in history. By default it is set to -1, you can change to the required value.

Can fault tolerance for Adapter services set in TIBCO Admin?
Fault tolerance options can be set only for TIBCO BusinessWorks processes. TIBCO Adapter services cannot be assigned fault tolerant options.



Friday, March 20, 2015

BW

What is TIBCO ActiveMatrix BusinessWorks?
TIBCO ActiveMatrix BusinessWorks is a scalable, extensible, and easy to use integration platform that can be used to develop integration projects.

Scalable    : Respond to increasing demand,so that services can handle more load.

Extensible : Able to add new Business processes, allow integration of new application & it is adoptable.
Easy to use: Using GUI based designer you build Business processes easily and quickly.

How do you achieve Inter Process Communication? List its Benefits.

Inter Process Communication can be achieved using the Wait, Notify/Receive Notification & Notify configuration activities. Its useful if you want to execute the processes in an particular order, such as priority based.


How does the process containing Wait,Notify/Receive Notification activities communicate each other?
Based on the "Key" value defined for these activities.

Can Wait/Notify pass data between services running on different machines?

Yes, its possible but the storage system must be Database.

What is the use of Checkpoint activity?

Checkpoint is used to save the state of the running process instance to until its point and in case of  failure it will used to recover the process instance to that state. It can also be used for Duplicate detection.

Can you achieve Checkpoint/duplicate detection if the BW process  storage is File system?

Yes, if the process instance is running on single engine or Fault-tolerant group. It must be a Database if the process is running on multiple machines.

Where the Duplicate keys are stored?

When file based repository is used, they are stored at the following location as .job files.
When running in Designer:
C:\Documents and Settings\<username>\.TIBCO\working\<ApplicationName>\jdb_dupkeys

When Deployed:
C:\tibco\tra\domain\<domainName>\application\<ApplicationName>\working\<ApplicationName>- Process_Archive\jdb_dupkeys

How long the Duplicate Keys are stored?
By default 30 minutes. But this can be changed by specifying different values to bw.engine.dupkey.timeout.minutes in bwengine.xml

  • 0 indicates the duplicateKey is removed when the job is removed. However, if bw.engine.enableJobRecovery=true, the job is not automatically removed after a failure so the duplicateKey will remain as long as the job remains. Such a job can be restarted or purged later.
  • -1 indicates to store duplicateKey values indefinitely.
  • Any positive integer greater than 0 indicates the number of minutes to keep stored duplicateKeys.


Explain behavior of checkpoint used in called process(Sub Process).
Depending on whether the called process using spawn feature, checkpoint will saves the state differently.
For spawn Sub Process it will only save the called process instance state. For non-spawn Sub Process it will save the called process instance state along with the parent process.

Can a Process Definition have multiple checkpoints in it?

Yes, but only the state from the last checkpoint is available for recovering the process.

What is Spawn?

Spawn option available for the Call Process activity. Choosing this option will make Call Process to run on a separate process instance & output of the spawn call process will not be available.

What is Process Name Dynamic Override?
'Process Name Dynamic Override' option available for the Call Process activity, using this field dynamically determines based on the Xpath Condition evaluation which process to call when a process instance running. See the example below.


Name different Groups available in BW & Describe each.
1. No Action
2. Repeat Until True Group
3. Repeat On Error Until True Group
4. If Group
5. Pick First Group
6. Critical Section Group
7. Iterate Group
8. While true Group
9. Transaction Group

No Action:
No Action group is useful to specify a single error transition out of a group.

Repeat Until True Group:
Repeats until given condition is met. It first executes the activities in the group once & then checks the condition.

Repeat on Error Until True Group:
Repeats until there is no error/given condition met.It first executes the activities in the group once & if there are no unhandled errors then it comes out of loop, else repeats until there is no error or condition is true. Optionally you can suspend it "if Still Error".

If Group:
Conditions are evaluated in an order & this decides which path should be taken. In the example below the condition for '1' is evaluated first, if it's true then tht path taken and loop terminates. Else it will for 2nd condition evaluation & so on. If none of the condition is true then 'otherwise' transition taken.

Pick First Group:
Pick first groups allow process execution to wait for one or more events. The first event that completes determines which transition to take to continue processing. In the example below, depending which sleep activity execute first that transition path will be taken.

Critical Section Group:
Critical section groups are used to synchronize process instances so that only one process instance executes the grouped activities at any given time. Any concurrently running process instances that contain a corresponding critical section group wait until the process instance that is currently executing the critical section group completes. Critical Section groups are particularly useful for controlling concurrent access to shared variables. However, other situations may occur where you wish to ensure that only one process instance is executing a set of activities at a time.

Iterate Group:
An Iterate loop repeats the series of grouped activities once for every item in an existing sequence or list. Variable List can be a set of records from a database table, or set of repeating elements response received from a Web Service or it can be a repeating element from the start activity(for below example start activity has repeating elements which is mapped in variable list).

While True Group:
Repeats as long as the given condition is true, when condition evaluates to false then then loop terminates. It first checks the condition before executing the activities in the group.

Transaction Group:
Transactions ensure that all participants in the transaction either complete or are rolled back together. Transaction Type can be of JDBC, JMS, XA, & JTA.

Which groups have Accumulate Output option available.
1. Iterate
2. Repeat until true
3. While true

What does "Iteration Element" represent in the "Iterate" group?

"Iteration Element" holds the current record of the variable list element. It facilitates the easy mapping of current record.

What are the Type of Transactions?
JDBC
JMS
XA
JTA

Which activities can be part of a Transaction Group?
JDBC Activities
JMS Activities
AE Adapter activities (only if JMS transpor tis used)
EJB Activities
Tibco iProcess BW Connector Activities

Can a Single Transaction group have multiple Transaction Types?
No, only one Transaction Type is allowed for each Transaction Group.

Can a Transaction group have multiple connection of same Transaction Type?
Yes, Its allowed. For example; a JDBC transaction group can have JDBC activities using different JDBC connection. Each set of activities that uses same connection considered a separate transaction.

Can other activities which are not a transaction capable, be a part of a transaction group?
Yes. In a Transaction Group you can include any activity. Note that if an error occurs even for Non Transaction capable activities the rollback will still occur.

List the message types available for JMS Activities.
There are 8 message types as listed below.
• Simple       —  A message with no body portion.
• Bytes         —  A stream of bytes.
• Map           —  A set of name or value pairs.
• Object       —  A serializable Java object.
• Object Ref —  An object reference to a Java object.
• Text          —  The message is a java.lang.String.
• XML Text   —  The message is XML text.
• Stream      — A stream of Java primitives, strings, or arrays of bytes. Each value must be                       read sequentially.


List the acknowledge modes available for JMS Activities
Auto: Acknowledges automatically.
Client: Must be acknowledged using confirm activity. Sessions are blocked in this mode.
DupsOK: Its like Auto Acknowledge but it acknowledges lazily.
TIBCOEMSExplicit: Its like "Client" acknowledgement but it acknowledges all the messages in one session, so Sessions are NOT blocked in this mode.
TIBCOEMSExplicit DupsOK:  Its like "TIBCO EMS Explicit" acknowledgement but it acknowledges lazily.
Local Transactional: The message is acknowledged when the transaction commits. It is used when transaction involves only JMS messages.
Transactional: Same as "Local Transaction" excpet this mode is used when a transaction that can process JMS messages is included in the process definition
No acknowledge: Does not acknowledge.

Does the destination name defined in Config tab of Sender/Publisher activity overrides the destination name specified in input tab?
No. Always the Destination value specified in input tab overrides the value mentioned in config tab. Same behavior with ,replyToQueue,jmspriority, & jmstype.

For JMS connection "Auto-Gene rate Client ID" checked, & Client ID have been defined in "Client ID" field, explain which one taken into consideration?

An attempt is made to use the specified value. However, if the specified value is already in use, a new client ID is generated. For for generating auto client ID is 
"BW-<projectName>-<topic or queue>-<engineName>-<timestamp>"

For JMS connection "Auto-Gene rate Client ID" Unchecked, & Client ID have been defined in "Client ID" field, explain what happens if that client Id already exist?

It will throw "Client ID already exists" exception.

Is "Max Sessions" field available to all type of Acknowledges Modes?

No. "Max Sessions" field is available for only Client, Transactional & Local Transactional acknowledge modes.

How the Get JMS Queue Message activity is different from the Wait for JMS Queue Message activity?

The Get JMS Queue Message activity retrieves a message from the specified queue. This activity allows you to perform a receive operation on the queue as opposed to waiting for a queue message to be delivered to the Wait for JMS Queue Message activity or the JMS
Queue Receiver process starter
• Unlike the Wait for activity, which starts listening for messages from the time the BusinessWorks engine starts, this activity starts listening for incoming messages on the specified queue from the time the activity is triggered.
• This activity can receive only one message from the specified queue at a time, when the Message Selector is not used.
• Once triggered, this activity can either gets a message from the specified destination queue name before timeout and proceeds or it throws a timeout error and exits.

What is the use of "Candidate Event Key " and "Key" elements in the "Wait For JMS queue/topic" activity.
Expression built from the data of the incoming file change event this expression should evaluate to a string and it is compared to the "key" field of the activity’s input. If the Candidate Event Key and the activity’s key match, then the process accepts the incoming message else message will be discarded.

In multi engine mode to avoid the messages pick by wrong wait for JMS activity and discard the message as the key not matched, It is recommended that you use the Wait for JMS Queue Message activity with the Message Selector. The Message Selector is applied while browsing the queue before picking up the messages.

How many ways we can specify Security Policy using security policy shared resource?
There are 4 different security policy, we can use any combination of these.
1.Authentication : Verify username/password or X.509 compliant certificates.
2.Integrity : Validate the signature for the message
3.Confidentiality : Message should be Encrypted/Decrypted
4.Timeout : Expiry time for message

What are the supported signature methods for "integrity" Security Policy?
SHA1
SHA256
SHA384
SHA512

What are the supported Encryption algorithm for "Confidentiality" Security Policy?
3DES
AES-128
AES-256


How to define BW custom engine properties?
Custome engine properties can be specified using bwengine.xml file located at <TIBCO_HOME>/bw/<ver>/lib/com/tibco/deployment . You can define these properties at 'Application level' (property to be used by any particular application) or "Engine Level' (property to be used by entire engine).

Application Level:
Add properties to this file on your local machine and build the EAR and deploy to administrator. 

Engine Level:
Add properties to this file on your bwengine and restart applications.

Properties defined in the bwengine.xml file will be displayed in TIBCO administrator  in 'Advanced' tab of the deployed application application.par.

Tuesday, March 17, 2015

TRA Utilities

What is Domain Utility?
TIBCO Runtime Agent includes TIBCO Domain Utility that is used to manage the components available in an administration domain.

TIBCO Domain Utility provides:
1. Machine Management
2. Domain Configuration
3. Server Settings
4. Migration
5. TIBCO EMS Plug-in
6. Add a Servlet Engine Plug-in


What is the use of Machine Management in the Domain Utility?

  • Add the machine to an existing administration domain.
  • Join a node that is part of a cluster to an administration domain.


What is the use of Domain Configuration in the Domain Utility?
  • Create a new administration domain for an existing TIBCO Administrator installation.
  • Add a secondary server to an administration domain.
  • Delete an administration domain.
  • Enable and configure HTTPS for a administration domain

What is the use of Server Setting in the Domain Utility?
  • Change TIBCO Rendezvous parameters used by TIBCO Administrator and TIBCO Hawk for a administration domain.
  • Change the administration user name and password for a administration domain.
  • Change LDAP configuration for a administration domain.
  • Change database configuration for a administration domain.

What is the use of Migration in the Domain Utility?

  • Upgrade administration domain to a latest release 5.9.

What is the use of EMS Plugin in the Domain Utility?

  • Add a EMS server to a administration domain.
  • Remove a EMS server from a administration domain.
  • Update a EMS server in a administration domain.

What is the use of Servlet Engine Plugin in the Domain Utility?
  • Add or remove a servlet engine plug-in.
What is Wrapper Utility?
The TIBCO Wrapper utility allows deployment of a TIBCO product  as a service. You can deploy an application as NTservice & wrapper will create Widows NT service for that application. Among other benefits, the wrapper allows the operating system to start the application automatically upon reboot, regardless of the operating system being used.

Using wrapper utility you can install the EMS instances as a NTService on Windows Mahcines.


What is Obfuscate Utility?
The obfuscate utility is used to create the encrypted password or to encrypt any confidential information. Obfuscate Utility is generally used to encrypt the Administration Domain password and pass this info to the AppManage utitlity.

Specify the steps to create a Encrypted Password.
1. Create a text file with the username and password entries only as shown Below.
Add the prefix #! to the password.
user=tibco
pw=#!tibco01
2.Save the file and invoke the obfuscate utility giving the file as input as shown below.
C:\tibco\tra\5.9\bin>obfuscate  C:\tmp\paswrd.txt

now you can see the password in the file has been encrypted.

What is ae2xsd Utility?
The ae2xsd utility generates XSD schemas from a project metadata. The input is a multi-file project saved in ActiveEnterprise XML format. 
The syntax:
ae2xsd -project path-to-multi-file-project-root-folder [ -output path-to-output-folder ]

What is traUpgradeManager Utility?
The traUpgradeManager utility is used to
• change the Rendezvous version that TIBCO Runtime Agent uses
• set the EMS client libraries path in the tra file as the EMS client libraries are no longer      shipped with TRA
• change the versions that a deployed application or TIBCO product uses 

What is traDBConfig UtilityUtility?
The traDBConfig utility is used to configure a supported vendor-supplied database driver.

What is Buildear utility?
Its a command line utility to build an ear file from the project directory.

What is AppManage Utility?
Its a command line utility to perform variety of Administrative task listed below.
Deploy an application
Undeploy an application
Upload an ear file
Start a service instance of an application
Stop a service instance of an application
Kill a service instance of an application
Delete an application
Export deployment configuration file
Config an application
Truncate an application deployment reviosn
MoveAppData Redeploy application with new location for appl data
breaklock break the lock held on the application by another user

Note that all the above tasks except the MoveAppData & breaklock can be done in Batch mode

List BuildEar Command.
To build an EAR file from a project location C:\TestCode\SampleProject & place the created EAR to folder C:\temp
  • buildear -ear -o C:\temp\sample.ear -p C:\TestCode\SampleProject
  • buildear -ear -o C:\temp\sample.ear -p C:\TestCode\SampleProject -x
          {-x option to overwrite the existing ear file}

List AppManage Utility Commands
To Deploy an EAR file to the domain
appmanage -deploy -ear C:\temp\sample.ear -app myapp -user sai -pw sai01 -domain mydomain

To Deploy an EAR file along with Config file to the domain
appmanage -deploy -deployConfig C:\temp\try.xml -ear C:\temp\sample.ear -app myapp -user sai -pw sai01 -domain mydomain

​To Start a deployed Application

appmanage -start -app myapp-user sai -pw sai01 -domain mydomain

​To Killa deployed Application

appmanage -kill -app myapp-user sai -pw sai01 -domain mydomain

​To Stop a deployed Application

appmanage -stop -app myapp-user sai -pw sai01 -domain mydomain

​​​To Delete a deployed Application

appmanage -delete -app myapp -user sai -pw sai01 -domain mydomain
appmanage -undeploy -app myapp -user sai -pw sai01 -domain mydomain -force
{ -force option will undeploy the application first and then deletes the application}

​​To Undeploy a deployed Application

appmanage -undeploy -app myapp -user sai -pw sai01 -domain mydomain

​To Export deployment config file

appmanage -export -out C:\temp\myapp.xml -app myapp -user sai -pw sai01 -domain mydomain
appmanage -export -out C:\temp\myapp.xml -ear C:\temp\sample.ear
{Exports deploy config file from ear}

To Upload an EAR file to the domain

appmanage -upload -ear C:\temp\arc.ear -app myapp -user sai -pw sai01 -domain mydomain

To upload config file to the domain

appmanage -config -deployConfig C:\temp\try.xml -app myapp -user sai -pw sai01 -domain mydomain

​To Truncate a deployed Application

appmanage -truncate -app myapp-user sai -pw sai01 -domain mydomain

​To MoveAppData to new location

​appmanage -moveappdata -app myapp -user sai -pw sai01 -domain mydomain -local​

List AppManage Utility Batch Commands.
AppManage -batchExport -user sai -pw sai01 -domain mydomain -dir C:\temp\BatchFolder
AppManage -batchDeploy -user sai -pw sai01 -domain mydomain -dir C:\temp\BatchFolder -nostart
AppManage -batchUndeploy -user sai -pw sai01 -domain mydomain -dir C:\temp\BatchFolder
AppManage -batchUpload -user sai -pw sai01 -domain mydomain -dir C:\temp\BatchFolder
AppManage -batchConfig -user sai -pw sai01 -domain mydomain -dir C:\temp\BatchFolder
AppManage -batchkill -user sai -pw sai01 -domain mydomain -dir C:\temp\BatchFolder
AppManage -batchstop -user sai -pw sai01 -domain mydomain -dir C:\temp\BatchFolder
AppManage -batchstart -user sai -pw sai01 -domain mydomain -dir C:\temp\BatchFolder
AppManage -batchDelete -user sai -pw sai01 -domain mydomain -dir C:\temp\BatchFolder -force
AppManage -batchMoveAppData -user sai -pw sai01 -domain mydomain -dir C:\temp\BatchFolder -local

Logs location for AppManage?
TIBCO_HOME/tra/domain/<domain-name>/logs/ApplicationManagement.log

Installation

What are the Installation Modes?
There are three Installation Modes:
1. GUI Mode
2. Console Mode
3. Silent Mode

1. GUI Mode:

    In GUI mode, the installer presents panels that enable you to make choices about product selection, product location, and so on. This is nothing but typical installation of any software that we do.

2. Console Mode:

    Console mode enables you to run the installer from the command prompt or terminal window. This is useful if your machine does not have a Windows environment.

3. Silent Mode
   Silent mode either installs using the default settings or uses a response file that was saved during an earlier installation. Silent mode installs without prompting you for information.

What are Major, Minor and Patch Releases?

TIBCO Software uses three numbers to indicate whether the release is major,minor or a patch.For Example;
5.0.0 indicates a major release.
5.1.0 indicates a minor release.
5.1.1 indicates a patch release.

What Software should be Installed before Installing TIBCO BW?
Before you can install TIBCO ActiveMatrix BusinessWorks, you must install TIBCO Runtime Agent.

TIBCO Runtime Agent supplies a number of TIBCO and third-party libraries used by TIBCO ActiveMatrix BusinessWorks and other TIBCO products both at design-time and runtime. This includes, for example, TIBCO Rendezvous software.

How does TIBCO Installer know about previously installed version on the machine?

The TIBCO installer maintains an installation registry & it consists of two files prefixed with vpd (Vital Product Database)
vpd.properties
vpd.properties.tibco.MachineName

These files work as the registry for the Tibco product and are always modified by Tibco installer when we install or uninstall any product.

This is the file that installer uses for checking the existing versions. The location of the files is c:\windows for windows and <user-home> directory for the Unix/Linux OS

Sometime, when you want to  uninstall Tibco software and want to re-install, at the time of re-install the  installer may throw software already exists error, this happens if the uninstall wasn't done correctly. So, always  wait for the installer to exit out of the Uninstall process.


Where does Tibco Installer writes the install logs?

tibco_universal_installer.timestamp.username_install.log, is written to the User_Home\.TIBCO\install_timestamp directory.For example, on Windows the installer log is written to the C:\Documents and Settings\user-name\.TIBCO\install_timestamp directory.

What all other component get installed with TRA installation?
Designer
Third-Party Libraries
JRE
Rv
Hawk
TIBCO Run Time Agent includes Domain Utility, Wrapper Utility and other TIBCO libraries.
Check out the below location to see all other utilities been installed as part of TRA install.
<tibco_home>\tra\<Ver>\bin con