ballerina-platform / ballerina-library

The Ballerina Library
https://ballerina.io/learn/api-docs/ballerina/
Apache License 2.0
136 stars 64 forks source link

Introduce a Ballerina connector for IBM CICS Transaction Gateway #7240

Closed ayeshLK closed 1 month ago

ayeshLK commented 1 month ago

Description:

$subject

Related to: #207

ayeshLK commented 1 month ago

Initial design for the IBM CTG connector

1. Connection configurations

ConnectionConfig record

public type ConnectionConfig record {|
    string host;
    int port;
    string cicsServer;
    Auth auth;
    SecureSocket secureSocket?;
|};

Auth record

public type Auth record {|
    string userId;
    string password;
|};

SecureSocket record

public type SecureSocket record {|
    string sslKeyring;
    string sslkeyringPassword?;
    string[] sslCipherSuites?;
|};

2. Client API

EciRequest record

public type EciRequest record {|
    string programName;
    byte[] commArea?;
    int commAreaSize?;
    int timeout = 10;
|};

Client definition

public type Client distinct client object {
    remote function execute(*EciRequest request) returns byte[]|Error?;

    remote function close() returns Error?;
};

3. Errors

public type Error distinct error;