Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved

Chapter 2 Creating a TIBCO Silver Fabric Enabler for Hawk Stack : Creating a TIBCO Hawk Component

Creating a TIBCO Hawk Component
This component will create a TIBCO Domain, and start TIBCO Hawk services.
To create and configure a Hawk component, perform the following tasks:
 
At runtime, you can access TIBCO Hawk interfaces using an HTTP redirector with the following URL:
http://<BrokerMachineName>:<Port>/<ComponentName>/hawkwebconsole
This will automatically redirect to the machine where the Hawk Web Console is running with a redirected URL and port value calculated using the base port set in Task F, Configure Hawk Web Console Ports
 
 
Task A Create a TIBCO Hawk Component
1.
Using the TIBCO Silver® Fabric Administration Tool select Stacks > Components.
2.
On the Components page, select Create New TIBCO Hawk Component in the Global Actions drop-down list.
Figure 1 Create a new TIBCO Hawk Component
3.
Figure 2 Configuring General Properties
4.
Select a version of each of the installed distributions. It is generally a good practice to use the latest version of a product distribution. Refer to the TIBCO Silver Fabric Enabler for Hawk Readme for more information on supported distributions. The product versions which are displayed are compatible with the component being defined.
Figure 3 Choosing TIBCO Product Distribution Versions
5.
Click the Next button after selecting the TIBCO product distribution versions and the TIBCO Administrator: <ComponentName> - Basic Configuration panel is displayed as is shown in Task B, Configure TIBCO Domain Values.
Task B Configure TIBCO Domain Values
The TIBCO Hawk Agent Configuration page and each of the configuration parameters are described here. Enter appropriate values for each field as applicable.
Figure 4 Editing TIBCO Hawk Agent Configuration
Domain
Choose a unique name that clearly identifies the Hawk Domain.
If a Hawk Server is already running in the sub net, you cannot use that name for a second server with the same messaging parameters. Don’t re-use the name of a Hawk Domain.
Domain name length must be less than 64 characters. Alphanumeric characters, hyphens (-) and underscores (_) are accepted, but other characters including periods and commas are not allowed.
Agent Name
Enter a Hawk Agent name here or the component name will be used to name the Hawk Agent. Alphanumeric characters, hyphens (-), and underscores (_) are allowed. The password is not case-sensitive, can not contain spaces, and it can not start with ! [ z # or a period.
Cluster
Enter a Hawk Cluster name here or the domain name will be used for the Cluster name.
Transport Protocol
The messaging transport protocol can be set to use TIBCO Rendezvous or TIBCO Enterprise Messaging Service (EMS).
Selection of the transport protocol will determine what pages are presented by the Component Wizard for your implementation configuration.
If you set Transport Protocol to Enterprise Message Service, the Hawk Agent and the Hawk Web Console will use TIBCO EMS for messaging.
Start Hawk agent
Select this to start the Hawk Agent and Hawk Microagent after the component publishes TIBCO Hawk Distribution for TIBCO Silver Fabric to the engine. Clearing the check box allows you to manually control the start of those agents.
Monitor an EMS Server
You can publish your TIBCO Hawk Component with the configuration settings to monitor a TIBCO EMS instance.
Select Monitor an EMS Server and the Component Wizard will show the Hawk Micro Agent Settings for TIBCO Enterprise Message Service page to expose configuration settings defining how your TIBCO Hawk Component will connect with a TIBCO EMS. Refer to Hawk Agent Transport Settings for TIBCO Enterprise Message Service for more information on this setting.
Clear the check box if you do not want a TIBCO Hawk Microagent to monitor a TIBCO EMS server instance.
Task C Configure the TIBCO Rendezvous Connection
When using TIBCO Rendezvous for the messaging transport, set the protocol, the network and the service connection port between your TIBCO Hawk implementation and the TIBCO Rendezvous distribution that will be published with it.
Figure 5 TIBCO Rendezvous Configuration
RV Daemon
Set the TCP port to configure Hawk to use TIBCO Rendezvous® daemon as a message transport mechanism between the Hawk Agent and HMA.
The default value is tcp:7474
TIBCO Rendezvous (RV) is used as the transport when your implementation does not use EMS as a transport (TIBCO Hawk Agent Configuration page > Use EMS as transport is unchecked). The TIBCO Rendezvous Configuration page provides an interface for configuration of Rendezvous and TIBCO Hawk.
RV Network
This specifies the TIBCO Rendezvous network used for client-server communication.
By default an empty field means that your Hawk runtime will use the local Rendezvous instance.
This variable needs to be set only on computers with more than one network interface. If specified, the TIBCO Rendezvous daemon uses that network for all outbound messages.
In the following conditions you can use a remote TIBCO Rendezvous Daemon:
All your machines are part of the TIBCO Silver® Fabric Cloud in different networks, but there are no TIBCO Rendezvous daemons between the networks.
For example you can set the value to tcp:ADMINMACHINE:7500. All machines that join this TIBCO Domain will use this remote daemon.
RV Service
Required. This specifies the TIBCO Rendezvous Service used for communication. The Rendezvous daemon divides the network into logical partitions. Each transport communicates on a single service. A transport can communicate only on the same service with other transports.
The default TIBCO Rendezvous port setting is 7474, but your specific Hawk implementation may be set to publish according to your needs. If changed you will need to change the TIBCO Rendezvous configuration too, so use the default unless you are an experienced TIBCO Rendezvous user.
Task D Hawk Agent Transport Settings for TIBCO Enterprise Message Service
The Component Wizard displays the Hawk Agent Transport Setting for TIBCO Enterprise Message Service page when the Transport Protocol is set to Enterprise Message Service.
EMS servers can be configured to use the Fault Tolerance feature. For more information about Fault Tolerance, see the Fault Tolerance for the Messaging Service topic.
Your TIBCO Hawk component can be set to depend on a TIBCO EMS component published in the same stack or you can specify a TIBCO EMS instance running on an accessible host.
Select the Use dependent EMS Server check box and later set a component dependency.
Figure 6 Hawk Agent Transport Settings for TIBCO Enterprise Message Service
Task E TIBCO Hawk AMI Configuration
TIBCO Hawk Application Management Interface (AMI) is an API used to instrument applications for management and monitoring by a TIBCO Hawk Agent. TIBCO Silver Fabric Enabler for Hawk provides the configuration page to set the Hawk instance AMI service port, daemon location, and network for session initiation.
For management and monitoring of TIBCO Hawk instrumented applications configure the TIBCO Hawk Agent to start with appropriate service, network, and daemon settings so that a TIBCO Rendezvous session can be set up to connect with the application.
The TIBCO Hawk AMI Configuration page defines how TIBCO Hawk will use TIBCO Rendezvous with TIBCO Hawk Microagents (HMA).
Even when TIBCO EMS is used as the primary transport, HMA still use Rendezvous as the transport.
Figure 7 TIBCO Hawk AMI Configuration
AMI Hawk Service
The AMI Hawk Service specifies the TIBCO Hawk port number, for example, TIBCO Rendezvous will connect with TIBCO Hawk on the default port 7475.
AMI Hawk Daemon
The AMI Hawk Daemon specifies the location of the TIBCO Hawk Daemon. A value of "tcp:yyyy" would correspond to a local Hawk Daemon where "yyyy" would be the port number. A Hawk Daemon located elsewhere would be specified by a value of the protocol, IP address, and port number: "tcp:xxx.xxx.xxx.xxx:yyyy".
The AMI Hawk Service and the AMI Hawk Daemon ports may be the same or they may be different. By default, different TLMs on the same engine daemon (physical machine) are using the same RV transport (default AMI Hawk Service=7474, and default AMI Hawk Daemon=tcp:7474). This setting enables visibility of all of the deployed applications on each TLM even if some applications are NOT deployed on this particular TLM.
AMI Hawk Network
Generally, AMI Hawk Network is an empty string, and all three fields may be left empty, but if a value is set for either AMI Hawk Service or AMI Hawk Daemon then they must both be set with valid values together. Setting only one of them will result in an error.
 
Task F Configure Hawk Web Console Ports
Review and set the appropriate base ports for your implementation.
HTTP Base Port
In order to avoid HTTP port conflicts when there are multiple instances running on the same machine, TIBCO Silver Fabric Enabler for Hawk automatically increments ports being used to the following value:
HTTP Base Port + EngineInstanceValue
The EngineInstanceValue is the engine number of the TIBCO Administrator.
For example, on a dual core machine, the default number of engines is 2 (one per core). The first engine has the number 0, the second one has the number 1.
For the default HTTP Base Port setting of 8200, the HTTP ports used would be 8200 and 8201 for the first and second engines respectively.
Figure 8 Hawk Web Console
HTTP Shutdown Base Port
In order to avoid shutdown port conflicts for TIBCO Administrator when many TIBCO Administrator servers stop working on the same machine, TIBCO Silver Fabric Enabler for Hawk automatically sets the shutdown port to the following value:
HTTP Shutdown Base Port + EngineInstanceValue
The value is calculated in the same way as the TIBCO Administrator HTTP Base Port described previously.
AJP Base Port
AJP, Apache JServ Protocol, base port must be set. The default AJP Base Port value is: 8300.
H2 Data Base Port
TIBCO Hawk will default to use the native H2 RDMS on port 8082. The actual port at run time will be the value of H2Port+EngineInstanceID.
Start Hawk Web Console
Select the Yes to start the H2 database and Hawk Web Console. At run time when the Web Console is published and started it will be accessible at:
http://<BrokerMachineName>:<Port>/<ComponentName>/hawkwebconsole
By default Virtual Router will route directly to:
http://<EngineName|IP>:<HTTPBasePort+EngineInstance>/hawkwebconsole
If you know the location of your Hawk machine then the Web Console default would be:
http://HawkMachineHostName:8200/hawkwebconsole
Leaving the default option, which is No, will allow publishing, but it will not start either H2 or the Hawk Web Console.
If you have selected to start the Hawk Web Console, then the next Component Wizard page allows specification of the user name and password for the Hawk Web Console Administrator account.
Upload HawkWebConsole Configuration Files to Support Multiple Domains
Select Yes to upload HawkWebConsole configuration files that support multiple domains. This option is No by default.
When you select this option, you must provide the configuration files in a .zip file to the component. In the .zip file , you must include the following files:
The .zip file must include the DomainTransportCfg.xml file.
After you provide the DomainTransportCfg.xml file, HawkWebConsole displays the information of all the domains.
For more information about multiple domains, see the Multiple Domains topic.
Non-default Configuration for HawkWebConsole
To override the default configuration file from being used, you must select Yes and upload the .zip file.
Click the Upload button, select the .zip file and click OK. The name of the file that you upload is displayed.
 
Task G TIBCO Hawk Web Console Administrator Account
When the TIBCO Hawk Web Console is configured to start at run time, set the Hawk Web Console administrator account user name and password.
After the Web Console is published and running changing the user name and password using the Component Wizard will require a restart of the component to publish changes to a running instance.
Figure 9 Hawk WebConsole Administrator Account
 
Task H Monitoring TIBCO EMS using HMA
When TIBCO Hawk Agent is set to Monitor an EMS Server, the Hawk Micro Agent Settings for TIBCO Enterprise Message Service page provides configuration parameters for connection type and specification.
Use Dependent EMS Server
Selecting the Use dependent EMS Server check box means that you will monitor a TIBCO EMS component instance that you will publish in the same stack with this TIBCO Hawk component instance. You must include the TIBCO Enterprise Messaging Service Distribution for TIBCO Silver Fabric using the settings on the Optional Distribution settings page and you must set a component dependency on that TIBCO EMS component. The EMS location settings will be grayed out and disabled, but the Hawk Microagent can be extended using the HawkController JMS class. Refer to the TIBCO Hawk Plug-in Reference Guide for more information.
By default, the Use dependent EMS Server check box is cleared so you can monitor an independently published instance of TIBCO Enterprise Messaging Service. If your TIBCO Hawk component will monitor an independent instance of TIBCO EMS you must specify how and where your TIBCO Hawk Microagent will establish that connection.
Figure 10 Hawk Micro Agent Settings for TIBCO Enterprise Message Service
JMS Class Type to Use
You can use either the Listener (COM.TIBCO.hawk.tibjms.HawkListener class) if you only want to monitor the TIBCO EMS server, or you can specify the Controller (COM.TIBCO.hawk.tibjms.HawkController class) if you want to monitor and manage the TIBCO EMS server.
For more information on implementing and extending these classes refer to the TIBCO Hawk Plug-in Reference Guide.
 
Task I Configure Hawk for use of SSL with TIBCO EMS (optional)
When you check the Enable SSL for EMS check box on the Hawk Micro Agent Settings for TIBCO Enterprise Message Service page, the Component Wizard displays the Upload SSL Key/Certificates for EMS Server page to allow you to configure TIBCO Hawk to use SSL when monitoring or controlling TIBCO EMS.
To use SSL to secure communications between TIBCO Hawk and TIBCO EMS upload the digital certificate, enter the private key, certificate chain member, and trusted certificate, as well as enter the private key password for the EMS server on this page:
Figure 11 Upload SSL Key/Certificates for EMS Server
For more information on using these component configurations for SSL with TIBCO EMS, refer to the chapter: Using the SSL Protocol in the TIBCO Enterprise Message Service User’s Guide.
Task J Configure TIBCO Hawk Agent Running Condition
You can ensure continuous Hawk service by setting a running condition check, polling periodically to verify TIBCO Hawk responsiveness.
Polling Period (in seconds) for detection of TIBCO Hawk Agent running verification (required)
Enter an integer to specify the number of seconds between periodic verification checks that the TIBCO Hawk Agent is still running.
If the TIBCO Hawk Agent becomes unresponsive to this verification then the process is automatically restarted.
The running condition check may be disabled with a value of 0.
Figure 12 TIBCO Administrator and Hawk Agent Running Conditions
Automatically Restart Silver Fabric Engine if TIBCO Hawk Agent fails to restart N successive times (required)
Enter an integer to specify the number of restart retries for the TIBCO Hawk Agent before the TIBCO Silver Fabric Engine will be restarted. A successful restart will reset the count.
Disable automatic restart of the Silver Fabric Engine with a value of 0.
 
Task K Set the Hawk Configuration Management Home
Figure 13 Hawk Configuration Management Home Setting page
You should leave the default TIBCO Hawk configuration home setting unless you have good reason to change it.
Task L Add or Edit Enabler-specific Runtime Context Variables
String, Environment, System, or Encrypted variables may be added and changed in the component to define and set runtime specific context variables.
Select a variable type from the Add Variable pull-down list or Add from Enabler to use a variable from a selected enabler.
Figure 14 Adding a Runtime Context Variable
Variable values from an enabler may be added to the runtime as well. Use the Add from Enabler button to add enabler-specific context variables.
Once you have added any runtime context variable you may select the variable (selected row is highlighted) and Edit to change its attributes. Selected rows may also be removed.
 
Task M Upload a Content File
Content files may be uploaded, added from an enabler, edited with a simple text editor, or removed using the "Add/override/customize Container and Component-specific content files" page.
Add files associated with the component that may be required for the Stack to be run according to design.
Figure 15 Uploading Content Files
Task N Edit Configuration File directly (Optional)
One page that must be used only with extreme caution is the Edit the Configuration File page. It should not be used unless the configuration.xml is backed up and specific knowledge about the TIBCO Silver Fabric system is being applied. This interface is being exposed to allow for more advanced customizations and normally it should be left alone.
For more information about what and how the configure.xml might be changed, see the"The configure.xml File" section in the TIBCO Silver® Fabric Developer’s Guide.
As an example, if you wanted to change the default Java heap size of the JVM in file hawkagenttra.template from 256M to 1024M.
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
  <containerConfig>
    <configFiles baseDir="${TIBCO_HOME}/tra/5.7/template/domainutility" include="hawkagenttra.template">
    <regex pattern="java\.heap\.size\.max\s+[0-9]+[a-zA-Z]+"replacement="java.heap.size.max 1024M" />
    </configFiles>
  </containerConfig>
The property, baseDir, in the <configFiles> element is used to specify the path that includes the file to be updated. It can be modified if needed. For example, if the TIBCO Runtime Administrator (TRA) version was 5.8 instead of 5.7, then the baseDir value defined in the code snippet would be changed to:
    ${TIBCO_HOME}/tra/5.8/template/domainutility
The property, include, in <configFiles> element is used to specify which file(s) need to be replaced. It can specify whatever files you want to change. The asterisk wild card may be used to represent a string of characters like for instance: "*.tra" to change all of the .tra files in %baseDir%.
The property, pattern, in the <regex> element is used to specify the contents that need to be replaced within the previously specified files. The value of pattern can be a regular expression.
The property, replacement, in <regex> element is used to specify the new contents of the node specified by the pattern property value.
Task O Finish Configuring the Component
The remaining screens of the Component Wizard are generic for all Silver® Fabric Enablers. The configuration of these is optional for TIBCO Administrator component.
Refer to TIBCO Silver® Fabric User’s Guide for more information on these configuration screens.
After you click the Finish button, make sure that the component is published to make it available to create a Stack.
To do this, select Publish Component in the Actions drop-down list located at the line of the component you just created.
Multiple Domains
You can configure multiple domains in TIBCO Silver Fabric Enabler for Hawk. To use multiple domains, you must provide values for the following properties when configuring the Hawk Component.:
Upload HawkWebConsole configuration files to support multiple domains: When this option is selected, you must provide the configuration files in a .zip file to the component.
Non-default Configuration For HawkWebConsole: You must upload the .zip file containing configuration files. Create a .zip file by including files that can be seen in the Files to Upload for Multiple Domain Support figure and upload to the component. The only mandatory file to be provided in this .zip file is the DomainTransportCfg.xml file, which has information about the different domains.
Files included in the .zip file replaces the default files from the product.
Steps to configure multiple Hawk domains:
1.
2.
Upload the webconsole_comfiguration.zip file with the modified DomainTransportCfg.xml file in the second Hawk component.
3.
Figure 16 Configuring Multiple Domains
Figure 17 Files to Upload for Multiple Domain Support
Figure 18 Sample Contents of the Configuration File
Figure 19 HawkWebConsole with Multiple Domains
 

Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved