Professional Documents
Culture Documents
Administration
Software Release 3.3.0
September 2013
Important Information
SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED
OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED
ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED
SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR
ANY OTHER PURPOSE.
USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A
LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT,
OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENT
WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH IS
DUPLICATED IN THE LICENSE FILE) OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR
CLICKWRAP END USER LICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE LICENSE FILE(S) OF
THE SOFTWARE. USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR
USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BE BOUND BY THE SAME.
This document contains confidential information that is subject to U.S. and international copyright laws and treaties.
No part of this document may be reproduced in any form without the written authorization of TIBCO Software
Inc.
TIBCO, Two-Second Advantage, TIBCO ActiveMatrix, and TIBCO Enterprise Message Service are either registered
trademarks or trademarks of TIBCO Software Inc. in the United States and/or other countries.
Enterprise Java Beans (EJB), Java Platform Enterprise Edition (Java EE), Java 2 Platform Enterprise Edition (J2EE),
and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the
U.S. and other countries.
All other product and company names and marks mentioned in this document are the property of their respective
owners and are mentioned for identification purposes only.
THIS SOFTWARE MAY BE AVAILABLE ON MULTIPLE OPERATING SYSTEMS. HOWEVER, NOT ALL
OPERATING SYSTEM PLATFORMS FOR A SPECIFIC SOFTWARE VERSION ARE RELEASED AT THE SAME
TIME. SEE THE README FILE FOR THE AVAILABILITY OF THIS SOFTWARE VERSION ON A SPECIFIC
OPERATING SYSTEM PLATFORM.
THIS DOCUMENT IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES
ARE PERIODICALLYADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED
IN NEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKE IMPROVEMENTS AND/OR
CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THIS DOCUMENT AT ANY
TIME.
THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY OR INDIRECTLY,
BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE, INCLUDING BUT NOT LIMITED
TO ANY RELEASE NOTES AND "READ ME" FILES.
Copyright (c) 2005-2013 TIBCO Software Inc. ALL RIGHTS RESERVED.
TIBCO Software Inc. Confidential Information
TOC | 5
Contents
Preface................................................................................................13
TIBCO Product Documentation..............................................................................................14
Other TIBCO Product Documentation....................................................................................15
Typographical Conventions....................................................................................................16
Connecting with TIBCO Resources........................................................................................19
Chapter 1
Introduction....................................................................21
Design....................................................................................................................................22
Runtime Environment.............................................................................................................23
Logical View of the Enterprise ....................................................................................23
Physical View of the Enterprise ..................................................................................24
Administration.........................................................................................................................26
Governance.................................................................................................................27
6 | TOC
Chapter 4
Environments.................................................................65
Creating an Environment........................................................................................................67
CLI...............................................................................................................................67
Environment General Reference............................................................................................68
Environment Configuration Reference...................................................................................69
Messaging Bus.......................................................................................................................71
Configuring an Environment's Messaging Bus............................................................71
Messaging Bus Reference..........................................................................................72
Chapter 5 Hosts...............................................................................75
Host Processes......................................................................................................................76
Creating a TIBCO Host Instance............................................................................................77
Assigning a Host to An Environment......................................................................................78
CLI...............................................................................................................................78
Registering a TIBCO Host Instance as a Windows Service...................................................79
Starting a TIBCO Host Instance.............................................................................................80
Stopping a TIBCO Host Instance...........................................................................................81
Enabling Secure Communication between a Host and an Administrator Server...................82
Unregistering Hosts................................................................................................................83
GUI..............................................................................................................................83
CLI...............................................................................................................................83
Binding Hosts to an Administrator Server..............................................................................84
Discover Hosts Reference ..........................................................................................84
Register Host Reference.............................................................................................85
Diagnostics.............................................................................................................................86
Accessing and Using Diagnostics Commands............................................................86
Retrieving Log Files for Hosts and Nodes from Administrator.....................................87
References.............................................................................................................................88
Hosts Reference..........................................................................................................88
Host General Reference..............................................................................................88
Host Configuration Reference.....................................................................................89
Host Substitution Variables Reference........................................................................90
Host Resource Instances Reference...........................................................................90
Chapter 6 Nodes..............................................................................93
Node Processes.....................................................................................................................95
TIBCO ActiveMatrix Service Bus Administration
TOC | 7
Developer Node......................................................................................................................96
Navigating to a Nodes List.....................................................................................................97
Creating a Node.....................................................................................................................98
GUI..............................................................................................................................98
CLI...............................................................................................................................99
Editing a Node......................................................................................................................100
GUI............................................................................................................................100
CLI.............................................................................................................................100
Updating the Port Number for a Node.......................................................................100
Updating the JVM Configuration for a Node..............................................................101
Enabling and Disabling the Java Security Manager..................................................102
Enabling and Disabling Debuggers...........................................................................102
Installing or Syncing Nodes..................................................................................................104
GUI............................................................................................................................104
CLI.............................................................................................................................105
Uninstalling Nodes...............................................................................................................106
GUI............................................................................................................................106
CLI.............................................................................................................................106
Starting Nodes.....................................................................................................................107
GUI............................................................................................................................107
CLI.............................................................................................................................107
Manually Restarting Nodes..................................................................................................108
Stopping Nodes....................................................................................................................109
GUI............................................................................................................................109
CLI.............................................................................................................................109
Deleting Nodes.....................................................................................................................110
GUI............................................................................................................................110
CLI.............................................................................................................................110
Capturing Thread Dump for a Node from Administrator.......................................................111
References...........................................................................................................................112
Node General Reference...........................................................................................112
Node Configuration Reference..................................................................................112
Node Substitution Variables Reference.....................................................................115
Node Resource Instances Reference........................................................................116
Transaction Recovery Configuration.....................................................................................117
Configuration Properties for HOWL Log Files...........................................................118
Deleting HOWL Logs ................................................................................................118
Chapter 7 Applications..................................................................119
Creating an Application........................................................................................................122
GUI............................................................................................................................122
CLI.............................................................................................................................124
Distributing an Application....................................................................................................125
GUI............................................................................................................................125
8 | TOC
CLI.............................................................................................................................125
Application Dependencies....................................................................................................126
Deploying Applications.........................................................................................................127
GUI............................................................................................................................127
CLI.............................................................................................................................128
Undeploying Applications.....................................................................................................129
GUI............................................................................................................................129
CLI.............................................................................................................................130
Starting Applications............................................................................................................131
GUI............................................................................................................................131
CLI.............................................................................................................................131
Stopping Applications...........................................................................................................132
GUI............................................................................................................................132
CLI.............................................................................................................................132
Deleting Applications............................................................................................................134
GUI............................................................................................................................134
CLI.............................................................................................................................134
Editing an Application...........................................................................................................136
GUI............................................................................................................................136
Upgrading an Application..........................................................................................136
Upgrading an Application across Nodes...................................................................138
Displaying an Application's Dependencies...........................................................................139
Displaying Application Versions............................................................................................140
Displaying an Application's Components.............................................................................141
Displaying an Application's Bindings....................................................................................142
References...........................................................................................................................143
Applications Reference..............................................................................................143
Application General Reference..................................................................................143
Application Configuration Reference.........................................................................145
Application Substitution Variables Reference............................................................146
Application Distribution Reference.............................................................................147
Application Folders...............................................................................................................148
Creating a Folder.......................................................................................................148
Renaming a Folder....................................................................................................149
Deleting a Folder.......................................................................................................149
Moving an Application to a Folder.............................................................................150
Services and References.....................................................................................................151
Displaying the Bindings for a Service or a Reference ..............................................151
Adding a Binding to a Service...................................................................................151
Configuring a Binding for a Reference.......................................................................152
Promoting a Service to the Environment...................................................................152
Promoting a Reference to the Environment...............................................................153
References................................................................................................................153
Bindings.....................................................................................................................155
Wire to Binding Reference.........................................................................................180
TIBCO ActiveMatrix Service Bus Administration
TOC | 9
Properties.............................................................................................................................181
Setting a Property Value............................................................................................181
Editable Properties Reference...................................................................................183
Non-Editable and Policy Set Properties Reference...................................................183
10 | TOC
GUI............................................................................................................................259
CLI.............................................................................................................................261
Uninstalling Resource Instances from Nodes......................................................................263
GUI............................................................................................................................263
CLI.............................................................................................................................264
Deleting Resource Instances from Nodes............................................................................265
GUI............................................................................................................................265
CLI.............................................................................................................................266
Resource Instances Reference............................................................................................267
Chapter 12 Governance.................................................................289
Dashboards..........................................................................................................................290
Displaying the Dashboards........................................................................................290
Filter Criteria Gadget.................................................................................................290
Setting Dashboard Preferences................................................................................291
Drilling Down into Objects.........................................................................................292
Dashboard Controls...................................................................................................292
Users, Groups, and Permissions..........................................................................................293
Users.........................................................................................................................293
TIBCO ActiveMatrix Service Bus Administration
TOC | 11
Superusers................................................................................................................294
Groups.......................................................................................................................296
Permissions...............................................................................................................300
Log Viewer............................................................................................................................308
Running Searches.....................................................................................................308
Search Builder...........................................................................................................309
Log Table...................................................................................................................315
Deleting Log Entries..................................................................................................316
Monitoring.............................................................................................................................318
Monitoring Service.....................................................................................................318
Disabling the Monitoring Service...............................................................................318
Configuring a Fault Tolerant Monitoring Service........................................................319
Updating the Messaging Configuration ....................................................................320
Metrics Reference.....................................................................................................321
Chapter 13 Logging.......................................................................329
Log Services........................................................................................................................331
Editing Log Service Properties..................................................................................331
Log Service Property Reference...............................................................................331
Logging Appenders..............................................................................................................333
Creating a Logging Appender....................................................................................333
Logging Appender Reference....................................................................................335
Log Entry Enrichment................................................................................................336
Logging Configurations........................................................................................................339
Navigating to a Logging Configurations List..............................................................339
Creating a Logging Configuration for an Application ................................................340
Creating a Logging Configuration for a Host or a Node ............................................340
Applying a Logging Configuration..............................................................................341
Logging Configuration Reference..............................................................................342
Payload Services..................................................................................................................344
Payload Service Properties Reference......................................................................344
Creating Additional Log and Payload Services....................................................................345
12 | TOC
Chapter 17
NodeUtil......................................................................371
Appendix A Troubleshooting........................................................377
Preface
TIBCO ActiveMatrix Service Bus is a scalable and extensible platform for developing, deploying, and
managing applications that conform to a service-oriented architecture.
14 | Preface
Preface | 15
16 | Preface
Typographical Conventions
Table 1: General Typographical Conventions
Convention
TIBCO_HOME
ENV_NAME
Use
TIBCO products are installed into an installation environment. A product installed into
an installation environment does not access components in other installation environments.
Incompatible products and multiple instances of the same product must be installed into
different installation environments. An installation environment consists of the following
properties:
Name - Identifies the installation environment. The name is appended to the name of
Windows services created by the installer and is a component of the path to the product
shortcut in the Windows Start > All Programs menu. This name is referenced in
documentation as ENV_NAME .
Path - The folder into which the product is installed. This folder is referenced in
documentation as TIBCO_HOME .
CONFIG_HOME
The folder that stores configuration data generated by TIBCO products. Configuration
data can include sample scripts, session data, configured binaries, logs, and so on. This
folder is referenced in documentation as CONFIG_HOME.
code font
Code font identifies commands, code examples, filenames, pathnames, and output
displayed in a command window. For example:
Use MyCommand to start the foo process.
Code example:
public class HelloWorldImpl extends AbstractHelloWorldImpl
{
...
public HelloResponseDocument sayHello(HelloRequestDocument
firstName)
{
...
System.out.println("--> Generating Java Hello Component
Response...");
String name =
firstName.getHelloRequest()==null||firstName.getHelloRequest().
equals("")?"Friend":firstName.getHelloRequest();
HelloResponseDocument resp =
HelloResponseDocument.Factory.newInstance();
resp.setHelloResponse("Hi " + name + "! " + "This is the Java
component.\n");
System.out.println("--> Java Hello Component Response: \n\t\t" +
resp.getHelloResponse());
...
}
}
CONFIG_HOME/admin/enterpriseName/samples/remote_props.properties
Output example:
C:\Program Files\tibco\amx-3\studio\3.6\eclipse>amx_eclipse_ant.exe
-buildfile "C:/helloworld1/build.xml" -data "C:/hws"
Buildfile: C:/helloworld1/build.xml
createApplicationDAA:
[sds.createDAA] Waited for 47ms for workspace refreshes after building
features.
all:
BUILD SUCCESSFUL
BUILD SUCCESSFUL
Total time: 2 minutes 18 seconds
Preface | 17
Convention
Use
italic font
Key
combinations
Key name separated by a plus sign indicate keys pressed simultaneously. For example:
Ctrl+C.
Key names separated by a comma and space indicate keys pressed one after the other.
For example: Esc, Ctrl+Q.
The note icon indicates information that is of special interest or importance, for example,
an additional action required only in certain circumstances.
The tip icon indicates an idea that could be useful, for example, a way to apply the
information provided in the current section to achieve a specific result.
The warning icon indicates the potential for a damaging situation, for example, data loss
or corruption if certain steps are taken or not taken.
Use
[]
A logical OR that separates multiple items of which only one may be chosen.
For example, you can select only one of the following parameters:
MyCommand param1
{}
| param2 | param3
A logical group of items in a command. Other syntax notations may appear within each
logical group.
For example, the following command requires two parameters, which can be either the
pair param1 and param2, or the pair param3 and param4.
MyCommand {param1 param2}
| {param3 param4}
In the next example, the command requires two parameters. The first parameter can be
either param1 or param2 and the second can be either param3 or param4:
MyCommand {param1
18 | Preface
Convention
Use
In the next example, the command can accept either two or three parameters. The first
parameter must be param1. You can optionally include param2 as the second parameter.
And the last parameter is either param3 or param4.
MyCommand param1 [param2] {param3
| param4}
Preface | 19
Chapter
1
Introduction
The TIBCO ActiveMatrix platform has three functional areas design, runtime, and administration that address
all phases of the distributed application life cycle.
This guide provides the information that you may need to administer TIBCO ActiveMatrix.
Topics
Design
Runtime Environment
Administration
22 | Introduction
Design
TIBCO ActiveMatrix design activities are performed in TIBCO Business Studio, an extension of the Eclipse
SDK Workbench. In TIBCO Business Studio, analysts, architects, and developers, design, implement, configure,
test, and package TIBCO ActiveMatrix applications.
Introduction | 23
Runtime Environment
TIBCO ActiveMatrix employs a runtime environment consisting of hosts, nodes, and application fragments.
A host runs TIBCO ActiveMatrix platform services, manages the life cycle of nodes, and maintains software
features and resources shared between nodes. Nodes run application fragments.
Hosts
A host is the runtime object that serves as the point of contact between nodes and Administrator. Hosts
perform operations such as software distribution, node life cycling, and application deployment. It is not
necessary for a host to be running to perform administrative operations. Administrator queues operations
and processes them when the host and the nodes it manages are available.
The host that manages the SystemNode node on which the Administrator server runs is named SystemHost
Nodes
A node is the runtime environment for TIBCO ActiveMatrix applications. Nodes exist in an environment
and are managed by hosts. When managed by a TIBCO Host instance, a node runs in its own OS process
and JVM. You can configure a host with multiple nodes. Nodes act as sandboxes for applications.
The node on which the Administrator server runs is named SystemNode.
Application Fragments
Application fragments are components or bindings of an application that are distributed and deployed
to nodes. A fragment can be distributed to many nodes, and a single node can run many fragments. To
increase throughput for a component or binding you can deploy multiple copies of the fragment to multiple
nodes.
24 | Introduction
Introduction | 25
26 | Introduction
Administration
TIBCO ActiveMatrix Administrator allows you to to create, configure, monitor, and manage objects in the
TIBCO ActiveMatrix runtime. TIBCO ActiveMatrix Administrator is a web application that provides a browser
interface and a command-line scripting interface. The command-line interface is a set of Ant tasks that execute
via an automated script.
Administrator Components
TIBCO ActiveMatrix Administrator bundles the following components:
Administrator back-end server - supports the browser web interface and command-line scripting interface.
TIBCO Credential service - provides a built-in Certificate Authority for security configurations that use
SSL.
Monitoring Service - collates data from the regular broadcast of statistics and performance metrics from
remote applications and services deployed in TIBCO ActiveMatrix. This component enables you to view
aggregated and summarized metrics in the browser interface.
Log Service - collects and persists log event messages from an entire TIBCO ActiveMatrix installation to
a central database, allowing you to query the logs in powerful ways from the browser interface.
Payload Service - manages large payloads associated with log events.
Servers
The Administrator server interacts with the following servers:
One or more Enterprise Message Service servers:
Notification Server - propagates monitoring data such as the runtime states of various entities from the
rest of TIBCO ActiveMatrix to Administrator.
Messaging Bus - propagates messages between applications and also between components in an application.
You can partition and segregate business data traffic to multiple Enterprise Message Service Servers using
multiple environments.
You can combine the two Enterprise Message Service servers into a single one or have separate servers
for your configuration and bandwidth requirements.
AllEnterprise Message Service servers must be dedicated to one enterprise and cannot be shared across
multiple enterprises.
LDAP - (optional) integrates the user accounts for the Administrator with your corporate LDAP server.
If not integrating with an LDAP server, you can still create and manage accounts using the Administrator's
database.
Database - (optional) maintains the Administrator server configuration, statistical information about
services, and log events. If you do not have an external database server, Administrator can use HSQLDB,
a built-in lightweight database.
HSQLDB is suitable for a development environment but use of an HSQLDB database in a production
environment is not supported. If you use an HSQLDB database, Administrator replication and
concurrent user access to the Administrator server is not supported.
Enterprise
In the TIBCO ActiveMatrix platform the term enterprise has meaning in two different contexts: runtime and
administrative.
Introduction | 27
In the runtime, enterprise refers to the collection of runtime objects that share the Enterprise Message Service
server that functions as the notification server. The enterprise is identified by a name specified when you
create an Administrator server.
In Administrator, enterprise refers to the top-level administration object. An enterprise contains environments,
hosts, and objects shared between all the environments in an enterprise.
Within an enterprise, all host, nodes, and the Administrator server connect to the Notification Server.
Environment
An environment is a logical grouping of applications and nodes. An Administrator server can have multiple
environments. For example, you can define environments distinguished by product life cycle function such
as development and production, by geographical area, or by business unit.
Administrator Tasks Overview
The following tasks can be performed using the browser interface:
Upload, configure, and deploy applications.
Plan and configure high-availability requirements for your applications.
Manage the resources available for your applications, such as registering new hosts, creating nodes,
managing shared resources.
Plan and configure the security requirements.
Ensure that the deployed services are running and executing within the expected parameters.
Create and manage user accounts.
Most of the tasks listed above can be performed using the command-line interface as well.
Governance
Dashboards that allow monitoring, access control, and the log viewer support governance in the TIBCO
ActiveMatrix environment. In addition, you can secure all communications channels with SSL.
Dashboard
Dashboards display runtime object performance statistics. They allow you to monitor the overall health
and performance of infrastructure objects, applications, and resources.
See Dashboards on page 290.
Access Control
Authorization for all runtime objects is provided by the Administrator Server. See Users, Groups, and
Permissions on page 293.
Log Viewer
The Log Viewer allows you to search the log entries stored by a log service. The log service stores the logs
sent from a JMSAppender.
See Log Viewer on page 308.
SSL
See Secure Communication Channels on page 347.
Chapter
2
Administrator Interfaces
TIBCO ActiveMatrix Administrator provides two interfaces for interacting with Administrator: web and
command-line.
Web Interface
The web interface provides access to all Administrator functionality through a browser.
Command-Line Interface
The command-line interface provides a set of Ant tasks to execute most Administrator functions. You use the
command-line interface for repetitive application of standard actions on large numbers of objects.
Sample command-line scripts are provided in CONFIG_HOME/admin/enterpriseName/samples.
The web interface is asynchronous in nature and allows you to perform other actions while one is in progress.
The command-line interface, on the other hand, is synchronous. Any action invoked by a command-line
script waits till the action is complete before proceeding to execute the next action.
Topics
Web Interface
Command-Line Interface
30 | Administrator Interfaces
Web Interface
The Administrator web interface provides access to all TIBCO ActiveMatrix Administrator functions. The
web interface displays TIBCO ActiveMatrix objects in two views: list and graphical.
List View
In the list view, collections of managed objects are displayed using a master-detail paradigm. The master
portion is a list that displays the collection. The master portion also offers action buttons that apply to the
selected object in the list. The bottom pane displays the properties of a selected object.
Displaying the List View
In the list view, collections of managed objects are displayed. You can display the List View from the Enterprise
Graphical View toolbar.
Infrastructure > Enterprise Graphical View
Administrator Interfaces | 31
If there are no objects, the list is empty. If there are objects, an item is not selected when the page is opened:
You must select an item in the list to display the details of the object. If an item is selected in a table, the details
for that item are displayed in the Details area.
A flat list has the following interactions:
Click on a row to select it.
Click the refresh icon to refresh the list. You may have to manually refresh the list periodically, especially
when invoking an action and are waiting to see the results of your action on the items in the list.
You can click column headings to sort by that column. Each click toggles between ascending and descending
sort.
Some columns appear as hyperlinks. Click the hyperlinks to view additional information.
Some a flat lists provide a filter. Select a value from the drop-down list to view items that match the chosen
type.
Tree Lists
A tree list displays a hierarchy of items, such as components of an application or appenders for a logging
configuration.
32 | Administrator Interfaces
Graphical View
The graphical view displays Administrator objects in a graphical canvas. The graphical canvas can display
a logical or physical view of the objects. The logical view displays the enterprise from the perspective of the
logical administrative entities maintained by Administrator: environments and applications.
Microsoft Silverlight is required to view the graphical view and the monitoring dashboards. Refer to
the readme file for the supported versions.
At a higher level, the graphical view displays a wide view of your enterprise. You can zoom in on a particular
object to view more details. Using the graphical view, you can visualize associations between objects in your
enterprise.
The physical view displays the enterprise from the perspective of the physical processes managed by
Administrator: hosts and nodes.
Administrator Interfaces | 33
Click
in the toolbar of an object list.
Graphical View Interactions
The graphical view allows you to interact with the logical view or the physical view of your enterprise using
sliders, icons, and menus.
The graphical view supports the following interactions:
Choose between Logical and Physical View from the drop-down list located at the left hand side of the
display.
Use the slider located on the right side of the display to zoom in and out of the current view.
Use the Refresh button to update the data for the objects being displayed.
Use breadcrumbs along the top center to navigate from drilled into objects back up to a higher level view.
The mouse wheel zooms in and out centered on the cursor's location.
The large black gray squares with arrows, located towards the bottom of the screen, scroll in the direction
of the arrow and appear when some object is out of view.
Click the
button to hide the browser controls and to display over the entire screen. Press the ESC key
to exit the full screen mode.
Click
to drill into the selected object.
The indicators at the top of object boxes indicate the status of the object:
- running
- unknown
- stopped
34 | Administrator Interfaces
Description
Wiring a reference to a
service
When wiring a reference to a service, guide the wire across the screen. On
reaching a suitable target service, the color of the wire changes to blue and
the service is expanded to display its bindings. Choose a binding.
Wiring a service to a
reference
The wire is created. The wiring aid tool box displays the updated information for a few seconds before it
disappears.
What to do next
To delete a wiring, select the wire and press the delete button on your keyboard.
Object States
In the Administrator web interface, all runtime objects and applications have properties that reflect their
state:
The objects managed through Administrator fall into two groups -- physical and logical.
Hosts, nodes, resource instances, components, and bindings, represent physical entities in the runtime.
Environments, applications, resource templates, users, groups, and permissions, are logical entities
employed for various management functions.
All runtime objects except for hosts are created in Administrator, and then instantiated in the runtime. Hosts
exist in the runtime first and their representation in Administrator is established through a registration
process.
The following object properties reflect object state:
Synchronization
Runtime State
Action History
Administrator Interfaces | 35
Although applications do not exist in the runtime, the application's components and bindings have a runtime
manifestation. An application's state properties are a roll-up summary of the state of its components and
bindings.
Runtime State
Hosts and Nodes are the runtime processes that Administrator interacts with. They have a state that is
displayed in Administrator under the Runtime State column.
The runtime state typically changes when you invoke an action in Administrator. For example, a node goes
into a Running state shortly after you execute the Start action on it. The runtime state might also change due
to events that occur outside of Administrator. Powering down a machine stops nodes, booting a machine
starts them. If you end the node process, its state changes to Not Running.
As the runtime state changes dynamically, Administrator tracks state changes in real time through notification
messages it receives from the notification server. Refresh the Administrator UI periodically to display the
updated status of the objects.
Applications also have a runtime state. The Administrator displays the state of an application by aggregating
and summarizing the state based on all its components, including the bindings, that are distributed on multiple
nodes. For example, if an application fails to start, the runtime state displays Start Failed. If some application
components are running and some are explicitly stopped, the runtime state shows Partially Running.
When a runtime action has completed for some components, the runtime state shows Partially runtime action.
For example, when you undeploy an application you might see Partially Undeployed.
Runtime States
Applications, features, hosts, nodes, and resource instances support different runtime states.
Table 3: Runtime States
Object
Application
Runtime States
36 | Administrator Interfaces
Object
Runtime States
intervention. When the work items are completed, the application will be
automatically undeployed.
Interrupted Preparing for Undeploy - indicates the application that was preparing for
undeploy was either stopped, or its dependency taken away.
An application may depend on other application processes. If any of the dependent
applications are stopped or undeployed, it takes away a dependency for the main
application. In such a situation, the main application will go into a state of
Interrupted Preparing for Undeploy and will no longer progress work or
process instances. To recover from this state, you can either start the application
or bring back the dependencies by starting the processes or deploying the
dependant applications.
Partially Ready for Undeploy - some components have completed processing and have
been marked as ready for undeploy, but other components in the application have yet
to complete processing.
Unknown
Lost contact - when a host has lost contact with the Administrator server.
The runtime state is a roll-up value for all the application's components and bindings.
Partial states mean that some of an application's components and bindings are in a
different state than others.
Feature
Marked for Install - after a feature has been added to a node and before the change has
been applied to runtime.
Marked for Uninstall - after a feature is removed and before the change is applied to
runtime.
Installed - after a feature has been applied to runtime.
Host
Node
Not Installed - after a node has been created and before is has been installed
Not Running - after a node has been installed or when it was detected that the node
ended without being stopped by the host. This applies when the process is detected as
stopped.
Stopping - Stopping a node is expected to be a quick activity. If the node is stuck at
Stopping for more than a few minutes, checking the logs may indicate the problem.
Stopped - the node was explicitly stopped. This is a normal and expected condition.
Starting - Starting a node is expected to be a quick activity. If the node is stuck at Starting
for more than a few minutes, checking the logs may indicate the problem.
Initializing
Initializing Failed - click the Action History link to get more information.
Initialized
Lost Contact - when the host has lost contact with the Administrator server.
Starting
Starting Failed - click the Action History link to get more information.
Running
Stopping
Stopped - when the host is explicitly stopped and has completed the shutdown process.
Unknown
Administrator Interfaces | 37
Object
Runtime States
Start Failed - The host was not able to start the node process. Possible causes are that the
node_classpath.tra file contains errors, the JRE libraries are not found, or the OS is
unable spawn additional processes. After this state ,the node is disabled and must be
manually enabled.
Running
Lost contact - When a host has lost contact with the Administrator server.
Resource
Instance
Not Installed - after a resource instance has been added to a node and before it has been
installed
Running - after a resource instance has been installed and the node on which it has been
installed is Running
Uninstalled - either the resource instance is uninstalled or the node on which the resource
instance is installed is Not Running
Stopped - when a host has lost contact with the Administrator server.
If the Runtime State column of applications is Lost Contact or Unknown, the connection to the Enterprise
Message Service server acting as the notification server and Messaging Bus has been lost.
After you upgrade an Administrator server, the runtime state of applications running on a node
managed by a TIBCO Host instance that has not been upgraded is Partially Running.
Action History
Action history displays information about actions performed on objects such as a node, host, or an application
using ActiveMatrix Administration UI or the CLI.
Start, Stop, Install, Uninstall, Deploy, Undeploy are actions.
You can view the Action history in the Administrator web interface.
Action history does not record actions performed outside of the Administrator such as a TIBCO host
restart.
Action history of an application displays the outcome of completed tasks and actions of the application's
components and bindings .
The runtime status column of a host, node, and application displays the current status of an object.
The following scenarios explain how action history is helpful:
An application is redeployed without clearing the previous version of a feature. If the resolve mode for
the redeploy action was not used, the node assumes the earlier version of the feature is needed. In this
case, the action history displays Deploy with Start Failed and Runtime State displays Running. Click
the Action History link and open the last action. Few successful actions and one failed action, Cleanup
Features node name failed, displays.
Let us say, Application A is successfully deployed in Node A and uses an HTTP resource instance A. Another
instance HTTP resource instance B from the same resource template is created in Node B in the same machine.
Action history will display Install Failed when instance B is installed. However, the instance status
displays Installed (Start Failed). Stop and Restart the host. If instance B starts first, it will display
Installed and instance A will display Installed (Start Failed). However, action history will not
change as no action was initiated from the Administrator. The application Action History will display
Successful, and the Application State will display Start Failed.
Let us say, Application A is successfully deployed in Node A and uses an HTTP resource instance A. Another
instance HTTP resource instance B from the same resource template is created in Node B in the same machine.
Start instance B from the Administrator. Since instance B is not running, the start will fail and Action History
will display Start Failed. Now, remove instance B and restart the node with the application. The
Application State will display Running. The Action History will continue to display Start Failed since
no action was initiated from the Administrator.
TIBCO ActiveMatrix Service Bus Administration
38 | Administrator Interfaces
Outstanding Actions
Actions affect either TIBCO host or nodes, so the TIBCO host and node must be running to execute the actions.
For example, if a machine is down, actions targeted to objects running on that machine will fail. However,
Administrator supports an offline mode for many actions. This means that actions in Administrator are
queued up while runtime objects are offline and executed when they comes back online.
While a target runtime object is offline (either not running or unreachable) queued actions in Administrator
wait their turn for execution. For example, if a host is offline, actions performed against the host will remain
queued, and will execute as soon as the host comes back online.
An application distributed to several runtime nodes may be deployed while some nodes are online and some
are offline. Administrator will split the deployment action into multiple tasks, some of which are executed
right away and others put on a queue for future execution when their target node comes online.
An action is complete when all its tasks, including those placed on the queue, are done executing. For the
offline case, an action may take a very long time to complete. Even in the online case, certain asynchronous
actions may take a long time to complete.
Action History Reference
Action history information is available for pending tasks and actions. You can also view the outcome of
recently completed tasks and actions.
Table 4: Pending Tasks and Actions
Column
Description
Action
Task ID
Description
Node or
Application
Dependency
Start Time
Description
Result
Action
Node or
Application
Detail
End Time
Administrator Interfaces | 39
Column
Description
Print Error
Synchronization
The Synchronization property indicates whether the runtime has the latest configuration for an object. An
object is shown as Out of Sync when the runtime is not running the latest configuration and otherwise is
shown as In sync.
For example, if you modify a port number of a node after its installation, the runtime would have the older
port number, and node will show as Out of sync. To sync the runtime node with the latest configuration, you
must execute one or more actions.
Only the properties that change the behavior of an object at runtime are tracked using the synchronization
flag. For example, modifying an object's permissions does not make the object go out of sync because
permissions are used only by Administrator and are not sent to the runtime.
Administrator displays only whether an object is in sync or not. Hover over the Out of Sync text to see the
change that caused it to have a different configuration than what is in the runtime. For example if you
distribute the application to a second node the hover text will say Distribution Config. If more than one type
of change is causing the object to be out of sync, all of them will be displayed separated by semicolons. You
may need to refresh the master list to observe a change to the synchronization state or reason. Clicking the
Out of Sync text opens a dialog box Synchronization Details that provides more information about the changes.
40 | Administrator Interfaces
Command-Line Interface
The Administrator command-line interface (CLI) provides access to most TIBCO ActiveMatrix Administrator
functions that change the state of Administrator objects.
You can perform the following actions using the CLI:
Add, edit, and delete objects
Install and uninstall
Start and stop objects
Set properties and substitution variables
Distribute application components to nodes
You can use the CLI for repetitive application of standard actions on large numbers of objects.
The CLI is based on the Ant open source build tool and is implemented in an Ant task named AMXAdminTask.
You specify the Ant task in a build target within an Ant build file. Each instance of AMXAdminTask in the
build file specifies an action to be performed on one or more objects specified in a data file.
The CLI invokes web services exposed by the Administrator server. You specify the Administrator server
location and user credentials in a property file.
Sample Build, Data, and Property Files
Sample build and data files for many of the objects supported by the command-line interface are provided
in CONFIG_HOME/admin/enterpriseName/samples. A sample property file is provided in
CONFIG_HOME/admin/enterpriseName/samples/remote_props.properties, where enterpriseName is the name
specified for the Administrator enterprise when you created the Administrator server. Before using this
sample file, replace the host portion of the adminURL property with the address of your TIBCO ActiveMatrix
Administrator server and the username and password properties with the credentials of a user that has been
granted the permissions required to execute the actions in the script.
UNIX - Add
~/.antrc
3. Confirm the value of ANT_OPTS before executing CLI scripts from the command prompt.
Procedure
1. Add the Ant executable to your path.
2. Run ant -f build.xml, where build is the name of the build configuration file.
Results
The output states the results of each action specified in the default target in the build file.
to
Administrator Interfaces | 41
Build Files
The Ant build file for the command-line interface must contain the import, project, target, and
AMXAdminTask elements.
import Element
The import element identifies the task definition file, which defines the path to the libraries required by
AMXAdminTask.
Set the file attribute to CONFIG_HOME/admin/amxadmin/samples/admin-scripts-base.xml . For
example:
<import file="C:/Documents and
Settings/AMX-User/ApplicationData/amx-3/data/admin/amxadmin/samples/admin-scripts-base.xml"/>
project Element
The project element declares the default build target for the build.xml file. taskdef and target are
subelements of the project. The optional default attribute allows you to specify a default target. You can
choose any target from the build file to be the default target.
<project default="target">
<taskdef ... />
<target name="target" ... />
</project>
target Element
The target element specifies the actions performed for an execution of the command line interface via the
AMXAdminTask subelement. In a target you can provide a depends attribute containing a list of targets.
Each target will be run in order until one fails or the list completes.
<target name="target">
<AMXAdminTask ... />
</target>
42 | Administrator Interfaces
objectSelector="DAA"
remote="true"
propsFile="${remote-properties.file}"
dataFile="${dataFile}"
overwrite="false" merge="true" createIfNotExists="true"
force="false" failOnError="false" />
</target>
<!-- create the application -->
<target name="create.app" description="Creating Application">
<AMXAdminTask remote="true" propsFile="${remote-properties.file}"
action="add" dataFile="${basedir}/jv.phonebook.soa.deployment-config.xml"
objectSelector="Environment//Application"
overwrite="false" merge="true"
createIfNotExists="true" force="false" failOnError="true" />
</target>
<!-- configure properties of the application, and create resource instances if needed
-->
<target name="edit.properties" description="Editing Properties">
<!-- create resource template -->
<AMXAdminTask remote="true" propsFile="${remote-properties.file}"
action="add" dataFile="${dataFile}"
objectSelector="ResourceTemplate" overwrite="false" merge="true"
createIfNotExists="true" force="false" failOnError="true" />
<!-- add all require resource instances -->
<AMXAdminTask remote="true" propsFile="${remote-properties.file}"
action="add" dataFile="${dataFile}"
objectSelector="Environment/Node/ResourceInstance"
overwrite="false" merge="true"
createIfNotExists="true" force="false" failOnError="true" />
<!-- install instances added above -->
<AMXAdminTask remote="true" propsFile="${remote-properties.file}"
action="install" dataFile="${dataFile}"
objectSelector="Environment/Node/ResourceInstance"
overwrite="false" merge="true"
createIfNotExists="true" force="false" failOnError="true" />
<!-- override values for properties -->
<AMXAdminTask remote="true" propsFile="${remote-properties.file}"
action="edit" dataFile="${dataFile}"
objectSelector="Environment//Application/Property |
Environment//Application//PromotedService//Binding/Property |
Environment//Application//PromotedReference//Binding/Property"
overwrite="false" merge="true"
createIfNotExists="true" force="false" failOnError="true" />
</target>
<!-- create wires to other applications -->
<target name="wire.application" description="Wiring Application">
<AMXAdminTask remote="true" propsFile="${remote-properties.file}"
action="set" dataFile="${dataFile}"
objectSelector="//PromotedReference/Wire"
overwrite="false" merge="true"
createIfNotExists="true" force="false" failOnError="true" />
</target>
<target name="distribute.app" description="Distributing Application">
<AMXAdminTask
action="set"
objectSelector="Environment//Application//Component/Node |
Environment//Application//PromotedService//Binding/Node |
Environment//Application//PromotedReference//Binding/Node"
remote="true"
propsFile="${remote-properties.file}"
dataFile="${dataFile}"
overwrite="false"
merge="true"
createIfNotExists="true"
force="false"
Administrator Interfaces | 43
failOnError="false"/>
</target>
<!-- deploy the application -->
<target name="deploy.app" description="Deploying Application">
<AMXAdminTask remote="true" propsFile="${remote-properties.file}"
action="deploy" dataFile="${dataFile}"
objectSelector="Environment//Application"
overwrite="false" merge="true"
createIfNotExists="true" force="false" failOnError="true"
/>
</target>
<target name="start.app" description="Starting Application">
<AMXAdminTask remote="true" propsFile="${remote-properties.file}"
action="start" dataFile="${dataFile}"
objectSelector="Environment//Application"
overwrite="false" merge="true"
createIfNotExists="true" force="false" failOnError="true" />
</target>
</project>
<project default="all">
<dirname property="admin.samples.directory"
file="CONFIG_HOME/admin/enterpriseName/samples"/>
<!-- This import defines the custom AMXAdminTask. -->
<import file="${admin.samples.directory}/admin-scripts-base.xml"/>
<!-- Predefine ${dataFile} to apply the targets in this script with different
parameters. -->
<property name="dataFile" value="userProvided dataFile"/>
<!-- Predefine ${instanceProperties} to control a different Administrator server with
this script. -->
<property name="remote-properties.file"
value="${admin.samples.directory}/remote_props.properties"/>
<target name="all" depends="upload.daa, create.app, map.app.to.node, create.rt,
create.ri, install.ri, deploy.app"/>
<target name="upload.daa">
<AMXAdminTask
propsFile="${remote-properties.file}"
action="add"
dataFile="dateMgr_data.xml"
objectSelector="DAA"
failOnError="true"/>
</target>
<target name="create.app">
<AMXAdminTask
remote="true"
propsFile="${remote-properties.file}"
action="add"
dataFile="dateMgr_data.xml"
objectSelector="Environment//Application"
failOnError="true"/>
</target>
<target name="map.app.to.node">
<AMXAdminTask
remote="true"
propsFile="${remote-properties.file}"
action="set"
dataFile="dateMgr_data.xml"
objectSelector="Environment//Application/Node"
failOnError="true"/>
</target>
<target name="create.rt">
<AMXAdminTask
remote="true"
propsFile="${remote-properties.file}"
action="add"
44 | Administrator Interfaces
dataFile="dateMgr_data.xml"
objectSelector="ResourceTemplate"
failOnError="true"/>
</target>
<target name="create.ri">
<AMXAdminTask
remote="true"
propsFile="${remote-properties.file}"
action="add"
dataFile="dateMgr_data.xml"
objectSelector="Environment/Node/ResourceInstance"
failOnError="true"/>
</target>
<target name="install.ri">
<AMXAdminTask
remote="true"
propsFile="${remote-properties.file}"
action="install"
dataFile="dateMgr_data.xml"
objectSelector="Environment/Node/ResourceInstance"
failOnError="true"/>
</target>
<target name="deploy.app">
<AMXAdminTask
remote="true"
propsFile="${remote-properties.file}"
action="deploy"
dataFile="dateMgr_data.xml"
objectSelector="Environment//Application"
failOnError="true"/>
</target>
</project>
AMXAdminTask
AMXAdminTask specifies an action, data and property files, the objects on which the action is performed,
and various behavioral attributes.
<AMXAdminTask
action="action"
dataFile="path to data file"
propsFile="path to properties file"
[createIfNotExists = "{true|false}"]
[failOnError="{true|false}"]
[force="{true|false}"]
[merge="{true|false}"]
[objectSelector="XPath expression"]
[options="nostart|immediate|terminate|resolve|auto-resolve|stable|handle-dependencies"]
[overwrite="{true|false}"]
[timeout="timeout value"/>
Parameters
Attribute
action
Type
String
Req?
Yes
Description
The action to be performed on the objects in the data file. The
action is case insensitive.
Unless objectSelector is specified, the action is applied
to every object in the data file.
The order in which the action is applied to the objects is
either breadth first or depth first. The method used is
determined by the action.
Breadth first - add, edit, install, start, stop
Depth first - delete, uninstall
Administrator Interfaces | 45
Attribute
Type
Req?
Description
Some actions are not performed against certain object
formats.
For the most part, add and edit are applied only to objects
specified in full format. Objects not in this format are
skipped.
createIfNotExists
Boolean
No
String
Yes
failOnError
Boolean
No
force
Boolean
No
dataFile
For example:
A node must be in the uninstalled state before it can be
deleted and it must be stopped before it can be uninstalled.
If any problems occur moving the node to one of these states,
and force is true, the node is deleted even if it is not in the
uninstalled state or uninstalled even if it is not stopped.
An application must be in the undeployed state before it
can be deleted and it must be stopped before it can be
undeployed. If any problems occur moving the application
to one of these states, and force is true, the application is
deleted even if it is not in the undeployed state.
You should exercise extreme caution when using this
option as it may leave your system in a non-working
state.
Default: false.
merge
Boolean
No
Applicable to the add action, and only if the overwrite flag was
used and is true.
If an object to be added already exists and
If merge is true and overwrite is true, then the existing
object is overwritten by merging with the new object. That
is, the old object's data is updated with the new object's data.
46 | Administrator Interfaces
Attribute
Type
Req?
Description
If merge is false but overwrite is true, then the existing
object is deleted and replaced by the new object. The old
object's children and access control lists, if any, are lost in
the process.
Default: true.
objectSelector
String
No
options
String
No
handle-dependenciesre-installs
Boolean
No.
propsFile
skipIfNotExists
String
Yes
Boolean
No
Administrator Interfaces | 47
Attribute
Type
Req?
Description
When set to false, an error is reported if the object to be deleted
does not exist.
Default: false.
timeout
Integer
No
create
Assume you have an environment env1 in the database. Your data file has environment env1 and a node
node1. If you specify the edit action and
createIfNotExists = false. env1 already exists, so its data is edited to match env1 in the data file. node1
doesnt exist, so is not updated.
createIfNotExists = true. env1 already exists, so its data is edited to match env1 in the data file. node1doesnt
exist, so it is added to env1.
force
Assume you have an environment env1 and node node1 in both the database and the data file. node1 is in
the Started state. If you do a delete and
force = false. node1 is in the Started state. There are two possible outcomes:
The stop and uninstall are successful. node1 and env1 are deleted.
The stop or uninstall fails. node1 is not in the uninstalled state so it cannot be deleted. The delete does
not complete.
force = true. node1 is in the Started state. There are two possible outcomes:
The stop and uninstall are successful. node1 is deleted. env1 is deleted.
The stop or uninstall fails. node1 is not in the uninstalled state but is forcefully deleted. env1 is deleted.
objectSelector
objectSelector="//*"
objectSelector="//Node"
objectSelector=/Environment[@name=env1]/Node[@name=node1]"
48 | Administrator Interfaces
Actions
The actions that can be performed with the command-line interface affect either the objects contained in the
database or the objects executing in the TIBCO ActiveMatrix runtime.
Database Actions
Database actions modify the objects contained in the Administrator database:
add - Add an object or an association between objects, such as between an application and a node.
edit - Edit an object.
delete - Delete an object or an association between objects. When you delete an object, the entire tree rooted
at the object is deleted starting at the leaves.
set - Set the value of a substitution variable, map an application, component or binding to a node, set a
property of a binding. This action deletes any existing entries that aren't present in the new set and adds
any entries in the new set that weren't in the database.
upgrade - Upgrade an existing application.
promote - Make a service or reference available at the environment level for cross-environmental wiring.
demote - Make a service or reference unavailable at the environment.
resetPassword - Reset a user password.
Runtime Actions
Runtime actions modify the state of the objects contained in the TIBCO ActiveMatrix runtime:
install - Install node on a host or a resource instance on a node.
uninstall - Uninstall a node from a host or a resource instance from a node.
deploy - Deploy a component or binding to a node, a logging configuration for a host, node, application,
or component, a plug-in to the Administrator server. Also undeploys components and bindings from
nodes they are no longer mapped to.
undeploy - Undeploy an application or plug-in.
start - Start a node, application, component, or binding.
stop - Stop a node, application, component, or binding.
Data Files
The data file is an XML file that specifies attributes of the objects that are operated on by AMXAdminTask.
A data file has the following structure.
<amxdata_base:Enterprise
xmlns:amxdata="http://tibco.com/amxadministrator/command/line/types"
xmlns:amxdata_base="http://tibco.com/amxadministrator/command/line/types_base"
xmlns:amxdata_reference="http://tibco.com/amxadministrator/command/line/types_reference"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tibco.com/amxadministrator/command/line/types
../schemas/amxdata.xsd
http://tibco.com/amxadministrator/command/line/types_base ../schemas/amxdata_base.xsd
http://tibco.com/amxadministrator/command/line/types_reference
../schemas/amxdata_reference.xsd">
Objects
Administrator Interfaces | 49
</amxdata_base:Enterprise>
Objects
You specify the objects on which the command-line interface operates in an XML data file. TIBCO ActiveMatrix
Administrator provides XSD schemas for the data files that capture all of the ID attributes, description
attributes, parent-child relationships, and associative relationships of objects.
Every object is described in an XML element. The attributes of that object (both ID and descriptive) are
attributes of the XML element, and the relationships this object has with other objects are subelements of the
XML element. In these schemas, every Administrator object can be specified in three types of formats: base,
full, and reference.
Object Schemas
The object schemas are located in TIBCO_HOME/administrator/version/schemas and are named:
50 | Administrator Interfaces
Supported Objects
The command-line interface supports a set of objects that represent the components of an ActiveMatrix
environment. Each object has a set of attributes that describe the object.
The objects supported by the command-line interface are: Appender, AppenderRef, Application, AppTemplate,
Binding, Component, DAA, Enterprise, Environment, Feature, Host, LogAppender, Logger, LogicalNode,
MessagingBus, Node, Plugin, PromotedReference, PromotedService, Property, Reference, ResourceInstance,
YYYResourceTemplate (where YYY is Hibernate, Teneo, Smtp, Jdbc, HttpClient, LdapQuery, HttpConnector),
Service, SVar, User, Wire).
Each object has a set of attributes that describe that object. Some of these attributes, such as the name of the
object, can be used to uniquely identify a particular object assuming the location of the object in the data
hierarchy is known. Such identifying attributes are ID attributes. The rest of the attributes are description
attributes. The following table summarizes the actions and the objects that support those actions.
Certain objects do not explicitly support actions. Enterprise, the top-level container object, does not
support any actions. Other objects, such as AppenderRef, LogicalNode, PromotedReference, and
PromotedService are subelements of objects that support actions.
Table 6: Actions and Objects
Object
Appender
Application
AppTemplate
Binding
Component
DAA
Environment
Feature
Host
Logger
MessagingBus
Node
Plugin
Property
Reference
ResourceInstance
ResourceTemplate
Service
SVar
User
Start or Install or
Stop
Uninstall
Administrator Interfaces | 51
Object
Start or Install or
Stop
Uninstall
Wire
Object Formats
Objects in the data XML file of a CLI script can be specified in three formats: base, full, and reference.
Base Format
Base format uniquely identifies the object. Base format is defined in the schema amxdata_base.xsd. The base
format is a convenience so that you do not have to give all the descriptive attributes of an object to work with
it. Base format:
Captures the ID attributes of an object as XML attributes
Captures the parent-child relationships of an object as XML elements
Doesnt capture any parent information about the object as that information is derived from the XML
structure
You use the base format to:
Delete an object
Perform a runtime action on an object
Add a child to an object
Perform an action on a child of an object
Full Format
Full format is derived from the base format and includes all the base format information plus additional
attributes that describe the objects. Full format in defined in the schema amxdata.xsd. Full format:
52 | Administrator Interfaces
Object Navigation
For each object type and action, you can supply XPath navigation expressions to the objectSelector option
of AMXAdmin task.
You specify objects under Enterprise with the simple XPath expression ObjectType, where ObjectType can be
Environment, Host, Feature, ResourceTemplate, DAA, Plugin, User, Group, and LogAppender.
Table 7: Object Navigation
Object Type
Action
Application
Binding
Component
Logger
Node (distribution
operations)
Property
set
Environment/Application/Property
Environment/Application/PromotedService/Binding/Property
Environment/Application/PromotedReference/Binding/Property
ResourceAdapter
add, delete
Host/ResourceAdapter
ResourceInstance
SVar
set
XPath Expression
Environment/Application/PromotedService/Binding
Environment/Application/PromotedReference/Binding
Environment/Application/Component/Node
Environment/Application/PromotedService/Binding/Node
Environment/Application/PromotedReference/Binding/Node
Environment/Application/LogicalNode/Node
Enterprise
Environment
Host
Environment/Node
Environment/Application/SVar
Environment/AppFragment/SVar
Administrator Interfaces | 53
Inter-Object Relationships
Objects have parent-child or associative relationships with other objects.
In a parent-child relationship, such as that between an environment and a node or application, one object is
contained in its parent object. The relationship is expressed in the nested structure of the object definition.
For example, the Enterprise object is the parent of Environment, Host, ResourceTemplate, DAA, and
LogAppender. When a parent object is deleted, its children are deleted.
An associative relationship expresses an interaction between objects that does not involve ownership. An
example is the relationship between an application and an application template. To express associative
relationships you use a reference type when you identify the reference to one object by another object. For
example:
<Application xsi:type="amxdata:Application"
name="datemanager"
importBindings="true">
<ApplicationTemplate
xsi:type="amxdata_reference:ApplicationTemplate_reference"
name="JavaDateManagerSoa"/>
</Application>
Type
Description
adminURL
URL
username
String
password
String
httpAuthType
String
Default: basic.
54 | Administrator Interfaces
Property
Type
Description
javax.net.ssl.trustStore
String
javax.net.ssl.trustStoreType String
javax.net.ssl.trustStorePassword Obfuscated
password
admin.cli.ssl.keystorelocation String
admin.cli.ssl.keystorepassword Obfuscated
password
admin.cli.ssl.keystoretype
String
admin.cli.ssl.keyalias
String
admin.cli.ssl.keypassword Obfuscated
password
Chapter
3
Administrator Server Management
Administrator servers maintain the configuration and runtime data of a TIBCO ActiveMatrix system. An
Administrator server gathers management data from nodes, interacts with the Administrator web and command-line
UIs, interacts with an authentication realm to authenticate users, interacts with hosts to manage nodes, and stores
and retrieves configuration and runtime data from the persistent store. Administrator server runs on the node
SystemNode, which is managed by the host SystemHost.
Administrator servers interact with other servers:
Database - maintains Administrator server configuration, performance, log, and payload data
Authentication realm - maintains user data
Notification - propagates status messages between Administrator server, hosts, and nodes
Messaging Bus - propagates messages between applications
UDDI server - (optional) maintains published service data
The communication channels between Administrator servers and other servers can be secured with SSL. For
information on SSL support, see the installation manual for your product.
The default ports used by these servers, their clients, and the mechanism for configuring the ports is listed in Table
8: Default Ports on page 55.
Table 8: Default Ports
Process
Default
Port
Client
Configuration Mechanism
SystemHost
6051
Administrator server
Standalone host
6001
Administrator server
SystemNode
6021
SystemHost
DevNode
6031
SystemHost
HTTP connector
8120
HTTPS connector
8120
Payload service
8787
Log service
8789
Service clients
Credential Server
6041
Enterprise Message
Service server
7222 or
7243
Administrator Server
Process
Default
Port
Client
Notification Server
Messaging Bus
Applications:
Monitoring service
Logging service
Implementation and binding types
Product
User-defined
Configuration Mechanism
Authentication Realms
An authentication realm is the mechanism for storing information about Administrator users and groups. You select
and configure the authentication realm when you create the Administrator server. For details, see the installation
manual for your product.
DDL Script Generator
The DDL Script Generator is used to generate database specific DDL scripts that are based on user commands and
configuration. For more information see the installation manual for your product.
Topics
-l sys0 -a ncargs=40.
Linux
Disable SELinux with the command sudo
The tibcohost process is started and the node processes managed by SystemHost, including
tibamx_SystemNode, are started.
Stopping the SystemHost TIBCO Host Instance
Windows
If SystemHost is registered as a Windows service:
1. Open the Windows Services application.
2. Click TIBCO ActiveMatrix Admin-enterpriseName-adminServerName.
3. Click Stop.
Run CONFIG_HOME\tibcohost\Admin-enterpriseName-adminServerName\host\bin\tibcohost.exe
stop -wait true.
UNIX Run CONFIG_HOME/
stop -wait true.
tibcohost/Admin-enterpriseName-adminServerName/host/bin/tibcohost
If you perform the stop from the command-line using the -wait option, the command completes and you
are returned to the command prompt only after all the nodes are stopped.
TIBCO ActiveMatrix Service Bus Administration
Description
Notification Server
Enterprise
Name
EMS Server
URL
Username
Password
Recovery
Timeout(ms)
Recovery
Attempt
Delay(ms)
Enable SSL
SSL Client
Provider
General
Session
Timeout
Plug-Ins
Administrator server is an extensible web application. You can add new functionality to Administrator server
by uploading and deploying a plug-in that contains the new features.
You can click Admin Configuration > Plug-ins for a list of the available plug-ins.
Plug-Ins Reference
When you display the list of available plugins, you see the name, version, modification information, and
whether the plug-in is deployed or undeployed.
GUI
CLI
Editable? Required? Accepts Description
Property Element
SVars?
or
Attribute
Name
name
Version
N/A
Modified
By
N/A
Modified
On
N/A
State
N/A
Notification Server
The notification server is an Enterprise Messaging Service server that performs two essential system functions
within the TIBCO ActiveMatrix platform. It delivers status messages sent by hosts and nodes to the
Administrator server.
Hosts and nodes send status messages for the following types of state changes:
Starting
Stopping
Running
Start failed
Status messages are not stored persistently.
The Administrator server also stores all the tasks with no outstanding dependencies associated with an action
on persistent queues in the notification server. For example, the following screen lists some of the pending
tasks for a deploy action:
The tasks are stored persistently so that if the node stops while the tasks are being processed, the action can
be completed after the node restarts.
Forcing a Reconnection
You perform this task if the Administrator server loses the connection to the Administrator server that serves
as the notification server. When this happens the Action History column reports In Progress.
Procedure
1. Select Admin Configuration > Admin Server .
2. Click Reconnect to EMS Server.
Chapter
4
Environments
An environment is a logical grouping of applications and nodes. An Administrator server can have multiple
environments. For example, you can define environments distinguished by product life cycle function such as
development and production, by geographical area, or by business unit.
Environments provide a way to isolate one group of applications and nodes from another. This is useful for security,
optimizing network traffic (each environment has its own Enterprise Message Service server for service bus
communication) and visual organization in the Administrator UI. Hosts can also be isolated and associated with
one or more environments.
Environments contain the following types of objects:
Applications The services and references defined by an application can be promoted to the application's
environment. Services and references promoted to the environment level can be wired to each other. The
following figure illustrates a service and reference exposed by a component, promoted to the composite level,
promoted again to the environment level, and wired between the promoted reference and service.
66 | Environments
Administrator Environment
The environment containing the node on which the Administrator server runs, SystemNode, is named
SystemEnvironment.
Development Environment
When you create an Administrator server you have the option to create a development environment and node. By
default, the environment is named DevEnvironment and the node is named DevNode.
Topics
Creating an Environment
Environment General Reference
Environment Configuration Reference
Messaging Bus
Environments | 67
Creating an Environment
You can create an environment with the New Environment wizard in the Administrator UI.
Procedure
1. Select Infrastructure > Environments.
2. Click New.
The New Environment wizard displays.
3. In the Name field, type a name for the environment.
4. Optionally provide description and contact information.
5. Check the Enable Security Validations checkbox to enable security validations.
When checked, Administrator does not allow the following actions:
Saving an environment's Messaging Bus configuration that is not SSL-enabled.
Creating a node on a host that is not secured with SSL over JMX.
Installing a node if the environment's Messaging Bus configuration is not SSL-enabled.
Deploying an application that uses a resource instance that is not SSL-enabled. Resource instances that
are referenced by the application's resource instances must also be SSL-enabled. All composite,
component, and binding properties are validated.
6. Check the checkbox for Enable Auto-Provisioning to automatically deploy applications providing
implementation or binding types to the target nodes when deploying user applications that require these
applications.
7. Click Next .
The Messaging Bus screen displays.
8. Specify the Messaging Bus details.
9. Click Finish to create the environment or Cancel to exit the wizard.
CLI
Procedure
1. In the AMXAdminTask element, type the action attribute to add and the objectSelector attribute to
Environment.
<AMXAdminTask action="add" objectSelector="Environment"/>
2. In the AMXAdminTask element, type the action attribute to set and the objectSelector attribute to
Environment/MessagingBus.
<AMXAdminTask action="set" objectSelector="Environment/MessagingBus"/>
68 | Environments
Property
attributeList</Node>
Description
Name
The name of the node. The name must start with a letter
and can contain letters, digits, dot, dash, and underscore.
Description
Modified By
RO
RO
Modified
On
RO
RO
Contact
Contact information.
Auto-
Provisioning
Secure
Environments | 69
Description
Name
The name of the node. The name must be unique within the environment.
Host
Node State
Version
Synchronization
Status
Indicates whether the node runtime matches the node's configuration in the
Administrator database.
Action History
The outcome of the last action performed with the intent of affecting the runtime
state.
Description
Name of host instance.
ActiveMatrix host version.
State of the host:
Initializing
70 | Environments
Column
Description
Machine
Initializing_Failed
Initialized
Lost_Contact - when the host has lost contact with the Administrator server.
Starting
Starting_Failed
Running
Stopping
Stopped - when the host is explicitly stopped and has completed the shutdown process.
Unknown
Environments | 71
Messaging Bus
An environment's Messaging Bus is the communications backbone that mediates message exchange between
service consumers and providers. When a consumer makes a service request, it is the responsibility of
Messaging Bus to locate providers that offer the service and deliver the message to a provider.
Messaging Bus enables service virtualization. With service virtualization, a reference does not need to know
about the binding details of the service with which it is communicating. It only needs to know the name of
the service. Service virtualization allows applications within an environment to communicate without requiring
the applications' promoted services and references to have bindings.
Procedure
1.
2.
3.
4.
5.
6.
CLI
Procedure
1. In the data file, specify a MessagingBus element in full format.
2. In the AMXAdminTask element, set the action attribute to add and the objectSelector attribute to
Environment/MessagingBus.
3. Invoke the command-line interface on the build file.
72 | Environments
Description
Enterprise Message Service server location or locations. Can
be a comma-separated list of URLs for fault tolerance and
reconnection. If a comma-separated list is specified, the
Enterprise Message Service server must be configured for
fault-tolerant mode.
Default: tcp://localhost:7222
Login
Credentials
Username
Password
Identity
Provider
Connection
Pool Size
Outbound
Session
Pool Size
Environments | 73
Property
Reconnect
Attempt
Count
Description
Number of times a node attempts to establish a connection
to the server before an error is returned.
Default : 600.
Modify the default reconnect attempt values to suit
your environment. If the messaging bus fails to
connect with the messaging server, restart the node
manually.
Reconnect
Attempt
Delay (ms)
EMS
Server SSL
URL
SSL Client
Provider
SSL
Property
Description
Enable
SSL
Default: Unchecked.
SSL Client N
Provider
Configure N
SSL
Chapter
5
Hosts
Within the enterprise, hosts are used to manage nodes. A host can contain nodes from more than one environment.
Hosts are responsible for deploying applications and for other administrative tasks. Each host has a software
repository that contains the application templates, features, and resource adapters available to the nodes managed
by that host.
Hosts have types, but the only type currently supported is TIBCO Host.
A host is bound to a single Administrator server at a time. Hosts can contain nodes from multiple environments
within one Administrator server.
ActiveMatrix enables isolation of hosts so that enterprises can separate different groups and services. The features
are given below:
A host can be part of any number of environments.
If the host association is changed from All Environments to Specific Environments, support for nodes already
running on the host continues.
Node creation on the isolated host is limited to users in the associated environment or group of environments.
Host not associated with an environment is hidden.
It is not possible to remove a host from an environment if nodes for that environment are running on the host.
The host that manages the SystemNode node on which the Administrator server runs is named SystemHost.
Topics
Host Processes
Creating a TIBCO Host Instance
Assigning a Host to An Environment
Registering a TIBCO Host Instance as a Windows Service
Starting a TIBCO Host Instance
Stopping a TIBCO Host Instance
Enabling Secure Communication between a Host and an Administrator Server
Unregistering Hosts
Binding Hosts to an Administrator Server
Diagnostics
References
76 | Hosts
Host Processes
The path to the TIBCO Host instance process is different for the SystemHost TIBCO Host instances and for
other TIBCO Host instances.
The name of a TIBCO Host instance process is tibcohost. The path to the executable is:
SystemHost TIBCO Host instance CONFIG_HOME/tibcohost/Admin-enterpriseName-adminServerName/host/bin/tibcohost
enterpriseName is the name specified for the enterprise when you created the Administrator server.
If you use the default values for enterpriseName and adminServerName, amxadmin and instanceOne, the path
to the executable is CONFIG_HOME/tibcohost/Admin-amxadmin-instanceOne/host/bin/tibcohost.
Other TIBCO Host instances - CONFIG_HOME/tibcohost/instanceName/host/bin/tibcohost.
Hosts | 77
78 | Hosts
Specific Environments
CLI
Procedure
1. In the AMXAdminTask element, type the action attribute to add, and the objectSelector attribute to
Environment/Host.
<AMXAdminTask action="add" objectSelector="Environment/Host"/>
Hosts | 79
80 | Hosts
-l sys0 -a ncargs=40.
Linux
Disable SELinux with the command sudo
The tibcohost process is started and the node processes managed by SystemHost, including
tibamx_SystemNode, are started.
Starting a TIBCO Host Instance
Windows
If you created a Windows desktop shortcut, double-click the shortcut.
If the instance is registered as a Windows service:
1. Open the Windows Services application.
2. Click TIBCO ActiveMatrix hostName.
3. Click Start.
Run CONFIG_HOME\tibcohost\instanceName\host\bin\tibcohost.exe.
UNIX Run CONFIG_HOME/tibcohost/instanceName/host/bin/tibcohost.
The tibcohost process is started and the node processes managed by the TIBCO Host instance are started.
Hosts | 81
The node processes managed by the TIBCO Host instance are stopped and the tibcohost process is stopped.
Stopping the SystemHost TIBCO Host Instance
Windows
If SystemHost is registered as a Windows service:
1. Open the Windows Services application.
2. Click TIBCO ActiveMatrix Admin-enterpriseName-adminServerName.
3. Click Stop.
Run CONFIG_HOME\tibcohost\Admin-enterpriseName-adminServerName\host\bin\tibcohost.exe
stop -wait true.
UNIX Run CONFIG_HOME/
stop -wait true.
tibcohost/Admin-enterpriseName-adminServerName/host/bin/tibcohost
If you perform the stop from the command-line using the -wait option, the command completes and you
are returned to the command prompt only after all the nodes are stopped.
82 | Hosts
Hosts | 83
Unregistering Hosts
When you unregister a host you remove it from being managed by the Administrator server and destroy any
nodes that the host manages. You can unregister hosts from the GUI or by using the CLI.
About this task
GUI
Procedure
1. Select Infrastructure > Hosts .
2. Choose an unregister option.
Option
Procedure
Unregister
Force Unregister
1. Select Unregister > Force unregister . Nodes are force uninstalled from the
host and the host, nodes, and application components deployed on the nodes
are deleted from the Administrator database. It's usually a good idea to first use
Unregister. If you decide to proceed with removing that data, use Force
Unregister.
CLI
Procedure
1. In the data file, specify a Host element in base format (the default).
<Host name="SecondHost" />
2. In the build file, set the action attribute of the AMXAdminTask element to delete and the objectSelector
attribute to Host.
<AMXAdminTask action="delete" objectSelector="Host"/>
84 | Hosts
1. Click Discover.
2. Click Start Discovery.
3. In the Discovered Hosts list, check the checkboxes next to each host to bind and
type a name in the Name column.
4. From Assign to Environment drop-down list, select an environment or All.
5. Click Bind.
Register
1. Click Register.
2. In the Name field, type a name for the host.
3. In the Management URL field, change the machine and port to the machine and
port of the host to bind.
4. To enable secure communication between the host and Administrator server, check
the Secure checkbox.
If a host is bound to another Administrator server, the bind fails. Otherwise, the host binds to the
Administrator server.
3. If the host is bound to another server you can take control of it by checking the Force Bind checkbox and
clicking Bind.
First run with Force Bind unchecked to see if the host is already bound. That way you can investigate if
this is really a host you should be binding to. If you determine that it you can take control of the host from
another Administrator server, only then should you use the force option.
With the Force Bind checked, even if the host is already bound, the bind does not throw an error. Instead
the host severs its connection with the existing Administrator server, and bind to this Administrator server.
Hosts | 85
Column
Description
Discovery Timeout(s)
Name
Management URL
Version
Secure
Assign to Environments
Description
Name
The name of the host. The name must be unique on the Administrator server.
Description
Optional description.
Host Type
Management URL
The JMX URL used to communicate to the host. Stored in the file
CONFIG_HOME\tibcohost\instanceName\data_3.2.x\host\
configuration\jmxendpoints.properties.
Force Bind
Indicate whether to remove an existing binding between the host and another
Administrator server and create a new binding between the host and this
Administrator server.
Secure
86 | Hosts
Diagnostics
The TIBCO ActiveMatrix diagnostic tools help extract various types of information from a host or node in
order to optimize performance and troubleshoot issues quickly. Diagnostic tools are available from the
Administrator UI, and as TIBCO host shell commands.
All diagnostic commands require the host to be running. Some node-related commands also require the node
to be running. Using the diagnostics tool you can:
View status of application components when runtime and action histories do not match.
Verify if any connection pools are not released when applications are slow.
View memory usage of a host or node.
Get information about an applications and its components.
Get information about one or more application components.
Under the Diagnostics Commands heading, the following commands are available:
describeApplications
describeComponents
describeDeployedResourcePools
getLogFiles
getMemoryUsage
getThreadDump
2. To view the description and arguments for each of the above command, enter the following command:
CONFIG_HOME\tibcohost\Admin-enterpriseName-adminServerName\host\bin\tibcohost.exe help
command
The following example shows how to retrieve memory usage for a node.
Example
Memory Usage
The following examples show how to retrieve memory usage for a node. If a node name is not specified, the
command displays host memory usage.
C:\AMX\tibcohost\Admin-amxadmin-instanceOne\host\bin\tibcohost.exe getMemoryUsage -nodeName
DevNode
Invoking getMemoryUsage
-nodeName DevNode
Heap memory usage for node "DevNode" follows:
Initial size: 128MB
Maximum size: 494.9MB
Committed size: 162.6MB
Non-heap memory usage for node "DevNode" follows:
Initial size: 23.2MB
Maximum size: 240MB
Committed size: 77.6MB
Amount used: 77.4MB
TIBCO ActiveMatrix Service Bus Administration
Hosts | 87
88 | Hosts
References
The topics in this section provide detailed references to elements in the User Interface and CLI.
Hosts Reference
Information about a host includes its name, type, state, machine name, and action history.
Select Infrastructure > Hosts to find the state of the host.
Column
Name
Version
Host State
Machine
Action History
Description
Name of host instance.
ActiveMatrix host version.
State of the host:
Initializing
Initializing_Failed - click the Action History link to get more information.
Initialized
Lost_Contact - when the host has lost contact with the Administrator server.
Starting
Starting_Failed - click the Action History link to get more information.
Running
Stopping
Stopped - when the host is explicitly stopped and has completed the shutdown process.
Unknown
Name of the machine on which the host is running.
Outcome of the last action performed with the intent of affecting the runtime state.
Description
Version
Runtime State
RO
RO
Action History
RO
RO
Description
Optional description.
Contact
Contact information.
Modified On
RO
RO
Hosts | 89
GUI Property
Description
Modified By
RO
RO
Management URL Y
Operating System RO
RO
Machine Name
RO
RO
Description
Logger Name
Log Level
Additivity
One of:
true Log messages are passed to the parent logging
configuration.
false Log messages are not passed to the parent
logging configuration.
Appender
(FileAppender,
JmsAppender)
90 | Hosts
Security
Check the Enable Secure Management Communication checkbox to secure the communication between the
host and the Administrator server using certificates obtained from the TIBCO Credential Server.
Required? Editable?
Description
Substitution
Variable Name
Type
Description
Local Value
Description
Instance Name
Type
Scope
Template Name
Name of the resource template from which the instance was created.
Instance State
Synchronized
Indicates whether the resource instance runtime matches the host's configuration in the
Administrator database.
Node Name
Hosts | 91
Column
Description
Action History
Outcome of the last action performed with the intent of affecting the runtime state.
Chapter
6
Nodes
A node is the runtime environment for applications. Nodes exist in an environment and are managed by hosts.
When managed by a host, a node runs in its own OS process and JVM. You can configure a host with multiple
nodes. Nodes act as sandboxes for applications.
The reasons to use multiple nodes include:
Increase throughput.
Run different versions of software and limit the set of affected application fragments when updating software
versions.
Allow applications to use different resource instance configurations of the same name.
Enable fault tolerance.
Implement various security policies by limiting access to certain nodes and resources.
The reasons to share a node include:
Share resource instances between applications such as thread pools and database connection pools.
Communication between components in a node avoids serialization overheads.
Reduced overall memory utilization.
Application fragments are components or bindings of an application that are distributed and deployed to nodes.
A fragment can be distributed to many nodes, and a single node can run many fragments. To increase throughput
for a component or binding you can deploy multiple copies of the fragment to multiple nodes.
A node has a set of product and features shared by resource instances and application fragments running on the
node. You can upgrade or downgrade the features to match the feature versions to those available in the software
repository.
The node on which the Administrator server runs is named SystemNode.
The following figure depicts a configuration of environments, hosts, and nodes that shows the flexibility achieved
with a multi-node setup. The two environments are assigned to groups of users that have responsibility for a
specific phase of the application life cycle: Development and Production. Isolation between the groups is achieved
by creating two nodes on each host and assigning them to different environments. Nodes A and B are located on
Host 1 and nodes C and D are located on Host 2. Nodes A and C are managed by the Development environment
and nodes B and D are managed by the Production environment. In addition, access to a JDBC resource is restricted
to the nodes in the Production environment.
94 | Nodes
Topics
Node Processes
Developer Node
Navigating to a Nodes List
Creating a Node
Editing a Node
Installing or Syncing Nodes
Uninstalling Nodes
Starting Nodes
Manually Restarting Nodes
Stopping Nodes
Deleting Nodes
Capturing Thread Dump for a Node from Administrator
References
Transaction Recovery Configuration
Nodes | 95
Node Processes
A node process is named tibamx_nodeName, where nodeName is the name of the node. The executable is at
different location for nodes managed by the SystemHost TIBCO Host instance and nodes managed by other
TIBCO Host instances.
The location of the process executable is:
Nodes managed by the SystemHost TIBCO Host instance CONFIG_HOME\tibcohost\INSTANCE_NAME\data_3.2.X\nodes\nodeName
enterpriseName is the name specified for the Administrator enterprise when you created the Administrator
server
adminServerName is the name specified for the Administrator server.
If you use the default values for enterpriseName and adminServerName, amxadmin and instanceOne, the path
to the executable is CONFIG_HOME\tibcohost\INSTANCE_NAME\data_3.2.X\nodes\nodeName.
Nodes managed by other TIBCO Host instances CONFIG_HOME\tibcohost\INSTANCE_NAME\data_3.2.X\nodes\nodeName
96 | Nodes
Developer Node
When you create an Administrator server you have the option to create a developer node. The default name
of the node is DevNode. The names of any additional hosts that you create must be unique on the host and
also within the environment.
Nodes | 97
Environment
1.
2.
3.
4.
Host
1.
2.
3.
4.
98 | Nodes
Creating a Node
You can create a node from the GUI or by using the CLI.
GUI
About this task
You create a node in an environment and associate it with a host within the environment.
Procedure
1. Choose a starting point and follow the appropriate procedure.
Starting Point
Procedure
Environments
Hosts
Nodes
Nodes | 99
CLI
Procedure
1. In the data file, specify a Node element in full format.
<Node xsi:type="amxdata:Node" name="DevNode" hostName="SystemHost"
contact="TIBCO" portNumber="5006">
</Node>
2. In the AMXAdminTask element, set the action attribute to add and the objectSelector attribute to
Environment/Node.
<AMXAdminTask action="add" objectSelector="Environment/Node" />
100 | Nodes
Editing a Node
You can edit a node from the GUI or by using the CLI.
GUI
Procedure
1. Navigate to a nodes list.
2. Select a node.
The node details display in the General tab.
3. Edit the contact, description, and the startup mode.
4. Click the Configuration, Substitution Variables, Resource Instances tabs for other editable information.
5. Click Save.
CLI
Procedure
1. In a data file, specify a Node element in full format using the new attribute values.
2. In the AMXAdminTask element set the action attribute to edit and the objectSelector attribute to
Environment/Node[@name='nodeName'], where nodeName is the name of the node to edit.
Procedure
Nodes
1.
2.
3.
4.
Hosts
Starting Point
Procedure
Nodes
1.
2.
3.
4.
Hosts
Nodes | 101
Starting Point
Procedure
2. Select a node from the Nodes list.
3. Click the General tab.
102 | Nodes
Enabling
Add the property amx.securitymanager.enabled=true to the .tra file of the node.
Restart the node.
Disabling
Reset the value of the amx.securitymanager.enabled property to false in the .tra file of the node.
Restart the node.
The .tra file of the node is located in the folder
CONFIG_HOME/tibcohost/Admin-enterpriseName-adminServerName/data_3.2.x/nodes/nodeName/bin.
Nodes | 103
Platform
104 | Nodes
GUI
Procedure
1. Navigate to a nodes list.
2. In the Nodes list, click one or more nodes.
3. Choose an install option.
Install Option
Effect
Install or Sync or
Install or Sync Install/ Sync
If the Runtime State is Not Installed, the node runtime files are
created in the file system, the Runtime State changes to Not
Running and the Action History is Platform Install will resume
after node start.
If the Runtime State is Not Running or Running, there is no
change.
4. If the Action History is Platform Install waiting for node start, click Start.
The Runtime State changes to Running and the Action History changes to In Progress and then to Start
Successful.
Nodes | 105
CLI
Procedure
1. In the data file, specify an Environment and one or more Node definitions in base format. You can also
use a data file previously used to create the nodes in which the nodes are specified in full format.
<Environment name="DevEnvironment"
<Node name="node1"/>
<Node name="node2"/>
</Environment>
2. In the build file, set the action attribute of the AMXAdminTask element to install and the objectSelector
attribute to Environment/Node.
<AMXAdminTask action="install" objectSelector="Environment/Node" />
106 | Nodes
Uninstalling Nodes
You can uninstall a node from the GUI or by using the CLI. If the nodes are not stopped, you can use the
Force Uninstall option.
GUI
Procedure
1. Infrastructure > Nodes
2. In the Nodes list, click one or more nodes.
3. Choose an uninstall option.
Option
Procedure
Uninstall
CLI
Procedure
1. In the data file, specify an Environment and one or more Node definitions in base format. You can also
use a data file previously used to create the nodes in which the nodes are specified in full format.
<Environment name="DevEnvironment"
<Node name="node1"/>
<Node name="node2"/>
</Environment>
2. In the data file, specify an Environment and one or more Node definitions in base format. You can also
use a data file previously used to create the nodes in which the nodes are specified in full format.
<Environment name="DevEnvironment"
<Node name="node1"/>
<Node name="node2"/>
</Environment>
3. In the build file, set the action attribute of the AMXAdminTask element to uninstall and the
objectSelector attribute to Environment/Node. To perform a force uninstall, specify the force="true"
attribute.
<AMXAdminTask action="uninstall" objectSelector="Environment/Node" />
Nodes | 107
Starting Nodes
You can start nodes using the Administrator GUI or CLI. If the Administrator server is not running, you can
start the nodes by starting the TIBCO Host instance that manages the nodes.
GUI
Procedure
1. Infrastructure > Nodes
2. In the Nodes list, click one or more nodes.
3. Click the Start button.
The Node State of the node changes to Starting.
4. Click the Refresh button until the Runtime State changes to Running.
CLI
Procedure
1. In the data file, specify an Environment and one or more Node definitions in base format. You can also
use a data file previously used to create the nodes in which the nodes are specified in full format.
<Environment name="DevEnvironment"
<Node name="node1"/>
<Node name="node2"/>
</Environment>
2. In the data file, specify an Environment and one or more Node definitions in base format. You can also
use a data file previously used to create the nodes in which the nodes are specified in full format.
<Environment name="DevEnvironment"
<Node name="node1"/>
<Node name="node2"/>
</Environment>
3. In the build file, set the action attribute of the AMXAdminTask element to start and the objectSelector
attribute to Environment/Node.
<AMXAdminTask action="start" objectSelector="Environment/Node" />
108 | Nodes
Successful
Nodes | 109
Stopping Nodes
You can stop a node using the Administrator GUI or CLI. If the Administrator server is not running, you can
stop the node by stopping the TIBCO Host instance that manages the node.
GUI
Procedure
1. Infrastructure > Nodes
2. Click one or more nodes.
3. Choose a stop option.
Option
Description
Stops the nodes. Components running on the node are notified and allowed
to finish work. The components may take a few minutes to an hour to stop.
Stops the nodes. Components running on the node are notified and allowed
to perform clean up operations such as closing connections. The components
typically take a few seconds to stop.
Stops the nodes. Supported only for nodes running on a host of type TIBCO
Host. Components running on the node are not notified before the node
is stopped.
CLI
Procedure
1. In the data file, specify an Environment and one or more Node definitions in base format. You can also
use a data file previously used to create the nodes in which the nodes are specified in full format.
<Environment name="DevEnvironment"
<Node name="node1"/>
<Node name="node2"/>
</Environment>
2. In the build file, set the action attribute of the AMXAdminTask element to stop, the options attribute to
nothing, immediate, or terminate, and the objectSelector attribute to Environment/Node.
<AMXAdminTask action="stop" objectSelector="Environment/Node" />
110 | Nodes
Deleting Nodes
You can delete a node from the GUI or by using the CLI
GUI
Procedure
1. Infrastructure > Nodes
2. In the Nodes list, click one or more nodes.
3. Choose a delete option.
Option
Delete
Procedure
Force Delete
CLI
Procedure
1. from conref_source/t_first_step_for_cli_tasks
2. In the data file, specify an Environment and one or more Node definitions in base format. You can also
use a data file previously used to create the nodes in which the nodes are specified in full format.
<Environment name="DevEnvironment"
<Node name="node1"/>
<Node name="node2"/>
</Environment>
3. In the build file, set the action attribute of the AMXAdminTask element to delete and the objectSelector
attribute to Environment/Node. To perform a force delete, specify the force="true" attribute.
<AMXAdminTask action="delete" objectSelector="Environment/Node" />
Nodes | 111
Related Topics
Retrieving Log Files for Hosts and Nodes from Administrator on page 87
You can retrieve log files for a host or a node using the diagnostics tool from the Administrator.
Diagnostics on page 86
The TIBCO ActiveMatrix diagnostic tools help extract various types of information from a host or
node in order to optimize performance and troubleshoot issues quickly. Diagnostic tools are available
from the Administrator UI, and as TIBCO host shell commands.
112 | Nodes
References
The topics in this section provide detailed references to elements in the User Interface and CLI.
Property
attributeList</Node>
Description
Name
The name of the node. The name must start with a letter
and can contain letters, digits, dot, dash, and underscore.
Contact
Contact information.
Modified
By
RO
RO
Modified
On
RO
RO
Host
Startup
Mode
Version
Description
Description
Name
Type
Nodes | 113
Column
Description
Version
Status
Logging Configurations
Table 13: Logging Configuration: Basic and Advanced Mode
Property
Description
Logger Name
Log Level
Additivity
One of:
true Log messages are passed to the parent logging
configuration.
false Log messages are not passed to the parent
logging configuration.
Appender
(FileAppender,
JmsAppender)
Debuggers
Property
Required? Editable?
Accepts
SVars?
Description
Type
114 | Nodes
Property
Required? Editable?
Accepts
SVars?
Description
Platform Debugger - supports debugging composite
applications. Implemented as a composite
application that runs on the node.
State
Synchronization Y
Property
Name
Property Value Y
JVM Configuration
This link is displayed only if the node is associated with a TIBCO host.
Property
Max Heap N
Size (MB)
Java
Thread
Stack Size
(KB)
Description
The maximum size of the heap for the JVM. If Max Heap
Size is specified -Xmx Max Heap Size m is appended to
the JVM argument string.
The size of the Java thread stack. If a Java thread stack size
is specified the string -Xss Java Thread Stack Size k
is appended to the JVM argument string.
Enable
JVM
Security
Manager
General
Args
Properties N
JVM
RO
Argument
String
RO
Nodes | 115
Tuning
A node supports resource instances as JCA resource adapters. Resource adapters can dispatch runnable jobs
to the JCA work manager which internally uses a JCA thread pool to execute the jobs. There is one JCA thread
pool per node and all resource adapters use same thread pool to dispatch their jobs. Currently only the JMS
resource adapter is using this thread pool for its job execution.
Property
Core Pool N
Size
Description
When a new task is submitted and fewer than Core Pool
Size threads are running, a new thread is created to handle
the request, even if other threads are idle. If there are greater
than Core Pool Size but fewer than Max Pool Size threads
running, a new thread is created only if no threads are idle.
Must be greater than or equal to zero.
Default: 2. Two threads are used to service one request: one
for receiving the request and one for receiving the response.
Max Pool
Size
Keep
Alive
Time (s)
Required? Editable?
Description
Substitution
Variable Name
Type
Description
Local Value
116 | Nodes
Description
Instance Name
Type
Template Name
The name of the resource template from which the instance was created.
Instance State
Synchronized
Indicates whether the resource instance runtime matches the node's configuration in
the Administrator database.
Node Name
Action History
The outcome of the last action performed with the intent of affecting the runtime state.
Nodes | 117
118 | Nodes
The correct privileges are described by Oracle documentation as follows: The recover method requires
SELECT privilege on DBA_PENDING_TRANSACTIONS and EXECUTE privilege on SYS.DBMS_XA in
Oracle database server. For database versions prior to Oracle Database 11g Release 1 (11.1), where an Oracle
patch including a fix for bug 5945463 is not available or it is infeasible to apply the patch for the particular
application scenario, the recover method further requires EXECUTE privilege on SYS.DBMS_SYSTEM in
Oracle database. To grant the privileges, execute following SQL statements as the "sys" user:
GRANT SELECT ON sys.dba_pending_transactions TO
GRANT EXECUTE ON sys.dbms_xa TO user
user
Description
amf.node.txlogdir
amf.node.txlogsize
The maximum size of the log file, in KB. The minimum value that can be specified
is 20.
Default value: 10240
amf.node.txlognum
The number of log files. The minimum value that can be specified is 2.
Default value: 5
If the properties amf.node.txlogsize and amf.node.txlognum are not specified, the default values are
used.
At startup a file howl.properties is created in the logs directory. This file contains the values of the
amf.node.txlogsize and amf.node.txlognum properties that the log was configured with. This file
should not be modified.
If you attempt to start a node using values other than those specified in the howl.properties file, the
node is started using the using values specified in the howl.properties file. Additionally a warning
message is written to the log file recommending that you should first archive and the delete the log files
before attempting to change the configuration. See Deleting HOWL Logs on page 118 for more information.
Chapter
7
Applications
TIBCO ActiveMatrix SOA applications assume different forms in different phases of the application life cycle. The
cycle consists of a design phase, an administration phase, and a runtime phase.
In the design phase a TIBCO ActiveMatrix SOA application consists of one or more composites. Each application
has a root composite. A composite contains components, services, references, and properties. The components,
services, and references depend on custom features and resources. Services, references, and properties promoted
to the root composite comprise the public interface of the application.
The output of the design phase is a distributed application archive (DAA). A DAA contains features and an
application template, which consists of the root composite and a set of related configuration files:
Nested composites
Resource templates
WSDL files and
Substitution variable files
In the administration phase, you create an application by instantiating an application template. The product installer
adds product application templates to Administrator. When you upload a DAA file to Administrator, Administrator
extracts the application template and (optionally) the features and resource templates.
The following figure illustrates the application artifacts across the application life cycle.
120 | Applications
Topics
Creating an Application
Distributing an Application
Application Dependencies
Deploying Applications
Undeploying Applications
Starting Applications
Stopping Applications
Deleting Applications
Editing an Application
Applications | 121
122 | Applications
Creating an Application
You create an application from the GUI or the CLI. You can specify the application's distribution, configure
properties, substitution variables, features, wire services and references, and create bindings.
GUI
About this task
The New Application wizard allows you to create an application.
Procedure
1. In the Applications tab, click New New Application.
The New Application wizard displays.
2. Create an application from a DAA or EAR file or an application template.
DAA or EAR file
1. Click the Browse button.
2. Navigate to a folder containing a DAA and double-click the DAA file.
Application template
1. Select one of the displayed application template. Optionally type a string in the Search text box and
click
Applications | 123
124 | Applications
CLI
Before you begin
The application template and environment must already exist in the enterprise.
Procedure
1. In the data file, specify an Application element in full format.
Distribution
Data Object
Manual
Product
Application
Specify the target application when creating the application or it will default to
manual distribution.
The target application cannot be changed at a later time
2. In the build file set the action attribute of the AMXAdminTask element to add and the objectSelector
attribute to Environment/Application.
<AMXAdminTask action="add" objectSelector="Environment/Application" />
Applications | 125
Distributing an Application
About this task
Applies only to applications created with a Manual distribution mode. An application must be distributed
before it can be deployed. You can change the distribution at any time and apply the change by re-deploying
the application.
The allowable nodes are those in the same environment as the application.
GUI
Procedure
1. Click Applications button.
2. In the Applications list, click an application.
3. Click the Distribution tab.
4.
Select a node from the Available Nodes list and click
5. Click Save.
CLI
Procedure
1. In the data file, specify Application and Node elements in base or full format. You can distribute the entire
application to a set of nodes using what is described. However, you can also distribute pieces of an
application to one or more nodes. These can be components, promoted service bindings, promoted reference
bindings or logical nodes. For components, they can be either composite type components or runtime
components.
<Application xsi:type="amxdata:Application" name="testApp">
<Node name="node1" environmentName="DevEnvironment" />
</Application>
2. In the build file, set the action attribute of the AMXAdminTask element to add and the objectSelector
attribute to */Application.
<AMXAdminTask action="add" objectSelector="*/Application" />
126 | Applications
Application Dependencies
Interdependency is the natural consequence of a model in which applications are constructed from
interconnected services. In TIBCO ActiveMatrix, interdependency manifests at several levels. Within an
application, component references depend on services provided by other components. At the application
level, promoted references depend on promoted services provided by other applications. Service dependencies
can be satisfied even if the interdependent components and applications are deployed to different nodes.
In TIBCO ActiveMatrix, applications have other types of dependencies besides service dependencies.
Components are dependent on the custom features that contain the component implementations. Applications
can depend on product applications that extend the functionality of the TIBCO ActiveMatrix platform. In
addition, applications can also depend on extensions to product applications provided by user-supplied
applications. That is, application A can depend on application P, a product application and application E, a
user-supplied extension application. Applications can have properties that depend on resource instances.
Dependencies affect the life cycles of interdependent applications. For example, when an application A is
dependent on application B, all life cycle operations performed on application B affect the availability of
services provided by application A. If application B is stopped, application A cannot service its clients even
if it continues to run.
Service, feature, application, and resource dependencies are tracked and managed within Administrator.
When you perform life cycle operations (create, delete, deploy, stop, and start) on an application or node,
Administrator examines the application's dependencies and performs actions to ensure that the dependencies
are satisfied. The specific actions depend on the types of the dependency:
Service - When you start or stop an application or node, Administrator ensures that applications providing
required services are started before and stopped after the dependent application is started or stopped.
Feature - When you deploy an application, Administrator automatically installs required features on any
nodes to which the application's components are distributed. If a required feature is not packaged with
the application you must upload it before you deploy the application.
Application - When you perform any life cycle operations, Administrator evaluates dependencies before
invoking the operation. Administrator notifies you which dependencies and other applications are affected
by the operation and allows you to specify how to resolve the dependencies.
Resource instance - When you deploy an application, Administrator reports a deployment failure for each
node lacking a required resource instance. You must install any required resource instances before you
deploy the application.
Applications | 127
Deploying Applications
You can deploy an application from the GUI for from the CLI. The GUI allows you to deploy with or without
starting the application. You can also select other deploy options.
About this task
ActiveMatrix components and bindings depend on functionality provided by ActiveMatrix product
applications. The ActiveMatrix platform product application installed on every node supports components
and SOAP and JMS bindings. Before deploying an application containing any other type of component or
binding on a node, an instance of the product application template that supports that component or binding
is automatically deployed on that node. For Mediation components, the product application name is TIBCO
ActiveMatrix Mediation Implementation Type Application and the product application template name is
TIBCO ActiveMatrix Mediation Implementation Type Application Template. For all other component and
binding types, see the documentation for the component and binding type for whether a product application
is needed and for the name of the required product application template.
The required driver must be provisioned using TCT before deploying the application.
GUI
Procedure
1. Click the Applications button.
2. In the Applications list, click one or more applications.
3. Choose a deploy option.
Option
Procedure
Deploy Deploy with Start 1.
Dependencies on target
product applications are
checked.
2.
128 | Applications
Option
Procedure
or if after clicking Deploy you get an error that says that because the
node is running in stable mode, it cannot accept the deployment of
the application.
Force Deploy - Dependencies on target product applications are not
checked and validation errors ignored. May result in broken
applications and should be used with caution.
3. Click Deploy to deploy the application or Cancel to cancel the
deployment.
Results
The applications are deployed and if auto-provisioning is enabled, those applications that provide
implementation or binding types to the applications being deployed are also automatically deployed to the
target nodes.
CLI
Procedure
1. In the data file, specify Environment and Application elements in base format. Drivers required for the
application resource instances can be specified inside the <Application> element in the data.xml file.
<Environment xsi:type="amxdata:Environment" name="envName" >
<Application xsi:type="amxdata:Application" name="test.app1" contact="TIBCO
description="Test application with imported resource template which requires a driver feature"
importResourceTemplates="true" resourceTemplatesScope="Application">
Inc."
2. In the build file, set the action attribute of the AMXAdminTask element set to deploy and the
objectSelector attribute to Environment/Application. To deploy without starting the application,
specify the options attribute and set the value to nostart.
<target name="deploy.app">
<AMXAdminTask
remote="true"
propsFile="${instance.properties.file}"
action="deploy"
dataFile="${basedir}/cli_data.xml"
objectSelector="Environment//Application"
overwrite="true"
merge="true"
createIfNotExists="true"
force="false"
failOnError="true"
options="auto-resolve-driver"/>
</target>
Applications | 129
Undeploying Applications
You can undeploy an application from the GUI or by using the CLI. When you undeploy an application, the
system queues the request and applies it to components as they become available. During undeployment,
dependencies are taken into account to allow processing to clean up before removing components and
bindings.
GUI
Procedure
1. Click the Applications button.
2. In the Applications list, click one or more applications.
3. Choose an undeploy option.
Option
Procedure
Undeploy
Dependencies on
target product
applications are
checked.
Force Undeploy
Dependencies on
target product
applications are not
checked.
More undeploy
options
130 | Applications
Option
Procedure
Force Undeploy - Dependencies on target product applications are not
checked.
Components in the selected applications are allowed to perform clean up
operations. In rare cases, a component may hang while performing its
cleanup. When that happens a node that becomes unusable might need to
be restarted. If a component stores information in a database or file, that
data may remain after a force undeploy and must be cleaned up manually.
3. Click Undeploy to undeploy the application or Cancel to cancel the
undeployment process.
CLI
Procedure
1. In the data file, specify Environment and Application elements in base format. Drivers required for the
application resource instances can be specified inside the <Application> element in the data.xml file.
<Environment xsi:type="amxdata:Environment" name="envName" >
<Application xsi:type="amxdata:Application" name="test.app1" contact="TIBCO
description="Test application with imported resource template which requires a driver feature"
importResourceTemplates="true" resourceTemplatesScope="Application">
Inc."
2. In the build file, set the action attribute of the AMXAdminTask element to undeploy and the objectSelector
attribute to Environment/Application. To perform a force undeploy, specify the -force option.
<AMXAdminTask action="undeploy" objectSelector="Environment/Application" [-force] />
Applications | 131
Starting Applications
You can start applications from the GUI or by using the CLI. If the application starts successfully, the runtime
state changes to Running.
GUI
Procedure
1. Click the Applications button.
2. In the Applications list, click one or more applications.
3. Click the Start button.
If there are target applications, the Application Dependencies to Start dialog displays.
4. Check the checkboxes next to the target applications to start.
5. Click Start.
The target applications are started and the selected applications are started after the target applications
are running. The Runtime State of the selected applications changes to Starting.
6. Click the Refresh button until the Runtime State changes to Running.
Results
The selected applications and target applications are started.
CLI
Procedure
1.
2. In the data file, specify Environment and Application elements in base format. Drivers required for the
application resource instances can be specified inside the <Application> element in the data.xml file.
<Environment xsi:type="amxdata:Environment" name="envName" >
<Application xsi:type="amxdata:Application" name="test.app1" contact="TIBCO
description="Test application with imported resource template which requires a driver feature"
importResourceTemplates="true" resourceTemplatesScope="Application">
Inc."
3. In the build file set the action attribute of the AMXAdminTask element to start and the objectSelector
attribute to Environment/Application.
<AMXAdminTask action="start" objectSelector="Environment/Application" />
132 | Applications
Stopping Applications
You can stop applications from the Administrator GUI or by using the CLI. If you are using the GUI, you
can choose the Stop Immediately options to have the application exit right away without cleanup.
GUI
Procedure
1. Click the Applications button.
2. In the Applications list, click one or more applications.
3. Choose a stop option.
Option
Procedure
Stop
Allows applications to complete processing before
shutting down.
CLI
Procedure
1. In the data file, specify Environment and Application elements in base format. Drivers required for the
application resource instances can be specified inside the <Application> element in the data.xml file.
<Environment xsi:type="amxdata:Environment" name="envName" >
<Application xsi:type="amxdata:Application" name="test.app1" contact="TIBCO
description="Test application with imported resource template which requires a driver feature"
importResourceTemplates="true" resourceTemplatesScope="Application">
Inc."
Applications | 133
driverFeatureName="com.tibco.tpcl.gen.oracle.jdbc.feature" driverFeatureVersion="11.2.100.001"/>
</Application>
</Environment>
2. In the build file, set the action attribute of the AMXAdminTask element to stop, the options attribute to
immediate and the objectSelector attribute to Environment/Application.
<AMXAdminTask action="stop" objectSelector="Environment/Application" />
134 | Applications
Deleting Applications
You can delete applications from the Administrator GUI or by using the CLI. If you are using the Administrator
GUI, you have a Force Delete option that deletes the application regardless of its state.
GUI
Procedure
1. Click the Applications button.
2. In the Applications list, click one or more applications.
3. Choose a delete option.
Option
Delete
Deletes the application if the application is not deployed
and no order application depends on it.
Description
1. Do one of the following:
Click Delete.
Delete Delete.
2. If there are target applications, the
Application Dependencies to Delete dialog
displays.
3. Check the checkboxes next to the target
applications to delete.
4. Click Delete.
Force Delete
CLI
Procedure
1. In the data file, specify Environment and Application elements in base format. Drivers required for the
application resource instances can be specified inside the <Application> element in the data.xml file.
<Environment xsi:type="amxdata:Environment" name="envName" >
<Application xsi:type="amxdata:Application" name="test.app1" contact="TIBCO
description="Test application with imported resource template which requires a driver feature"
importResourceTemplates="true" resourceTemplatesScope="Application">
Inc."
Applications | 135
<Driver resourceTemplateName="OracleResourceTemplate"
driverFeatureName="com.tibco.tpcl.gen.oracle.jdbc.feature" driverFeatureVersion="11.2.100.001"/>
</Application>
</Environment>
2. In the build file, set the action attribute of the AMXAdminTask element to delete and the objectSelector
attribute to Environment/Application. To perform a force delete, add the -force option.
<AMXAdminTask action="delete" objectSelector="Environment/Application" [-force] />
136 | Applications
Editing an Application
GUI
Procedure
1. Click Applications.
2. Select an application from the displayed list.
The application details display.
3. Edit the properties according to Application General Reference on page 143.
4. Click the Configuration, Properties, Substitution Variables, Resource Instances, Status tabs for other
editable information.
5. Click Save.
Upgrading an Application
You upgrade an application from the GUI or the CLI.
Before you begin
The application template version to which the application is upgraded must exist in the Administrator
software repository or you must upload a DAA containing the new template.
GUI
Procedure
1. Click Applications and click an application from the list. .
2. If the new template does not exist in the repository, in the General tab click Upload DAA or EAR to upload
a DAA containing a new version of the application.
The Upload DAA or EAR dialog displays.
3. Click Browse to navigate to a DAA file.
a) Navigate to a directory containing the DAA file.
b) Click the DAA file.
c) Click Open.
The DAA is validated.
4. If the DAA is not uploaded click the More details link to see the errors.
5. After you have resolved any errors, select the features to import and click Save.
A dialog box displays the effects of updating the application template to the new version.
6. Choose an action based on whether you want to continue the process of upgrading the application.
Save - Continues the process of upgrading the application.
Cancel - Does not upload the new version of the application template.
Click Print Preview to print the displayed information.
7. Click Deploy.
The application will be upgraded on all the nodes where it was deployed.
For information on selecting nodes to deploy the upgraded application, see Upgrading an Application
across Nodes on page 138.
Applications | 137
While upgrading an application, resource templates will be imported at the same scope where the
resource templates were first imported during initial application creation. Moreover, an existing
resource template will not be overwritten. Only new resource templates will be created at the
specified scope.
CLI
Procedure
1. In the data file, specify an application element in full format.
Distribution
Data Object
Manual
Product
Application
Specify the target application when creating the application or it will default to manual
distribution.
The target application cannot be changed at a later time
If you set the property importResourceTemplates="true" then resource templates will be imported. If
the property is not set, or set to importResourceTemplates="false", then resource templates will not
be imported.
You can also import specific resource templates by using
<ImportResourceTemplateName>RT_Name</ImportResourceTemplateNames>
2. In the build file set the action attribute of the AMXAdminTask element to upgrade and the objectSelector
attribute to Environment/Application. In the build file set the action attribute of the AMXAdminTask
element to deploy and the objectSelector attribute to Environment/Application.
<AMXAdminTask action="upgrade" objectSelector="Environment/Application" />
Results
The application is upgraded.
When upgrading an application, the upgrade process waits for the previous version of the application to be
first undeployed. In cases where you do not want this selective polling where the upgrade process waits for
the previous version to undeploy, use the disableSelectivePolling option.
138 | Applications
Applications | 139
140 | Applications
Applications | 141
142 | Applications
Applications | 143
References
The topics in this section provide detailed references to elements in the User Interface and CLI.
Applications Reference
You can view the application name, state, last deployment date, and other attributes in the Administrator
GUI.
Column
Description
Name
Application State
The runtime state of the application. The application state is a roll up of the
state of its constituent components and bindings.
For details, see Runtime States on page 35
Last Deployed On
Synchronization
Indicates whether the runtime has the latest configuration for the application.
Action History
The outcome of the last action performed with the intent of affecting the runtime
state.
The action history does not reflect the component state of ActiveMatrix
Implementation Type for TIBCO Adapters .
Required? Editable?
Description
Name
Y (if the
The name of the application.
application is
undeployed)
Contact
Description
Modified By
RO
RO
Modified On
RO
RO
The date and time that the application was last modified.
Last Deployed
By
RO
RO
144 | Applications
Property
Required? Editable?
Description
Last Deployed
On
RO
RO
The date and time that the application was last deployed.
Application
Template Name
Application
Template
Version
Application
Template ID
Distribution
Policy
Product
Application
Binding Status
Shows the status of bindings on a particular node.
Column
Description
Binding Path
Identifies the binding with the name and the path of nested components for the component
with which the binding is associated. The type of binding (direction, service or reference,
and whether the binding is intermediate) is indicated by the value in parenthesis. Values
are often too long to be completely visible. Hovering over the name shows a tooltip that
displays the full name.
Node Name
The node on which the binding is running. If the binding is distributed to multiple nodes,
there will be a row in the table for each node. The binding path will be the same, but the
node name differentiates them.
Binding State
Action History
Applications | 145
Component Status
Column
Description
Component Path The set of nested composites containing the component separated by forward slashes
followed by the component name, an underscore, and the component version.
Node Name
Component
State
Action History
Description
Add Binding
Click this button to add a binding for a reference. Configure properties according to
Manual Binding Reference on page 153.
Edit Binding
Delete Binding
Switch to
Binding
Logging Configuration
You can either use the node's logging configuration or create a new logging configuration.
To create a new logging configuration
1. Uncheck the checkbox for Use node's logging configuration
2. Refer Creating a Logging Configuration for a Host or a Node on page 340 for information on creating a
logging configuration.
Table 15: Logging Configuration: Basic and Advanced Mode
Property
Description
Logger Name
146 | Applications
Property
Description
the source code or the name of the package in which
the source code is contained.
Log Level
Additivity
One of:
true Log messages are passed to the parent logging
configuration.
false Log messages are not passed to the parent
logging configuration.
Appender
(FileAppender,
JmsAppender)
Required? Editable?
Description
Substitution
Variable Name
Type
Description
Local Value
Applications | 147
Use the Application Fragment Substitution Variables link to configure different values for this application
on different nodes.
Property
Required?
Editable?
Description
Substitution
Variable
Name
Node Name
Type
Description
Local Value
148 | Applications
Application Folders
Application folders allow to you organize your applications.
When you create an application you can optionally choose a folder in which to store the application. If you
do not choose a folder, the application is stored in the root folder. Permissions assigned to a folder are inherited
by all applications contained within the folder.
Each environment contains a System folder. This folder contains TIBCO product applications. Do not create
user applications in this folder.
Creating a Folder
You can create an application folder from the GUI or by using the CLI.
GUI
Procedure
1. Click New > New Application Folder .
The New Folder dialog displays.
2. Type a folder name and an optional description, and click Save. Folder names should be unique within
an environment.
The application folder is created at the same level as the System folder.
3. To create the folder at another level
a) Select the folder where in the tree view of the folder names select the folder and click New.
b) Type a folder name and an optional description, and click Save.
The folder is created at the selected
CLI
Procedure
1. In the data file, specify an ApplicationFolder element in full format.
<Environment xsi:type="amxdata:Environment" name="MyEnvironment" description="My
environment">
<ApplicationFolder xsi:type="amxdata:ApplicationFolder" name="FolderA"
description="description for FolderA">
...
</ApplicationFolder>
...
2. In the build file set the action attribute of the AMXAdminTask element to add and the objectSelector
attribute to Environment/ApplicationFolder.
<AMXAdminTask action="add" objectSelector="Environment/ApplicationFolder" />
Applications | 149
Renaming a Folder
You can rename a folder from the GUI or by using the CLI.
GUI
Procedure
1.
2.
3.
4.
Click Applications.
Select an environment from the Environment drop-down list.
In Applications list, select an application folder.
Edit the Folder Name and, optionally, the Description and click Save.
CLI
Procedure
1. In the data file, specify an ApplicationFolder element in full format.
<Environment xsi:type="amxdata:Environment" name="MyEnvironment" description="My
environment">
<ApplicationFolder xsi:type="amxdata:ApplicationFolder" name="MyApp"
newName="MyAppNew">
...
</ApplicationFolder>
...
2. In the build file set the action attribute of the AMXAdminTask element to rename and the objectSelector
attribute to Environment/Application.
<AMXAdminTask action="rename" objectSelector="Environment/ApplicationFolder" />
Deleting a Folder
You can delete a folder from the GUI or by using the CLI. When you delete a folder, any subfolders and
undeployed applications are deleted. If the folder contains any deployed application, the folder is not deleted.
GUI
Procedure
1.
2.
3.
4.
Click Applications.
Select an environment from the Environment drop-down list.
In Applications list, select an application folder and click Delete.
Click OK.
Results
CLI
Procedure
1. In the data file, specify an ApplicationFolder element in full format.
<Environment xsi:type="amxdata:Environment" name="MyEnvironment" description="My
environment">
<ApplicationFolder xsi:type="amxdata:ApplicationFolder" name="MyFolder">
...
150 | Applications
</ApplicationFolder>
...
2. In the build file set the action attribute of the AMXAdminTask element to delete and the objectSelector
attribute to Environment/Application.
<AMXAdminTask action="delete" objectSelector="Environment/ApplicationFolder" />
Click Applications.
Select an environment from the Environment drop-down list.
In Applications list, select an application folder and click Move .
Select the folder where you want to move the application and click Save.
The application is added to the specified folder.
CLI
Procedure
1. In the data file, specify an ApplicationFolder element in full format.
<Environment xsi:type="amxdata:Environment" name="MyEnvironment" description="My
environment">
<ApplicationFolder xsi:type="amxdata:ApplicationFolder" name="MyApp">
<TargetFolder path="/folderOne/"/>
...
</ApplicationFolder>
...
2. In the build file set the action attribute of the AMXAdminTask element to add and the objectSelector
attribute to Environment/Application.
<AMXAdminTask action="move" objectSelector="Environment/ApplicationFolder" />
Applications | 151
152 | Applications
Click Applications.
Expand the application node and select a reference.
Click the Configuration tab.
Click the Bindings link.
The binding details display.
5. To configure the binding, select one of the following options
Manual Binding - click the Edit link to manually create a service binding and to wire to that binding.
The Edit Bindings dialog displays. Configure properties according to Manual Binding Reference on
page 153.
Wire to Binding - click the Edit link to wire the reference to an existing service.
The Target Service dialog displays. Configure properties according to Wire to Binding Reference on
page 180.
None - select this option If the reference has no binding.
6. Click Save.
Applications | 153
Procedure
1.
2.
3.
4.
Click Applications.
Click an application.
Expand the application node and select a service.
In the pane on the right, click New.
A row is added to the Environment Promoted Service Name table.
5. Type a name for the environment level service. Click Save.
A single service can be promoted to multiple names at the environment level.
Click Applications.
Click an application.
Expand the application node and select a reference.
In the pane on the right, click New.
A row is added to the Environment Promoted Reference Name table.
5. Type a name for the environment level reference. Click Save.
References
The topics in this section provide detailed references to elements in the User Interface and CLI.
Reference Details Reference
Property
Description
Source Component
Name
RO
RO
Source Component
Reference Name
RO
RO
Interface
RO
RO
MEP
RO
RO
Promoted to
Environment as
Wired by
Implementation
RO
RO
Required?
Editable?
Description
Name
154 | Applications
Field
Required?
Editable?
Description
Type
Transport Type
SOAP Version
HTTP Client
Configuration
Enable WS-Addressing
Connector Name
Endpoint URI
HTTP
The HTTP Client resource template represents
an outgoing HTTP connection.
JMS
Binding Specification
JMS - Inbound
Acknowledge Mode
Reply Destination
JMS Destination
JMS-Outbound
Applications | 155
Field
Required?
Editable?
Description
Non-Persistent Messages are not stored and
may be lost due to failure.
Default: Persistent.
Message Priority
Message Expiration
Correlation Scheme
Bindings
A binding specifies how communication happens between a reference and a service. A service binding describes
the mechanism a client uses to access a service. A reference binding describes the access mechanism a reference
uses to invoke a service. References can have at most one binding.
TIBCO ActiveMatrix supports the following binding types:
Virtualization
REST
SOAP
JMS
EJB
Adapters
Virtualization bindings connect services and references to the Messaging Bus. Virtualization bindings are
automatically created for every composite service and every wired component service and reference. At
design-time, Virtualization bindings of component services and references are implicit; their properties cannot
be viewed.
There are two types of Virtualization bindings: internal and external. An internal binding is associated with
a component service or reference. An external binding is associated with a service or reference promoted to
the root composite. Administrators can create or modify wires connected to external bindings and can monitor,
start, and stop external bindings.
SOAP, EJB, Adapters, and JMS bindings are explicitly created by architects and developers only on promoted
services and references.
156 | Applications
TIBCO Business Studio and TIBCO ActiveMatrix Administrator provide the option to choose between
TIBCO's SOAP/JMS and W3C SOAP/JMS on SOAP binding type and a target service while adding
a binding to a service.
Figure 8: Bindings on page 156 illustrates the different types of bindings. In the figure, bindings are indicated
by a icon. The promoted service HelloWorldPT has a SOAP and external Virtualization binding. The
components have internal Virtualization bindings. The promoted reference DateManagerPT has a SOAP
binding. In addition, any time a service or reference has a binding of type other than Virtualization, a pair
of proxy (Virtualization) bindings are created to connect the service or reference to the component to which
the service or reference service is wired.
Figure 8: Bindings
SOAP Bindings
SOAP bindings serve as a gateway for inbound and outbound SOAP messages. SOAP bindings expose
endpoints that accept requests from SOAP consumers and allow composites to invoke external SOAP providers.
SOAP bindings support the following features:
SOAP 1.1 and SOAP 1.2 specifications.
Encoding: Document-literal and RPC-literal
Message exchange patterns: one-way, request-response, and fault
Changing of endpoint URI for SOAP-HTTP reference from Administrator UI and command-line interface.
HTTP and JMS transport
SOAP headers
WS-Addressing on page 162
WS-Reliable Messaging on page 166
If you change the order of operations in the WSDL interface of a service or reference you must recreate
all SOAP bindings associated with the service or reference.
Applications | 157
Click Applications.
Click an application.
Click the General tab.
In the View drop-down list, select Currently Deployed. Choose an object and follow the appropriate
procedure:
Object
Procedure
Application
1. Click an application
in the tree-list.
2. In the Status tab, click Binding Status tab.
3. In the table, click a row containing a binding path and node name.
Binding
Service
1.
2.
3.
4.
What to do next
When the WSDL is generated, a machine name 0.0.0.0 is embedded in the SOAP address element. For
example,<soap:address location="http://0.0.0.0:9091/helloWorldPT/"/>.
The machine name should be updated before using the WSDL.
158 | Applications
Required? Editable?
Description
Name
Required? Editable?
Description
Description N
SOAP
Version
Default: 1.1.
Applications | 159
Field
Required? Editable?
Description
Style
Default: Document.
Encoding
The encoding type for the body of the SOAP input and output
messages. Set to Literal.
Target
N
NameSpace
The target namespace for a concrete WSDL file for the service.
Required? Editable?
Description
HTTP
Transport
Type
Endpoint URI Y
Connector
Name
Session
Inactivity
Timeout (s)
JMS
Transport
Type
Message
Type
Binding
Y
Specification
JMS
Connection
Factory
160 | Applications
Field
Required? Editable?
Description
JMS
Destination
Delivery
Mode
Message
Priority
Message
Expiration
The length of time a message can remain active. 0 means that the
message does not expire.
Default: 0.
Correlation
Scheme
Required? Editable?
Description
Transport
Type
Y (while
adding the
binding)
N (while
editing the
binding)
Applications | 161
Field
Required? Editable?
Description
SOAP
Version
N (display N
only field
while
editing)
HTTP
Substitution variables are supported only for Endpoint URI Filespec.
HTTP Client Y
Configuration
Endpoint
URI
Enable
N
WS-Addressing
Connector
Name
JMS
Binding
Y
Specification
Reply
Destination
JMS
Destination
A JMS destination.
Only queues are supported for SOAP/JMS. Topics are not
supported.
162 | Applications
Field
Required? Editable?
Description
Delivery
Mode
Default: Persistent.
Message
Priority
Message
Expiration
The length of time a message can remain active. 0 means that the
message does not expire.
Default: 0.
Correlation
Scheme
Required? Editable?
Description
Style
Default: Document.
Encoding
The encoding type for the body of the SOAP input and output
messages. Set to Literal.
The following displays only when you expand the Operation node and click on INPUT/OUTPUT:
Table 21: Part List in the Input/Output Message Node
Field
Description
Part Name
Part Type
WS-Addressing
You can use WS-Addressing to specify message destinations and other information that is not part of the
SOAP protocol.
The SOAP protocol does not provide a standard way to specify message destination, where to return a
response, or how to report an error. Traditionally these details have usually been handled by the transport
layer. For example, when a SOAP request is sent over HTTP, the URI of the HTTP request determines the
message's destination. The message response is packaged in the HTTP response and received by the client
over the HTTP connection. When a SOAP request message is sent asynchronously through JMS, a destination
TIBCO ActiveMatrix Service Bus Administration
Applications | 163
for responses might be specified in the JMS message headers, incorporated into the message body, or left up
to the service implementation.
The WS-Addressing specifications provide a uniform method for incorporating delivery, reply-to, and fault
handler addressing information into a SOAP envelope. WS-Addressing defines two constructs that convey
such addressing information: endpoint references and message addressing properties.
Endpoint References
An endpoint reference conveys the information needed to identify a Web service endpoint, but are also used
to provide addresses for individual messages sent to and from Web services. An endpoint reference contains
an address (a URI), reference parameters, and metadata.
For details on endpoint references, refer to the WS-Addressing Core Specification. For information on
WS-Addressing, see Composite Development.
Schema
The schema of an endpoint reference is described in Web Services Addressing 1.0 - Core: Endpoint Reference
XML Infoset Representation.
URIs
The only required element of an endpoint reference is the address; the other elements are optional. Thus, the
simplest endpoint reference is a URI:
<wsa:Address>
http://localhost:9090/axis2/services/billing_service
</wsa:Address>
URI Format
Virtualization
SOAP/HTTP
scheme://hostname:port/filespec/
SOAP/JMS
Reference Parameters
A reference parameter is associated with an endpoint to facilitate a particular interaction. The binding of
reference parameters to messages depends upon the protocol binding used to interact with the endpoint.
Web Services Addressing 1.0 - SOAP Binding describes the default binding for the SOAP protocol.
Metadata
Endpoint reference metadata describes the behavior, policies, and capabilities of the endpoint. Metadata may
be included in an endpoint reference to facilitate easier processing by a user of an endpoint reference, or
because the metadata was dynamically generated.
Example
<wsa:EndpointReference
xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:wsaw="http://www.w3.org/2006/02/addressing/wsdl"
xmlns:fabrikam="http://example.com/fabrikam"
xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"
wsdli:wsdlLocation="http://example.com/fabrikam
http://example.com/fabrikam/fabrikam.wsdl">
164 | Applications
<wsa:Address>http://example.com/fabrikam/acct</wsa:Address>
<wsa:Metadata>
<wsaw:InterfaceName>fabrikam:Inventory</wsaw:InterfaceName>
</wsa:Metadata>
<wsa:ReferenceParameters>
<fabrikam:CustomerKey>123456789</fabrikam:CustomerKey>
<fabrikam:ShoppingCart>ABCDEFG</fabrikam:ShoppingCart>
</wsa:ReferenceParameters>
</wsa:EndpointReference>
Description
[Code]
[Subcode] or
[Subsubcode]
[Details]
The detail element. If absent, no detail element is defined for the fault.
Applications | 165
If this header is set but is invalid, the SOAP binding returns a fault message with the details:
<ProblemAction xmlns="http://www.w3.org/2005/08/addressing">
<Action>invalidAction</Action>
</ProblemAction>
/wsa:To
Missing /wsa:To
The value of the [destination] property is set to http://www.w3c.org/2005/08/addressing/anonymous.
Missing Both /wsa:Action and /wsa:To
The SOAP binding returns a fault message with the details:
<ProblemAction xmlns="http://www.w3.org/2005/08/addressing">
<Action>NULL</Action>
</ProblemAction>
/wsa:ReplyTo
Missing /wsa:ReplyTo
The [address] property of the [reply endpoint] is set to
http://www.w3c.org/2005/08/addressing/anonymous. If this element is missing or invalid, the SOAP
container synchronously returns a response message to the client with WS-Addressing header populated.
Missing /wsa:ReplyTo/Addressing
If /wsa:ReplyTo element is present, but is missing the required address subelement, the SOAP container
returns a fault message with subcode=InvalidAddressingHeader and subsubcode=MissingAddressInEPR.
The [action] property is set to http://www.w3.org./2005/08/addressing/soap/fault.
/wsa:FaultTo
Missing /wsa:FaultTo
If the reply is a fault message the [reply endpoint] property is used.
Missing Both /wsa:FaultTo and /wsa:ReplyTo
The response is sent back to the client directly. The [action] property is set to
http://www.w3.org./2005/08/addressing/soap/fault.
Missing /wsa:FaultTo/Addressing
If the /wsa:FaultTo element is present, but is missing the required Address subelement, the SOAP container
returns a fault message with subcode InvalidAddressingHeader and subsubcode=MissingAddressInEPR.
The [action] property is set to http://www.w3.org./2005/08/addressing/soap/fault.
Missing /wsa:MessageID
The SOAP container returns a fault message with subcode=MessageAddressingHeaderRequired.
166 | Applications
Default Association
If neither the Action elements or soapAction attribute is specified, the [action] property value is constructed
as follows:
Input and output messages
targetnamespace/porttypename/messagename
Fault message
targetnamespace/porttypename/operationname/Fault/messagename
<?xml version="1.0" encoding="utf-8"?>
<definitions targetNamespace="http://tibco.com/defaulting ">
<portType name="Hello_PortType">
<operation name="sayHello">
<input message="SayHelloRequest"/>
<output message="SayHelloResponse" />
<fault message="InvalidMessage" name="InvalidRequest"/>
</operation>
</portType>
Input message [action] =
"http://tibco.com/defaulting/ Hello_PortType/SayHelloRequest"
Output message [action] =
"http://tibco.com/defaulting/ Hello_PortType/SayHelloResponse"
Fault message [action] =
"http://tibco.com/defaulting/Hello_PortType/ sayHello/Fault/InvalidRequest"
WS-Reliable Messaging
The OASIS Web Services Reliable Messaging 1.1 Specification describes a protocol that allows reliable message
transfer in the presence of software component, system, or network failures. The specification describes the
protocol in a transport-independent manner so it can be implemented using different network technologies.
To support interoperable Web services, a SOAP binding is defined within the specification.
The participants in reliable messaging are application source (AS), application destination (AD), reliable
message source (RMS), and reliable message destination (RMD), as shown in the following illustration.
Applications | 167
168 | Applications
Applications | 169
The following figure illustrates an example of the request and response message communication sequence
of a service and of a reference within a TIBCO ActiveMatrix component.
170 | Applications
Editable?
Accepts
Svar?
Description
Name
Description
Connection
Factory
Editable?
Destination Type Y
Accepts
Svar?
Description
Destination
Queue Name
Topic Name
Table 24: Configuration for Reply JMS message, applicable for In-Out MEP
Property
Editable?
Destination Type Y
Accepts
Svar?
N
Description
Applications | 171
Property
Editable?
Accepts
Svar?
Description
By default destination type is 'Same as Request Message'.
The 'Same as Request Message' option indicates that
the Reply Message Destination Type is same as the
Request Message Destination Type. In CLI script,
there is no such option. You must select Queue,
Topic, or JNDI.
Required MEP:
In-Out (Service, Reference)
Destination
Queue Name
Topic Name
In case of In-Out MEP even when Reply Message is configured, priority well be given to JMSReplyTo
JMS Message header and reply will be sent on the destination represented by the JMSReplyTo header
value. Clients must not set this header field when fixed reply destination is used.
Editable?
Accepts
Svar?
Description
Reply Message
NOTE: If Request or Reply message destination type is set to Queue or Topic and JMS Provider does not
support dynamic queue or topic creation or the user of provider does not have create permissions, create
a queue or topic before deploying the application.
Connection
Factory
172 | Applications
Property
Editable?
Accepts
Svar?
Correlation
Scheme
Description
Operation Selection
Type
JMS Property
Name
Error Action
Applications | 173
Property
Editable?
Accepts
Svar?
Description
particular configured operation when operation selection
fails.
Send Message To Error Queue - By selecting this action,
user can inform runtime to send the message to a
configured error queue when operation selection fails.
Retain Message in Service Destination - By selecting this
action, user can inform runtime to retain the message in
the service request destination configured in Request
Message section.
Operation Name Y
Error Queue
Name
Fault Selection
JMS Property
Name
Interface Settings
Property
Editable? Accepts
Svar?
Description
Operation Selection
Message Selector
Request Message
Message Type
174 | Applications
Property
Editable? Accepts
Svar?
Description
Default: XML Text.
Durable
Subscription
Subscription Name Y
Delivery Mode
Message Priority
Message
Expiration
Operation Timeout Y
Applications | 175
Property
Editable? Accepts
Svar?
Description
Operation Timeout is applicable for a Reference only.
For a Service, add a thread policy on a component
service and set timeout on the thread policy.
Reply Message
Message Type
Delivery Mode
Message Priority
Message
Expiration
Fault Message:
This section is visible only in JMS Binding on Promoted Service and if operation has defined faults. It is
applicable only for In-Out-Fault MEP.
Override Reply
Message
Message Type
176 | Applications
Property
Editable? Accepts
Svar?
Description
Text - A text message carrying a payload of type
xsd:string.
xmlBytes - XML content sent as bytes. (JMS resource
instances treat this type as bytes but JMS bindings expect
content in XML.)
Default: XML-Text.
Delivery Mode
Message Priority
Message
Expiration
Operation Node
Property
Editable?
Operation Settings
Name
Operation name.
Description
Operation Selection
Configurable only in JMS Binding on Promoted Service.
Message Selector Y
Request Message
Override
Y
Request Message
Applications | 177
Property
Editable?
Message Type
Durable
Subscription
Subscription
Name
Delivery Mode
Message Priority Y
Message
Expiration
Operation
Timeout
178 | Applications
Property
Editable?
Reply Message
Override Reply
Message
Message Type
Delivery Mode
Message Priority Y
Message
Expiration
Fault Message
Applications | 179
Property
Editable?
Override Fault
Message
Fault Name
Message Type
Delivery Mode
Message Priority Y
Message Expiry Y
Description
Context Parameter
Direction
180 | Applications
Property
Description
OUTPUT: Context parameter is mapped to a JMS Header parameter or JMS
Application property.
Header Source
Header Name
Shows JMS Header parameter names when JMS_Header is selected. Allows custom
property value to be set when JMS_APPLICATION_PROPERTIES is set.
Read-only? Description
Show only
Valid
When selected, only those services that are valid for the reference are displayed.
Application
Name
Service
Name
Service
Binding
Remarks
Applications | 181
Properties
A property is an externally visible data value. Properties enable object behavior to be configured at deployment
time.
A property has a type, which may be either simple or complex. Implementations, components, composites,
bindings, logging configurations and appenders, and resource templates can have properties. Implementation,
component, and composite properties are defined in TIBCO Business Studio. Binding, logging configuration
and logging appender, and resource template properties are defined by the TIBCO ActiveMatrix platform.
Properties can have explicit values or may be bound to substitution variables, which can be set at deployment
time in various scopes. Depending on the object possessing the property, the property value can be bound
at design time, deployment time, or both:
At design time you can provide default values and indicate whether a composite or component property
value must be set at deployment time.
Some properties can be bound to substitution variables.
At design time, a composite property value can be set to a constant or bound to a substitution variable. Either
type of binding can be overridden at administration time. However, only the properties of the root composite
of an application or those on bindings associated with application level services and references can be
overridden. If there are nested composites (component of type composite) then their property values cannot
be changed by an Administrator.
A composite property is specific to an application. Often the same property may be defined in more than one
application. For business reasons or ease of use an Administrator may want to define the value only once
and have it be used by more than one composite property. This is achieved by binding the composite property
to a substitution variable, which can be defined at the enterprise, host, environment, node, application, and
application fragment levels. The following figure shows a property named Greeting bound to a substitution
variable named Greeting.
A component may be deployed to more than one node and you may want to have different values passed
for a component property in every node. In such cases you would set the component property to a substitution
variable, and set the substitution variable to different values on each node.
182 | Applications
3. Click the Properties tab and click the Editable Properties link.
4. Click the plus ( ) next to a property owner.
The owner's properties and their associated values display.
5. Click a property row in the Value column.
The value is enabled for input.
6. Specify a value according to the property type.
Property Type Procedure
Simple
Resource
Instance
7. Click Save.
The property value is updated in the database.
8. Click Refresh.
The value in the Synchronization column changes to Out of Sync.
9. Click Deploy.
The property value is updated in the runtime and the Synchronization column changes to In Sync.
CLI
Procedure
1. In the data file specify a Property definition in full format. Nest the Property element under an
Application element.
<Property xsi:type="amxdata:Property" name="propertyName" value="propertyValue"/>
2. In the build file set the action attribute of the AMXAdminTask element to edit and the objectSelector
attribute to //Application/Property.
<AMXAdminTask action="edit" objectSelector="//Application/Property"/>
Applications | 183
Read-only? Description
Owner
Owner Type Y
Property
Name
Property
Type
Property
Value
Read-only? Description
Owner
Owner Type Y
Property
Name
Property
Type
Property
Value
Chapter
8
Resource Templates
A resource template specifies configuration details for resources.
One resource template can be used to configure many resource instances. Resource instances allow sharing of
resources such as connection pools. They also eliminate the need to provide such details in services, component
implementations, and references. Instead, you specify a property of the type of required resource in the service,
component, or reference. While configuring an application for deployment, the property of a resource instance in
the node is mapped to the application.
Resource templates are defined at the enterprise, environment, or application level. A resource template defined
at enterprise level is available to all environments and applications in the enterprise; a resource template defined
at an environment level is available only to applications in that environment; a resource template defined at an
application level is available only to that application.
You can create resource templates in two ways:
Manually using the command-line and web interfaces.
Automatically when you import the resource templates while creating an application.
In either case you must have enterprise permission to create a resource template.
Topics
Permissions
Users need permission to create resource templates and change the scope. For example, a user with permission
to an environment can create a resource template to be shared across applications in the environment and
not globally at enterprise level.
Resource templates with global or environment scope have view, edit, and owner permissions that are
set individually for each resource templates.
For global or environment scope, users with Create Resource Template permission can create resource
templates at that scope level.
Resource templates with application scope do not have individual permissions. Users who are granted
Manage Resource Template permission for the application can create, edit, view, and delete resource
templates with application scope.
Other Conditions
Resource Templates from one scope are not visible to other scope of the same level. Resource Templates
created in SystemEnvironment are not visible to DevEnvironment and thus are not used for auto creation
of resource instances nor do they show up in pickers.
Resource templates cannot be deleted if a resource instances exists for it.
Resource instances cannot be uninstalled when other resource instances depend on it.
Resource instances with the same name cannot coexist in the same node.
When an application is undeployed, all resource instances using resource templates scoped to that
application are uninstalled.
When an application is deployed, all Resource Templates scoped to that application are:
1. Checked against the application's properties to see where they are needed.
2. If specific nodes are identified this way, then Resource Instances with the same name are created and
installed on each of those nodes.
3. If no properties in the application reference the resource templates, then resource instances are
automatically created and installed on every node to which the application is mapped.
If a Resource Instance with the required JNDI name already exists on a node where the above rules would
cause auto-creation to happen, then deployment validation fails. If redeployment results in the application
being removed from a node, all Resource Instances on that node using Resource Templates scoped to the
application are uninstalled and deleted.
GUI
Procedure
1. Navigate to a resource templates list. Choose a starting point.
Starting Point
Procedure
Shared Objects
Hosts
Nodes
Application
Dashboard
2. In the Add Resource Template dialog, select a resource type from the Type drop-down list.
The dialog redraws with type-specific fields.
Ensure there is no resource template with the same name at the specified scope level.
3. Use the slide bar to select a scope for the resource template.
When the slide bar is above Global, the resource template is created at global level to share across
environments and applications.
When the slide bar is above Environment the resource template is created for a selected environment.
When the slide bar is above Application, the resource template is created for a selected application.
Select an environment to filter the list of applications in an environment.
5. Click Save.
CLI
Procedure
You can either manually specify the scope of a resource template or import while creating an application.
Manual
In the data file, specify the type of the resource template in the xsi:type attribute. The resource
templates can be nested under Enterprise, or Environment, or Application to create them in the
corresponding scope:
<amxdata_base:Enterprise
<ResourceTemplate xsi:type="amxdata:JdbcResourceTemplate"
...
</ResourceTemplate>
name="appJDBC1"
In the AMXAdminTask element, set the action attribute to add and the objectSelector attribute to
ResourceTemplate or Environment/ResoureceTemplate or
Environment/Applicaiton/ResoureceTemplate:
<AMXAdminTask action="add"
objectSelector="ResourceTemplate|Environment/ResourceTemplate|Environment/
Application/ResourceTemplate"/>
To import select resource templates from the application template, specify each resource template
separately in <ImportResourceTemplateName>
You can specify a scope to the resource template in resourceTemplatesScope. If no scope is
mentioned, default scope is global.
<Application xsi:type="amxdata:Application" name="app" importResourceTemplates="true"
resourceTemplatesScope="Global/Environment/Application">
<ApplicationTemplate xsi:type="amxdata_reference:ApplicationTemplate_reference"
name="appTemplate"/>
<ImportResourceTemplateName>Httpclient_RT</ImportResourceTemplateNames>
<ImportResourceTemplateName>JDBC_RT</ImportResourceTemplateNames>
</Application>
In the AMXAdminTask element, set the action attribute to add and the objectSelector attribute to
ResourceTemplate|Environment/ResourceTemplate|Environment/Application/ResourceTemplate
Revert
Restore Default
Restore default values for fields that have a default. If a field does not
have a default, the value stays as is.
CLI
You can edit a resource template using the command-line utility.
Procedure
1. In the data file, specify the type of the resource template in the xsi:type attribute.
<ResourceTemplate
xsi:type="amxdata:JdbcResourceTemplate"
name="JdbcResource"
description="This is a new Jdbc Resource"
maxConnections="10">
<Direct
xsi:type="amxdata:Direct"
dbUrl="jdbc:hsqldb:hsql://localhost:1234/jdbcRtDb"
jdbcDriver="org.hsqldb.jdbcDriver"
isTransactional="false"
loginTimeOut="60000"/>
<InlineCredentials username="a" password="a"/>
</ResourceTemplate>
2. In the AMXAdminTask element, set the action attribute to edit and the objectSelector attribute
ResourceTemplate|Environment/ResourceTemplate|Environment/Application/ResourceTemplate/>.
<AMXAdminTask action="edit"
objectSelector="ResourceTemplate|Environment/ResourceTemplate|Environment/
Application/ResourceTemplate">
2. In the AMXAdminTask element set the action attribute to edit, and the objectSelector to
ResourceTemplate|Environment/ResourceTemplate|Environment/Application/ResourceTemplate.
The ant target will have action as edit and one more xml attribute called incrementalEdit and
set it to true. This new attribute incrementalEdit will make this edit call as incremental edit.
<AMXAdminTask action="edit"
objectSelector="ResourceTemplate|Environment/ResourceTemplate|Environment/
Application/ResourceTemplate">
incrementalEdit="true"
2. In the AMXAdminTask element, set the action attribute to rename and the objectSelector attribute
ResourceTemplate|Environment/ResourceTemplate|Environment/Application/ResourceTemplate.
<AMXAdminTask action="rename"
objectSelector="ResourceTemplate|Environment/ResourceTemplate|Environment/
Application/ResourceTemplate"/>
6. Click Save.
CLI
You can change the scope of a resource template using the command-line utility. You can specify multiple
TargetScope elements for a resource template.
Procedure
1. If changing scope from global to environment, specify environment.
<TargetScope xsi:type="amxdata_base:Scope" type="Environment" envName="ENVIRONMENT_NAME"/>
If changing scope from global to application, specify both environment and application.
<TargetScope xsi:type="amxdata_base:Scope" type="Application" envName="ENVIRONMENT_NAME"
appName="APPLICATION_NAME"/>
The following example shows, the jdbc_rt resource template's scope is changed from environment to
application App1:
<Environment xsi:type="amxdata:Environment" name="DevEnvironment" >
<ResourceTemplate
xsi:type="amxdata:JdbcResourceTemplate"
name="jdbc_rt"
description="Environment jdbc"
maxConnections="8888">
<TargetScope xsi:type="amxdata_base:Scope" type="Application"
envName="DevEnvironment" appName="App1"/>
<Direct
xsi:type="amxdata:Direct"
dbUrl="jdbc:hsqldb:hsql://localhost:1234/jdbcRtDb"
jdbcDriver="org.hsqldb.jdbcDriver"
isTransactional="false"
loginTimeOut="2"/>
<InlineCredentials username="envJdbc" password="envJdbc"/>
</ResourceTemplate>
</Environment>
2. In the AMXAdminTask element, set the action attribute to changeScope and the objectSelector attribute
to ResourceTemplate|Environment/ResourceTemplate|Environment/Application/ResourceTemplate.
<AMXAdminTask action="rename"
objectSelector="ResourceTemplate|Environment/ResourceTemplate|Environment/
Application/ResourceTemplate"/>
CLI
You can delete a resource template using the command-line utility.
Procedure
1. In the data file, specify the type of the resource template in the xsi:type attribute.
<amxdata_base:Enterprise
<ResourceTemplate xsi:type="amxdata:JdbcResourceTemplate"
...
</ResourceTemplate>
name="appJDBC1"
2. In the AMXAdminTask element, set the action attribute to delete and the objectSelector attribute
ResourceTemplate|Environment/ResourceTemplate|Environment/Application/ResourceTemplate.
<AMXAdminTask action="delete"
objectSelector="ResourceTemplate|Environment/ResourceTemplate|Environment/
Application/ResourceTemplate"/>
-f
CONFIG_HOME/admin/enterpriseName/samples/obfuscate_build.xml
-Dpassword=yourpassword
Example
C:\>ant -f C:\amx3data\admin\amxadmin\samples\obfuscate_build.xml -Dpassword=mypw
Buildfile: C:\amx3data\admin\amxadmin\samples\obfuscate_build.xml -Dpassword=mypw
encrypt:
[AMXObfuscateTask] INFO - Initializing JSSE's crypto provider class com.sun.net
.ssl.internal.ssl.Provider in default mode
[AMXObfuscateTask] Obfuscated value:[#!EotHYBCR6OhxS0l7VK0GqnyKeSAp0DVd]
BUILD SUCCESSFUL
Total time: 3 seconds
Create a feature for the driver. See Component Development for information.
Put a file at a special location in the feature's path with the driver name and version
Add the feature to the node. See Adding a Feature to a Node on page 277.
Delete the resource instances that use this driver and re-create resource templates.
Remove the old driver from all these nodes. See Removing Features from a Node on page 279.
Choose one of the following options:
Reinstall all the resource instances created in step 4. While reinstalling the resource instances you will
be prompted to choose the driver feature.
Add the feature for the new driver. See Adding a Feature to a Node on page 277. Reinstall all the
resource instances created in In Software Management, enable the new driver feature on all of the
nodes and then Reinstall all of the RIs.
Results
The updated JDBC driver is now available for use in Administrator.
In the above property, replace LDAPConnection with the name of the resource.
2. Restart the host and node.
The new values take effect.
3. Reinstall the LDAP Connection resource.
Keystores
If you set up your environment for SSL, you have to set up a keystore. As part of the process, you configure
a keystore provider.
SSL uses keys and certificates when it establishes the secure connection. A keystore is a database of keys and
certificates. A keystore password is required to access or modify the keystore.
Access to keystores is provided by a Keystore Provider resource instance. Keystores can be stored internally
in Administrator or externally.
Keystore Entries
A keystore has two types of entries:
Private key - holds a cryptographic private key, which is optionally stored in a protected format to prevent
unauthorized access. The private key is accompanied by a certificate chain for the corresponding public
key. Private keys and certificate chains are used by a given entity for self-authentication.
Trusted certificate - contains a single public key certificate. It is called a trusted certificate because the
keystore owner trusts that the public key in the certificate belongs to the identity identified by the subject
(owner) of the certificate. This type of entry can be used to authenticate other parties.
Certificates of trusted entities are typically imported into a keystore as trusted certificates.
Keystore Entries and Aliases
Each entry in a keystore is identified by an alias. In the case of private keys and their associated certificate
chains, these aliases distinguish among the different ways in which the entity may authenticate itself. For
example, the entity may authenticate itself using different certificate authorities, or using different public
key algorithms. An alias might be named after the role in which the keystore owner uses the associated key,
or might identify the purpose of the key.
Keystore Passwords and Private Key Passwords
The private keys in a keystore are encrypted with a keystore password, which should be several words long.
You can also protect each private key with its individual password, which may or may not be the same as
the keystore password.
If a password is lost, the associated keys cannot be recovered.
protectionParam
username
Username
secret
Password
3. Open the keystore_build.xml build file and edit the following attributes of the AMXKeyStoreTask
element in the addCredential target:
Attribute
Description
adminKeyStorelocation
adminKeyStorePassword
4. Run ant
-f keystore_build.xml addCredential.
Example
<?xml version="1.0" encoding="UTF-8"?>
<amxdata_base:Enterprise
xmlns:amxdata="http://tibco.com/amxadministrator/command/line/types"
xmlns:amxdata_base="http://tibco.com/amxadministrator/command/line/types_base"
xmlns:amxdata_reference="http://tibco.com/amxadministrator/command/line/types_reference"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tibco.com/amxadministrator/command/line/types_base
../schemas/amxdata_base.xsd http://tibco.com/amxadministrator/command/line/types
../schemas/amxdata.xsd">
<AMXKeyStore xsi:type="amxdata:AMXKeyStore">
<CredentialEntry alias="myDatabase" protectionParam="databaseKeyAliasPassword"
username="scott" secret="tiger" />
<CredentialEntry alias="myLDAP" protectionParam="ldapKeyAliasPassword"
username="cn=Manager,dc=example,dc=com" secret="password" />
</AMXKeyStore>
</amxdata_base:Enterprise>
<target name="addCredential">
<AMXKeyStoreTask
dataFile="keystore_data.xml"
adminKeyStorelocation = "my_keystore.jceks"
adminKeyStorePassword = "password"
action="add"/>
</target>
>ant -f keystore_build.xml addCredential
Buildfile: C:\amx330data\admin\amxadmin\samples\keystore_build.xml
addCredential:
[AMXKeyStoreTask] INFO - Keystore file
C:\amx330data\admin\amxadmin\samples\my_keystore.jceks does not exist; creat
ing a new keystore file
[AMXKeyStoreTask] Adding entry for alias 'myDatabase'...
[AMXKeyStoreTask] Adding entry for alias 'myLDAP'...
[AMXKeyStoreTask] Saving to keystore file
References
The topics in this section provide detailed references to elements in the User Interface and CLI.
Hibernate
The Hibernate resource template represents a Hibernate resource. Used by component implementations to
access databases, the hibernate is a framework that supports storing Java objects in a relational database.
Hibernate solves object-relational impedance mismatch by replacing direct database access with high-level,
object-handling functions.
General
Property
Description
Data
Source
Schema
N
Generation
Type
Dialect
DB2390Dialect
DB2400Dialect
DB2Dialect
FirebirdDialect
FrontbaseDialect
HSQLDialect
InformixDialect
IngresDialect
InterbaseDialect
MckoiDialect
MySQLDialect
MySQLInnoDBDialect
MySQLMyISAMDialect
Oracle9Dialect
OracleDialect
Property
Description
PointbaseDialect
PostgreSQLDialect
ProgressDialect
SAPDBDialect
SQLServerDialect
SybaseAnywhereDialect
SybaseDialect
com.tibco.amf.sharedresource.runtime.core.
hibernate.dialects
DB2Dialect
HSQLDialect
MySQL5Dialect
Oracle9Dialect
Oracle10GDialect
SQLServerDialect
Default: com.tibco.amf.sharedresource.runtime.core.
hibernate.dialects.HSQLDialect
Advanced
Property
Description
Enable
SQL
Logging
Default: Unchecked.
Batch Size N
Share
Session
Factory
Property
Properties N
Description
Hibernate configuration properties:
Format SQL Enabled
Default Schema
Default Catalog
Max Fetch Depth
Default Batch Fetch Size
Use Order Updates
Use Order Inserts
Use Generate Statistics
Use Identifier Rollback
Property
Description
Related Topics
JDBC on page 217
The JDBC resource template represents a JDBC connection that is used by component implementations
to access databases.
HTTP Client
The HTTP Client resource template represents an outgoing HTTP connection. HTTP clients are used by a
reference's SOAP binding.
General
Property
Description
Machine
Name
Default: localhost.
Property
Description
Port
Default: 80.
Idle
Timeout
(s)
Socket
Timeout
(ms)
Connection N
Timeout
(ms)
SSL
Property
Description
Enable
SSL
Default: Unchecked.
SSL Client N
Provider
Configure N
SSL
Property
Description
configure the trust store of the newly created or an existing
SSL Client Provider with the imported certificates. When
you complete the wizard, the SSL Client Provider field is
filled in.
Advanced Configuration
Property
Description
Accept
Redirect
Disable
Connection
Pooling
Suppress TCP N
Delay
Stale Check
Property
Description
Buffer Size
(B)
Connection N
Retrieval
Timeout (ms)
Local Socket
Address
Maximum
Total
Connections
Maximum
Total
Connections
per Host
HTTP Proxy
Property
Configure Proxy N
Proxy Type
Proxy Host
Proxy Port
Property
Configure
BASIC
authentication
HTTP Connector
The HTTP Connector resource template represents an incoming HTTP connection. HTTP connectors are used
by a service's SOAP binding and also by the WebApp component.
General
Property
Description
Machine
Name
Accept
Queue
Size
Property
Description
Acceptor
Threads
Description
Enable
SSL
Default: Unchecked.
SSL
N
Certificate
Source
SSL Server N
Provider
Advanced
GUI Property Required? Editable? Accepts
SVars?
Description
Header Buffer N
Size (B)
Request
N
Buffer Size (B)
Response
N
Buffer Size (B)
Default: 4096.
Y
Description
Low
Resources
Max Idle
Time (ms)
Max Idle
Time (ms)
Linger Time
(ms)
Use
N
Non-Blocking
IO Sockets
Use Direct
Buffers
Worker
Thread Pool
By default all HTTP methods are enabled for HTTP connectors. To disable HTTP OPTIONS and PUT methods
for all connectors on a node or a specific connector, configure the following node JVM properties:
amf.node.disableHTTPOptions
amf.node.disableHTTPOptions.connectorName
amf.node.disableHTTPPut
amf.node.disableHTTPPut.connectorName
JDBC
The JDBC resource template represents a JDBC connection that is used by component implementations to
access databases.
General
Property
Connection Y
Type
Description
The type of the JDBC connection:
Direct The connection to the database is through a
vendor-specific driver. When selected, the Database
Driver and Database URL fields display.
XA The connection to the database is through a
vendor-specific data source. When selected, the Data
Source field displays. A component implementation that
uses a JDBC connection of connection type XA typically
executes within a global transaction and consequently
may not explicitly commit transactions. To ensure that
such implementations always behave correctly, the
TIBCO ActiveMatrix platform detects when such a
resource is used outside of a global transaction and
enables the JDBC autocommit feature, so that all
database access by the component is committed. Default
Login Timeout: 60000 ms (60s)
Default: Direct
Required? Editable?
Accepts Description
SVars?
Database
Driver
The name of the JDBC driver class. You can select from a
drop-down list of supported drivers or type the name of a custom
driver:
org.hsqldb.jdbcDriver
com.microsoft.sqlserver.jdbc.SQLServerDriver
com.mysql.jdbc.Driver
oracle.jdbc.OracleDriver
com.ibm.db2.jcc.DB2Driver
org.postgresql.Driver
Additional drivers available when using TIBCO Business Studio:
com.ibm.as400.access.AS400JDBCDriver
com.informix.jdbc.lfxDriver
ca.edbc.jdbc.EdbcDriver
When you select a driver, the Database URL field is populated
with a template for the URL of the driver.
TIBCO ActiveMatrix Service Bus Administration
Property
Required? Editable?
Accepts Description
SVars?
Default: org.hsqldb.jdbcDriver.
Database
URL
Table 27: XA
Property
Description
Data
Source
Default: oracle.jdbc.xa.client.OracleXADataSource
Property
Maximum N
Connections
Description
The maximum number of database connections to allocate.
The minimum value that can be specified is 0.
Default: 10.
Login
Timeout
(ms)
Property
Description
connection timeouts use this configuration field. Most JDBC
drivers support connection timeouts.
Default: 60000 (60 seconds).
Supports N
Transactions
Login Credentials
Property
Login
Y
Credentials
Description
Indicate how the credentials required to authenticate to a
server are provided:
Identity Provider - Provide username and password
credentials encapsulated in an identity provider resource.
When selected, the Identity Provider field is activated.
Username + Password - Provide inline username and
password credentials. When selected, the Username and
Password fields are activated.
Default: Identity Provider
Identity
Provider
Username N
Password N
Advanced
GUI
GUI
commitBeforeAutocommit Y
exceptionSorterClass
POOL_MIN_SIZE
POOL_BLOCKING_TIMEOUT Y
(ms)
POOL_IDLE_TIMEOUT Y
(min)
preparedStatementCacheSize Y
Connection N
Properties
Description
Properties to configure connections to a database driver.
The properties are vendor specific.
Table 29: XA
Property
Connection N
Properties
Description
Properties to configure connections to a data source. The
properties are vendor specific.
Connection Y
Factory
JNDI
Name
Description
JNDI name of the JMS Connection Factory that points to a
particular queue or topic.
Property
JNDI
Y
Connection
Configuration
Description
The name of a JNDI Connection Configuration on page 225
resource.
Security
Property
Enable
N
Authentication
Description
(Administrator UI only) Enable server
authentication. When checked, the authentication
properties: Login Credentials, Username, and
Password are displayed. The Enable Authentication
property is only available in the Administrator UI.
Default: Unchecked.
Login
Credentials
Username
Password
Identity
Provider
Enable SSL
Property
Description
SSL Client
Provider
Description
Connection Y
Factory
JNDI
Name
JNDI
Y
Connection
Configuration
Security
Property
Enable
N
Authentication
Description
(Administrator UI only) Enable server
authentication. When checked, the authentication
properties: Login Credentials, Username, and
Password are displayed. The Enable Authentication
property is only available in the Administrator UI.
Default: Unchecked.
Login
Credentials
Username
Password
Property
Description
password doesn't display even if it was set when
it was created. If you have permission to edit the
password, you can specify a new value and save.
If you edit other fields, the old value for the
password field is retained. If you want to set an
empty value as password, click the link Set Blank
Password.
Identity
Provider
Enable SSL
SSL Client
Provider
SSL Configuration
SSL communication works only for the EMS and WebSphere MQ JMS providers. The Connection
Factory Configuration used in the Connection Factory JNDI Name should be SSL enabled.
Property
Description
Enable
SSL
Default: Unchecked.
SSL Client N
Provider
Configure N
SSL
JMS Destination
A JMS Destination resource template specifies destination objects, which represent virtual channels (topics
and queues) in JMS. It is used for Request/Reply messages.
When a message is sent, it is addressed to a destination, not to a specific application. Any application that
subscribes or registers an interest in that destination can receive that message. Depending on the JMS messaging
model used, the destination is called a topic or a queue. In the publish-subscribe model, a message is published
for many subscribers to a topic (destination). In the point-to-point model, one message is sent to one potential
receiver using a queue (destination).
Property
Description
Destination Y
JNDI
Name
JNDI
Y
Connection
Configuration
Description
Destination Y
JNDI
Name
JNDI
Y
Connection
Configuration
Description
JNDI
Provider
value is populated
Progress SonicMQ - the
com.sonicsw.jndi.mfcontext.MFContextFactory
value is populated
Property
Description
IBM WebSphere MQ com.sun.jndi.ldap.LdapCtxFactory for the JNDI
lookup in LDAP. Pair this value with the Naming
Provider URL: ldap://<ldap_url>.
com.sun.jndi.fscontext.RefFSContextFactory
for the JNDI lookup in a file system. Pair this value
with the Naming Provider URL: file:<url_
of_bindings_file>.
Custom provider - Specify the custom initial context
factory value.
Default:
com.tibco.tibjms.naming.TibjmsInitialContextFactory
Provider
URL
Security
Property
Enable
N
Authentication
Description
(Administrator UI only) Enable server
authentication. When checked, the authentication
properties: Login Credentials, Username, and
Password are displayed. The Enable Authentication
property is only available in the Administrator UI.
Default: Unchecked.
Property
Description
Login
Credentials
Default: None
Username
Password
Identity
Provider
Enable SSL
SSL Client
Provider
Advanced
A list of properties used for JNDI lookup.
Table 30: Application Properties
Property
Description
Name
Type
Type of the property. One of: string, boolean, byte, short, char, int, long, float, or double.
Value
Property value.
Default: Depends on value of 'Type'.
LDAP Connection
An LDAP Connection resource template represents a connection to an LDAP server. Used by component
implementations to look up names in an LDAP directory server.
General
Property
Connection Y
Factory
Description
The factory object that provides the starting point for
resolution of names within the LDAP server.
Default: com.sun.jndi.ldap.LdapCtxFactory.
Provider
URL
The URL that provides the host and port number on which
the LDAP server is listening for connections. It can also
include a Base DN, the DN of an entry in the directory.
The Base DN:
Identifies the LDAP entry that is the starting point of all
searches
Limits the searches to a subtree of the LDAP Server's
directory
If the Base DN is not specified, all searches begin at the root
DN.
Any unsafe characters in the URL must be represented by
a special sequence of characters called escaping. For
example, a space must be represented as %20. Thus, the DN
ou=Product Development must be encoded as
ou=Product%20Development.
Default: ldap://localhost:389.
Connection N
Timeout
(ms)
Login Credentials
Property
Login
Y
Credentials
Description
Indicate how the credentials required to authenticate to a
server are provided:
Identity Provider - Provide username and password
credentials encapsulated in an identity provider resource.
When selected, the Identity Provider field is activated.
Username + Password - Provide inline username and
password credentials. When selected, the Username and
Password fields are activated.
Default: Identity Provider
Property
Description
Identity
Provider
Username N
Password N
Advanced
Property
Description
Pool Size
Default: 10.
Pool
N
Maximum
Pool Initial N
Pool
Timeout
(ms)
Follow
Referrals
SSL
Property Required? Editable? Accepts
SVars?
Description
Enable
SSL
Default: Unchecked.
Description
SSL Client N
Provider
SMTP
An SMTP resource template represents a connection to an SMTP server. Used by component implementations
to send and receive messages to and from an SMTP mail server.
General
Property
Description
Machine
Name
Port
Default: localhost.
Y
Timeout
(ms)
Login Credentials
Property
Login
Y
Credentials
Description
Indicate how the credentials required to authenticate to a
server are provided:
Identity Provider - Provide username and password
credentials encapsulated in an identity provider resource.
When selected, the Identity Provider field is activated.
Username + Password - Provide inline username and
password credentials. When selected, the Username and
Password fields are activated.
Default: Identity Provider
Identity
Provider
Username N
Password N
Property
Description
password field is retained. If you want to set an empty value
as password, click the link Set Blank Password.
SSL
Property
Description
Enable
SSL
Default: Unchecked.
SSL Client N
Provider
Teneo
A Teneo resource is used by component implementations to access databases. Teneo is a model-relational
mapping and runtime database persistence solution for the Eclipse Modeling Framework (EMF). Teneo
integrates EMF with Hibernate.
General
Property
Description
Data
Source
Schema
N
Generation
Type
Dialect
DB2390Dialect
DB2400Dialect
DB2Dialect
Property
Description
FirebirdDialect
FrontbaseDialect
HSQLDialect
InformixDialect
IngresDialect
InterbaseDialect
MckoiDialect
MySQLDialect
MySQLInnoDBDialect
MySQLMyISAMDialect
Oracle9Dialect
OracleDialect
PointbaseDialect
PostgreSQLDialect
ProgressDialect
SAPDBDialect
SQLServerDialect
SybaseAnywhereDialect
SybaseDialect
com.tibco.amf.sharedresource.runtime.core.
hibernate.dialects
DB2Dialect
HSQLDialect
MySQL5Dialect
Oracle9Dialect
Oracle10GDialect
SQLServerDialect
Default: com.tibco.amf.sharedresource.runtime.core.
hibernate.dialects.HSQLDialect
Property
Inheritance N
Mapping
Type
Description
Indicate how class hierarchies are mapped to tables.
SINGLE-TABLE The classes of one class hierarchy are
all mapped to one table.
JOINED Each subclass has its own table. To retrieve an
object from the database, the superclass and subclass
tables are joined. This also applies to subclasses of
subclasses.
Default: Single Table.
Advanced
Property
Description
Enable
SQL
Logging
Default: Unchecked.
Batch Size N
Share
Session
Factory
Property
Properties N
Description
Hibernate configuration properties:
Format SQL Enabled
Default Schema
Default Catalog
Max Fetch Depth
Default Batch Fetch Size
Use Order Updates
Use Order Inserts
Use Generate Statistics
Use Identifier Rollback
Use SQL Comments
Fetch Size
Batch Versioned Data
Batcher Factory Class
Use Scrollable Resultset
Use Stream For Binary
Use Get Generated Keys
Connection Isolation
Use Auto Commit
Connection Release Mode
Cache Provider Class
Use Minimal Puts
Use Query Cache
Use Second Level Cache
Query Cache Factory
Cache Region Prefix
Use Structured Entries
Transaction Factory Class
JTA Transaction JNDI Name
Flush Before Completion
Auto Close Session
Query Factory Class
Property
Description
Query Substitutions
Use Reflection Optimizer
Thread Pool
A thread pool is a queue of threads available to run a queue of tasks. Thread pools are used to improve
performance when executing large numbers of asynchronous tasks by reducing per-task invocation overhead
and provide a means of bounding and managing the resources consumed when executing a collection of
tasks.
A thread pool is created with zero threads.
General
Property
Core Pool N
Size
Description
When a new task is submitted and fewer than Core Pool
Size threads are running, a new thread is created to handle
the request, even if other threads are idle. If there are greater
than Core Pool Size but fewer than Max Pool Size threads
running, a new thread is created only if no threads are idle.
Must be greater than or equal to zero.
Default: 2. Two threads are used to service one request: one
for receiving the request and one for receiving the response.
Max Pool
Size
Keep
Alive
Time
Autostart
Core
Threads
Thread
Pool
Name
Prefix
Priority
Rejection
Policy
Property
Description
Blocking - The task is blocked until a thread from thread
pool picks up this task.
Caller Runs - The task is run in the calling thread.
Default: Blocking.
Daemon
Resource Template
Identity
SSL
Authentication
Identity Provider
The Identity Provider resource template provides access to a username and password credential stored in a
keystore.
General
Property
Description
Keystore
Y
Provider to
Supply Identity
Enable Access to N
Credential Store
Containing
Identity
(optional)
Key Alias to
Access Identity
Key Alias
Password
Kerberos Authentication
The Kerberos Authentication resource template represents a Kerberos authentication service.
SAML Options
SAML assertions are accessed from a security context and can be propagated between components to achieve
single sign-on
Property
Validity of SAML
Tokens (s)
Signer of SAML
Tokens
Configuration File
Property
Kerberos Realm
Key Distribution
Center
Kerberos
Configuration File
Option
Custom
Configuration File
Name
Generated
Configuration File
Name
Default DNS
Domain
Addressless Tickets Y
Proxiable Tickets
Forwardable Tickets Y
Clock Skew(s)
Ticket Lifetime(h)
Property
Renew Lifetime(h)
Client TGS
Encryption
Client Ticket
Encryption
Service Ticket
Encryption
Advanced
Property
Refresh KRB5
Configuration
Renew TGT
Property
When Use Y
Ticket
Cache is
checked.
Default: None.
Default: Unchecked.
Key Tab Filename
Store Key
When Use Y
Key Tab is
checked
Default: None.
Default: Checked.
Principal Name
Kerberos
Authentication
Provider
Kerberos Service
Principal Name
Kerberos Client
Principal Name
Kerberos Client
Y
Principal Password
Property
Keystore Provider
The Keystore Provider resource template provides access to a keystore.
General
Property
Keystore Served
From
URL
Password
Provider
Type
Property
LDAP Authentication
The LDAP Authentication resource template represents an LDAP server providing authentication services.
LDAP authentication is done in one of the following ways:
Bind mode The bind mode authenticates (binds) each user's Disitinguished Name (DN) and password
to the LDAP server. In this case, you can use the DN Template field to so that users do not have to provide
their whole DN. For example, a DN Template of uid={0},OU=Department,DC=company,DC=com allows
users to type in only their uid and the RI will use the template to create the DN.
Search mode In the search mode, a connection binds as the administrative user. It then searches for the
given users and authenticates their found DNs and passwords with the LDAP server. In this case, you
need to provide the credentials of such an administrative user by checking Log in as Administrator.
General
Property
Server URLs
Search Entire
Subtree Starting at
Base DN
Log in as
Administrator
Property
User DN Template
User Search
Expression
Login Credentials
Username
Password
Identity Provider
Keystore Provider to Y
Supply Identity
Default: None
Y
Group Attributes
Property
Group
N
Indication
Description
Specifies how a user's group memberships are found. Group
information is used by Administrator when a user, once
authenticated, performs other activities in the system.
Options:
Group has users A list of users that belong to the group.
User has groups A list of groups to which the user
belongs.
User DN has groupsThe DN with a list of groups to
which the user belongs.
No Group Info Group memberships are not handled.
If the selected value is User has groups or User DN has
groups, the Users Attribute with Group Names field
displays.
If the selected value is Group has users, the following fields
display:
Group Search Base DN
Group Search Expression
Group Attribute with User Names
Group Attribute with Group Name
Group Attribute with Subgroup Names
Group Search Scope Subtree
Default: No Group Info.
User
Attribute
with
Group
Names
Group
Search
Base DN
The name of the attribute in each user object that lists the
groups to which the user belongs.
Default: None.
Group
Y
Search
Expression
Group
Y
Attribute
with User
Names
Group
Attribute
with
Group
Name
Property
Group
N
Attribute
with
Subgroup
Names
Group
Search
Scope
Subtree
Description
The name of the attribute in the group object that contains
its subgroups. For example, for OpenLDAP: uniqueMember,
for ActiveDirectory: member.
Default: None.
SAML Options
SAML assertions are accessed from a security context and can be propagated between components to achieve
single sign-on
Property
Validity of SAML
Tokens (s)
Signer of SAML
Tokens
Advanced
GUI Property
Context Factory N
Description
The factory object that provides the starting point for
resolution of names within the LDAP server.
Default: com.sun.jndi.ldap.LdapCtxFactory.
Maximum
Connections
(disabled in
non-Admin
mode)
Security
N
Authentication
Search Timeout N
(ms)
GUI Property
Follow Referrals N
Description
Indicate whether the client should follow referrals
returned by the LDAP server.
Default: Unchecked.
User Attributes N
Extra
SSL
Property
Description
Enable
SSL
Default: Unchecked.
SSL Client N
Provider
Configure N
SSL
Description
Keystore
Provider
as Trust
Store
Enable
N
Access to
Trust Store
Property
Description
Keystore Y
Provider
to Supply
Identity
Enable
N
Access to
Credential
Store
Providing
Identity
Key Alias
to Access
Identity
Key Alias Y
Password
to Access
Identity
SiteMinder Authentication
The SiteMinder Authentication resource template represents a SiteMinder authentication service.
General
You must install unlimited jurisdiction files on nodes that will run SiteMinder resource instances.
Property
Agent Name
Client IP Address
Property
Protected Resource
Name
SAML Options
SAML assertions are accessed from a security context and can be propagated between components to achieve
single sign-on.
Property
Validity of SAML
Tokens (s)
Enable Security
Token Attribute
Signer of SAML
Tokens
Configuration File
Property
Host Configuration N
File Option
Configuration File
Custom Location
Property
Generated
Configuration File
Name
Host Configuration Y
Object
Shared Secret
Policy Server
Crypto Provider
FIPS Mode
When you configure a shared resource for SiteMinder configuration, ensure that you select Enable
SecurityToken Attribute on the SAML Options tab.
Description
Keystore
Provider
as Trust
Store
Enable
N
Access to
Trust Store
Property
Enable
N
Mutual
Authentication
Description
Indicate whether the client in the SSL connection will
authenticate to the server. When checked, the identity fields
are enabled.
Default: Unchecked.
Property
Description
Identity Store
Provider
Enable Access to
Identity Provider
Property
Description
If you have permission to edit the password, you can
specify a new value and save. If you edit other fields,
the old value for the password field is retained. If you
want to set an empty value as password, click the link
Set Blank Password.
Advanced
Property
Description
SSL
Security
Provider
SSL
Protocol
SSL
Cipher
Class
Explicit
Cipher
List
Verify
N
Remote
Hostname
Expected N
Remote
Hostname
Description
Identity Store
Provider
Enable Access to
Identity Provider
Property
Enable Mutual N
Authentication
Description
Indicate whether mutual authentication is enabled. When
checked, the Make Client Authentication As, Keystore
Provider as Trust Store, and Enable Access to Trust Store
fields display.
Default: Unchecked.
Make Client
N
Authentication
As
Property
Description
Keystore
Provider
Property
Description
as Trust
Store
Enable
N
Access to
Trust Store
Advanced
Property
Description
SSL
Security
Provider
SSL
Protocol
SSL
Cipher
Class
Explicit
Cipher
List
Verify
N
Remote
Hostname
Property
Description
Default: Unchecked.
Expected N
Remote
Hostname
Trust Provider
The Trust Provider resource template maintains the identity of a trusted resource.
General
Property
Description
Keystore
Provider
as Trust
Store
Enable
N
Access to
Trust Store
WSS Authentication
A WS-Security ASP resource template enables a connection to Web Services Security authentication services.
General
Property
Security Token
X.509
Kerberos
Enable
Signature
Verification
Property
Enable
Decryption
Identity
Provider
Trust Provider
Mutual Identity Y
Provider
Username Authentication
Property
Enable
N
Username
authentication
Authentication Y
Provider
Description
Indicate whether to verify the username. If checked,
activates the Authentication Provider field.
Default: Unchecked.
Chapter
9
Resource Instances
A resource instance is a runtime object that represents a resource, such as an HTTP, JDBC, or LDAP connection.
A resource instance instantiates the configuration defined in a resource template and makes it available to services
running on a node.
Applications, components, bindings, logging appenders, and resource templates can have properties whose value
is the name of a resource. For example, an HTTP client resource template's SSL property configuration includes a
property whose value is the name of SSL Client Provider resource. Figure 12: TIBCO Business Studio Resource
Instance on page 255 and Figure 13: Administrator Resource Instance on page 255 show how to set a resource
property in TIBCO Business Studio and Administrator respectively.
Topics
GUI
Procedure
Choose a starting point and follow the appropriate procedure.
Starting
Procedure
Point
Hosts
Applications 1.
2.
3.
4.
Starting
Point
Procedure
5. Select a node from the Available Nodes box and move to Selected Nodes box.
6. Type an instance name.
7. Save.
Nodes
1.
2.
3.
4.
5.
6. Use the check boxes under Scope to filter resource templates with specific scopes.
7. Accept the default instance name or type a new one in the Instance Name field. The
name must not contain the characters : or &.
On TIBCO ActiveMatrix Policy Director, the name of the resource instance should be
the same as the resource template.
8. Click Save to add the resource instance to the selected nodes and continue adding
resource instances or Save and Close to add to add the resource instance to the selected
nodes and close the dialog.
9. In the Install Resource Instances dialog box, select the resource instances to install and
click Install.
Resource
Templates
CLI
Before you begin
The resource template specified in the resourceTemplateName attribute must exist in the Administrator
database.
Procedure
1. In the data file, specify a ResourceInstance element in full format.
<ResourceInstance xsi:type="amxdata:ResourceInstance" name="resourceHttpClient"
resourceTemplateName="HttpclientRT" />
2. In the build file, set the action attribute of the AMXAdminTask element to add and the objectSelector
attribute to Environment/Node/ResourceInstance.
<AMXAdminTask action="add" objectSelector="Environment/Node/ResourceInstance"/>
GUI
Procedure
1. Choose a starting point and follow the appropriate procedure.
Starting Point
Procedure
Hosts
Applications
Nodes
Resource Templates
5. When using JDBC or JMS drivers, if you have configured multiple drivers that have the same class name
but different driver JAR file names, the Driver Selection Dialog displays. The following shows the dialog
box for a selecting a JDBC driver.
CLI
Procedure
1. In the data file, specify a ResourceInstance element in base format.
<ResourceInstance xsi:type="amxdata:ResourceInstance_base"
name="resourceHttpClient" />
If installing either JDBC or JMS resource instances and if you have multiple drivers available, specify the
name and version of the driver using the driverFeaturename and driverFeatureVersion elements.
<ResourceInstance xsi:type="amxdata:ResourceInstance_base"
name="resourceJDBC_ORA" resourceTemplatename="ora"
driverFeatureName="com.tibco.tpcl.gen.oracle.jdbc.feature"
driverFeatureVersion="11.2.100.001" />
To store this driver version as the default driver in the resource template, use the setDriverAsDefault
option and set it to true. All resource instances created using this resource template will now use this
driver.
<ResourceInstance xsi:type="amxdata:ResourceInstance_base"
name="resourceJDBC_ORA" resourceTemplatename="ora"
driverFeatureName="com.tibco.tpcl.gen.oracle.jdbc.feature"
driverFeatureVersion="11.2.100.001"
setDriverAsDefault="true" />
2. In the build file, set the action attribute of the AMXAdminTask element to install and the objectSelector
attribute to Environment/Node/ResourceInstance. The options element is used to specify the provisioning
mode.
auto-resolve - the mode specified by the driver is used.
resolve - the resolve mode is used.
element not specified - the provisioning is done in the stable mode.
<AMXAdminTask action="install"
objectSelector="Environment/Node/ResourceInstance"
options="auto-resolve"/>
When installing a resource instance that refers to a JMS or JDBC resource instance, the resource instances
are installed but the drivers are not provisioned.
3. To re-install all dependant resource instances and restart applications that use these resource instances,
use the handle-dependencies option.
<AMXAdminTask action="install"
objectSelector="Environment/Node/ResourceInstance"
options="handle-dependencies"/>
GUI
Procedure
1. Choose a starting point and follow the appropriate procedure.
Starting Point
Procedure
Hosts
Applications
Nodes
Resource Templates
Instance
1. In the Resource Instances view, first expand the All Instances node and then the
node for the resource instance type.
2. Click a resource instance.
3.
Click one or more nodes in the Selected Nodes list and click
. The nodes move
to the Available Nodes list.
4. Click Update. The selected resource instances are uninstalled only if any applications
or other resources are not using it.
CLI
Procedure
1. In the data file, specify a ResourceInstance element in base format.
<ResourceInstance xsi:type="amxdata:ResourceInstance_base"
name="resourceHttpClient" />
If installing either JDBC or JMS resource instances and if you have multiple drivers available, specify the
name and version of the driver using the driverFeaturename and driverFeatureVersion elements.
<ResourceInstance xsi:type="amxdata:ResourceInstance_base"
name="resourceJDBC_ORA" resourceTemplatename="ora"
driverFeatureName="com.tibco.tpcl.gen.oracle.jdbc.feature"
driverFeatureVersion="11.2.100.001" />
To store this driver version as the default driver in the resource template, use the setDriverAsDefault
option and set it to true. All resource instances created using this resource template will now use this
driver.
<ResourceInstance xsi:type="amxdata:ResourceInstance_base"
name="resourceJDBC_ORA" resourceTemplatename="ora"
driverFeatureName="com.tibco.tpcl.gen.oracle.jdbc.feature"
driverFeatureVersion="11.2.100.001"
setDriverAsDefault="true" />
2. In the build file, set the action attribute of the AMXAdminTask element to uninstall and the
objectSelector attribute to Environment/Node/ResourceInstance. To perform a force uninstall, specify
the -force option and set it to true.
<AMXAdminTask action="uninstall"
objectSelector="Environment/Node/ResourceInstance"/>
GUI
Procedure
1. Choose a starting point and follow the appropriate procedure.
Starting Point
Procedure
Hosts
Applications
Nodes
Resource Templates
Instance
1. In the Resource Instances view, expand the All Instances node and click a resource
instance.
2. Click Remove Instance. Deletes the selected resource only if the resource is
uninstalled.
CLI
Procedure
1. In the data file, specify a ResourceInstance element in base format.
<ResourceInstance xsi:type="amxdata:ResourceInstance_base" name="resourceHttpClient"
/>
2. In the build file, set the action attribute of the AMXAdminTask element to delete and the objectSelector
attribute to Environment/Node/ResourceInstance. To perform a force delete, specify the -force option
and set it to true.
<AMXAdminTask action="delete" objectSelector="Environment/Node/ResourceInstance"/>
Description
Type
Template Name
The name of the resource template from which the instance was created.
Instance Name
Scope
The scope of the resource template. For information, see Resource Template with Scope.
Instance State
Synchronized
Indicates whether the resource instance runtime matches the host's configuration in the
Administrator database.
Node Name
Action History
The outcome of the last action performed with the intent of affecting the runtime state.
Chapter
10
Substitution Variables
A substitution variable is a variable that you can reuse in resource, logging, and application configurations. Substitution
variables enable late binding of property values to values set at administration time. For example, you can create
an HTTP client resource template and bind its port property to a substitution variable that is set when the template
is instantiated. The types of substitution variables are:
String (default type)
Integer
Boolean
Password
You can create substitution variables at design time and during administration. At design time, instead of explicitly
setting property values, you can bind them to substitution variables. During administration, you set the substitution
variables values to values supported by the resources available on the node on which the components and bindings
are deployed.
A substitution variable is identified by a name. Names may not contain whitespace. When a property value is
bound to a substitution variable, the property value is a string containing the substitution variable name surrounded
by two pairs of percent signs.
Substitution Variable Scope
In Administrator, you can define and set enterprise, host, node, and environment substitution variables and can
set application and application fragment substitution variables.
Using Substitution Variables
Substitution variables can be used in:
Resource templates
Application properties - specifically, components and binding properties
Logging appenders
Substitution variables provide the ability to share common values, called generalization, or to introduce small
variations in the configuration based on the node or machine, called specialization.
The general workflow to use a substitution variable is as follows:
1. In the resource template, application, or logging appender, type %%svar-name%% in any editable field instead
of a fixed value such as 8080 for a port number. The svar-name is simply an identifier for the substitution variable
and the %% is a mandatory prefix and suffix in a substitution variable. You can use multiple substitution
variables as well as static text in a single value. For example, http://%%host-name%%/%%endpoint-uri%% can represent
http://hostname/uri format.
2. Define each substitution variable by assigning a type and value. For example, you can define substitution
variables host-name and endpoint-uri at the environment level of type String and with a value venus and
myservices/OrderService respectively. Do not use %% as prefix or suffix in the definitions. Also, do not use the
values themselves as substitution variables.
3. Design the resolution scheme for the substitution variables. If you are trying to generalize by sharing common
values across multiple objects, define substitution variables at a broader scope, such as enterprise or environment.
TIBCO ActiveMatrix Service Bus Administration
If you are trying to specialize by introducing small variations in the configuration, define substitution variables
at a narrower scope such as application, node or host.
Example of Substitution Variable Usage
Let us say you created a HTTP Connector resource template and want to create two resource instances on two
nodes. When you create this configuration, you want the flexibility to run the two nodes on the same machine or
on two different machines. Entering a fixed port number such as 8080 in the HTTP Connector's port number field
will not create a port conflict if the nodes run on different machines, however, will result in port conflict when the
two nodes run on the same machine. To avoid a port conflict, use a substitution variable %%port%% in the port
number field. Then define the substitution variable with name port, type Integer, and value 8080 at the node level
for Node1, and also define the same substitution variable with a different port value, 8081 for Node2. Then, create
resource instances on the two nodes and install them. ActiveMatrix Administrator will use port 8080 for Node1 and
8081 for Node2 which will avoid a port conflict. Thus, you have introduced a small variation in your HTTP Connector
configuration at a node level.
A variation of the above case is that you can define the port substitution variable at the enterprise level with a value
of 8082. Let us say you now add a Node3 to the system, however, forgot to define the substitution variable to the
node level. Installing a resource instance on Node3 will succeed by using the port value 8082, which is treated as a
default (fallback) value when no substitution variable is found at the node level for Node3.
Substitution Variable Resolution
A substitution variable defined at the node level will get a higher precedence than the one defined at the enterprise
level. Enterprise level is the broadest scope at which you can define a substitution variable. A substitution variable
defined at a specific node level is narrow in scope and is not visible to other nodes.
ActiveMatrix Administrator uses a resolution process based on fixed rules to determine which substitution variables
should be considered to arrive at the final values to be replaced in a configuration property. The final value is sent
to the runtime instead of the substitution variable. The value that is chosen depends on the type of the object and
the scopes in which the substitution variables are defined.
The substitution variable resolution for each type is as follows:
Resource Templates
Substitution variables for resource templates are resolved when a resource instance from the resource template is
installed or re-installed on a node.
For resource templates scoped at global or environment level, the resolution order is:
1. Node SVars
2. Host SVars
3. Environment SVars
4. Enterprise SVars
For example, if a resource template using %%port%% substitution variable with a name port is defined at the node
level, then its value is used and others ignored. If the host does not define port, then environment SVars are scanned
for a match, and if there is no match, finally enterprise SVars are scanned. If no definitions are found, an error
indicates that the substitution variable %%port%% was not found.
For resource templates scoped at application level, the resolution order is:
1. Application Fragment SVars
2. Application SVars
3. Node SVars
4. Host SVars
5. Environment SVars
6. Enterprise SVars
Application Properties
Substitution variables for application properties are resolved when deploying an application. The resolution order
is the same as described for resource templates scoped at application level.
Logging Appenders
Substitution variables for logging appenders are resolved through logging configurations, that makes use of logging
appenders, for a node, host or application. The resolution occurs when the logging configuration is deployed.
When used in logging configuration for a node, the resolution order is:
1. Node SVars
2. Host SVars
3. Environment SVars
4. Enterprise SVars
When used in logging configurations for a host, the resolution order is:
1. Host SVars
2. Enterprise SVars
When used in logging configuration for an application, the resolution order for a substitution variable is the same
as described for resource templates scoped at the application level.
Topics
Host
Environment
Node
Application
1. Applications .
2. Choose an application.
3. Click Substitution Variables.
Application fragment
1.
2.
3.
4.
Applications .
Choose an application.
Click Substitution Variables.
Click Application Fragment Substitution Variables.
CLI
Procedure
1. In the data file, specify a SVar element in base format. Nest the SVar element under a parent Enterprise,
Environment, Host, Node, Application, or AppFragment element.
<SVar xsi:type="amxdata_base:SubstitutionVariable" name="svarName"
type="String" value="svarValue"/>
2. In the build file, set the action attribute of the AMXAdminTask element to set or add and the
objectSelector attribute to //SVar. The add action adds variables in the data file that don't exist in the
database and updates variables defined both data file and database. The set does the same as add and
deletes variables in the database not defined in the data file.
<AMXAdminTask action="add" objectSelector="//SVar"/>
Chapter
11
Software Management
Topics
Features
Application Templates
Versions
Distributed Application Archives
Features
System features are part of a TIBCO ActiveMatrix product or contain the drivers that are installed using
TIBCO Configuration Tool. Shared library features contain component implementations and libraries. When
you create a distributed application archive containing a composite, you can package the composite's required
features in the application archive or you can package the features as a standalone distributed application
archive.
When you upload a distributed application archive containing a composite in Administrator you can optionally
import the features contained in the archive into the Administrator software repository. When you deploy
an application, Administrator automatically distributes the features (and any features that it depends on) to
the host that manages the nodes on which the application is distributed and installs the features on those
nodes. You can also manually install features on the other nodes managed by that host.
1. Click Applications.
2. Click an application.
3. In the General tab, click the Upload DAA or EAR link next to the Template
Version field.
a. Navigate to a directory containing the DAA file.
b. Click the DAA file.
c. Click Open.
4. Choose whether you want to import the listed features.
2. Click Save.
CLI
Procedure
1. In the data file, specify a DAA element in full format and set the importFeatures attribute to true.
<DAA xsi:type="amxdata:DAA" location="testApp.daa" importFeatures="true">
<importFeatureIdentifier>UseCase847Application:1.0.0.200907131735</importFeatureIdentifier>
</DAA>
2. In the build file, set the action attribute of the AMXAdminTask element, to add and the objectSelector
attribute to DAA.
<AMXAdminTask action="add" objectSelector="DAA"/>
1.
2.
3.
4.
5.
6.
7.
Software
Management
Click one or more nodes in the Available Nodes list and click
move to the Selected Nodes list.
. The nodes
Nodes Click one or more nodes and click Edit. The Edit Features for Node dialog
displays.
Click one or more features in the Available Features list and click
move to the Selected Features list.
. The features
4. Click Apply.
The feature is added to the node and the Runtime State changes to Marked for Install.
2. Apply the update.
Apply - Installs the selected features on the nodes. Applications deployed on the nodes will continue
to use the features that were available on the node when they were deployed.
Apply with Resolve- Installs the selected features on the nodes, restarts the nodes, and causes all
applications deployed on the nodes to use the latest versions of the features on which they depend.
Use this operation to install a new version of an existing feature, to force applications that reference
the existing feature to use the new version, or if after clicking Apply you get an error that says that
because the node is running in stable mode, it cannot accept the deployment of the feature.
Cancel
The Runtime State of the feature changes to Installed.
CLI
Procedure
1. In the data file, specify a Feature element nested in a Node element.
<Node xsi:type="amxdata:Node" name="node1"
<Feature xsi:type="amxdata_base:FeatureID" componentID="myFeature"
version="myFeatureVersion"/>
</Node>
2. In the AMXAdminTask element, set the action attribute to add and the objectSelector element to
Environment/Node/Feature.
<AMXAdminTask action="add" objectSelector="Environment/Node/Feature"/>
3. In the AMXAdminTask element, set the action attribute to reprovision and the objectSelector element
to Environment/Node. If the feature includes a resource instance that is dependant on drivers that must
be installed in the resolve mode, specify the options="resolve" attribute. Using the resolve option
restarts the node.
<AMXAdminTask action="reprovision" objectSelector="Environment/Node"/>
2. In the build file, set the action attribute of the AMXAdminTask element to set and the objectSelector
attribute to Environment/Node/Feature.
<AMXAdminTask action="set" objectSelector="Environment/Node/Feature"/>
3. In the AMXAdminTask element, set the action attribute to reprovision and the objectSelector element
to Environment/Node. If the feature includes a resource instance that is dependant on drivers that must
be installed in the resolve mode, specify the options="resolve" attribute. Using the resolve option
restarts the node.
<AMXAdminTask action="reprovision" objectSelector="Environment/Node"/>
1.
2.
3.
4.
5.
6.
7.
8.
Software
Management
CLI
Procedure
In the build file, set the action attribute of the AMXAdminTask element to remove and the objectSelector
attribute to Node/Feature.
<AMXAdminTask action="delete" objectSelector="Node/Feature"
/>
CLI
Procedure
1. In the data file, specify a Feature element in base format.
<amxdata_base:Enterprise
<Feature componentID="JavaHelloWorld2Soa_feature" version="1.0.0"/>
</Enterprise>
2. In the build file, set the action attribute of the AMXAdminTask element to delete and the objectSelector
element to Feature.
<AMXAdminTask action="delete" objectSelector="Feature" />
Feature Reference
<Feature xsi:type="amxdata_base:FeatureID"
attributeList />
Property
Description
Name
Version
The feature version. When deleting a feature though CLI, the version functions as a wildcard.
For example, specifying a version of 1.0 deletes all features whose version starts with 1.0.
Features Reference
For each feature, you can display the name, type, feature status, and node state. You can include system
features in the feature list or display only features that you added to the enterprise.
By default a node's Features list contains the feature named TIBCO ActiveMatrix Platform. This feature
contains the runtime and implementations of the components in the platform application.
Click Show System Features to view the installed system features. This link toggles between Show System
Features and Hide System Features.
Column
Description
Name
Type
Version
The feature version. When deleting a feature though CLI, the version functions as a
wildcard. For example, specifying a version of 1.0 deletes all features whose version
starts with 1.0.
Expand the version to view additional details.
Node
Feature Status
Node Runtime
State
Column
Description
or the OS is unable spawn additional processes. After this state ,the node is disabled
and must be manually enabled.
Running
Application Templates
An application template is a root composite and a set of related configuration files including nested composites,
WSDL files, substitution variable files, and resource templates. An application template is added to the
Administrator software repository when you upload a DAA.
While multiple applications can be created from an application template, each application is associated with
a single application template. During upgrade you can switch to a new version of the application template.
1. Click Applications.
2. Click an application.
3. In the General tab, click the Upload DAA or EAR link next to the Template
Version field.
a. Navigate to a directory containing the DAA file.
b. Click the DAA file.
c. Click Open.
4. Choose whether you want to import the listed features.
2. Click Save.
Results
The application templates contained in the DAA are added to enterprise.
CLI
Procedure
1. In the data file, specify a DAA element in full format.
<DAA xsi:type="amxdata:DAA" location="testApp.daa" />
2. In the build file, set the action attribute of the AMXAdminTask element to add and the objectSelector
attribute to DAA.
<AMXAdminTask action="add" objectSelector="DAA" />
CLI
Procedure
1. In the data file, specify an AppTemplate element in base format.
<amxdata_base:Enterprise
<AppTemplate xsi:type="amxdata_base:AppTemplateID" name="myAppTemplate"
version="1.0.0"/>
</amxdata_base:Enterprise>
2. In the AMXAdminTask element, set the action attribute to delete and the objectSelector attribute to
AppTemplate.
<AMXAdminTask action="delete" objectSelector="AppTemplate" />
attributeList />
CLI Element or
Attribute
Required?
Editable?
Description
name
version
Versions
A version is a property that controls how an object is treated at installation or deployment. Versions are
specified in TIBCO Business Studio and cannot be modified in Administrator.
The following objects have versions:
Composites and application templates.
Components - During application upgrade, Administrator compares component versions to determine
whether the component needs to be upgraded.
Features
Plug-ins
Packages
Version Numbers
A version number is a multicomponent number of the form major. minor. service.qualifier. Changes in the value
of each component reflect different types of changes in the versioned object:
major - Reflects breaking changes to the interface.
minor - Reflects non-breaking changes in an externally visible way. Examples of externally visible changes
include binary compatible changes, significant performance changes, major code rework, and so on.
service - Reflects changes that are not visible in the interface. For example, a bug has been fixed in the code,
documentation has changed, compiler settings have changed, and so on.
qualifier - Identifies when and where the object was built or packaged.
When you create an object in TIBCO Business Studio, the version is set to "1.0.0.qualifier". If the qualifier
component of a version is set to "qualifier" when you create a DAA, TIBCO Business Studio replaces "qualifier"
with a generated qualifier that defaults to a timestamp. You can customize the format of the generated qualifier
by specifying a qualifier replacement.
Version Ranges
Some fields require you to specify a version range. For example, a feature may have a dependency on a range
of versions of another feature. A version range is an interval specified as: bracket lower limit, upper limit bracket,
where bracket can be [ or ], which denotes an inclusive end of the range or ( or ), which denotes
an exclusive end of the range. If one end of the range is to be included and the other excluded, the range can
contain a square bracket with a round bracket.
There are three common use cases:
A strict version range, such as [1.0.0,1.0.0], denotes version 1.0.0 and only that version.
A half-open range, such as [1.0.0,2.0.0),which has an inclusive lower limit and an exclusive upper limit,
denotes version 1.0.0 and any later version, up to, but not including, version 2.0.0.
An unbounded open range expressed as a single number such as 2.0.0, which is equivalent to the
range [2.0.0, infinity), denotes version 2.0.0 and any later version.
Artifacts
2. In the build file, set the action attribute of the AMXAdminTask element, to add and the objectSelector
attribute to DAA.
<AMXAdminTask action="add" objectSelector="DAA"/>
attributeList />
Property
Description
Upload
File
Import
Features
Import
N
Resource
Templates
Chapter
12
Governance
Governance is a concept to exercise organizational control over development, deployment, and operations of
services.
In service-oriented architecture, operational governance assures service execution to ensure that services behave
according to the specified mandates and guidelines. It can include service monitoring, resource optimization, fault
tolerance and access control. Several features in the design, runtime, and administration components of the TIBCO
ActiveMatrix platform support operational governance. At design-time, TIBCO Business Studio allows application
developers to specify intents and policy sets. At administration time, TIBCO ActiveMatrix Administrator supports
metrics collection and monitoring and credentials that support identity management.
Topics
Dashboards
Users, Groups, and Permissions
Log Viewer
Monitoring
290 | Governance
Dashboards
Dashboards display runtime object performance statistics. They allow you to monitor the overall health and
performance of infrastructure objects, applications, and resources.
2. Click a link at the top to display the performance statistics for a class of runtime object.
3. In the Filter Criteria gadget on the right:
Click the Time Period drop-down list and select a time period. The time period affects averages and
counts, but not metrics with an explicit last value such as Uptime. Basic monitoring provides one hour
and since started time periods.
Click
next to a category to display the available objects in the category and select one or more
objects.
The items displayed in the table on the left are filtered by the selected time period and objects.
Governance | 291
You open and close lists by clicking the arrow icons on the right.
You can multi-select the items in a list.
Clicking All at the top of each list clears the selection
You can filter the items in a list by typing a string in the text box at the top of the list. Only items that
match the string display. However, the items selected before the list was filtered remain selected even
though they are hidden.
Lists with selections have a bluish background when closed.
292 | Governance
2. In the Refresh Interval field, type the time to wait before the statistics are refreshed.
3.
In the accumulator list, select one or more statistics on the right and click
to add them to the display
and select one more statistics on the left and click
4. Click OK.
Dashboard Controls
Dashboard controls allow you to quickly change the dashboard view.
Control
Behavior
Open the preferences dialog.
Minimize a gadget.
Maximize a gadget.
Refresh statistics.
Switch to enterprise graphical view.
Display a previously viewed dashboard.
Governance | 293
Users
A user has the following attributes:
User ID Required. A string identifier that is unique within the realm. I18n characters are allowed.
Password Required. A string containing at least one character.
Creating a User
You can create a user from the GUI or by using the CLI.
GUI
Procedure
1. Select Governance > Users & Groups and click the Users tab.
2. Click New.
A user dialog appears on the right.
3. Type the user ID and password in the respective fields.
4. Click Save.
The dialog disappears. The user is added to the list in the Users tab and is selected.
CLI
Procedure
1. In the data file specify a user definition in full format.
<User xsi:type="amxdata:User" username="linda" password="123" />
2. In the build file set the action attribute of the AMXAdminTask element to add and the objectSelector
attribute to User.
<AMXAdminTask action="add" objectSelector="User[@username='linda']" />
294 | Governance
In the header of TIBCO ActiveMatrix Administrator, click the username (Profile) link.
In the Current Password field, type your current password.
In the New and Confirm Password fields, type the new password.
Click Save.
Superusers
A superuser has implicit Owner permission for all objects. Superusers have no security restrictions. They are
allowed to do anything in the system.
Superusers can manage objects that have no owners. For example:
An owner of an object is on vacation, leaves the company, or is otherwise unreachable.
An owner of an object removes himself from the Owner permissions and saves the object. From then on,
the object has no explicit owner.
A group had been granted Owner permission for an object. The group initially had two users. Over a
period of time, the two users left the company, and each one got removed from that group. The object's
permissions were unchanged during this time, but effectively it has no owner.
All superusers are users in the Administrator authentication realm. For example, for the LDAP realm, users
must be present in the LDAP server. If a superuser is deleted from the LDAP server, the user loses superuser
privilege only in the next login session. A current login session still treats the user as a superuser.
Because of the potential for a rogue superuser to vandalize the system, exercise caution when assigning the
superuser role to a user or creating superuser groups.
Contact TIBCO Support to reset the superuser password.
Governance | 295
Click
.
Holding the left mouse button down, drag to the list on the right, and release the button.
The user is added to the list on the right.
5. Click Save.
The user is added to the list of superusers.
CLI
Procedure
1. In the data file specify a ListOfSuperUser definition in full format.
<ListOfSuperUser xsi:type="amxdata_base:ListOfSuperUser">
<superUser username="linda"/>
<superUser username="tom"/>
</ListOfSuperUser>
2. In the build file set the action attribute of the AMXAdminTask element to add and the objectSelector
attribute to ListOfSuperUser.
<AMXAdminTask
action="add"
objectSelector="ListOfSuperUser"
/>
296 | Governance
CLI
Procedure
1. In the data file specify a ListOfSuperUser definition in full format.
<ListOfSuperUser xsi:type="amxdata_base:ListOfSuperUser">
<superUser username="linda"/>
</ListOfSuperUser>
2. In the build file set the action attribute of the AMXAdminTask element to delete and the objectSelector
attribute to ListOfSuperUser.
<AMXAdminTask
action="delete"
objectSelector="ListOfSuperUser"
/>
Groups
A group is a collection of users. Some authentication realms support group hierarchies.
A group has the following attributes:
Name Required. A string identifier that is unique among all groups. I18n characters are allowed.
Description Optional. A string that describes the group.
Members A list of users that belong to that group. A user may belong to zero or more groups and a group
may have zero or more members.
Group Hierarchy
Groups can exist within a hierarchy. The existence and nature of a group hierarchy depends on the type of
the authentication realm. This section describes the group hierarchy available in each type of authentication
realm.
Database
The Database authentication realm supports a group hierarchy. In the Database realm, groups do not
have a common root element; Administrator allows multiple groups at the root level.
A group can contain zero or more subgroups. A group is either at the root level, or it has one and only
one parent group. The parent-subgroup relationship always implies membership inclusion from subgroups
to parent groups. For example, if the Company Staff group contains the City Staff group, the members of
the City Staff group are also members of the Company Staff group.
LDAP
The LDAP authentication realm supports a group hierarchy as it exists in your LDAP server. A change
in the structure in LDAP is reflected in Administrator, but only after a cache-expiry interval.
Adding Users to Groups
Privileged users can add users to groups from the GUI or by using the CLI. You can add multiple users at
the same time.
GUI
Procedure
Choose one of the following options:
TIBCO ActiveMatrix Service Bus Administration
Governance | 297
Option
Procedure
Users
1.
2.
3.
4.
Select Governance > Users & Groups and click the Users tab.
Click one or more users.
Click Add Group Membership.
Click one or more groups.
Holding the left mouse button down, drag to the list on the right, and release
the button.
Click
.
5. Click Save.
Groups
1. Select Governance > Users & Groups and click the Groups tab.
2. Click a group.
3. Click Add Users.
Holding the left mouse button down, drag to the list on the right, and release
the button.
Click
4. Click Save.
CLI
Procedure
1. In the data file, specify a Group in base format and User in base format.
<Group xsi:type="amxdata_base:Group_base"
name="sales">
<User xsi:type="amxdata_base:User_base" username="linda"/>
</Group>
2. In the build file, set the action attribute of the AMXAdminTask element to add and the objectSelector
attribute to Group/User.
<AMXAdminTask
action="add"
objectSelector="Group/User"/>
Procedure
Users
1. Select Governance > Users & Groups and click the Users tab.
2. Click a user.
The groups that the user belongs to are displayed in the Groups table.
3. Select the group from this table and click the
Groups
1. Select Governance > Users & Groups and click the Groups tab.
TIBCO ActiveMatrix Service Bus Administration
298 | Governance
Option
Procedure
2. Click a group.
The users that belong to this group are displayed in the User pane.
3. Select the group from this table and click the
CLI
Procedure
1. In the data file, specify a Group in base format and User in base format.
<Group xsi:type="amxdata_base:Group_base"
name="sales">
<User xsi:type="amxdata_base:User_base" username="linda"/>
</Group>
2. In the build file, set the action attribute of the AMXAdminTask element to delete and the objectSelector
attribute to Group/User.
<AMXAdminTask
action="delete"
objectSelector="Group/User"/>
2. In the build file set the action attribute of the AMXAdminTask element to add and the objectSelector
attribute to Group.
<AMXAdminTask
action="add"
objectSelector="Group"/>
Governance | 299
Creating a Subgroup
If group hierarchies are supported in your authentication realm, you can create a subgroup of the root group
from the GUI or by using the CLI.
GUI
Before you begin
A root group must already exist.
Procedure
1. Select Governance > Users & Groups and click the Groups tab.
2. Click a root group.
3. Click New Subgroup.
The group dialog displays on the right.
4. Type the group name and description in the respective fields.
5. Click Save.
The group is added to the list in the Groups tab as a child of the parent root group and is selected.
CLI
Procedure
1. In the data file specify a parent group in base format and child group definition in full format.
<Group xsi:type="amxdata_base:Group_base"
name="acme">
<Group xsi:type="amxdata:Group"
name="sales">
</Group>
2. In the build file set the action attribute of the AMXAdminTask element to add and the objectSelector
attribute to Group/Group.
<AMXAdminTask
action="add"
objectSelector="Group/Group"/>
300 | Governance
name="sales">
</Group>
2. In the build file set the action attribute of the AMXAdminTask element to delete and the objectSelector
attribute to Group.
<AMXAdminTask
action="delete"
objectSelector="Group/Group"/>
Permissions
Permissions constrain the types of actions that a user can perform on an object. The Administrator object
types, environments, hosts, nodes, resource templates, logging appenders, and applications, have permissions
that grant access of a particular type to lists of users and groups. Enterprise-level permissions control whether
a user can manage users and create top-level objects (which are not controlled by the permission settings of
other objects.
Permission Types
There are three types of permissionsView, Edit, and Ownerthat are generally applicable to any type of
object. These permissions allow the following actions:
View Browse objects in a list or view details for an object. Excludes the viewing of object permissions.
Edit
Perform all the actions allowed with View.
Edit the properties of an object.
Add items to a parent object. For example, if a you have Edit permission for an environment, then you
can add a node, application, or any other type of object that belongs to an environment to that
environment. When you add an object, its parents permissions are copied into that new object.
Additionally, you are granted Owner permission for that object.
Owner
Perform all the actions allowed with Edit.
View and modify object permissions.
Delete the object.
In addition to the View, Edit, and Owner permission types, there are object-specific permission types and
enterprise permission types.
Object-specific permission types grant permissions for actions that apply only to specific types of objects. For
example, environments have a Create Node permission type. In order to be able to create nodes in an
environment, a user would require either Edit or Create Node permission for the environment. The ability
to perform runtime actions such as start, stop, install, uninstall, deploy, and undeploy is also controlled by
object-specific permission types. For example, nodes have a Start-Stop permission type.
Enterprise permission types grant permissions for actions that apply to objects whose parent is the enterprise
object. Many Administrator objects such as nodes and resource instances are created under a parent object
that can be created by a user. For example, an environment is the parent of a node. Permissions on user-created
parent objects control who can create new child objects. For example, if you have Edit permission for an
environment, you can create a node in that environment. The parent of other objects, such as environments,
resource templates, and hosts is the enterprise object. The permissions of such objects are managed in the
Enterprise Permissions screen. For example, the permission type to create an environment in the Enterprise
Permissions screen is Create Environment. Enterprise permission types can be granted by superusers.
Governance | 301
Permission States
If you select multiple objects of the same type and open the Permissions screen, the checkbox can take the
following values:
- the selected objects do not grant that permission type to the user or group.
- the selected objects grant that particular type of permission to the user or group.
- at least one of the selected objects grants the permission type to the user or group. For example, if you
select nodes Node1, Node2, and Node3, and appears next to a user in the Edit column, the user might
have been granted Edit permission for Node1 and Node2, but not to Node3.
- The first click toggles to . Converting into grants the user or group the chosen permission type
for all selected objects for which the user or group does not have the permission type. If a selected object
already has the permission type, the value doesn't change.
302 | Governance
Permission Reference
The permission a user is granted determines which actions the user can perform on which object.
To perform an action on an object, you must have been granted at least the minimum level of permissions
indicated in the table.
Table 31: Environments
Action
Create
Enterprise Permissions:
Create Environment
Delete
Owner
View details
View
Edit details
View
Edit
Create wire
View
Edit
Promote / Demote Service or Reference
Permission must be granted for both source and target
environments
Governance | 303
Register
Enterprise Permissions:
Register Host
Unregister
Owner
Discover
Enterprise Permissions:
Register Host
View details
View
Edit details
View
Edit
View
Edit Logging Config
Enterprise Permissions:
Create Resource Template
Environment Permissions:
Create Resource Template
Application Permissions:
Manage Resource Template
Owner
Application Permissions:
Manage Resource Template
Create
Environment Permissions:
View
Create Node
Host Permissions:
View
304 | Governance
Action
Delete
Owner
View details
View
Edit details
View
Edit
Install or uninstall
View
Edit
Start or stop
View
Start / Stop
View
Edit Logging Config
View
Edit Software
View
Create
Node Permissions:
View
Create Resource Instance
Resource Template Permissions (for global and environment scoped
resource templates):
View
Resource Template Permissions (for application scoped resource
templates):
View
Delete
Node Permissions:
Create Resource Instance
View details
Node Permissions:
View
Node Permissions:
Create Resource Instance
Governance | 305
Create
Enterprise Permissions:
Upload DAA
Environment Permissions (if creating application under environment):
View
Create Application
or
Application folder Permissions (if creating application under application
folder)
View
Create Application
Delete
Owner
View Details
View
View
Edit
View
Edit Logging Config
View
Start/Stop
View
Edit
Node Permissions:
View
Deploy App To
Upgrade
View
Edit
Deploy or undeploy
View
Deploy/Undeploy
Node Permissions:
Deploy App To
306 | Governance
Create, edit, or delete from the list Enterprise Permissions (for substitution variables at global scope):
of substitution variables
Create SVar
View and Edit permission on the parent object (for substitution variables
at other scopes - environment, host, node, application, app fragment)
View the list of substitution
variables
Enterprise Permissions:
Create Logger Appender
Create or delete
Enterprise Permissions:
Manage Users
Assign to groups
Enterprise Permissions:
Manage Groups
Reset password
Enterprise Permissions:
Reset Password
View
None
None
Governance | 307
Upload DAA
Enterprise Permissions:
Upload DAA
Enterprise Permissions:
Upload DAA
308 | Governance
Log Viewer
The Log Viewer allows you to search the log entries stored by a log service. The log service stores the logs
sent from a JMSAppender.
To display the Log Viewer, select Governance > Log Viewer . The Log Viewer contains three areas:
Search Builder A filter area and toolbar. In the filter area, you specify search parameters to filter log
events. In the toolbar you invoke actions to perform searches.
Log A table of log events that satisfy the attribute values.
Log Detail Property sheets that display the details of a log event selected in the Log.
Running Searches
About this task
The Log Viewer supports a flexible approach to running queries. You can run newly constructed or modified
queries.
Procedure
1. Choose a search type.
Search Type
Basic Search
Perform a search based on keywords, time
period, and severity.
Procedure
1. In the Search Builder toolbar, select New Search
Basic Search.
2. Specify keyword, time period, and severity values
to search for.
The search is case sensitive.
Governance | 309
Search Type
Procedure
Advanced Search
Search Builder
The search builder is divided into three areas:
Toolbar Contains actions for minimizing and maximizing the query builder, and building queries.
Event Model control Contains an event model selector and a tree of the attributes available for each type
of event model.
Filter area Contains a canvas displaying the active filters.
310 | Governance
Description
The attribute value you provide exactly matches (strings) or equals (numbers) the
attribute value in the log event.
Governance | 311
Operator
Description
>=
The attribute value you provide is greater than or equal to the attribute value in the log
event. Available only for EEF Severity and EEF Priority.
<=
The attribute value you provide is less than or equal to the attribute value in the log
event. Available only for EEF Severity and EEF Priority.
CONTAINS
The attribute value you provide contains a substring of the attribute value in the log
event. For example, the value MyContext for a Context ID attribute, matches the
following Context ID values: MyContext, MyContextXXX, XXXMyContextXXX
Click
Event Models
An event model specifies the type of attributes associated with a log event.
The supported event models are:
Base Event Format (BEF) The root of all event formats. It includes the most common attributes of an event.
Engine Event Format (EEF) Adds engine-level attributes to the Base Event Format. This is the default
model.
BW Engine Event Format (BWEEF) Adds BusinessWorks-specific engine attributes to the Engine Event
Format.
Base Event Format Attribute Reference
Attribute
Field Key
Description
Creation Time
_cl.creationTime
Expiration Time
in DB
_cl.expirationTimeInDB
Msg ID
_cl.msgId
Msg
_cl.msg
Physical
Component ID
_cl.physicalCompId.key
name
312 | Governance
Attribute
Field Key
Description
Generic Physical Component ID with field1 named
cluster_name and field2 called host_name.
AMX Physical Component ID
An ActiveMatrix physical component identifier.
The ActiveMatrix scheme identifier is amx. The
ID is: amx#environment name#host name#node
name#typeadapter name.
Logical
Component ID
_cl.logicalCompId.key
name
Scheme
_cl.logicalCompId.scheme
Logger Name
_cl.reportingCompId.Value
Class Loader
_cl.reportingCompId.Classloader
Hierarchy
_cl.reportingCompId.hierarchyName
Global Instance
ID
_cl.globalInstanceId
Correlation ID
_cl.correlationId
Location ID
_cl.locationId
Context ID
_cl.contextId
Parent Context
ID
_cl.parentContextId
Classifier
_cl.classifier.key
name
Governance | 313
Attribute
Field Key
Description
Situation
_cl.situation
Security
Principal
_cl.securityPrincipal
Situation Types
enumerates the situation types that cause components to log events and describes the Table 44: Situation
Types on page 313contexts in which the situation applies.
Table 44: Situation Types
Situation Type
Description
StartSituation
Deals with the component startup process. Messages indicate that a component
has finished the startup process or that it has aborted the startup process. Existing
messages include words such as: starting, started, initializing, and initialized.
StopSituation
Deals with the component shutdown process. Messages indicate that a component
has begun to stop, that it has stopped, or that the stopping process has failed.
Existing messages include words such as: stop, stopping, stopped, completed, and
exiting.
ConnectSituation
RequestSituation
Deals with the situations that identify the completion status of a request. Typically
these requests are complex management tasks or transactions that a component
undertakes on behalf of a requestor and not the mainline simple requests or
transactions. Existing messages include words such as: configuration
synchronization started and backup procedure complete.
ConfigureSituation
AvailableSituation
Deals with component operational state and availability. Provides a context for
operations that can be performed on the component by distinguishing if a product
is installed, operational and ready to process functional requests, or operational
and ready or not ready to process management requests. Existing messages include
words such as: ready to take requests, online, and offline.
ReportSituation
Deals with the situations reported from the component, such as heartbeat or
performance information. Messages indicate current CPU utilization and current
memory heap size. Existing messages include words such as: utilization value is,
buffer size is, and number of threads is.
CreateSituation
314 | Governance
Situation Type
Description
DestroySituation
FeatureSituation
Deals with the situations that announce that a feature of a component is ready (or
not ready) for service requests. Message indicate services being available and
services or features being unavailable. Existing messages include words such as:
now available, currently available, and transport is listening on port 123.
DependencySituation
Deals with the situations in which components cannot find some component or
feature that they require. Messages indicate a resource was not found, that an
application or subsystem that was unavailable, or that the expected version of a
component was not found. Existing messages include words such as: could not
find and no such component.
OtherSituation
Provides support for product-specific situations other than the predefined categories.
Field Key
Description
Severity
_cl.severity
Priority
_cl.priority
Thread ID
_cl.threadId
OS Process ID
_cl.OSProcessId
Class Name
_cl.className
Field Key
Description
Host Name
_cl.hostName
Governance | 315
Attribute
Field Key
Description
Engine
Name
_cl.engineName
Job ID
_cl.jobId
Process
Instance ID
_cl.processName
Activity
Name
_cl.activity
Project
Name
_cl.projectName
Starter
Name
_cl.starterName
Tracking
ID
_cl.trackingInfo
Custom ID
_cl.customId
Log Table
The log table displays the log events returned from a search.
Configuring Log Table Columns
To configure the columns that appear in the log table:
1.
Click the
icon in the Search Builder toolbar. The column picker will display:
316 | Governance
Governance | 317
318 | Governance
Monitoring
Monitoring is a facet of operational governance. Monitoring is supported by a monitoring service, which
aggregates performance data emitted by governed objects and dashboards, which display the data and
provide mechanisms for drilling into the objects. The TIBCO ActiveMatrix monitoring architecture is depicted
in Figure 17: Monitoring Architecture on page 318.
Monitoring Service
The monitoring service and dashboards in TIBCO ActiveMatrix Administrator provide summary and detailed
views into the operational health and performance of your TIBCO ActiveMatrix infrastructure, applications,
and services.
The monitoring service is created when you create an Administrator server. For details, see the installation
manual for your product. The monitoring service is configured with a database for storing performance data
and the notification server that conveys the performance data from runtime objects to the monitoring service.
Basic monitoring provides one hour and since started time periods and a select number of metrics such as
runtime state, requests, faults, response time. These features support advanced performance troubleshooting,
but impose an additional load on the machine on which Administrator runs.
Select Applications.
Select SystemEnvironment from the Environment drop-down list.
Expand the System folder.
Select com.tibco.amx.mcr.aggregator from the Applications list and click Stop.
This stops the processing of messages by the monitoring service.
Governance | 319
5. To stop nodes from sending messages to the queue, add the following property to the .tra file for the node:
java.property.com.tibco.serviceprobe.monitoring.enabled=false. The .tra file for the node is
located in the folder CONFIG_HOME/tibcohost/
Admin-enterpriseName-adminServerName/nodes/nodeName/bin.
6. Restart the node.
What to do next
To ensure that the monitoring service is never deployed, you can disable monitoring when you create the
Administrator server using the TIBCO Configuration Tool. For details, see the installation manual for your
product.
320 | Governance
4. Apply the change to the monitoring service Administrator plug-in by running: ant
-f
CONFIG_HOME/tct/admin/timestamp/scripts/build.xml update.mcr.plat.service.log.config .
5.
6.
7.
8.
9.
Governance | 321
Metrics Reference
Table 45: Metrics Definitions and Objects
Metric
Object
Description
Basic or
Extended
Status
Host, Node,
The state of a runtime object .
Component,
Component
Instance, Binding,
Binding Instance,
Wire, Reference
Instance, Reference,
Application,
Composite, Service,
Service Instance,
Resource Instance
CPU %
Host, Node
(managed by a
TIBCO Host
instance only)
Host, Node
(managed by a
TIBCO Host
instance only)
Basic
Memory Used
(bytes)
Host, Node
(managed by a
TIBCO Host
instance only)
Basic
Free Memory
(bytes)
Host, Node
(managed by a
TIBCO Host
instance only)
Basic
Uptime (ms)
Host, Node,
The length of time the object has been running. Basic
Component,
Component
Instance, Binding,
Binding Instance,
Wire, Reference
Instance, Reference,
Service, Service
Instance, Resource
Instance
Components
Running
Basic
Basic
322 | Governance
Metric
Object
% Uptime
Component
The ratio between the length of time an instance Basic
Instance, Binding is running and its lifetime.
Instance, Reference
Instance, Reference
Instances Avail
Component,
The number of instances running.
Binding, Reference,
Service
Basic
Requests
Component,
The number of requests arriving at an object.
Component
Instance, Binding,
Binding Instance,
Application,
Composite, Service,
Service Instance
Basic
Request Rate
Component,
The rate of requests incoming to an object.
Component
Instance, Binding,
Binding Instance,
Application,
Composite, Service,
Service Instance
Extended
Success
Basic
Faults
Basic
Fault Rate
Wire, Reference
The rate of fault responses.
Instance, Reference,
Application,
Application Folder,
Composite, Service,
Service Instance
Extended
% Success
Component,
The ratio of successful responses to incoming
Component
requests.
Instance, Binding,
Binding Instance,
Application,
Composite, Service,
Service Instance
Basic
Description
Basic or
Extended
Governance | 323
Metric
Object
Description
Basic or
Extended
Req Completed
Basic
Component,
The length of time between the arrival of a
Component
request and the generation of the response.
Instance,
Application,
Composite, Service,
Service Instance
Basic
Binding, Binding The number of requests that have passed from Extended
Instance,
a service binding to a component
Application,
implementation.
Composite, Service,
Service Instance
Extended
Component,
Component
Instance, Binding,
Binding Instance,
Application,
Composite, Service,
Service Instance
Extended
Extended
Component,
The number of requests a component makes to Basic
Component
a referenced service.
Instance, Wire,
Reference Instance,
Reference,
Application,
Composite
324 | Governance
Metric
Object
Description
Component,
The average length of time for a response to be Basic
Component
returned from a referenced service.
Instance, Wire,
Reference Instance,
Reference,
Application,
Composite
Wire, Reference
The rate of requests a component makes to a
Instance, Reference, referenced service.
Application,
Composite
Integrate with Hawk ActiveMatrix Plug-in to view the CPU and CPU
Refer to the Hawk ActiveMatrix Plug-in for more information.
Table 46: Basic and Extended Metrics
Object
Basic Metrics
Node
Status
CPU %
CPU Total
Memory Used
Free Memory
Uptime
Components Running
Host
Status
CPU %
CPU Total
Memory Used
Free Memory
Uptime
Resource
Instance
Status
Uptime
Application
Status
Uptime
Components Running
Faults
Success
% Success
Requests
Req Completed
Req Comp Time
Ref Invoc
Ref Invoc Time
Extended Metrics
Fault Rate
Req Completed
Requests In Queue
Request Rate
Req Comp Finish Rate
Ref Invoc Rate
Basic or
Extended
Extended
Governance | 325
Object
Basic Metrics
Extended Metrics
Component
Status
Uptime
Faults
Success
% Success
Requests
Req Completed
Req Comp Time
Instances Avail
Ref Invoc Time
Fault Rate
Req Completed
Requests In Queue
Request Rate
Req Comp Finish Rate
Avg Comp Proc Time
Ref Invoc Rate
Component
Instance
Status
Uptime
Faults
Success
% Success
Requests
Req Completed
Req Comp Time
% Uptime
Ref Invoc
Ref Invoc Time
Fault Rate
Req Completed
Requests In Queue
Request Rate
Req Comp Finish Rate
Avg Comp Proc Time
Ref Invoc Rate
Promoted
Service
Service
Service Binding
Status
Uptime
Faults
Success
% Success
Requests
Req Completed
Req Comp Time
Instances Avail
Fault Rate
Req Completed
Requests In Queue
Request Rate
Req Comp Finish Rate
Avg Comp Proc Time
Service Endpoint
Status
Uptime
Faults
Success
% Success
Requests
Req Completed
Req Comp Time
Fault Rate
Req Completed
Requests In Queue
Request Rate
Req Comp Finish Rate
Avg Comp Proc Time
Status
Uptime
Faults
Success
% Success
Requests
Fault Rate
Ref Invoc Rate
Promoted
Reference
Reference
Reference
Binding
326 | Governance
Object
Basic Metrics
Extended Metrics
Ref Invoc
Ref Invoc Time
Instances Avail
Reference
Endpoint
Status
Uptime
Faults
Success
% Success
Requests
Ref Invoc
Ref Invoc Time
Fault Rate
Ref Invoc Rate
Service
Operation
Faults
Success
% Success
Requests
Req Completed
Ref Invoc
Ref Invoc Time
Faults
Success
% Success
Ref Invoc
Ref Invoc Time
Fault Rate
Ref Invoc Rate
Service
Operation
Instance
Reference
Operation
Reference
Operation
Instance
Fault Rate
Req Completed
Requests In Queue
Request Rate
Req Comp Finish Rate
Avg Comp Proc Time
Fault Rate
Req Completed
Requests In Queue
Request Rate
Req Comp Finish Rate
Avg Comp Proc Time
Service Endpoint
Operation
Instance
Reference
Binding
Operation
Reference
Binding
Operation
Instance
Faults
Success
% Success
Uptime
Ref Invoc
Ref Invoc Time
Fault Rate
Ref Invoc Rate
Governance | 327
Object
Basic Metrics
Extended Metrics
Reference
Endpoint
Operation
Reference
Endpoint
Operation
Instance
Chapter
13
Logging
The TIBCO ActiveMatrix platform supports a flexible logging architecture that enables runtime objects to log events
to various types of destinations.
The TIBCO ActiveMatrix logging environment is depicted in Figure 18: TIBCO ActiveMatrix Logging Architecture
on page 329.
330 | Logging
Log viewer A browser-based server and client UI for viewing log events stored to a database.
Topics
Log Services
Logging Appenders
Logging Configurations
Payload Services
Creating Additional Log and Payload Services
Logging | 331
Log Services
A log service is a TIBCO ActiveMatrix application that offers logging services.
The log service application com.tibco.amx.commonlogging.logservice.app is deployed in the environment
SystemEnvironment on SystemNode, the node that runs the Administrator server.
A log service receives log entries sent to a JMS destination and stores the entries in a database.
A log service is created when you create an Administrator server. The log service uses the same Enterprise
Message Service server for receiving log messages as the Administrator server uses for receiving notification
messages. You can configure a log service to use the Enterprise Message Service server of your choice. You
can choose to store log data in the same database used by Administrator server or use another database. For
details, see the installation manual for your product.
If the connection to the EMS server is lost, logservice messages and payload service data is stored in the folder
CONFIG_HOME/tibcohost/Admin-enterpriseName-serverName/data_3.2._x/nodes/nodeName/work/clrecovery.
The logservice messages and payload service data is processed when the connection to the EMS server is restored.
Type
Description
com.tibco.amx.commonlogging.logservice.app
cl_logservice_teneo
Teneo
The name of the Teneo resource instance to which log entries are
stored.
cl_logservice_jmsDestination JMS Queue The name of the JMS Destination resource instance that represents
the JMS queue to which the log events are sent.
cl_logservice_
jmsConnectionFactory
defaultConnector
JMS
The name of the JMS Connection Factory resource instance that
Connection represents the Enterprise Message Service server that receives log
events.
string
cl_logservice_timeinterval int
(h)
The name of the HTTP Connector used by the Log Viewer. It must
be set to the same value as the HttpInboundConnectionConfig
property.
The frequency with which expired log entries are purged from the
database.
0 - log entries are never purged.
332 | Logging
Name
Type
Description
1 - expired log entries are purged every hour.
Default: 0.
cl_logservice_largeMessages boolean
ToPayload
logserviceinstancemanager.soapbinding
HttpInboundConnectionConfig HTTP
Connector
payloadservice.soapbinding
HttpOutboundConnectionConfig HTTP
Client
The name of the HTTP Client resource instance used by the log
service.
Logging | 333
Logging Appenders
TIBCO ActiveMatrix runtime objectshosts, nodes, and applicationsuse log4j technology to output log
statements to a variety of output targets. In log4j, a target is called an appender.
TIBCO ActiveMatrix supports the following logging appender types: clear text file, Common Base Event
(CBE) format file, and JMS. Events logged to a JMS appender are stored in a database.
Logging appenders are defined at the enterprise level and can be referenced by multiple logging configurations.
You can create the following types of logging appenders:
File Appends events to a log file.
Clear Text - the log file is stored in clear text format.
CBE - the log file is stored in CBE format.
JMS Appends events to a log service instance, which in turn stores the events to a database.
Default Logging Appenders
The default logging configurations use a file logging appender named nodeName_ROOT whose File Path
property is configured as listed in Table 47: Default Logging Appender File Paths on page 333.
Table 47: Default Logging Appender File Paths
Object
File Path
SystemHost
CONFIG_HOME\tibcohost\Admin-enterpriseName-adminServerName\host\logs\tibcohost.log
Nodes managed by
SystemHost
CONFIG_HOME\tibcohost\Admin-enterpriseName-adminServerName\nodes\nodeName\logs\nodeName
CONFIG_HOME\tibcohost\instanceName\host\logs\tibcohost.log
Nodes managed by a
TIBCO Host instance
CONFIG_HOME\tibcohost\instanceName\nodes\nodeName\logs\nodeName.log
.log
334 | Logging
4. Accept the default name or type a name for the appender in the Name field.
5. Fill in the fields and click Save.
The appender is added to the Logging Appenders table and is selected.
Results
CLI
Procedure
1. In the data file, specify the type of the appender in the xsi:type attribute.
File Log Appender
<LogAppender
xsi:type="amxdata:FileLogAppender"
name="HelloWorldFileAppender"
filePath="C:/amx-3admin/tibco/cfgmgmt/tibcohost/Admin-amxadmin-instanceOne/
nodes/DevNode/logs/HelloWorld.log"
maxSize="10000" maxBackupNum="5"/>
Logging | 335
jmsDestination="cl_logservice_jmsConnectionDestionation"
type="jndi"
sync="true"
payloadURL="c:/payloadURL"
sharedDiskURL="c:/sharedDiskURL"/>
2. In the AMXAdminTask element, set the action attribute to add and the objectSelector attribute to
LogAppender.
<AMXAdminTask action="add" objectSelector="LogAppender"/>
attributeList />
Property
Description
File Path
Pattern
Layout
Controls the format of the log entries for a clear text file
appender. Conforms to the log4j pattern layout.
Default:
"%d{dd MMM yyyy HH:mm:ss,SSS} [%t] [%-5p] %c
%X{_cl.correlationId} - %m%n"
This string prints the date, the name of the thread that
generated the event, the level of the logged event, the
category of the logged event, a correlation ID (an enrichment
field), a message, and a line separator. For example:
17 Dec 2009 16:43:41,250 [Job_Executor2] [INFO
]
com.tibco.amf.hpa.tibcohost.node.TibcoHostNode.IntegrationNode
- Successfully finished processing of RDA
rda6705267566599374829.zip
Max
Backup
Index
The number of log files to keep. When a log file reaches the
maximum size, a new log file is created. After the number
of files matches the number specified, the oldest is deleted
336 | Logging
Property
Description
when a new file is created. Each file is appended with a
number.
JMS Appender
<LogAppender xsi:type="amxdata:JmsLogAppender"
GUI
Property
attributeList />
Description
JNDI
Y
Connection
Factory
JNDI
Y
Connection
JNDI
Y
Destination
Log
N
Message
Expiration
Time (h)
Payload
Y
Connection
Factory
Payload
Y
Connection
Payload
Y
Destination
Shared
N
Disk URL
(optional)
The complete path to the file where the payload data will
be saved.
If blank, the payload data will be saved to the payload
service database.
Logging | 337
To include an LRE field in the log output, preface the name of the field key surrounded by brackets with
%R in the pattern layout of the simple file appender . For example, %R{_cl.physicalCompId.matrix.host}.
To include an MDC field, preface the field surrounded by brackets in the simple file appender's pattern
layout with %X. For example, %X{_cl.correlationId}.
The following table lists the available enrichment fields and where they are set. All the enrichment fields are
included in CBE file and the JMS appender.
Table 48: Enrichment Fields
Field Key
MDC
Description
_cl.correlationId
_cl.contextId
_cl.parentContextId
_cl.physicalCompId.scheme
LRE
Default: amx3.
_cl.physicalCompId.matrix.env
_cl.physicalCompId.matrix.host
_cl.physicalCompId.matrix.node
_cl.physicalCompId.matrix.typeadapter
_cl.logicalCompId.scheme
_cl.logicalCompId.matrix.application
_cl. logicalCompId.matrix.component
_cl.
Component version.
Component revision.
logicalCompId.matrix.component.version
_cl.
logicalCompId.matrix.component.revision
_cl.logicalCompId.matrix.service
_cl.logicalCompId.matrix.reference
338 | Logging
Field Key
LRE
MDC
Description
_cl.logicalCompId.matrix.operation
_cl.securityPrincipal
_cl.payload.id
_cl.payload.name
_cl.payload.type
_cl.payload.uri
_cl.payload.size
_cl.payload.MD5
_cl.payload.TTL
_cl.payload.data
Logging | 339
Logging Configurations
In log4j, a logger associates a runtime object with an appender, specifies the types of events to be logged, and
whether to pass messages to a parent logger. In the Administrator web interface, a logger is referred to as a
logging configuration.
A logger is an ancestor of another logger if its name followed by a dot is a prefix of the descendant logger
name. A logger is a parent of a child logger if there are no ancestors between itself and the descendant logger.
For example, com.tibco is a parent of com.tibco.silver. Each host, node, and application can have a logging
configuration and each logging configuration has a root logger. The logging level is specified for each appender
that belongs to a logger. This lets a logger to send logs to different destination with a different level. You can
use the Administrator graphical and command-line interfaces to create loggers and appenders and to add
appenders to existing loggers.
Default Logging Configurations
TIBCO ActiveMatrix nodes log at the WARN level by default. Node level configuration and application level
configuration are independent. However, the node and application levels share a configuration when a root
logger has not been configured for an application. It such a case, the application logging configuration shares
the root logger configuration of the node where part or all the application components run.
To modify the default log configurations for a node, edit
theCONFIG_HOME/admin/amxadmin/private/instanceName/DefaultLogConfiguration.properties file.
Basic and Advanced Mode
Logging configuration setting is available in two modes for hosts and nodes, basic and advanced. The advanced
mode is available for an application when it is not selected to share the node level configuration.
In the basic mode for hosts and nodes, default log level settings for FileAppender and JmsAppender are
available.
In the advanced mode, you can do the following:
Set additivity
Select an appender from a predefined list and set its log level
Create a new appender
340 | Logging
2. In the build file set the action attribute of the AMXAdminTask element to add or set and the objectSelector
attribute to Path/Logger, where Path is the navigation path to the logger. For example, to set the logging
configurations for all application loggers in a data file, action is set and objectSelector is
Environment/Application/Logger:
<AMXAdminTask action="set" objectSelector="Environment/Application/Logger"/>
Logging | 341
1.
2.
3.
4.
5.
Advanced
CLI
Procedure
1. In the data file specify Logger, AppenderRef, and Appender elements.
<Logger xsi:type="amxdata:Logger" name ="HelloWorldLogger" additivity="false">
<AppenderRef xsi:type="amxdata:AppenderRef" effectivelevel="INFO">
<Appender xsi:type="amxdata_reference:LogAppender_reference"
name="HelloWorldFileAppender/>
</AppenderRef>
</Logger>
2. In the build file set the action attribute of the AMXAdminTask element to add or set and the objectSelector
attribute to Path/Logger, where Path is the navigation path to the logger. For example, to set the logging
configurations for all application loggers in a data file, action is set and objectSelector is
Environment/Application/Logger:
<AMXAdminTask action="set" objectSelector="Environment/Application/Logger"/>
342 | Logging
Results
The logging configuration is propagated to the object.
CLI
Procedure
1. In the data file specify an Logger definition in full format.
In the following example, the Node element contains a logging configuration for a node named
admin01-node. The logging configuration named com.tibco specifies an appender that logs all Debug,
Info, Warn, Error and Fatal events to a file specified in the logging appender named node_file. The log
messages are passed to the root parent logging configuration.
<Node xsi:type="amxdata:Node" name="admin01-node">
<Logger xsi:type="amxdata:Logger" name="com.tibco" additivity="true">
<AppenderRef xsi:type="amxdata:AppenderRef" effectiveLevel="DEBUG">
<Appender xsi:type="amxdata_reference:LogAppender_reference" name="node_file"/>
</AppenderRef>
</Logger>
</Node>
2. Create a build file. In the AMXAdminTask element set the action attribute to deploy or deployLog and the
objectSelector attribute to Environment/Object, where Object is the object for which logging is being
configured.
<AMXAdminTask
action="deploy"
objectSelector="Environment/Node"/>
Description
Logger Name
Log Level
(FileAppender,
JmsAppender)
Logging | 343
Property
Description
ERROR Errors that allow the application to
continue running.
FATAL Errors that cause the application to fail.
OFF Blocks passing messages to a parent
Additivity
One of:
true Log messages are passed to the parent logging
configuration.
false Log messages are not passed to the parent
logging configuration.
Appender
Description
Name
344 | Logging
Payload Services
payload service supports archiving, persisting and retrieving large size payload data. It is an independent
service and does not depend on a log service. However, a log record sent to a log service can include a payload
URL field to link a log message and payload data. This is achieved by using the payload API in an application.
A payload service is created when you create an Administrator server. You can choose to store payload data
in the same database used by the Administrator server or use another database. Use the payload API in an
application to store payload data.
Refer Composite Development for information on how to save and retrieve payload data.
Type
Description
serverType
string
If the value of this property is db, the payload data will stored in a
database, otherwise the payload data is stored in the file specified by
the fileRootDir property.
teneoSessionFactory
Teneo
fileRootDir
string
contextRoot
string
defaultConnector
string
Name of the HTTP Connector used by the Log Viewer. Must be set to
the same value as the HttpInboundConnectionConfig
jmsConnFactory
JMS
JMS Connection Factory on page 221 resource instance that represents
Connection the Enterprise Message Service server that receives log events.
jmsDest
JMS Queue JMS Destination on page 224 resource instance that represents the JMS
queue to which the log events are sent.
payloadservice.soapbinding
HttpInboundConnection HTTP
Name of the HTTP Connector resource instance used by the payload
Connector service.
Config
Logging | 345
Chapter
14
Secure Communication Channels
The ActiveMatrix platform is partitioned across many components. You can secure the corresponding communication
channels during the initial configuration or later.
ActiveMatrix components communicate with each other and with third-party applications over several
communication protocols. Figure 19: Communication Channels on page 347 illustrates the components and
communication protocols.
and how to upgrade, downgrade, and change the configuration of each channel. The Key column in the table points
to the numbers in Figure 19: Communication Channels on page 347.
Table 51: SSL Configuration Summary
Key
Channel
Initial Configuration
Administrator
server (external
HTTP port) - web
and CLI clients
Administrator
When creating the Administrator server Upgrade or downgrade: Administrator
server (internal
in TIBCO Configuration Tool.
web UI or CLI
HTTP port) - hosts
Change SSL configuration:
and nodes
Administrator web UI or CLI
Administrator
When creating the Administrator server Upgrade or downgrade: Administrator
server - Enterprise in TIBCO Configuration Tool.
web UI or CLI
Message Service
Change SSL configuration:
server
Administrator web UI or CLI
(Notification Server
and Messaging
Bus)
TIBCO Host
When creating the Administrator server Upgrade or downgrade: Administrator
instance - TIBCO
or TIBCO Host instance in TIBCO
CLI
Enterprise Message Configuration Tool.
Change SSL configuration:
Service
Administrator CLI
Administrator
When creating the Administrator server Change SSL configuration:
server - external
in TIBCO Configuration Tool.
Administrator CLI
database and LDAP
servers
Administrator
server - hosts and
nodes
(management)
Administrator
-UDDI server
Administrator
server (external
HTTP port) TIBCO Business
Studio
Key
Channel
Initial Configuration
Topics
Trust Stores
Enabling Secure Communication Channels Using Command-Line Scripts
Installing Unlimited Jurisdiction Files
TIBCO Credential Service
Trust Stores
A trust store is a keystore that contains trusted certificates. Each time you configure an external server
connection for SSL, you create and configure a trust store for that connection.
You can create a trust store by using certificates imported from trusted servers or by uploading a keystore
file.
Record the values of the keytool options because you must supply them when you upload the trust store
keystore into TIBCO Configuration Tool or Administrator.
1. Click Configure SSL. The Configure SSL wizard displays certificates imported from the
trusted server.
2. In the Certificates list, check the checkboxes next to the certificates to trust and click
Finish.
3. In the SSL Client Provider area, choose one of the following:
Existing SSL Client Provider - Select an SSL Client Provider resource instance.
New SSL Client Provider
1. In the SSL Client Provider Name field, type a name for the SSL Client Provider.
2. In the Keystore Provider as Trust Store field, type the name of a Keystore Provider
resource instance.
3. In the Keystore Password field, type the password that protects the keystore.
4. Click Done.
Upload
Method
Procedure
4. Click the Browse button, select the keystore you created in 1.a on page 350, and click
Open.
5. In the Type drop-down list, select JKS.
6. In the Password field, type the keystore password.
7. Click Save for the Keystore Provider.
8. Click Save for the SSL Client Provider.
9.
HTTP Connector
Procedure
1. Edit the data file for the HTTP connector. The file is located at
TIBCO_HOME/administrator/version/scripts/edit-httpconnector-data.xml .
a) Update the serverBaseUrl attribute to point to the correct host and port. Make sure the https prefix
is used.
b) Uncomment the SSLConfig element.
c) Specify valid keystore details.
2. From the command-line prompt, navigate to the TIBCO_HOME/administrator/version/scripts folder.
3. Run the ant script ant -f bootstrap-edit-build.xml edit-httpconnector .
Results
You will see the sequence in which the resources are redeployed. Lastly the SystemNode is restarted.
External Database
Procedure
1. If moving from a different database, use the database specific migration tools to export or import existing
data to the new database.
2. Edit the data file for the application database. The file is located at
TIBCO_HOME/administrator/version/scripts/edit-external-database-data.xml.
a) Uncomment the SSLConfig element and specify valid keystore details.
b) Set the sslJNDIName to the value of the SSLConfig > SSLClientResource > name field.
c) Add the attribute sslJNDIName to the element JdbcResourceTemplate which is a child of
AppDatabaseDetails.
3. From the command-line prompt, navigate to the TIBCO_HOME/administrator/version/scripts folder.
-f bootstrap-edit-build.xml edit-external-database.
Results
You will see the sequence in which the resources are redeployed. Lastly the SystemNode is restarted.
Chapter
15
Network Configuration
This section provides information on network configuration and port usage.
Topics
IPv6 Support
Port Usage
IPv6 Support
If an object has a property that can contain an IP address, the address is usually set to the unspecified IP
address (0.0.0.0). That means the object listens on IPv4 and IPv6 addresses. By default clients use the IPv4
address. You can override this behavior so that clients use the IPv6 address.
Prerequisites
Before using an IPv6 supported network, perform the following tasks:
1. Complete all the network configuration changes required for network traffic routing.
2. Enable all physical machines participating in the installation topology for IPv4 and IPv6 addressing in
dual-stack IP implementations.
3. Configure the names of all machines to resolve to at least one IPv4 or IPv6 address.
4. Configure clients to communicate with the servers in one of the following ways:
a. Use explicit IPv4 or IPv6 addresses.
b. Use the addresses returned by the address translation mechanism (DNS or local host files) performed
on the machine name.
IPv6 Address Support
IPv6 addresses are supported by machine names and URLs in the following tools and objects:
TIBCO Configuration Tool
Administrator and TIBCO Business Studio wizards and CLI property files
Components that use dynamic wiring
Resource templates
IPv6 Address Representation
IPv6 address representation is described in the IPv6 Addressing Architecture and Format for Literal IPv6
Addressing in URLs specifications, and summarized in Table 52: IPv6 Address Representation on page 358.
Table 52: IPv6 Address Representation
Address Type
Representation
All
Eight fields of four hexadecimal digits, where each field is separated by a colon.
If the field is non-zero there must be at least one digit. For example,
2001:db8:1234:ffff:4354:45ab:3455:ab45. You can apply the following shortening
procedures:
Omit leading zeros in a field. For example, :00db: can be represented as :db:.
Replace one or more consecutive fields of zeros and separators (:0:0:0:0:) with
a single empty field (::). For example, 2001:db8:0:0:0:0:3455:ab45 can be
represented as 2001:db8::3455:ab45.
Localhost or loopback
0:0:0:0:0:0:0:1 or ::1.
Unspecified
Embedded in a URL
Enclose the address in square brackets ([]). For example, the URL of an
Administrator server running on a machine at the address
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210 is
http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:8120/amxadministrator.
Port Usage
The default ports and the mechanism for configuring the ports differ for TIBCO Host instances, Administrator
server, and Enterprise Message Service processes. .
Process
Default
Port
Client
How to Set
SystemHost
6001
Administrator server.
Satellite host
6051
Administrator server.
SystemNode
6021
SystemHost
DevNode
6031
SystemHost
HTTP connector
8120
Credential Service
6041
Enterprise Message
Service
7222 or
7243
Administrator Server
Notification server
Messaging Bus
Applications:
Monitoring service
Logging service
Implementation and binding
types
Product
User-defined
Chapter
16
UDDI Servers
Universal Description, Discovery and Integration (UDDI) is an standard that enables organizations to publish and
discover services using a platform-independent framework. You can configure a UDDI server in Administrator
so that when you deploy an application in Administrator, the service is automatically registered with the UDDI
server.
Topics
Change the keystore path, type, and password to match your trust store. Both trustStoreType and
trustStorePassword are optional while trustStoreType defaults to JKS. When specified
trustStorePassword only serves for a checksum validation of the trust store.
2. Restart the SystemNode for the properties to take effect.
3. If the ActiveMatrix Administration is replicated, then repeat Step 1 and 2 for the replicated nodes.
Wait for the Administration UI to display.
4. Use the Administrator to register a UDDI Server that is SSL enabled.
GUI
Procedure
1. Select Infrastructure > Servers.
2. Select UDDI from the View drop-down menu.
3. Click New.
The New Server dialog displays.
4. In the Name field, type a name for the server.
5. Select a server type from the UDDI Server Type drop-down list.
If you select TIBCO, the UDDI URLs will be set to those for TIBCO ActiveMatrix Registry Runtime UDDI
Server. If you pick Other, you can edit the UDDI URLs. You cannot change the UDDI server type after
you create it.
6. Complete the server configuration fields. The username and hostname cannot be modified after creation.
7. If the Administrator and the UDDI server are not on the same machine, and you want to enable secure
communication between the servers, check the Secure Communication checkbox to enable SSL connections.
8. Click Test Connection to verify the connection to the server.
9. Click Set as Default UDDI Server to use the server as the default UDDI server.
10. Click Save.
CLI
Procedure
1. In the data file, specify an server element in base format.
<target name="GetUDDIServers" description="List all registry server configurations">
<AMXAdminTask
remote="true"
propsFile="${instanceProperties}"
action="getUDDIServers"
dataFile="${dataFile}"
objectSelector="declare namespace
amxdata_uddi='http://tibco.com/amxadministrator/command/line/types_uddi';
amxdata_uddi:UDDIPlugin"
overwrite="true"
merge="true"
createIfNotExists="true"
force="true"
failOnError="true"/>
</target>
2. In the build file, set the action attribute of the AMXAdminTask element to xxx and the objectSelector
attribute to yyy.
<target name="AddUDDIServer">
<add
serverName="SOAUDDI" businessName="BusinessTest"
uddiUsername="admin" uddiPassword="admin"
default="true" autoPublish="false"
inquiryUrl="http://hostname:port/uddi/services/inquiry"
publicationUrl="http://hostname:port/uddi/services/publication"
securityUrl="http://hostname:port/uddi/services/security"/>
</target>
<target name="UpdateUDDIServer">
<update
serverName="SOAUDDI" businessName="BusinessTest"
default="true" autoPublish="true"
inquiryUrl="http://hostname:port/uddi/services/inquiry"
publicationUrl="http://hostname:port/uddi/services/publication"
securityUrl="http://hostname:port/uddi/services/security"/>
</target>
with
Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="./.keystore" keystorePass="password"/>
5. Import the TAMRUS certificate into the Administrator server trust keystore: keytool
-importcert
Edit - Click
, select a tag name, and edit the value in the Value field.
Delete - Click next to a tag value.
5. Choose an action:
Check the Publish checkbox to publish the service.
Uncheck the Publish checkbox to delete the published service.
The pending actions are listed in the last column of the Services table.
6. In the Publication Business drop-down list, optionally select the business or type a new business in which
to publish the service.
If you do not provide a business, the business selected when the UDDI server was created will be used.
If you type a business name and the business was already created by a different user, Administrator
throws an exception when you apply the changes. Change the permission of the existing business to allow
you to publish the service to the business. Refer to your UDDI server documentation for managing
permissions.
7. If you want to configure multiple services with different settings, click Save.
8. Click Apply Changes to UDDI Server, where UDDI Server is the name of the default UDDI server.
Saves the changes in the database and applies the changes to the UDDI server.
References
The topics in this section provide detailed references to elements in the User Interface and CLI.
Description
Name
Description N
Automatic Y
Publication
Set as
Default
UDDI
Server
Server Configuration
Property
Description
Hostname/IP Y
Port
Username Y
Password Y
Administrator password.
UDDI
Server
Type
Server URLs
Inquiry
URL
Publish
URL
Security
URL
Publication Y
Business
Property
Description
business name does not exist it is added to the server. Only
the businesses that belong to the user will be shown.
Run ant
-fCONFIG_HOME/admin/enterpriseName /samples/uddi_amx_servermngt.xmlcommand
, where
command is:
GetUDDIServers
AddUDDIServer
RemoveUDDIServer
UpdateUDDIServer
Description
Service
Tags
Publish
Publication N
Status
Changes/Pending N
Actions
Run ant
-f uddi_amx_pubmngt.xml
Chapter
17
NodeUtil
The NodeUtil utility is used to remove components where attempts to undeploy or force undeploy an application
does not remove the components from the node's runtime.
A typical sequence for this use case:
1. Undeploy or force undeploy an application using the Administrator UI or CLI command. The application
components should be removed from the node's runtime.
2. Delete the application using the Administrator UI or CLI command. The application and it's components should
be removed from the Administrator database.
3. If either of the above steps fail, use the force delete option using the Administrator UI or CLI command to
remove the application and it's components from the Administrator database.
4. Use the nodeutil to remove the application components from the node's runtime.
The nodeutil -removeApplication command removes components and endpoints of an application.
However, it does not remove resource instances with scope defined to an application. In cases where an
application has scoped resource instances, they need to be removed explicitly using OSGi console.
When using this utility for updating the dependency metadata for components, use it only when the component
instance is not visible from the Administrator UI. When a component instance is not visible from the Administrator
UI, any upgrade of dependent components would leave the component instance in a Waiting for dependency
state. A typical sequence for this use case:
1. Find the URI of the component dependency before and after the upgrade.
2. Shut down the runtime node. This can be done from Administrator UI or CLI command or the tibcohost
command.
3. Use the nodeutil utility to update the dependency for the component.
4. Start the node. Verify that the component is no longer in the Waiting for dependency state.
Topics
372 | NodeUtil
NodeUtil | 373
NodeUtil Commands
The NodeUtil utility includes commands for information display and to remove components and endpoints.
Table 53: NodeUtil Commands
Command
Description
Arguments
version
none
validateNodeConfig
Global Commands
howlLogReader
NodeUtil Commands
NodeUtilCommands
Component Commands
removeComponents
374 | NodeUtil
Command
Description
Arguments
-version
-includeEndpoints
-dryRun
This is the complete path to the
TIBCO Host instance folder.
removeEndpoints
listComponents
-applicationName
-version
-dryRun
-nodeName nodename
tibcoHostInstanceFolder path
This is the complete path to the
TIBCO Host instance folder.
-applicationName
-version
-includeEndpoints
-nodeName nodename
tibcoHostInstanceFolder path
This is the complete path to the
TIBCO Host instance folder.
listEndpoints
-applicationName
-version
-includeEndpoints
-nodeName nodename
tibcoHostInstanceFolder path
This is the complete path to the
TIBCO Host instance folder.
listObsoleteComponents
removeObsoleteComponents
NodeUtil | 375
Command
Description
Arguments
updateDependency
exportComponents
importComponents
updateDependencies
376 | NodeUtil
Command
Description
Arguments
changeConfiguration
exit
none
Appendix
A
Troubleshooting
Administrator
The Runtime State of applications is Lost Contact or Unknown
If the Runtime State column of applications is Lost Contact or Unknown, the connection to theEnterprise
Message Service server acting as the notification server and Messaging Bus has been lost.
Action History is stuck at In Progress
An Action History column stuck at In Progress could indicate that:
One or more of the pending tasks in the dialog that displays when you click the Action History link have
failed, most likely due to lost communication with the notification server. The tasks will not be re-queued
even after the notification server starts up.
A node involved in that action is unavailable. When the node becomes available, the action will execute
and complete.
Failure to reconnect to the notification server
Restart the server if you see the following message after you try to reconnect to the notification server:
Refresh Status Cache action failed , caused by:
com.tibco.tibems.qin.TibQinRecoveryException: Connection to the
server is failed, caused by: Connection to the server is failed,
caused by: Session is closed
378 | Troubleshooting
INDEX index-name
Check your Enterprise Message Service server configuration, especially if you installed Enterprise Message
Service on Windows.
2009-12-17 15:09:49.954
Storage Location: 'datastore'. 2009-12-17 15:09:49.954 Routing is disabled.
2009-12-17 15:09:49.954 Authorization is disabled. 2009-12-17 15:09:49.972
Accepting connections on tcp://pingz-t400:7222. 2009-12-17 15:09:49.972
Recovering state, please wait. 2009-12-17 15:09:49.975 Server is active.
2009-12-17 15:26:01.026 WARNING: [admin@pingz-t400]: create subscriber failed:
not allowed to create dynamic topic
[EMSGMS.UnboundHost_amxadmin.132ba2cc_1259ef65268_-80000a699217]. 2009-12-17
15:26:01.564 WARNING: [admin@pingz-t400]: create subscriber failed: not allowed
to create dynamic topic
[EMSGMS.UnboundHost_amxadmin.132ba2cc_1259ef65268_-80000a699217]. 2009-12-17
15:26:16.355 WARNING: [admin@pingz-t400]: create subscriber failed: not allowed
to create dynamic topic
[EMSGMS.UnboundHost_amxadmin.7f68b7a6_1259ef68ea8_-80000a699217]. 2009-12-17
15:26:16.905 WARNING: [admin@pingz-t400]: create subscriber failed: not allowed
to create dynamic topic
[EMSGMS.UnboundHost_amxadmin.7f68b7a6_1259ef68ea8_-80000a699217]. 2009-12-17
15:26:52.138 WARNING: [admin@pingz-t400]: create subscriber failed: not allowed
to create dynamic topic
[EMSGMS.UnboundHost_amxadmin.-5e8ec58d_1259ef71a70_-80000a699217]. 2009-12-17
15:26:52.732 WARNING: [admin@pingz-t400]: create subscriber failed: not allowed
to create dynamic topic
[EMSGMS.UnboundHost_amxadmin.-5e8ec58d_1259ef71a70_-80000a699217].
In this case you likely have an invalid Enterprise Message Service configuration, which was created
automatically by the Enterprise Message Service installer on Windows. To fix this, run the installer of Enterprise
Message Service and replace the installer filled default ProgramData with a valid folder. The installer does
not create missing folders and therefore Enterprise Message Service does not work properly.
Troubleshooting | 379
When installing a TIBCO Host instance and some nodes on remote systems you have to make sure that they
are properly connected via the network. The instance and the node will try to reach the Enterprise Message
Service server on the configured port (7222 per default) and for this it is necessary that the port is enabled on
the firewall. Especially on Windows systems this port may be blocked by default.
The same problem will occur when the node is trying to reach Administrator. Make sure that the connector
is configured on an interface that is reachable over the network and the port is unblocked on the firewall.
TIBCO Host instance or node does not come up on remote systems
When installing a TIBCO Host instance and some nodes on remote systems you have to make sure that they
are properly connected via the network. The instance and the node will try to reach the Enterprise Message
Service server on the configured port (7222 per default) and for this it is necessary that the port is enabled on
the firewall. Especially on Windows systems this port may be blocked by default.
The same problem will occur when the node is trying to reach Administrator. Make sure that the connector
is configured on an interface that is reachable over the network and the port is unblocked on the firewall.
380 | Troubleshooting
Nodes
Node runs out of memory (Java heap space)
When this occurs, configure the node JVM to dump a snapshot of the heap by editing the .tra file of the node
and adding the following argument to java.extended.properties:
-XX:HeapDumpPath=file
where file is the name of the file in which the binary heap dump will be written. The dump file can then be
analyzed offline by profiling tools.
The .tra file of the node is located in the folder CONFIG_HOME/tibcohost/
Admin-enterpriseName-adminServerName/nodes/nodeName/bin.
Node does not start
Look at the following places to analyze the problem:
Check the log file of the node for exceptions
Check the node-stdout.log file of the instance for exceptions and unusual error messages, which may
indicate a problem
Check the Equinox log file, which is always written to <nodename>/configuration/123....log. Every start
of the node process produces a new version of the file. Check for exceptions.
Bundles cannot be started. The likely causes are a Java.lang.ClassNotFoundException in the Equinox log file
indicates a fatal condition in the node, which prevents it from starting up. For example:
!ENTRY
com.tibco.trintiy.server.credentialserver.common 4 0 2009-05-21 11:06:05.186
!MESSAGE !STACK 0 org.osgi.framework.BundleException: The activator
com.tibco.trintiy.server.credentialserver.jmx.Activator for bundle
com.tibco.trintiy.server.credentialserver.common is invalid at
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.Java:146)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.Java:980)
at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.Java:346)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.Java:355)
at
org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.Java:1074)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.Java:616)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.Java:508)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.Java:299)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.Java:489)
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.Java:211)
at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.Java:321)
Caused by: Java.lang.ClassNotFoundException:
com.tibco.trintiy.server.credentialserver.jmx.Activator at
org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.Java:483)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.Java:399)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.Java:387)
Troubleshooting | 381
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.Java:87)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:251) at
org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(BundleLoader.Java:315)
at
org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.Java:227)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.Java:139)
Node does not stop after the TIBCO Host instance stop -wait true has completed
Occasionally, you will find that it takes several minutes for the node processes to finally disappear.
Unfortunately, this may or may not be a problem and requires a closer look almost every time. In most cases,
it is a normal behavior and can be explained like this:
The node process runs an OSGi framework. There are many concurrent activities in separate threads that
interact during the shutdown sequence. These include Springframework Timers, Framework Event
Dispatcher, Startlevel Thread, custom extenders from TIBCO and from customers.
Each thread is competing for the same shared resources (CPU, IO). Depending on the overall load of the
system (operating system), it may take some time for threads to be scheduled and proceed. Because of
interdependencies, this may cause a delay of the overall shutdown sequence
During shutdown, the Activator.stop() method is called for every bundle if present. Any long running or
CPU/IO intensive operation performed in that implementation stalls the overall shutdown procedure.
Therefore, it is essential to keep this implementation short and quick.
As a last item of work before ending the process, the OSGi framework (Equinox in our case) persists the
current state of the runtime to the disk. This includes bundles and wiring information. Depending on the
number of bundles in the runtime and the availability of IO cycles, this operation may take a long time
(i.e. > 1min) to complete. It is essential not to disrupt this procedure or else the runtime state may get
corrupted and the node may not come up and function as expected.
With all or most of the possible reasons for the delays listed above, there is still the possibility of a problem
with the node itself. Any process that hangs around for an excessively long time, that is, > 5min should be
examined carefully. To diagnose the issue you can open the node log files and look at the end for where the
node may have gotten stuck. A typical run ends with statements similar to this:
11 Feb 2010 18:07:08,412 [Event Dispatcher] [DEBUG] control.internal.FrameworkImpl com.tibco.commonlogging.cbe.model stopped
11 Feb 2010 18:07:08,412 [Framework - sync] [INFO ] control.internal.FrameworkImpl - Sync
thread ends.
11 Feb 2010 18:07:08,413 [Bundle Shutdown] [DEBUG] control.internal.FrameworkImpl removing node.lck
11 Feb 2010 18:07:08,482 [Bundle Shutdown] [INFO ] stdout - Restoring STDOUT
11 Feb 2010 18:07:08,482 [Bundle Shutdown] [INFO ] stdout - Restoring STDERR
11 Feb 2010 18:07:10,968 [shutdown thread] [INFO ] control.internal.FrameworkImpl - exiting
process!
11 Feb 2010 18:07:10,971 [Shutdown] [INFO ] org.mortbay.log - Shutdown hook executing
11 Feb 2010 18:07:10,971 [ Shutdown] [INFO ] org.mortbay.log - Shutdown hook complete
then Java code tries to delete a folder for which another process: Windows Explorer, a text editor open with
a log file, or even the node process has a lock. On Windows systems, those locks have to be removed before
the node folder can be deleted.
The tool is very helpful in finding the processes that keep holding the lock.
382 | Troubleshooting
Add the following property to the node tra file (appended to java.extended.properties)
Djava.security.egd=file:/dev/./urandom
Troubleshooting | 383
Workaround
1. Log in to ActiveMatrix Administrator as a super user.
2. Go to Governance > Enterprise Permissions.
3. Select Server.
4. Grant Skip WSDL Validation permission to the user who tired to revert back to the older verison of an
application.
5. Click Save.
After the above step, the user can now try to downgrade the application.
1. Log in to ActiveMatrix Administrator and attempt to downgrade the application.
2. In the dialog box, check Skip WSDL validation this time to allow reverting to a previous version.
3. Click Save.
Application is downgraded without WSDL validation error.
4. Click Deploy.
You can also skip WSDL validation using the CLI option skipWsdlValidation for upgrade.app target.
<target name="upgrade.app" description="Upgrade Existing Application">
<AMXAdminTask remote="true" propsFile="${remote-properties.file}"
action="upgrade" dataFile="${basedir}/appupgrade626-V2.deployment-config.xml"
objectSelector="Environment//Application"
overwrite="false" merge="true"
createIfNotExists="true" force="false" failOnError="true" options="skipWsdlValidation"/>
</target>
Resource Templates
HTTP connecter Acceptor Thread Count changed from 1 to 20
When HTTP Connector is changed from Blocking IO Socket to Non-Blocking IO Socket using the Advanced
tab, the acceptor threads count in the General tab automatically changes to 1. However, HTTP Connector
instance shows 20 threads when you check the threads in the node VM using jvisualvm or similar tool.
Issue
1. Shared Objects > Resource Templates
2. Create a new HTTP Connector resource template with Blocking IO Sockets with an instance.
3. Set the Acceptor Thread Count to -20.
4. Click Advanced tab.
5. Check the Use Non-Blocking IO Sockets box and Save.
6. Click Yes to reinstall the resource instance.
7. Click the General tab.
Now, the Acceptor Thread Count is changed to 1 and the Save button is enabled.
8. Check the thread in the node VM.
It shows 20 threads for the HTTP Connector instead of 1.
Workaround
1. Click General and click Save.
2. Click Yes to reinstall the resource instance.
The Acceptor Thread Count now shows 1 in the node VM for the HTTP Connector instance.
Users of KeyStore provider fail to detect KeyStore refreshes
Users of KeyStore Provider such as Identity Provider, Trust Provider, and Mutual Identity Provider initialize
at startup with credentials obtained from the KeyStore. However, they fail to detect future KeyStore refreshes.
In order to avoid any service failures, perform the following procedure:
384 | Troubleshooting
1.
2.
3.
4.
5.
6.
7.