cancel
Showing results for 
Search instead for 
Did you mean: 

SAP PO integration with SQS extended library - possible options

former_member194786
Active Contributor
0 Kudos

Hi All,

I have come across a requirement where I need to integrate with AWS SQS (using extended library), which basically provides an option to store payloads larger than 256 KB on SQS, by actually storing the payload on S3 and then placing a reference of it on the SQS. If the AWS Java library for SQS extended function is used, this process is transparent to both the system writing on SQS or reading from it. When reading, you only connect to SQS and ask it for the payload and the library returns you the whole payload, whether it is stored on SQS or S3. Similarly when writing to it, you connect to the SQS with your configuration details (along with the S3 connection parameters) and ask the library to place the message and the rest it transparent. A working examples of this is already provided here:

https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/working-java-example-usin...

Now, we do have Advantco adapter in our landscape, however usage of SQS extended library is unfortunately not yet supported in the adapter. Hence, I need to go down the path of custom development. Options for both scenarios, I have thought are below:

  • For reading from queue –> Have the Advantco adapter poll the queue and only implement the custom retrieval process in Java mapping when the payload contains the link to S3, rather than actual payload
  • For writing to queue –> Using receiver Java proxy to write to the SQS queue using AWS library

I have already done a proof of concept on this and I think it will work for my requirement, but would like to see if someone has better options or lessons learnt in implementing something similar. Looking forward to your inputs.

Regards,

Sanjeev

former_member194786
Active Contributor
0 Kudos

Bumping up to see if anyone has come across anything similar

Accepted Solutions (0)

Answers (2)

Answers (2)

Sebastian76
Participant
0 Kudos

Hi Sanjeev

While Advantco might not have that option by now KaTe's adapter has it as standard feature

https://www.sapappcenter.com/apps/46001/kate-aws-adapter-for-sap-pipo#!features/Transactional_Proces...

http://en.kate-group.de/produkte-intro/aws-adapter-for-sap-po-and-sap-pi/

With best regards

Sebastian

Muniyappan
Active Contributor
0 Kudos
For writing to queue –> Using receiver Java proxy to write to the SQS queue using AWS library

For this point, did you try using java map to create request using AWS library and post it using REST adapter?

former_member194786
Active Contributor
0 Kudos

Hi Muniyappan,

Good suggestion, one of my requirements is to handle payloads larger than 256k, which are only supported on SQS queues using extended library (link) and I haven't found a way to do this using java map. Would appreciate if you have any pointers on documentation to handle it without the AWS provided library.

Regards,

Sanjeev

Muniyappan
Active Contributor
0 Kudos

Hi Sanjeev,

It would be good idea to use AWS libraries. It will make your job easy. You don't have to avoid libraries.

I have not worked on Amazon SQS, but worked on S3 Integration.

Interaction between PO and Amazon SQS can be done using Adapter or using java code. Using adapter provides more benefits like logging, configuration etc..

For example, you can comment this code and send the message from adapter since at this level have required url and request message.

        final SendMessageRequest myMessageRequest =
                new SendMessageRequest(myQueueUrl, myLongString);
        sqsExtended.sendMessage(myMessageRequest);
        System.out.println("Sent the message.");<br>

If you are achieving this requirement using only java code like java proxy, then take care of making urls dynamic so that you can have different values in for DEV, QA and PROD and logging