Configuring EMS as the Group Provider for Engine

Follow these steps to configure the engine for group persistence mode, and to set TIBCO EMS as the group provider technology.

Procedure

  1. Create the engine database by executing the bundled scripts create.sql,create-scp.sql and create-dcp.sql. Scripts for creating the engine database for various database types are located in BW/Home/config/dbscripts/engine. The engine directory contains folders for the supported database types, and scripts for each database can be found in the respective folders.
  2. Set engine persistence mode property (bw.engine.persistenceMode) to group and configure the engine group configuration.
    1. Copy the existing AppSpace config.ini template file appspace_config.ini_template (located in BW_HOME/config ) to the root of the AppSpace folder, or a temporary location, and rename the file as config.ini.
    2. Edit the ActiveMatrix BusinessWorks engine persistence mode property, bw.engine.persistenceMode, and set it to group.

      Follow these steps to configure the engine for group persistence mode, and to set TIBCO Enterprise Message Service (EMS) as the group provider technology.

      bw.engine.persistenceMode=group
    3. Specify the group name and group provider technology in the config.ini file. The group name is optional and it defaults to domain and AppSpace names separated by an underscore (_). Only TIBCO Enterprise Message Service (EMS) is supported by the group provider technology.
      Note: You can use a different database instance for each AppSpace. Alternatively, you can use a single database instance for multiple AppSpaces if you create a tablespace or schema for each one.
      # ------------------------------------------------------------------------------
      # Section:  BW Engine Group Configuration.  
      # 
      # The properties in this section are applicable to the BW Engine group.
      # Some of the properties in this section are required when the BW Engine 
      # property "bw.engine.persistenceMode" is set to "group". 
      # ------------------------------------------------------------------------------
      # BW Engine Group Name.  This is an optional property and it specifies name of 
      # the BW engine group.  If this property is not specified, then the group name 
      # defaults to "Group_<DomainName>_<AppSpaceName>". 
      #bw.engine.groupName=mytestgroup
      
      # BW Engine Group Connection Provider Technology.  This is a required property  
      # when the persistenceMode is set to "group" (bw.engine.persistenceMode=group)  
      # and it specifies the BW Engine group communication technology.  The only  
      # supported values are "ems" and "ftl".  The group connection provider technology property  
      # requires additional configuration.  See section "Configuring the Engine for Group Persistence Mode" 
      # for additional configuration.  
      bw.engine.groupProvider.technology=ems
    4. Specify the group provider configuration:
      # ------------------------------------------------------------------------------
      # Section:  BW Engine Group Connection Provider EMS Configuration.
      #
      # Some of the properties in this section are required when the BW Engine Group 
      # Connection Provider Technology property  "bw.engine.groupProvider.technology"  
      # value is set to "ems".
      # ------------------------------------------------------------------------------
      # BW Engine Group Connection Provider EMS URL.  This property is required if  
      # the group provider technology is "ems".
      bw.engine.groupProvider.qin.EMSServerUrl=tcp://localhost:7222
       
      # BW Engine Group Connection Provider EMS User Name.  This property is required  
      # if the group provider technology is "ems".
      bw.engine.groupProvider.qin.EMSUserName=admin
      
      # BW Engine Group Connection Provider EMS User Password.  This property is  
      # required if the group provider technology is "ems".
      bw.engine.groupProvider.qin.EMSPassword=
      
      # BW Engine Group Connection Provider EMS Member Prefix.  This property is  
      # optional and the default value is "EMSGMS". 
      #bw.engine.groupProvider.qin.EMSPrefix=EMSGMS
      
      # BW Engine Group Connection Provider EMS Recovery Timeout in ms.  This  
      # property is optional and the default value is "5000" ms. 
      #bw.engine.groupProvider.qin.EMSRecoveryTimeout=5000
      
      # BW Engine Group Connection Provider EMS Recovery Attempt Delay in ms.  This 
      # property is optional and the default value is "500" ms. 
      #bw.engine.groupProvider.qin.EMSRecoveryAttemptDelay=500
      
      # BW Engine Group Connection Provider EMS Recovery AttemptCount.  This 
      # property is optional.     
      #bw.engine.groupProvider.qin.EMSRecoveryAttemptCount=
      
      # BW Engine Group Connection Provider EMS Connect Attempt Count.  This property
      # is optional.
      #bw.engine.groupProvider.qin.EMSConnectAttemptCount=
       
      # BW Engine Group Connection Provider EMS Connect Attempt Delay in ms.  This 
      # property is optional.   
      #bw.engine.groupProvider.qin.EMSConnectAttemptDelay= 
      When setting the password property (bw.engine.groupProvider.qin.EMSPassword), the default format is plain text. Execute the command bwadmin obfuscate, or the command bwobfuscator, from the command line to encrypt the password; use the generated encrypted text as the password.
  3. Optional. The following properties are available for EMS SSL configuration.
    EMS SSL Configuration
    #client identity consisting of the certificate,
    #private key and optionally extra issuer certificates can be included into a single data block using PKCS12.
    #KeyStore or Entrust Store encodings
    #bw.engine.groupProvider.ems.ssl.trust.identity=
    
    #The set of Trusted Certificates represents all trusted issuers of the server certificate.
    #It must be specified by the client application unless the host certificate verification is completely disabled.
    #bw.engine.groupProvider.ems.ssl.trust.certlocation=
    
    #EMS SSL connection trust password. This 
    #property is required if the JMS server protocol is ssl. The password may
    #be clear text or supplied as an obfuscated string.
    #bw.engine.groupProvider.ems.ssl.trust.password=
    
    #trusted certificate commonname must match the ems server hostname if set to false
    #bw.engine.groupProvider.ems.ssl.disable.verifyHostName=
    
    #client and server certificates must match if set to false
    #bw.engine.groupProvider.ems.ssl.trust.disable.verifyHost=
  4. Optional. If you have saved the config.ini file to a temporary location, ensure you copy it to the AppSpace root folder located in BW_HOME/domains/defaultdomain/appspaces/defaultappspace.
  5. Use the config admin command to push the configuration to the AppSpace: bwadmin[admin] > config -d myDomain -a myAppSpace -cf <temporaryLocation>/config.ini.