SAP BTP 上使用 Mobile Back-End Tools(MBT)进行全栈开发的方法概述
Understand Full-Stack Development with Mobile Back-End Tools
從本質(zhì)上講,MBT 是一組工具,可讓您無需編寫一行代碼即可生成功能齊全的 OData Web 服務(wù)。 這些工具旨在透明地將 OData 模型轉(zhuǎn)換為持久性,并提供透明的 OData 功能,包括開箱即用的增量計算。
除了過度簡化之外,MBT 作為 SAP 移動服務(wù)的一項(xiàng)功能,是一組工具,旨在解決移動應(yīng)用程序同步離線功能時可能出現(xiàn)的若干挑戰(zhàn)。
因此,它們提供(可選)功能,例如目標(biāo)集成(作為緩存)、下載跟蹤、客戶端過濾器和進(jìn)一步的自定義。
MBT 可作為 Visual Studio Code 的市場擴(kuò)展或作為 SAP Business Application Studio 的一部分在“SAP 移動應(yīng)用程序”的預(yù)設(shè)中使用。
本教程及其任務(wù)將向您介紹移動后端工具緩存數(shù)據(jù)庫的可能用法。 它旨在通過技術(shù)引入技術(shù)提供簡化方案,同時保持對試用用戶的要求。
您可以在 SAP 業(yè)務(wù)技術(shù)平臺 (BTP) 或本地(在 Apache Tomcat、TomEE 或 Eclipse Virgo 上)運(yùn)行如此生成的 OData 服務(wù)。
如果您計劃在 SAP BTP 中運(yùn)行生成的服務(wù):
-
SAP Business Application Studio 將是大多數(shù)開發(fā)人員的更好選擇,因?yàn)樗试S您在設(shè)計時和運(yùn)行時利用相同的環(huán)境。
-
CSDL 圖形建模器僅在 SAP Business Application Studio 中可用。
-
作為云解決方案的 SAP Business Application Studio 將使用 SAP Mobile Services 的預(yù)設(shè)開箱即用,并且不需要手動設(shè)置開發(fā)環(huán)境以及與操作系統(tǒng)無關(guān)。
如果您計劃在本地架構(gòu)中運(yùn)行生成的服務(wù):
-
您仍然可以通過 SAP Cloud Connector 將其連接到 SAP Mobile Services,但您可能希望在本地架構(gòu)中生成和開發(fā)服務(wù),利用移動后端工具的 Visual Studio Code 擴(kuò)展
-
對于 Visual Studio Code,您需要在本地設(shè)置自己的環(huán)境。
下圖描繪了移動解決方案上下文中基于 MBT 的服務(wù)的示例架構(gòu):
在本教程的任務(wù)中,目標(biāo)系統(tǒng)作為公開可用的 HTTP 目標(biāo)連接。 在實(shí)際場景中,如果是云系統(tǒng),您可能會以類似的方式連接系統(tǒng),如果是內(nèi)部部署系統(tǒng),則可以通過 SAP Cloud Connector 連接系統(tǒng)。
Role of CSDL and database
OData 定義模型和操作的聲明方式的工作方式允許 OData 操作和實(shí)際數(shù)據(jù)庫上的操作之間的映射。
因此,通常 MBT 的中心起點(diǎn)是元數(shù)據(jù)文件,分別是 Common Schema Definition Language (CSDL) 文件。 在 SAP Business Application Studio 中,MBT 可以利用 CSDL 圖形建模器來簡化 OData 模型的使用。
一方面,MBT 提供可運(yùn)行的任務(wù),生成數(shù)據(jù)庫持久性或持久性描述符 (SQL),反映整個 OData 模型。 另一方面,MBT 可以基于現(xiàn)有的數(shù)據(jù)庫表構(gòu)建透明的 OData 服務(wù)。
根據(jù)運(yùn)行時支持不同的數(shù)據(jù)庫類型。 以下數(shù)據(jù)庫可能例如 在某些環(huán)境中與工具一起使用(Derby 和 H2 僅用于測試,請參閱文檔和/或產(chǎn)品可用性矩陣以獲取官方支持聲明):
-
SAP ASE
-
Apache Derby
-
H2 database
-
SAP HANA
-
Azure SQL or Microsoft SQL Server
-
Oracle Database
-
PostgreSQL
-
SAP SQL Anywhere
Benefit of caching mobile app data
在企業(yè)環(huán)境中構(gòu)建的大多數(shù)應(yīng)用程序都不是獨(dú)立的用例,而是必須集成到現(xiàn)有的生態(tài)系統(tǒng)、數(shù)據(jù)和業(yè)務(wù)流程中。 因此,MBT 提供將 OData 服務(wù)上的操作鏈接和映射到另一個接口上的操作。
通常,在開發(fā)新的移動應(yīng)用程序時,您必須選擇最適合您的架構(gòu)的技術(shù)。 因此,您可以在源系統(tǒng)上構(gòu)建新服務(wù)、將數(shù)據(jù)復(fù)制到另一個系統(tǒng)或緩存數(shù)據(jù)的相關(guān)部分以方便使用移動消費(fèi)。
如果您想在遺留接口之上構(gòu)建服務(wù),如果您想減少引用系統(tǒng)上的負(fù)載,或者如果您想添加更高效的增量功能以獲得更好的客戶端應(yīng)用程序用戶體驗(yàn),而無需修改后臺,這可能會派上用場 -端接口。
Benefit of client registrations
在 MBT 中,除了用戶身份之外,客戶端注冊還反映了一種特定的離線數(shù)據(jù)存儲。 這種識別允許在基于時間戳的計算之外進(jìn)行精確的更改確定,特別是與客戶端過濾器結(jié)合使用。
客戶端注冊要求服務(wù)包含一個實(shí)體,離線商店在該實(shí)體上使用 uuid 進(jìn)行注冊。 此 ID 必須與 HTTP 標(biāo)頭 Client-Instance-ID 中的任何即將到來的用戶請求一起發(fā)送。
What is a Client Filter?
許多用例應(yīng)允許用戶選擇可以將哪些數(shù)據(jù)下載到客戶端數(shù)據(jù)庫中。
這可以例如是地理、組織或歷史要求。 因此,MBT 允許在特定離線商店的自定義下載查詢中利用 ClientFilter 注釋的實(shí)體。
注冊到服務(wù)后,客戶端因此可以將一個或多個實(shí)體上傳到過濾器實(shí)體,以管理從其他實(shí)體下載的數(shù)據(jù)。
例子:
在特定日期在特定區(qū)域工作的銷售代表可以上傳過濾器,以僅檢索過去兩年內(nèi)該特定區(qū)域客戶的銷售訂單的客戶數(shù)據(jù)。
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的SAP BTP 上使用 Mobile Back-End Tools(MBT)进行全栈开发的方法概述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米13 Ultra限量定制色来袭!5月
- 下一篇: 科技纳米皮+无金环设计!小米13 Ult