cancel
Showing results for 
Search instead for 
Did you mean: 

Agentry Background Sending

0 Kudos

Hello,

most of our mobile processes are designed like this:

* Fetch data from backend

* "do something"

* Send transaction data to backend

Reason is that we always need up-to-date data on the client and after the process we need the result in the backend at once.

Now we think about using Agentry´s "Background Sending" functionality to improve the performance for our mobile users. But, in our opinion, this only saves time if it is possible to send data to the backend and simultaneously start the fetch of the next process, so that sending and fetching happen at the same time.

Based on our tests, the new fetch seems to start only after the complete sending is done - does this have to be sequential or is there any way to parallelize this? Or any other ideas for performance improvement here?

Kind regards

Christian

Accepted Solutions (1)

Accepted Solutions (1)

Former Member

You are correct a Transmit action Step can only start if the background sending is already done you can not have both running at the same time.  The Background sending will send a transaction to backend when it is applied.   If you don't do background sending, the transmit will send all pending transactions at the start of the transmit and then call the fetches after that.

Have you looked into Push?  Background sending will only send data to the backend, push can send an Object from the server to the client without a transmit.

For Push: SyBooks Online

You also have the options of what type of return the server client can do when the client is running the transaction on the backend. (not sure how this will work if you Java code that comes with our SAP Products)

  • Response to Client: This attribute specifies what response is sent to the Agentry Client after the Update Step has been processed. The response defined here will only be sent if the update step is run. The responses that may be sent are “Delete Client Object”, “Replace Client Object”, “Update Client Key Property”, and “No Action Required”. If “Update Client Key Property” is set, the step being run by the server update step is expected to return a value identified as the transaction’s target object’s key property. This value will replace the current value of this property on the Client for that object instance.

SyBooks Online 

Answers (1)

Answers (1)

mark_pe
Active Contributor
0 Kudos

Christian,

Background sending is a special or a very advance design technique. Most of our out of the box Work Manager, Sales Manager or Inventory Manager does not come equipped with Background sending as that option is very special. Agentry is used by system integrator companies to produce their own EAM or ERP products. The option to design with background sending is very powerful but it has to be considered from the very beginning as you need to know or design mobile application with the proper setup and time transition.  Another word for that is designing with knowledge about race condition and collision management. If you have not created your exchange logic (with the fetch), transaction (background sending), push update plus your back-end triggering - background sending needs to be reviewed closely (tested) as the user is connected all the time. 

If you are planning on using Work Manager and add Background sending (turning it on in the editor), I would put a special note on this that you need to make sure you test this properly or plan on testing for race condition and allowing users to make sure that they are always online (you cannot be offline at all).

The popular selection by users/designers is the push.  Only push data when the mobile device is online. Background sending means that all your action needs to be online. You cannot be disconnected.  In mobile design, you need to make sure you work offline for the most part and when connected do your transmit or push.

Hope this background information helps you out.

Best Regards,

Mark Pe

SAP Senior Support Engineer (Mobility)