cancel
Showing results for 
Search instead for 
Did you mean: 

Any other choices except running several JDBC senders for collect DB data?

Former Member
0 Kudos

Hi Experts,

One third party system running on Oracle DB, need to send data to SAP, it only provides staging tables for communication.

Third party system wants to transfer data to SAP, system will insert necessary data into TRANSFER OUT tables. The Insert Trigger inserts a record into the Central Send Table and sets the message status (field: msg_status) to ‘N’ to indicate that a new message has been inserted.

Currently we are in design phase.We have about 15 interfaces like above described to use JDBC Sender adapter to delivery message. For every interface about 1000 messages/day, message size will be 10-20k.

The question is:

1.Does this design is feasible?

2.Will 15 JDBC Senders impact XI performance?

3.How many interval time should be setup in every JDBC Sender adapter to make sure XI can survive.

4.If this is a bad design, do we have other choices?

Thank you very much for your time.

Accepted Solutions (1)

Accepted Solutions (1)

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

1. I think XI should be able to handle this call of using multiple Sender JDBC adapters as your data load does not seem to be very high.

From Sp19 onwards, Adapter Scheduling called "Availablity Times" is available in XI and this should allow you to judiciously make sure that the JDBC adapters are active and polling only when necessary.

Also quicksing your hardware for your requirement should also be able to give you an idea as to what the Hardware resources needed for this interface would be.

2. Another solution would be to use one common staging table , that will indicate to XI wther data is available in some table to be polled and also provided the table name . then XI can use the Receiver JDBC adapter to select the data from those tables and proceed as needed.

Only issue with this is, you will be using a BPM but you will be avoiding multiple Sender JDBC adapters.

Regards

Bhavesh

Former Member
0 Kudos

Thank you for your quick response.

Yes, we are considering the BPM solution,Scenario as following:

We can create 1 JDBC Sender to always select Central Send table (because this table contains all message header info and has a field to tell XI what's the table name of the detail message data saved in.) , then this sender will send data to trigger BPM, BPM need use SWITCH to branch message to different destination.

For example, in branch A, we need use SENDER to send the incoming data to JDBC Receiver, then get the JDBC Receiver feedback message , then use this message to call SAP BAPI.

Question:

1. Does BPM process message one by one? JDBC Sender will send a set of messages to BPM, if BPM process these message one by one in SWITCH, then this will cause bad performance, because we cann't parallel process these messages as multiple JDBC Senders, am I right?

Former Member
0 Kudos

HI,

Yes With BPM , we can send messages one by one, by using Block with mode ForEach, OR if you want to send diff senders parallel use ParForEach.

As you asked with Switch ,, see with this step we can process with condition which is defined in switch..

Check Sync-Asyn Bridge also .. for you requirement .. but you have to study...

Regards

Chilla..

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

><i>Does BPM process message one by one?</i>

As sequential processing is not a necessity in your case, every message picked by the Sender JDBC adapter will trigger a separate BPM and so parallel processing will surely happen. Just make the Quality of Service in your Sender JDBC adapter as <b>Exactly Once.</b>

But again now the question arises as to how many parallel BPM's are going to run. If the number is small, then there should be no issue at all.

Look into this blog and understand how BPM performance can be fine tuned. Have not tried the steps / tricks mentioned here regarding Transaction handling but it sure would help,

/people/swen.conrad/blog/2006/12/22/xi-ccbpm-performance-under-perform-or-out-perform

Meanwhile, before considering the BPM and single Sender JDBC adapter I would suggets that you still work on multiple Sender JDBC adapters with the Availability Times concept and hardware quicksized , see the results and then decide on the BPM stratergy.

Multiple Sender JDBC adapters provide ease of development , and manintenance and so if hardware is quicksized and adapter scheduling possible, this should be the approach.

Regards

Bhavesh

Answers (1)

Answers (1)

Former Member
0 Kudos

Thank you very much for your experience