Creating an AppNode

An AppNode is created under an AppSpace. The domain and AppSpace name apply to the AppNode.

Multiple AppNodes can be created for an AppSpace.

When creating an AppNode that is on a remote machine, ensure that:

  • The remote BWAgent is a part of the network.
  • The name of the BWAgent running on the remote machine is specified.

Note: When an AppNode is created, do not specify the OSGi port. Only open this port for debugging when enabling the OSGi console on an AppNode. For more details, see Enabling the OSGi Console for an AppNode.

The following characters are allowed in the AppNode name:

  • A-Z
  • a-z
  • 0-9
  • - (hyphen)
  • _ (underscore)

Illegal characters are stripped from the name.

The maximum length of a runtime entity name is 100 characters. If the maximum length is exceeded, the entity name is shortened to 100 characters.

The appnode_config.ini_template file is available as a template to create a config.ini file for an AppNode. If you want to create an AppNode with some different configuration than the standard configuration, update the appnode_config.ini_template file.

The appnode_config.ini_template is stored at the {BW_HOME}\<version>\config location.

BWAdmin Command Line

Use the create command to create an AppNode.

The BWAgent must be running. Issue the following command to create an AppNode named MyAppNode in domain MyDomain and AppSpace MyAppSpace:

BW_HOME\bin>bwadmin create -d MyDomain -a MyAppSpace -httpPort 2222 appnode MyAppNode

The httpPort option is required for an AppNode. If the specified port is already in use, an error is displayed and the AppNode cannot be created. To get a list of defined AppNodes for a given domain, with port numbers, with the show command: show -d <DomainName> appnodes

The following command creates an AppNode MyAppNodeOnMac in the domain MyDomain and AppSpace MyAppSpace on a remote machine whose agent name is Machine2.

BW_HOME\bin>bwadmin create -d MyDomain -a MyAppSpace -httpPort 2222 -agent Machine2 appnode MyAppNodeOnMac
Note:
  • To create an AppNode on a remote machine, the member name of the BWAgent on the machine where the AppNode is run must be known in advance. Get the member name value by invoking the BWAdmin show agents command on the remote machine.
  • The validation of the HTTP ports is available by running the command validateport [options] port. For example,
    bwadmin[admin]> validateport 2233
    TIBCO-BW-ADMIN-CLI-300342: HttpPort [2233] is available within BW scope
    Or
    bwadmin[admin]> validateport 344566
    TIBCO-BW-ADMIN-CLI-500338: HttpPort is not valid
    To know more about the validateport command, run the command validateport --help.

Admin UI

    Procedure
  1. Click AppNodes to open the AppNodes page.
  2. Click Create AppNode to open the Create AppNode dialog. Enter the following information:
    Name: AppNode name.
    Agent: The BWAgent registered with the TEA server.
    HTTP interface: The HTTP interface for the AppNode.
    HTTP port: The HTTP port for the AppNode. Click Validate to see if the port is available.
    Note: The Validate button validates the HTTP ports within the ActiveMatrix BusinessWorks scope only.
    OSGi interface: The OSGi interface for the AppNode. Open this port only for debugging sessions.
    OSGi port: The OSGi port for the AppNode. Open this port only for debugging sessions.
    AppSpace: The AppSpace for this AppNode.
    Description: Optional description.

  3. Click Create.
    The AppNode is created and displayed on the AppNodes page. The AppNode status is set to Stopped.

Creating an AppNode using a Secured Port (HTTPS)

Use the create command to create an HTTPS AppNode.

The BWAgent must be running with the HTTPS port. To create an AppNode named MyAppNode in domain MyDomain and AppSpace MyAppSpace, run the following command:

BW_HOME\bin>bwadmin create -d MyDomain -a MyAppSpace -httpsPort 7041 -ksPath <keystore path> -ksPwd <keystore password> -sslPwd <ssl password> appnode MyAppNode

The HTTPS port, keystore path, keystore password, and SSL password fields are required for an HTTPS AppNode. If the specified port is already in use, an error is displayed and the HTTPS AppNode cannot be created. To get a list of defined HTTPS AppNodes for a given domain with port numbers, use the following show command:

show -d <DomainName> appnodes

 

To start the BWAgent with HTTPS port, perform the following steps:

    Procedure
  1. In the bwagent.ini file, add the following property and assign a suitable port for the HTTPS communication:

    bw.appnode.agent.https.communication.port=56565
  2. In the bwagent.ini file, modify the following keystore properties:

    bw.agent.https.keystorepassword=<Keystore password>
    bw.agent.https.keystorepath=<keystore_path>
    Note: While creating an HTTPS AppNode, use the same keystore that you have used to start the BWAgent via the HTTPS port.

 

BWAdmin Command Line

To create an HTTPS AppNode with the BWAdmin Command Line, run the following command:

BW_HOME\bin>bwadmin create -d MyDomain -a MyAppSpace -httpsPort 7041 -ksPath <keystore path> -ksPwd <keystore password> -sslPwd <ssl password> appnode MyAppNode

where,

  • -httpsPort: HTTPS port

  • -ksPath: Keystore path

  • -ksPwd: Keystore password

  • -sslPwd: SSL password

 

REST API

To perform the same operation via the REST API, follow the below API to create an HTTPS AppNode:

  • http://<host>:8079/bw/v1/domains/<DomainName>/appspaces/<AppSpaceName>/appnodes/<AppNodeName>?agent=<AgentName>

 

AdminUI

Currently, the creation of the HTTPS AppNode via AdminUI is not supported.

 

Limitations

  • When starting the BWAgent securely, you can create an AppNode only with a secured port. If you configure the AppNode to an HTTP (unsecured) port, it fails to work.

  • When starting the BWAgent in an unsecured way, you can create an AppNode only with an unsecured port. If you configure the AppNode to an HTTPS (secured) port, it fails to work.

  • When starting the BWAgent and AppNode with a secured connection, while restarting only the BWAgent with an unsecured port, the AppNode fails to communicate with the BWAgent.

  • When two BWAgents are in the network (one is secured and the other is unsecured), you can create secured AppNodes with the secured BWAgent and unsecured AppNodes with the unsecured BWAgent. In other words, secured and unsecured AppNodes are in the network.

  • Consider creating an AppNode on an unsecured BWAgent from a secured BWAgent and both of them are in the network. While providing the keystore details, if you provide details of the secured BWAgent machine, the AppNode on the unsecured BWAgent fails to start. In this case, you must provide keystore details from the unsecured BWAgent machine.

  • Consider upgrading from ActiveMatrix BusinessWorks 6.6.0 to 6.10.0. When taking a backup of an unsecured environment (6.6.0) and after restoring on a secured environment (6.10.0), it fails.

    Workaround:

    1. Take the backup of ActiveMatrix BusinessWorks 6.6.0.

    2. Start version 6.10.0 in an unsecured way.

    3. Perform the restore of version 6.6.0 on version 6.10.0.

    4. Secure the 6.10.0 environment and restart the BWAgent.

    Also, a utility is required that updates all the AppNodes in a secured way when you restart the BWAgent.

  • Currently there is a provision to provide a keystore path while creating a secured AppNode. For creating a secured AppNode on a remote machine, you must have a keystore file on your local machine.

  • When configuring the HTTPS port from the BWAdmin CLI, you must provide all three parameters (keystore path, keystore password, and SSL password), else it fails to support.

  • When creating an AppNode with the keystore1.jks file and starting the BWAgent with HTTPS configurations along with another keystore keystore2.jks, the AppNode fails to start.

Important:

  • You cannot give an obfuscated password through the CLI while creating a secured AppNode.
  • Update the AppSpace level configuration when creating a secured AppNode.