IBM® Power®
The IBM® Power® connector facilitates data exchange with IBM Power Systems through the use of IBM Toolbox for Java™. IBM® Power® ensures smooth and real-time communication with the IBM Power systems. You can create and run services capable of running commands and programs, as well as reading and writing data from the data queues on the IBM Power Systems.
IBM® Power® consists of the following components:
- Account: Facilitates the connection with IBM Power Systems. Configuring an account is essential for performing any operation through IBM® Power® actions.
- Actions: Enables the initiation and running of commands and programs, as well as reading from and writing data to the dataqueues. Actions are based on templates provided by IBM® Power®. Each template represents a command that can be performed on the IBM Power Systems. For example, the Read DataQueue action retrieves specified data from the IBM Power Systems.
- Built-in Services: Provides the capability to initiate and run services. For example, you can use createDataQueue for creating a dataqueue in the IBM Power Systems.
NOTE The IBM Power Adapter connections utilizing SSL/TLS authentication are not supported due to platform support constraints.
Creating a New Account
In the Flow services page, click the "+" (Plus) icon to create a new deploy anywhere flow service.
Select Deploy Anywhere Flow Service and click Create.
Provide a name and description for the deploy anywhere flow service. Description is optional.
From the list, select an Runtime on which you run a deploy anywhere flow service.
On the flow service step, type IBM® Power® to select the IBM Power connector.
In the Type to choose action box, click Add Custom Action.
The Connect account page appears.
- Perform the following in the Account page to create an account that can be used to access IBM Power Systems:
- Enter the name and description for the action.
- Select the runtime. The Runtime on which the action or account is deployed. By default, the
selection on the Flow Editor page is considered. However, if you change the
Runtime on Add account wizard, the connection is redeployed.Note: The Runtime selected in the Default runtime field takes precedence during the connection redeployment.
-
c. Click the "+" (Plus) icon to add a new IBM® Power® account. You are redirected to the Add account wizard.
- Enter the following details in the Add account wizard:
- Connect to account IBM® Power®: Name of the account by which the IBM Power system is known to IBM® Power® developers, clients, and partners.
- Default system user: Use the default user for the system name specified in the System name field.
- User: Username of the IBM Power system.
- Password: Password of the user defined in the User field or the default user for the system name specified in the System name field.
- System name: Hostname or IP address of the IBM Power system.
- Service type: Type of service representing the various ways to interact with and utilize an IBM Power systems service type capabilities, such as for data management, system administration, or other tasks. The specific usage and functionality can vary depending on the context and the software or tools being used to establish the connections. Possible values are: COMMAND - Runs the non-interactive Control Language (CL) commands or Report
Program Generator (RPG) programs. You can perform system administration and automation tasks.
DATAQUEUE - Performs read or write and other operations on the dataqueue of the IBM Power system. Dataqueues are used for asynchronous communication between programs on the system.Note: Create an account with COMMAND service type if you want to use services like Call Command or Call Program, and an account with DATAQUEUE service type if you want to use services like Read DataQueue or Write DataQueue.
- Current library: Optional. Library used for accessing the IBM Power system resources. The library specified in the Current library field is available as %CONN_CURLIB% environment variable in your service.
- Socket Properties: Any socket properties that you prefer to add for this account, which the IBM Toolbox for Java sets on its client side sockets. You can select or type the property name and enter the value in the corresponding input text field. Property Name: Name of the property. You can select the property from the drop-down list or use the "+" button to add a new property. Property Value: Value for the property selected.
- Other Properties: Any additional properties that you prefer to add for this account. You can type the property name and enter the value in the corresponding input text field. Property Name: Name of the property. You can use the "+" button to add a new property. Property Value: Value for the property selected.
Note: IBM® Power® connector for Develop Anywhere, Deploy Anywhere enabled tenants does not support SSL connections. - Click Next. The Add account > Advance Setting page appears.
- Provide the following details in Advance Setting page to configure
connection pooling manually:Note: Connection pooling is enabled by default.
- Enable connection pooling: Manual: Toggle the slider to right to enable configuration of the connection pooling details manually. The default value is manual. Disable the Manual connection pooling to use system defined values.
- Minimum and maximum Pool Size: Minimum and maximum connection pool size for this account. Minimum Pool Size: Number of connections to create when the connection is enabled. The system maintains the specified Minimum Pool Size of connections, irrespective of whether these connections remain idle. Maximum Pool Size: Maximum number of connections that can exist at a time in the connection pool.
- Block timeout: Number of milliseconds that IBM webMethods Integration waits to obtain a connection with the IBM Power system before it times out and returns an error. For example, you have a pool with maximum pool size of 20. In the event of receiving 30 simultaneous connection requests, 10 requests will be queued, awaiting a connection from the pool. If you set the Block timeout value to 5000, the 10 requests will wait for 5 seconds to establish a connection before they time out and return an error. If the services using the connections require 10 seconds to complete and return connections to the pool, the pending requests will encounter failure and return an error message stating the unavailability of the connections. If you set the Block timeout value too high, you may encounter problems resulting in error. If a request contains errors that delay the response, other requests will not be sent. This Block timeout must be tuned in conjunction with the Maximum Pool Size setting to accommodate such bursts in processing.
- Expire timeout: Number of milliseconds that an inactive connection can remain in the pool before it is closed and removed from the pool. The connection pool removes inactive connections until the number of connections in the pool is equal to the Minimum Pool Size. The timer for an inactive connection is reset when the connection is used. If you set the Expire timeout value too high, the connection pool might accumulate numerous unused and inactive connections. This not only consumes local memory but also ties up a connection on your backend resource. This could have an adverse effect if your resource has a limited number of connections. If you set the Expire timeout value too low, the performance could degrade because of the increased activity of creating and closing connections. This Expire timeout must be tuned in conjunction with the Minimum Pool Size setting to avoid excessive opening and closing of connections during processing.
- Click Next. The Add account > Synchronize page appears.
- Click Next. The Next button is enabled only after a successful validation. The Add account > Test and review page appears.
- Review the account details.
-
Click Test connection to verify the connection. A success message appears if the connectivity is successful.
- Click Enable.
- Click Done.
You are redirected to the Add custom action page and the newly created account appears in the Connect to account drop-down list. You can use this account to run any IBM® Power® custom action created under the same project.
Action Types
IBM® Power® provides templates to perform the following types of actions:
- Call Command: Runs a non-interactive IBM Power batch command, providing a flexible interface for invoking system commands programmatically.
- Call Program: Initiates an IBM Power program, enabling seamless integration and interaction with custom or external programs on the system.
- Read DataQueue: Reads messages from an IBM Power dataqueue, facilitating data retrieval for further processing.
- Write DataQueue: Writes messages to an IBM Power dataqueue, allowing seamless integration with systems using a DataQueue for communication.
Creating Read and Write DataQueues
-
In the Flow services page, click "+" (Plus) icon to create a new deploy anywhere flow service.
-
Select Deploy Anywhere Flow Service and click Create.
-
Provide a name and description for the deploy anywhere flow service. Description is optional. For example, GetCustomerInfo.
-
From the list, select an Runtime on which you run a deploy anywhere flow service.
-
On the Flow service step, type IBM® Power® to select the IBM® Power® connector.
-
In the Type to choose action box, click Add Custom Operation.
-
Perform the following in the Account page to create an account that can be used to access IBM Power Systems:
- Enter the name and description for the action.
- Select the runtime. The Runtime on which the action or account is deployed. By default, the
selection on the Flow Editor page is considered. However, if you change
the Runtime on Add account wizard, the connection is redeployed.Note: Runtime selected in the Default runtime field takes precedence during the connection redeployment.
- Select the IBM® Power® account.
- Click Next.
- Select the Read DataQueue or Write DataQueue action in the Action page.
-
Click Next.
- Provide the following fields in the Data queue page:
- Library name: Name of the library where the dataqueue exists. Type the library name or select from the library list (containing user, system, and other libraries added).
- Queue name: Name of the dataqueue.
- Operation type: Type of read operation. Available in Read DataQueue only. The possible values are Read and Peek. Read reads a record from the dataqueue and removes it. If no records exist, it returns nothing. Peek reads a record from the dataqueue without removing it. If no records exist, it returns nothing.
- Read timeout (sec): Time in seconds to wait if the dataqueue is empty. Specify -1 to wait until a record becomes available. Available in Read DataQueue only.
- Queue type: Type of dataqueue. The possible values are Sequential and Keyed. Sequential means the dataqueue is organized in a linear or sequential order. Keyed means the dataqueue is organized as key-value pairs, allowing direct access to messages based on a specific identifier (key).
- Key type: List of the IBM Power native data types in which the key is stored in the dataqueue if the Queue type is Keyed.
- Key input type: List of the possible Java data types corresponding to the Key type selected, if the Queue type is Keyed.
- Key length: Length of the key in bytes if the Queue type is Keyed.
- Key value: Value of the key if the Queue type is Keyed.
- Key compare type: Type of comparisions to perform on the Key value if the Queue type is Keyed. Available in Read DataQueue only. The possible values are EQ (Equal), NE (Not equal), LT (Less than), LE (Less than or equal), GT (Greater than), and GE (Greater than or equal).
-
Click Next. The Record page appears.
-
Click Add Record and provide the following fields in the Record page:
- Data name: Name of the record to be stored in or retrieved from the dataqueue.
- Native data type: List of IBM Power native data types for the record.
- Byte length: Length in bytes of the data value.
- Is array: Flag to indicate if the data value is an array.
- Input data type: List of possible Java data types depending on the Native data type and the Is array fields selection. Available in Write DataQueue only.
- Data occurrence: Number of elements in the array if Is array is selected. Available in Read DataQueue only.
- Output data type: List of possible Java data types depending on the Native data type and the Is array fields selection. Available in Read DataQueue only.
- Data value: Value of the record to store in the dataqueue. You can specify the data value either in the field or during runtime. If the intention is to provide the value at runtime, then include a ? in the Data value field. Available in Write DataQueue only.
-
Click Next. The Overview page.
-
Verify the details in the Overview page.
-
Click Add. The success message appears.
-
Click Done. The flow service editor page appears.
-
Click the Save icon to save the service.
-
Click the Sync icon to sync the service.
-
Click the Run icon to run the service.
Creating Call Command and Call Programs
In the Flow services page, click "+" icon to create a new deploy anywhere flow service.
Select Deploy Anywhere Flow Service and click Create.
Provide a name and description for the deploy anywhere flow service. Description is optional.
From the list, select an Runtime on which you run a deploy anywhere flow service.
On the Flow service step, type IBM® Power® to select the IBM Power connector.
In the Type to choose action box, click Add Custom Operation. The Connect account page appears.
- Perform the following in the Account page to create an account that can be used to access IBM Power Systems:
- Enter the name and description for the action.
- Select the runtime. The Runtime on which the action or account is deployed. By default, the
selection on the Flow Editor page is considered. However, if you change the
Runtime on Add account wizard, the connection is redeployed.Note: Runtime selected in the Default runtime field takes precedence during the connection redeployment.
- Select the IBM® Power® account.
- Click Next.
-
Select the Call Command or Call Program action in the Action page.
-
Click Next.
-
If you have selected Call Command in the Action page:
- Provide the following details in the Command page:
- Library name: Optional. Name of the library where the command exists. Type the library name or select from the library list (containing user, system, and other libraries added). Default is *LIBL.
- Command name: Name of the command to call.
- Click the "+" (Plus) icon to add the parameters which must be passed to the command.
- Provide the following fields in the Add Parameter page:
- Name: Name of the parameter to pass when the command is called.
- Value: Value associated with the parameter. You can specify the parameter value either in the field or during runtime. If you want to provide the value at runtime, then include a ? in the Value field.
- Click Add.
- The Command page appears with the parameters listed.
- Click Next. The Overview page appears
- Provide the following details in the Command page:
-
If you have selected Call Program in the Action page:
- Provide the following details in the Program page:
- Library name: Name of the library where the program exists. Type the library name or select from the library list (containing user, system, and other libraries added).
- Program name: Name of the program to call.
- Inquire message reply: Option to indicate how the program must respond to inquiry messages. INQUIRY_MESSAGE_REPLY_DEFAULT sends the default reply message to respond to any inquiry received while the program is running. The default reply is either defined in the message description or is the default system reply. INQUIRY_MESSAGE_REPLY_SYSTEM_REPLY_LIST checks the system reply list to see if there is an entry for an inquiry message issued while the program is running. If a match occurs, the system sends the reply value for that entry. If no entry exists for that message, the system sends an inquiry message.
-
Click Next. The Input page appears.
- Provide the following details in the Input page:
- Input parameter name: Name of the input parameter to pass when the program is called.
- Native data type: List of IBM Power native data types for the parameter.
- Byte length: Length in bytes of the input parameter value.
- Is array: Flag to indicate if the parameter value is an array.
- Input data type: List of possible Java data types depending on the Native data type and the Is array field selection.
- Parameter value: Value associated with the parameter. You can specify the parameter value either in the field or during runtime. If you want to provide the value at runtime, then include a ? in the Parameter value field.
- Click Next. The Output page appears
- Provide the following fields in the Output page:
- Output parameter name: Name of the output parameter returned when the program is called.
- Native data type: List of IBM Power native data type for the parameter.
- Is array: Flag to indicate if the parameter value is an array. Default value is 1.
- Data occurrence: Number of elements in the array if Is array is selected.
- Output data type: List of possible Java data types depending on the Native data type and the Is array field selection.
- Output data length: Length in bytes of the output data value.Note: If you want to specify a parameter as both input and output, add the parameter in the Input page as well as in the Output page with the same parameter name.
- Click Next. The Overview page appears.
- Provide the following details in the Program page:
-
Verify the details in the Overview page.
-
Click Add. The success message appears.
-
Click Done. This will redirect you to the flow service editor page.
-
Click the Map Pipeline icon to add the input parameters to the service pipeline.
-
Click the Save icon to save the service.
-
Click the Sync icon to sync the service.
-
Click the Run icon to run the service.
IBM® Power® BuiltIn Services
createDataQueue
Creates a sequential or keyed dataqueue in the IBM Power system.
Input Parameter
| Field | Description |
|---|---|
| $connectionAlias | String. Required. Connection alias of the IBM Power system. |
| queueName | String. Required. Name of the dataqueue. The dataqueue name must be between 1 to 10 characters in length. For example, MYQUEUE. |
| libraryName | String. Required. Library in which the dataqueue must be created. The library name must be between 1 to 10 characters in length. |
| queueType | String. Required. Dataqueue type. Possible values are:
|
| keyLength | String. Optional. Length of the key in bytes if the queueType is Keyed. If the queueType is:
|
| maxEntryLength | String. Required. Maximum number of bytes per dataqueue record. Valid values are 1 to 64512. |
| authority | String. Required. Public authority for the dataqueue. Valid values are *ALL, *CHANGE, *EXCLUDE, *USE, *LIBCRTAUT. |
| saveSenderInformation | String. Optional. Default value is false. Set to true if the sender (origin) information of the records must be saved. |
| forceToAuxiliaryStorage | String. Optional. Default value is false. Set the value to true to immediately write the records to a permanent storage. Set the value to false to keep the records to write in memory, which could be lost in the case of a power outage. |
| description | String. Text description of the dataqueue. String must be 50 characters or less. |
Return Values
| Field | Description |
|---|---|
| success | String. Status of the service execution. Returns true if the dataqueue is successfully created, else returns false. |
| error | String. Error message if the dataqueue creation fails. |
getDefaultUser
Returns the default user ID for the system name specified in $connectionAlias.
Input Parameter
| Field | Description |
|---|---|
| $connectionAlias | String. Connection alias of the IBM Power system. |
Return Values
| Field | Description |
|---|---|
| userId | String. Default user ID for the system name specified in $connectionAlias. |
| error | String. Error message if the service fails. |
removeDefaultUser
Removes the default user for the system name specified in $connectionAlias.
Input Parameter
| Field | Description |
|---|---|
| $connectionAlias | String. Connection alias of the IBM Power system. |
Return Values
| Field | Description |
|---|---|
| success | String. Status of the service execution. Returns true if the service runs successfully, else returns false. |
| error | String. Error message if the service fails. |
setDefaultUser
Sets the default user for the system name specified in $connectionAlias.
Input Parameter
| Field | Description |
|---|---|
| $connectionAlias | String. Connection alias of the IBM Power system. |
| userId | String. Default user ID to set for the system name specified in $connectionAlias. |
Return Values
| Field | Description |
|---|---|
| success | String. Status of the service execution. Returns true if the service runs successfully, else returns false. |
| error | String. Error message if the service fails. |