satyaki sanyal
Kilo Contributor

Hello,

I recently worked on an engagement where we looked into an approach to build a Service mapping strategy for Tibco Active matrix business works Version 6 .

Pre mapping work :

The Tibco Active Matrix Business Works contains the below hierarchy.

AppNodes : These are JVM processes that host applications created within tibco.

Appspaces : An umbrella that contains AppNodes.

Processes : These are found within the actual applications and reside within the "application_version_.config" file within the Appspaces directory.  

The running processes within the Host server that serviceNow discovers contains the path to AppNode as the $process.ExecutableDir or $process.CommandLine.We need to append the path so that it points to the folder containing Appspaces.

From the Appspaces folder , we can reach the actual application folders which contain the ".config" files with nomenclature as "application_version_.config". 

 

We built 1 process classifier and 2 different patterns for identifying creating the Business works Applications and the Business works Process Cis respectively.

 

1. Process classifier creation : In the version 6 of Tibco Active Matrix Business Works , we see that the Host that runs this application picks up running processes containing the keyword "bwappnode". This has to go in the Process classifier as the "Name" attribute.

 

2. Host and Entry Point : The "Tibco BW Endpoint" with Host ip and "Listening port" for a particular running process is to be used whose name starts with "bwappnode".

 

3."Tibco Active Matrix Business Works" Pattern Creation.

We create the first application pattern for the class " Tibco Active MAtrix Business Works"

This Class needs the following attributes : Name , Installation_Directory , Config_file, Version, Domain.

Under the Identification section :

We set the installation_directory as the path that contains the Appspace folder.

We set the Name as the "AppNode" name. Also we set this as the "projectName".

We set the application names as the "process_name".

Version and domain was found from the $process.ExecutableDir .

 

We then created a Connection section with type as "inclusion" for the "Tibco Active Matrix Business Works Process Class".

We set the entry point as "Tibco BW process" and provide the "process"name" , "projectName" , "EntryPoint.Host" ,"EntryPoint.Port".

 

4. "Tibco Active Matrix Business Works Process" Pattern Creation

The second pattern is created on the "Tibco Active Matrix Business Works Process" Class.

Under the Identification Section :

We set the Process_name,ProjectName,Name

we set a config_file which points to the appspaces/apps/<<application_name>>.

Then we worked towards the <<version>> folder.

Once these values were set, there is a file within the /appspaces/apps/<<application name>>/<<version>>/<<application name_version_Appnode_.config>>

This file "<<application name_version_Appnode_.config>>" contains all the "DNS names","PORTs" and "Queue Names" for the Enterprise Message bus and the "BW process names" .

We collected these in separate tables and merged them.

 

Then we created a Connection section type as "Application Flow" and "Entry point" as "EMS Endpoint". 

We set the Host as the "DNS Name", port as "PORT" and queue as "Queue Name" . All of these were collected in the earlier steps.

 Then after the entire debug is complete, we created an application Service.

 We set an "Tibco BW Endpoint" entry point with just the "Host" and "port" pointing to a "bwappnode" and it spread out a map which looked similar to the below diagram.

find_real_file.png

 

Finally, I will continue to work on enhancing the above patterns in the future and will update this document accordingly. 

 

Regards,

Satyaki Sanyal

 

Version history
Last update:
‎03-26-2022 04:35 PM
Updated by: