cancel
Showing results for 
Search instead for 
Did you mean: 

Offline and Online OData scenario

former_member209217
Active Contributor
0 Kudos

Hi Experts,

I have come across the discussion involving offline OData scenario for one of our customers. What I could understand is that through offline scenario without a network connection the application still works and gets synced up back again when connection is restored or up again.

I have seen few threads and blogs from SCN which talks about these scenarios

http://help.sap.com/saphelp_smp3012sdk/helpdata/en/88/9d29b3fac0456b812d86b5794c6e54/content.htm

Please clarify whether there are any code changes required from backend service to support offline model. I understand that Function Imports , deep entity sets etc ., aren't supported. For the rest of the OData services what needs to be changed in the backend.

My opinion is of that this model requires more changes in front end script and very minimal changes in backend

Please correct me if I am wrong

Best Regards,

Lakshman

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

The model requires changes based on the rules that determine which data is the right data to keep - and this may change based on the type of data, age of change, or other factors.

Caching and determining disconnected state and handling for the same (store and forward) would be on the client.

Most of the rules should be on the backend though, because you want to have the rules commonly located for maintenance and troubleshooting purposes. Putting them on the client (device, pc, etc) means each of those places has to be touched when rules change.  The cost (and pain) of software is in the maintenance.

former_member209217
Active Contributor
0 Kudos

Thanks Andrew for valuable piece of information.

For an offline scenario , How are all the CRUD operations coded in the back-end?

If there is something that user wants to do modification/updation for an existing data ithis won't be possible in disconnected state and it only happens once the connection is restored.

But since then how OData services are going to work for all these scenarios in offline mode?

I have heard about delta  queries in OData which could retrieve only the changed records without reading all the data from back-end. What about Delete/Update operations in offline mode?

Best Regards,

Lakshman.

Former Member
0 Kudos

The scenarios may be different for each type of data depending on which data (or datum) is the "Data of Record" at that moment in time. So I can't really give you a quick or more specific answer.

Data synchronization is a very deep subject and some of the work can get very involved.There are many strategies for dealing with this that are available. I would recommend to try the minimum working amount necessary for one of the strategies to gauge the effort needed for others.

CRUD operations should only ever insert/update/delete based on the Natural (Usually primary) Key. They shouldn't be doing transformation operations or they aren't proper CRUD, and any rules processing should be done in the application layers

Answers (0)