SAP Fiori Elements 公开课第二单元视频的台词和课程主要内容
課程地址
很多 SAP 從業(yè)者反映,open SAP 上的視頻,因為網(wǎng)絡(luò)原因無法訪問,所以我會陸續(xù)在我的個人微 信 號“汪子熙”上面,把這些視頻配上中文字幕并發(fā)布出來,敬請關(guān)注。
本文是公開課第二單元視頻的中文字幕,由本人手動翻譯而成,感謝大家的支持。
第二單元內(nèi)容:講解 Fiori Elements Architecture
以下是視頻臺詞的中文翻譯。
====
歡迎大家來到 OpenSAP Fiori Elements 公開課程第一周的第二單元。本單元我們討論 Fiori Elements 的架構(gòu)
SAP Fiori Elements 總的來說分為五大組成部分,共同構(gòu)成了運行時看到的應(yīng)用程序: (1)Floorplans; (2)OData 服務(wù); (3)注解; (4)配置; (5)定制代碼
下圖左邊第一個圖例代表 Floorplan, 比如 Analytical List 或者 Object Page, 由 Fiori Elements 框架提供
Floorplan 負責應(yīng)用程序的顯示方式及其行為方式的控制
第二,第三部分即 OData 服務(wù)和注解,需要應(yīng)用開發(fā)人員維護
二者結(jié)合起來,使應(yīng)用開發(fā)人員可以決定應(yīng)用在屏幕上顯示的具體內(nèi)容,而不需要使用 JavaScript 編程來實現(xiàn)
相反,借助 OData 和 注解,我們提供的實際是語義和行為的抽象描述(abstraction of semantics and behaviors)
這意味著應(yīng)用開發(fā)人員得以專注于業(yè)務(wù)功能、行為方式以及消費方式的設(shè)計中去
當然如果您希望改變 Floorplan 的行為或引入額外的邏輯,Fiori Elements 的靈活性也足以勝任
Fiori Elements 應(yīng)用提供了兩種增強方式:無代碼配置 (no-code
configuration) 和定制代碼增強 (custom code extensions)
下面我們深入討論這五個組成部分
從框架提供的 Floorplan 開始介紹
我們可以把 Floorplan 想象成一個藍圖或者模板
Floorplan 定義了很多占位符,每個占位符包含了一個控件,比如過濾器,工具條,表格控件等等
Floorplan 描述了這個頁面所有可能提供給用戶使用的功能和行為
比如,當一個用戶點擊了表格行項目時,用戶能夠?qū)Ш降矫骷氻撁嫒?#xff0c;或者跳轉(zhuǎn)到外部應(yīng)用。這些行為的描述,就維護在 Floorplan 里
一旦 Fiori Elements 應(yīng)用啟動后,框架的 Floorplan 處理器就接管了初始化控制權(quán)
框架結(jié)合應(yīng)用開發(fā)人員提供的 OData 和注解,將 Floorplan 轉(zhuǎn)化成最終的 SAP UI5 視圖
Floorplans 和其控件包含了許多功能,這里舉一些例子
用戶可以個性化控件,創(chuàng)建不同的變體(variants), 可以共享頁面或者給頁面設(shè)置書簽
可以使用 Excel 導出和導入功能
只要后臺的 OData 服務(wù)支持,用戶也可以對數(shù)據(jù)進行修改或創(chuàng)建,或是觸發(fā) Actions
Floorplans 也具有響應(yīng)式特性,這意味著根據(jù)用戶的設(shè)備或屏幕的不同,Floorplans 會顯示不同的內(nèi)容
最后也是很重要的一點是,Fiori Elements 對 SAP 產(chǎn)品標準原生的支持
如果您開發(fā)的 Fiori Elements 應(yīng)用未包含任何定制代碼,那么它在不需要付出額外代價的情況下,本身就已經(jīng)是一個開箱即用的,符合企業(yè)級就緒標準(Enterprise-Ready) 的應(yīng)用了
下面看看我們到底Fiori Elements 應(yīng)用開發(fā),到底需要提供哪些構(gòu)建模塊
首先當然是 OData,每一個 Fiori Elements 應(yīng)用都需要 OData
OData 是一種位于標準 HTTP 之上的協(xié)議,定義了如何同后端交換數(shù)據(jù)的行為
OData 包含數(shù)據(jù)模型的元描述,定義了模型實體和屬性,以及它們之間的關(guān)聯(lián)關(guān)系
OData 不僅支持對描述模型標準的增刪改查操作
還能觸發(fā) Actions 和調(diào)用函數(shù)
OData 本身具備一個功能強大的查詢語言
該語言允許客戶端查詢優(yōu)化過的讀取請求,對數(shù)據(jù)進行過濾和搜索
以及對數(shù)據(jù)進行聚合或限制的功能
OData 能告訴客戶端,當前支持以及受限的操作
在標準 OData 協(xié)議的基礎(chǔ)上,SAP 對其做了擴展,引入了 Draft 概念,Fiori Elements 對 Draft 概念也支持良好
借助 Draft 概念,我們可以構(gòu)建更加專業(yè)和動態(tài)的應(yīng)用程序,比如保留一個修改過的草稿模型,能夠稍后繼續(xù)編輯
有了 Draft 的支持,我們可以讓編輯的模型保持草稿狀態(tài),留待稍后繼續(xù)編輯,甚至可以切換到另一個不同的設(shè)備
目前 OData 主要有 V2 和 V4 兩個版本
V4 是 V2 的進化版, 不僅包含了新功能, 也是 ISO 批準的 OASIS 標準
Fiori Elements 能充分發(fā)揮 OData V4 的優(yōu)勢, 同時 SAP 也極其注意保持兩個版本間 Floorplan 風格和布局的穩(wěn)定與一致
OData 也允許應(yīng)用開發(fā)人員對元數(shù)據(jù)進行注解(annotate), 這是一個很酷的特性
這樣一來,應(yīng)用開發(fā)人員就能夠自己描述數(shù)據(jù)應(yīng)該如何被框架解析并渲染。舉一些例子
使用注釋, 我們可以指定金額字段和貨幣字段,二者在語義上從屬于一起
又比如給一個顯示字符串內(nèi)容的字段添加額外的語義: 該字段只能顯示一個合法的電子郵箱地址。有了這些注解,框架就能知道如何以正確的外觀渲染字段
注釋還可以定義行為。例如指定一個 Business Object 是否可以編輯
注解也可以給出消費提示(Consumption hints), 比如某個字段是否允許被點擊
您可能會問,如何創(chuàng)建數(shù)據(jù) OData 服務(wù)以及注解?
首先我想強調(diào)的是,Fiori Elements 支持任何符合 OData 規(guī)范的后臺服務(wù)
但如果可以使用 SAP 后臺,則只需要一些簡單的鼠標點擊,就能迅速創(chuàng)建出 OData 服務(wù)
Cloud Application Programming Model (CAP) 和 Restful ABAP Programming Model (RAP) 這兩種編程模型
都能將 CDS View 自動發(fā)布成 OData 服務(wù)
并且二者都支持在 CDS View 定義里編寫注解
即便使用傳統(tǒng)的 ABAP 編程模型,我們?nèi)匀豢梢杂?SAP Gateway 和注解提供類 (Annotation Provider Class) 來開發(fā) OData 服務(wù)
如果注解是 OData 服務(wù)的一個組成部分,我們稱其為后臺驅(qū)動式注解 (backend-driven annotations)
盡管如此,由后臺提供的注解是可選的
我們也可以在本地注解文件里提供所需的注解,或者采取二者結(jié)合的方式
在二者結(jié)合的工作模式下,本地注解將會在 Term 字段的級別上,覆蓋掉來自后臺的注解
本地注解是在應(yīng)用程序項目中創(chuàng)建的,并遵循應(yīng)用程序自身的生命周期
我們可以使用本地注解來實現(xiàn)后臺尚不能提供的注解功能
或者滿足利用同一個 OData 服務(wù)來實現(xiàn)多個應(yīng)用程序變體的需求
有時我們使用的 OData 服務(wù)提供商根本不能提供注解服務(wù),此時本地注解就更能發(fā)揮作用了
我們已經(jīng)了解到,Floorplans 利用元數(shù)據(jù)和注解,來決定頁面上要渲染的控件
不僅如此,Floorplan也會考慮由應(yīng)用開發(fā)人員提供的可選配置
還是舉例說明
在 List Report Floorplan 中,我們顯示了一個表格控件。大家也許知道,SAP UI5 提供了好幾種類型的表格控件
根據(jù)我們目前的 UX 設(shè)計準則,List Report Floorplan 里默認選擇的是 ResponsiveTable
但如果您想在 List Report 中使用其他類型的 UI5 表格控件
可以通過 Fiori Tools 加上配置的方式,輕松實現(xiàn)
Fiori Elements 提供了很多這樣的配置項
這些配置并不是語義層面的,而是基于具體的應(yīng)用程序
這就是為什么選擇 Table 控件類型的功能,不是作為注解,而是通過配置方式提供的
我們甚至為這個配置提供了分層 (Layering)的設(shè)計
假設(shè)我們想把表格控件類型改成 GridTable. 但是部分用戶在平板電腦和手機上訪問該應(yīng)用
而這些移動平臺上 ResponsiveTable 顯示效果更佳。這種情況下,管理員或者 Key User 仍然可以通過配置的方式,將表格類型恢復成 ResponsiveTable
前面已經(jīng)提過,Fiori Elements 提供了大量的 UI patterns 和功能
以及適合大多數(shù)業(yè)務(wù)用例的特性 (普適性)
當然,作為一個框架,Fiori Elements 不可能為所有類型的行為和設(shè)計都提供開箱即用的支持
這種情況下,應(yīng)用開發(fā)人員仍舊能夠編寫定制代碼,并集成到 Fiori Elements 應(yīng)用中去
這些定制代碼需要應(yīng)用開發(fā)人員自行在 Fiori Elements 工程中特殊的位置編寫
例如 Object Page 里增添一個新的 section, 表格增加一個新的 column, 工具欄里增添一個新的 Action 按鈕等等
通過使用由 SAP Fiori Elements 提供的構(gòu)建塊
我們可以快速進行擴展的開發(fā),同時仍然保持整個應(yīng)用具有一致的外觀和體驗
但是我們不會有 100% 的靈活性,不能在屏幕的任何位置添加新的控件
這個"限制"也確保了即使屏幕布局由于 SAP 版本升級發(fā)生變化后,我們的自定義內(nèi)容能夠始終可用
也就是說,SAP 版本升級不會影響到應(yīng)用中的自定義 UI 內(nèi)容
這個準則同樣也適用于我們編寫在某些 Hooks 上的自定義代碼,比如當用戶試圖保存一個文檔時
在類似 beforeSave 的鉤子上, Fiori Elements 提供了所謂的 ExtensionsAPI. 這是一系列方法的集合,能用于自定義代碼的編寫中
比如當表格行項目被點擊時,使用 ExtensionsAPI 拿到被點擊的行項目包含的業(yè)務(wù)數(shù)據(jù)
需要注意的是,編寫擴展代碼也是有代價的
應(yīng)用開發(fā)人員負責編寫定制代碼,因此也必須確保這些代碼功能的正確性和穩(wěn)定性,特別是在升級之后
而且必須確保這些自開發(fā)代碼滿足所有的 SAP 產(chǎn)品標準
本單元的介紹即將結(jié)束。簡單總結(jié)一下,并展望下一個單元的學習目標
這個單元我們討論了使用 Fiori Elements 開發(fā)企業(yè)級可用 (Enterprise-Ready) 程序的五大組成部分
2 和 3 分別是 OData 服務(wù)和注解,由應(yīng)用開發(fā)人員提供,負責定義應(yīng)用顯示的內(nèi)容和提供的業(yè)務(wù)功能
4 和 5 是可選的配置以及定制開發(fā)功能,二者允許我們對 Fiori Elements 應(yīng)用進行微調(diào) (fine tune) 和擴展
本課程的下一單元即第三單元,我們會深入討論 OData 服務(wù)和注解。感謝觀看本視頻,我們下單元再見
====
OData 服務(wù)將您的 Fiori Elements 應(yīng)用 UI 同后臺數(shù)據(jù)源連接起來,OData 服務(wù)提供商包括 SAP S/4HANA,SAP Business Warehouse,SAP Business Technology Platform 和其他外部 OData 服務(wù)提供商。
OData 注解,決定了您的 Fiori Elements 的外觀以及行為。比如控制哪個字段可以點擊,哪個字段可以編輯。同時,OData annotation 能夠為 OData 元數(shù)據(jù)提供更多的語義化信息 - semantic information,比如:
- 哪個字段允許用戶唯一標識一個業(yè)務(wù)實體
- 定義字段 A 是字段 B 的貨幣單位
- 若干字段應(yīng)該組合起來,共同顯示在一個 form 里
在 ABAP platform 7.5 及其以后的版本,我們可以采取 Core Data Services 的方式,實現(xiàn) OData 服務(wù).
在 SAP BTP ABAP 編程環(huán)境里,除了 ABAP Programming Model for SAP Fiori 之外,我們還可以選擇 Restful ABAP Programming Model 以及 Cloud Application Programming Model 來進行 OData 服務(wù)開發(fā)。
SAP Fiori Elements 基于 SAP 最新的 UX 準則,提供了默認的配置項,使用 SAP Fiori Tools,可以便捷地修改這些配置。
SAP Fiori Elements 應(yīng)用的擴展手段
- 自定義控件
- 使用 SAP Fiori Elements ExtensionAPI 提供的自定義邏輯
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的SAP Fiori Elements 公开课第二单元视频的台词和课程主要内容的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Binwalk工具的详细使用说明(bin
- 下一篇: QQ飞车中的黄金剃刀怎么改(QQ官方下载