IBM Sterling B2B: Configuring SB2Bi to use S3 Storage Provider

From Wiki

Configure AWS SDK for Java on SB2Bi

1) Download AWS SDK for Java from this location https://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip and unzip file.

cd /tmp

wget https://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip

unzip aws-java-sdk.zip

2) Stop Sterling B2B Integrator

cd /opt/IBM/SterlingIntegrator/bin 

./softStop.sh -all

./hardStop.sh

3) Install aws-java-sdk-[version].jar

./install3rdParty.sh awssdk 1.12.565 -j /tmp/aws-java-sdk-1.12.565/lib/aws-java-sdk-1.12.565.jar

4) Import third party libraries

Now we need to import third party libraries (httpclient-[ver].jar,httpcore-[ver].jar, jackson-annotations-[ver].jar, joda-time-[ver].jar) from directory

/tmp/aws-java-sdk-1.12.565/third-party/lib/ 

but is important to make sure that in <si_install_dir>/properties/dynamicclasspath.cfg and dynamicclasspath.cfg.in, there are no duplicates (like httpclient.jar) and with a higher version.

in my case SB2Bi 6.2 and aws-java-sdk-1.12.565, in need to

./install3rdParty.sh awssdk 1.12.565 -j /tmp/aws-java-sdk-1.12.565/third-party/lib/netty-codec-http-4.1.94.Final.jar
./install3rdParty.sh awssdk 1.12.565 -j /tmp/aws-java-sdk-1.12.565/third-party/lib/netty-common-4.1.94.Final.jar
./install3rdParty.sh awssdk 1.12.565 -j /tmp/aws-java-sdk-1.12.565/third-party/lib/netty-buffer-4.1.94.Final.jar
./install3rdParty.sh awssdk 1.12.565 -j /tmp/aws-java-sdk-1.12.565/third-party/lib/netty-transport-4.1.94.Final.jar
./install3rdParty.sh awssdk 1.12.565 -j /tmp/aws-java-sdk-1.12.565/third-party/lib/netty-resolver-4.1.94.Final.jar
./install3rdParty.sh awssdk 1.12.565 -j /tmp/aws-java-sdk-1.12.565/third-party/lib/netty-codec-4.1.94.Final.jar
./install3rdParty.sh awssdk 1.12.565 -j /tmp/aws-java-sdk-1.12.565/third-party/lib/netty-handler-4.1.94.Final.jar
./install3rdParty.sh awssdk 1.12.565 -j /tmp/aws-java-sdk-1.12.565/third-party/lib/netty-transport-native-unix-common-4.1.94.Final.jar

so my dynamicclasspath.cfg looked like this:

...
VENDOR_JAR=/opt/IBM/SterlingIntegrator/jar/awssdk/1.12.565/aws-java-sdk-1.12.565.jar
VENDOR_JAR=/opt/IBM/SterlingIntegrator/jar/awssdk/1.12.565/netty-buffer-4.1.94.Final.jar
VENDOR_JAR=/opt/IBM/SterlingIntegrator/jar/awssdk/1.12.565/netty-transport-4.1.94.Final.jar
VENDOR_JAR=/opt/IBM/SterlingIntegrator/jar/awssdk/1.12.565/netty-resolver-4.1.94.Final.jar
VENDOR_JAR=/opt/IBM/SterlingIntegrator/jar/awssdk/1.12.565/netty-codec-4.1.94.Final.jar
VENDOR_JAR=/opt/IBM/SterlingIntegrator/jar/awssdk/1.12.565/netty-handler-4.1.94.Final.jar
VENDOR_JAR=/opt/IBM/SterlingIntegrator/jar/awssdk/1.12.565/netty-transport-native-unix-common-4.1.94.Final.jar
VENDOR_JAR=/opt/IBM/SterlingIntegrator/jar/awssdk/1.12.565/netty-codec-http-4.1.94.Final.jar

5) Run setupfiles and Start Sterling B2B Integrator

./setupfiles.sh

./run.sh

Deploying MinIO (S3 storage)

MinIO is not listed as supported by SB2Bi, but for testing and validation purposes will be excelent.

1) MinIO: Deploy MinIO as Container

2) Access MinIP console http://10.1.1.1:9000

3) Create a bucket. Sample: mysfg-bucket-minio

4) Create an access token. See here MinIO

5) upload a file

Create a BP to get a file in MinIO (S3 storage)

<process name="Demo_MinioS3ClientGet">
  <sequence>
    <operation name="AWSS3 Get Service">
      <participant name='AWSS3Client'/>
      <output message='xout'>
        <assign to='action'>get</assign>
        <assign to="awss3.endpoint">http://10.1.1.1:9000</assign>
        <assign to="awss3.bucketname">mysfg-bucket-minio</assign>
        <assign to="awss3.filename">arquivo_teste2.txt</assign>
        <assign to="awss3.accesskey">VQ..rA</assign>
        <assign to="awss3.secretkey">K4..ge</assign>
        <assign to="requiredProxy">false</assign>
        <assign to="useOrigFileName">true</assign>
        <assign to='.' from='PrimaryDocument' />
      </output>
      <input message="xin">
        <assign to="." from="*"/>
      </input>
    </operation>
  </sequence>
</process>

Configure Sterling File Gateway to store files in MinIO (S3 storage)

File:800px-Sfg-s3-channel.png

Ver também