Connections
The products that run on IBM® webMethods Integration connects to database components (grouping of database objects) in an external RDBMS by using the following types:
- The JDBC connection pools specify the parameters that are needed for establishing a connection between IBM webMethods Integration and the database components that are hosted on database servers. At run time, IBM webMethods Integration creates a separate instance of the connection pool for each database component.
- The Direct Functions write to the database components by pointing each function to the connection pool for the database component. For example, point the ISInternal function to the connection pool for the ISInternal and DistributedLocking database component, the Xref function at the connection pool for the CrossReference database component, and so on. IBM webMethods Integration provides predefined functions for each type of data that can be written to a database component.
When you use an external database for IBM webMethods Integration, one JDBC connection pool is created from the supplied parameters and the predefined functions are configured to write to their database components by using that pool.
The following table provides the predefined functions and their database components that are included with IBM webMethods Integration.
| Function Name | Database Component |
|---|---|
| ISInternal | ISInternal and DistributedLocking |
| ISCoreAudit | ISCoreAuditLog |
| ISDashboardStats | ISInternal |
| Xref | CrossReference |
| DocumentHistory | DocumentHistory |
| ProcessAudit | ProcessAudit |
| Process Engine | ProcessEngine |
-
You cannot add or delete functions.
-
You can create and delete a connection pool and point a function to the new pool.
Viewing JDBC Pools
- In the home page, click a runtime card. The runtime dashboard page appears.
-
Click Connections. The Connections page appears and lists the following details:
- Name - Function alias that directs IBM webMethods Integration and products that run on IBM webMethods Integration to write data to a particular database component. IBM webMethods Integration provides predefined functions for each type of data that can be written to a database component.
- Associated pool alias - JDBC connection pool used by the function to write data to the database component. JDBC connection pool specifies the parameters that are needed for establishing a connection.
- Description - Function alias description.
- Actions - List of actions you can do on the JDBC Pool. You can do the
following actions:
- Click Run to test the database connection.
- Click Restart to restart the database connection. The runtime needs to be
restarted in the following scenarios:
Association of a function with JDBC pool alias is updated.
A new JDBC Pool Alias is created. An alert message appears, and the Restart icon is enabled for administrators. This functionality is not available on default cloud.
- Click to update the associated pool alias and Remove to delete the associated pool alias. Only the owner or administrator of the runtime can do the additional actions such as edit and remove.
- Click the Configure database icon to associate a function with a pool alias. For more information about associating with JDBC pool alias, see the Associating a function with JDBC pool alias section.
Associating a function with JDBC pool alias
Associating a function with a JDBC pool alias, makes sure that the function can efficiently and consistently access database connections when needed. You get the benefits of connection pooling, such as connection reuse, connection validation, and automatic connection recovery. This helps improve the overall performance of your application by reducing the overhead of establishing new database connections for each function call, as well as more reliable and responsive database interactions.
- In the home page, click a runtime card. The runtime dashboard page appears.
- Click Connections.
- In the Connections page, click Configure database.
- In the Configure webMethods database connection page, click for the function you want to associate with a different JDBC pool.
- Update the fields.
- Function name - Predefined functions provided by IBM webMethods Integration for each type of data that can be written to a database component.
- Function description - Disabled. Function alias description.
- Associated pool alias - JDBC Connection Pool that must be used by the function to write data to the database component.
- Fail-Fast mode-enabled - Transient errors that are caused by an unavailable database can prevent a connection pool from connecting to its database. You can configure a function to enter fail-fast mode to handle this situation. In fail-fast mode, all attempts by the function to get a database connection immediately return an SQL exception; this saves time by preventing retry attempts. When database connectivity is restored, the function exits fail-fast mode and returns to normal operation. Fail-fast mode can improve performance when you are using synchronous audit logging.
-
You can do the following tasks:
- Click the Add pool alias icon to add a new JDBC pool alias.
- Click the Edit icon to update or delete the selected JDBC pool alias.
- Click the Run icon to test the selected JDBC pool alias connection.
- Click Save to save the changes.
Creating a New JDBC Pool Alias
- In the home page, click a runtime card. The runtime dashboard page appears.
- Click Connections.
- In the Connections page, click Configure database.
-
In the Configure webMethods connection pool alias page, click the Add pool alias icon.
-
In the Add webMethods database connection page, enter the following details:
- Alias name - Name to use for the JDBC connection pool. The name can include any characters that are valid for a file name.
- Alias description - Brief description of the JDBC connection pool.
- Driver - Database driver for IBM webMethods Integration to use to connect to the JDBC connection pool.
- Database URL - URL for the database server.
- Sample database URL - Sample URL formats for the DataDirect Connect JDBC
5.1 driver are displayed. Note:
-
Use the DataDirect Connect connection option MaxPooledStatement = 35 on all database URLs except those for Trading Networks. This connection option improves performance by caching prepared statements. (Trading Networks caches its prepared statements by using its own pooling mechanism).
-
For DB2®, if IBM webMethods Integration connects to a schema other than the default schema for the specified database user, you must specify these connection options in the URL
;AlternateId=schema;"InitializationString=(SET CURRENT PATH=current_path,schema)";MaxPooledStatements=35, where AlternateID is the name of the default schema that is used to qualify unqualified database objects in dynamically prepared SQL statements.
-
- Spy - When selected, enables the DataDirect Spy diagnostic feature for DataDirect Connect JDBC drivers. DataDirect Spy logs JDBC calls and SQL statement interactions between IBM webMethods Integration and an external RDBMS. This checkbox is cleared by default.Note: This option is for use with an external RDBMS only. It is not for use with the embedded IS internal database.
- Snoop - When selected, IBM webMethods Integration enables the DataDirect Snoop tool for DataDirect Connect JDBC drivers. The DataDirect Snoop tool logs network packets between IBM webMethods Integration and an external RDBMS. You can use the resulting log file for tracing and diagnostic purposes. This checkbox is cleared by default. Note: This option is for use with an external RDBMS only. It is not for use with the embedded IS internal database.
- Spy attributes - Defines the name and location of the log file where IBM webMethods Integration logs diagnostic data that is collected by the DataDirect Spy diagnostic feature. This value also defines DataDirect Spy attributes. Where alias_name is the name of the JDBC connection pool alias. Typically, you do not need to change the default value. However, if the attributes do not meet the needs of your system, enter a new value in the Spy Attributes
field.Note: If you specify your own value, be aware that the diagnostic tool collects data from the IBM webMethods Integration_directory /instances/instance_name/logs/spy directory. If you change the log file location, the diagnostic utility might not import the data that is logged by DataDirect Spy. For more information about setting DataDirect Spy attributes, consult the documentation on the DataDirect website.
- Snoop logging parameters - Defines the name and location of the log file where IBM webMethods Integration logs diagnostic data that is collected by the DataDirect Snoop tool. This parameter also defines DataDirect Snoop tool attributes. Note: For DB2, you must include the following command at the end of the value: ddtdbg.ProtocolTraceEBCDIC=true
Typically, you do not need to change the default value. However, if the attributes do not meet the needs of your system, enter a new value in the Snoop Logging Parameters field.
If you specify your own value, be aware that the diagnostic tool collects data from the IBM webMethods Integration_directory /instances/instance_name/logs/snoop directory. If you change the log file location, the diagnostic utility might not import the data that is logged by the DataDirect Snoop tool. For more information about setting the DataDirect Snoop tool attributes, consult the documentation on the DataDirect website.
- User - Database user for IBM webMethods Integration to use to connect to the database.
- Password - Password for IBM webMethods Integration to use to connect to the database. If a password is not required, leave this field blank.
- Minimum connections - Minimum number of connections the pool must keep open always. If you use this pool alias for more than one function, each pool instance keeps the specified number of connections open. For example, if you specify keeping at least 3 connections open, and the IS Core Audit Log and the Document History database components both use this pool, the pool keeps a total of 6 connections open - 3 for the IS Core Audit Log pool instance and 3 for the Document History pool instance. If your logging volume has sudden spikes, you can improve performance by making sure the connections that are needed to handle the increased volume open quickly. You can minimize connection startup time during spikes by setting this value higher so that more connections remain open always.
- Maximum connections - Maximum number of connections the pools can have open at one time. When the number of connection requests reaches this value, IBM webMethods Integration blocks the requests. Calculate this value as part of the total possible number of connections that might be opened simultaneously by all functions and applications that write to the database. Make sure that the total number does not exceed the connection limit of the database. If one of the applications opens more connections than the database allows, the database rejects subsequent requests for connections from any application. To continue the previous example, if Trading Networks also writes to the database and has a pool that might open up to 5 connections, you might specify only 17 as the maximum number of connections for the current pool. The IS Core Audit Log pool instance might use up to 17 connections, and the Document History pool instance might use the remaining 5 connections.
- Available connections warning threshold (%) - Number of connections, expressed as a percentage of Maximum Connections, that should be available in the pool always. When the number of connections falls to or is below this number, IBM webMethods Integration logs a message to the server log. If the number of connections later rises above this number, IBM webMethods Integration logs another message to the server log stating that the connection pool threshold has been cleared. To disable this threshold, set the value to 0.
- Waiting thread threshold count - Maximum number of requests for connection that can be waiting at one time. When this number is exceeded, IBM webMethods Integration logs a message to the server log and starts a 5-minute interval timer. If the number of requests still exceeds this number at the end of the interval, IBM webMethods Integration logs another message to the server log. To disable this threshold, set the value to 0.
- Idle Timeout (milliseconds) -: Time, in milliseconds, the pool can keep an unused connection open. After the specified time, the pool closes unused connections that are not needed to satisfy the Minimum connections value. The default expiration time is 60000 milliseconds.
- Click Save
Viewing Adapter Connections
- In the home page, click a runtime card. The runtime dashboard page appears.
- Click Connections. In the Connections page you can
view the following details:
- Name - Adapter connection name.
- Adapter type - Adapter type. For example: JDBCAdapter, SAPAdapter.
- Enabled - Indicates whether the connection is enabled or disabled.
- Status - Indicates the status of an enabled adapter
connection.
Green icon (Enabled) - There are no issues with the connection.
Red icon (Suspended) - There is an issue with the connection, for example wrong credentials or a disconnected server. Click the Edit icon to update the connection details and then re enable the connection.
- Actions > Edit - Edit the adapter connection.
Note:- You cannot create a new adapter connection.
- You cannot delete an existing adapter connection.
- You can edit an existing adapter connection.
Editing an Adapter Connection
- In the home page, click a runtime card. The runtime dashboard page appears.
- Click Connections.
- Click the down arrow icon before Adapter connections to view the adapter connections. The following details are displayed:
-
In the Adapter connections section, click the Edit icon corresponding to the connection you want to edit. The Adapter Type - Adapter Name page appears listing all the set configurations.
Note: You must disable the connection before editing. - Edit the required fields in the Connection properties section.
- Database - List of supported databases.
- Driver Group - Driver group used to connect to the database. This lists the pre-bundled drivers available and the drivers that are uploaded in the Database Application.
- Transaction Type - Type of transaction supported by the account. The
supported transaction types are:
- NO_TRANSACTION - Connection automatically commits operations.
- LOCAL_TRANSACTION - Connection uses local transactions. With this transaction type, all operations that are performed on the same account within a single transaction boundary are either committed or rolled back together.
- XA_TRANSACTION - Supports two-phase transactions that are executed across multiple databases. In one transaction boundary, all operations that are performed on multiple connections are committed or rolled back together. A transaction boundary means the scope of the transaction, from the beginning to the end of a transaction. The transaction can be in one adapter service, one flow service, one Java™ service, or several steps in a flow service.
Note: All the connections that are involved in a two-phase transaction must support the XA_TRANSACTION transaction type. - DataSource Class - Name of the JDBC driver’s DataSource class.
- Server Name - Name of the server that hosts the database. Note: If the tenant cannot connect to the cloud database, then check the security settings of the cloud database.
- User - Username that the connection uses to connect to the database.
- Password - Password for the username specified in the User field.
- Database Name - Database name to which the connection connects.
- Port Number - Port number that the connection uses to connect to the database.
- Network Protocol - Network protocol that the connection uses when connecting to the database. Type TCP or TCPS to indicate the network protocol.
- Truststore Alias/File Path - Alias of the truststore configuration. The truststore contains trusted certificates that are used to determine the trust for the remote server peer certificates. The mandatory value for the field is DEFAULT_ IS_TRUSTSTORE.
- Truststore Password - Password for the truststore configuration. You must copy the password from the Key/Certificate page in .
- Keystore Alias/File Path - Alias for the keystore configuration. The mandatory value for the field is DEFAULT_ IS_KEYSTORE.
- Keystore Password - Password for the keystore configuration. Copy the password from the Key/Certificate page in . For more information about configuring and by using the truststore and keystore in SSL accounts imported from Git, see the Setup Secured Communication for Integration Runtime section, and the Use Certificates in Deploy Anywhere Assets section.
- Other Properties - Other driver-dependent properties in the form of
`propertyName1=propertyValue1; propertyName2=propertyValue2;. You can add multiple properties that
are separated by (;).
- By default, the loginTimeout is set to 60. This value specifies the login timeout in seconds that a connection waits while attempting to connect to a database.
- The <current catalog> represents the default catalog that is associated with an account.
- The <current schema> represents the default schema that is associated with an account.
Some examples of other properties are:
- Use this field to choose a property such as TableFilter. You can either select or type the TableFilter property in the drop-down list and enter the <current catalog>.‘Accounting' in the input text field.
- Use {} to configure a combination of multiple key-value pairs:
connectionProperties={oracle.jdbc.V8Compatible=true,includeSynonymns=true }.
- Edit the required fields as per your needs in the Connection manage properties section.
-
Enable Connection Pooling - Enable or disable the connection to use connection pooling. Supported values are:
Set to True to enable connection pooling if connection must use pooling.
Set to False to disable connection pooling.
-
Minimum Pool Size - Minimum number of connections to create if connection pooling is enabled. The number of connections you configure here are kept open regardless of whether these connections become idle.
-
Maximum Pool Size - Maximum number of connections that can exist at one time in the connection pool if connection pooling is enabled. For example, if you have a pool with Maximum Pool Size of 20 and you receive 30 simultaneous requests for a connection, then 10 requests wait for a connection from the pool.
-
Pool Increment Size - Number of connections by which the pool is incremented if connections are needed, up to the maximum pool size. This is applicable if connection pooling is enabled.
-
Block Timeout (msec) - Number of milliseconds that IBM webMethods Integration waits to obtain a connection with the database before it times out and returns an error. This is applicable if connection pooling is enabled. For example, if you set the Block Timeout (msec) to 5000, then 10 requests wait for a connection for 5 seconds before they time out and return an error. If the services by using the connections require 10 seconds to complete and return connections to the pool, the pending requests will fail and return an error message stating that no connections are available.
Note: If you set the Block Timeout (msec) value too high, you may encounter problems during error conditions. If a request contains errors that delay the response, other requests will not be sent. This setting must be tuned in conjunction with the Maximum Pool Size to accommodate such bursts in processing. - Expire Timeout (msec) - Number of milliseconds that an inactive
connection can remain in the pool before it is closed and removed from the pool. This is applicable
if connection pooling is enabled. The connection pool removes inactive connections until the number
of connections in the pool is equal to the Minimum Pool Size. The inactivity timer for a connection
is reset when the connection is used by the Database.Note:
-
If you set the Expire Timeout value too high, you may have several unused inactive connections in the pool. This consumes local memory and a connection on your backend resource. This might have an adverse effect if your resource has a limited number of connections.
-
If you set the Expire Timeout value too low, performance might degrade because of the increased activity of creating and closing connections. This setting must be tuned in conjunction with the Minimum Pool Size to avoid excessive opening/closing of connections during normal processing.
-
- Startup Retry Count - Number of times that the system must attempt to initialize the connection pool at startup if the initial attempt fails. The default value is 0.
- Startup Backoff Timeout - Number of seconds that the system must wait between attempts to initialize the connection pool.
-
- Click Save connection.
Viewing CloudStreams Connections
- In the home page, click a runtime card. The runtime dashboard page appears.
- Click Connections.
- Click the down arrow icon before CloudStreams
connections to view the CloudStreams connections. The following details are displayed:
- Name- Account name.
- Application- Connector name and version.
- Status- State indicating whether the account is enabled or disabled.
- Actions- Click the Edit icon to edit the CloudStreams connector.
Note: You cannot create a new CloudStreams connector or delete an existing CloudStreams connector from the CloudStreams connections page.
Editing a CloudStreams Connector
- In the home page, click a runtime card. The runtime dashboard page appears.
- Click Connections.
- Click the down arrow icon before CloudStreams connections to view the CloudStreams connections.
- Click the radio button in the Status field corresponding to the connection that you want to edit to disable the account if enabled.
- In the CloudStreams connections section, click the Edit icon, corresponding to the connection you want to edit. The Edit connection properties - Account Name page appears listing all the set configurations. You can view the editable properties and the default cloud runtime properties for each field.
- Edit the fields in the Credentials, Connection Manager Properties, and Connection sections.
- Click Save.