I am studying Kapsel OData offline plugin recently. In SAP help the source code of OData.js is provided:
The source code clearly conveys the idea documented in SAP help: “When an offline store is first opened, it synchronizes with the OData producer. OData requests made against this plugin use the available open offline stores.“.
And I am curious how this offline store is opened in the real application. So I use a CRM Fiori offline application to have a look.
(1) In offline project folder there is a config.xml, which defines the entry point for offline application access, the index.html file.
(2) Open this index.html, there is a script file “createStores.js”:
This file has constructed an object sap.smp.registration:
There is a public method setup exposed which accepts an array for offline store collection and call a private method _setupStore one by one. Once the asynchronous setup process is done successfully, callback success is called.
In implementation of _setupStore, the sap.OData.createOfflineStore(properties) and sap.OData.applyHttpClient() mentioned in sap help could be found.
(3) back to index.html, there is a file contentplace.js:
In this file, offline store will be opened in line 14, and application specific initialization is called in callback function defined in line 5.
(4) finally, the createContentPlaceFunction is called in index.html in line 196:
(5) Now check how OfflineStore open is implemented in Android platform via Java:
In line 215, offline store instance is created and a listener is registered, since open operation is done asynchronously:
And open operation is started here:
Check in ODataOfflineStore class, a new thread is created to perform open action:
In run method, the call is delegated back to ODataOfflineStore.openStoreSync:
The core open operation is done in this.store.open:
If open is done successfully, the listener registered in ODataOfflineStore instance will be notified with ODataOfflineStoreOpen state:
The core implementation of open method in Store class is implemented natively and could not be visible in Java stack:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关推荐
在IT领域,特别是企业级应用开发中,Java与SAP系统的集成是一项非常重要的技术。SAP提供了多种API和服务来促进与其他系统的交互,其中ODATA(Open Data Protocol)是一种轻量级的数据访问协议,它允许客户端通过...
在Java开发中,调用SAP ODATA服务是企业级集成和数据交换的常见场景。在实际操作中,可能会遇到一些挑战,如身份验证、请求方法的使用、跨域问题以及错误处理。以下是对这些知识点的详细说明: 1. **身份验证 (401 ...
同时,由于OData服务可以跨越多个平台和编程语言,因此在实现时还需要考虑如何将OData集成到非SAP系统中,以及如何保证数据安全和传输效率。 SAP UI5 OData开发是一个复杂的过程,涉及到前端设计、后端服务、数据...
在SAP系统中,ODATA是一种基于RESTful协议的Web服务技术,用于提供与后端业务数据的交互接口。本文将详细介绍SAP后台ODATA开发的步骤,供初学者参考。 **一、数据结构** 在SAP ODATA开发中,首先需要定义数据结构,...
在SAP ABAP环境中,ODATA服务主要通过以下组件实现: - **CDS(Core Data Services)**:定义数据模型,它是构建ODATA服务的基础。CDS语言允许开发者在ABAP中声明结构化的数据模型,并支持事务安全和性能优化。 -...
SAP Fiori OData服务的实施不仅仅涉及技术层面的操作,更重要的是理解其背后的设计理念和技术优势。通过遵循OData的最佳实践,开发人员可以在构建高度可用的RESTful API时获得更好的体验和支持。此外,了解OData服务...
6. **移动应用开发**:如何利用SAP Gateway和OData创建适应不同移动设备的应用,包括iOS和Android平台。 7. **企业级应用集成**:讨论如何将SAP Gateway和OData服务与其他系统集成,如社交媒体、物联网(IoT)设备或...
SapAPI 该程序正在读取SAP API。 此API从防火墙后面的SAP ECC系统公开ODATA。 需要一个天蓝色的AD帐户,一个SAP-id,包括访问SAP系统中技术角色的权限。 SAP API已在Azure API管理中注册。
在实际应用中,OData常用于构建RESTful API,使得不同平台和设备上的应用可以轻松地与后端数据服务进行交互。通过这个简单的demo,学习者可以了解OData的工作原理,以及如何在实际开发中利用这些查询选项来优化数据...
在Android平台上访问OData服务是将企业级的数据通过标准的OData协议暴露出来,供移动应用进行数据交互的一种方式。OData(Open Data Protocol)是一种开放的协议,它允许通过HTTP来创建、读取、更新和删除数据,适用...
SAP Gateway是一种技术平台,它允许不同系统之间的数据交换,特别是与SAP系统和其他非SAP系统之间的交互。OData(Open Data Protocol)则是一种开放的Web服务协议,用于访问和共享多源数据,它简化了数据访问,使得...
OData:开放数据协议(Open Data Protocol,简称OData)是一种描述如何创建和访问Restful服务的OASIS标准。该标准由微软发起,前三个版本1.0、2.0、3.0都是微软开放标准,遵循微软开放规范承诺书(Microsoft Open ...
sap press doc 解压密码:abap_developer
SAP Gateway是一个技术平台,它为开发人员提供了创建和提供基于OData(Open Data Protocol)的服务的工具。这些服务使得非SAP系统能够通过标准接口,如REST(Representational State Transfer)访问SAP数据。这大大...
4. 无缝体验:SAP 提供了基于相同语言的所有 Fiori 应用程序,在部署和平台上无所谓。 5. 令人愉快:SAP Fiori 旨在与 ECC 6.0 配合使用,使用户易于部署在现有的 SAP 系统上。 SAP Fiori 应用程序分为三类: 1. ...
在SAP环境中,实现OData服务的关键组件是SAP Gateway。开发人员可以通过事务代码SEGW进入Gateway服务开发界面,创建和配置OData服务。数据模型(Data Model)是OData服务的基础,定义了数据的结构。实体类型(Entity...
在本教程中,我们将深入探讨如何开发一个使用SAPUI5和oData访问的数据交互应用程序。SAPUI5是SAP提供的一个强大的JavaScript框架,用于构建企业级的Web应用程序。而oData是一种开放的协议,它允许客户端通过HTTP访问...
SAP Core OData Processor API是SAP开发的一个关键组件,它主要用于处理OData(Open Data Protocol)服务的实现,这是一种基于RESTful架构的数据访问协议,广泛应用于企业级应用程序,特别是那些基于云服务的系统。...
### SAP OData Framework 3.0 英文资料解析 #### 概述 根据所提供的文档信息,本资料主要介绍的是SAP Mobile Platform (SMP) 3.0中OData框架的相关特性及其架构设计。SAP Mobile Platform是SAP公司推出的一套用于...
当我们需要在C#应用程序中与SAP系统交互时,就需要借助特定的接口技术来实现数据交换和功能调用。本项目就是针对这种需求,通过DEV控件在C#环境中搭建了一个SAP接口调用的示例。 首先,理解"C#调用SAP接口"这个主题...