學習SAP Fiori,需要先了解哪些知識點?

1. 說一說SAP的UI風格

在開始正式內容之前,先閒聊幾句。SAP爲啥要推Fiori?

熟悉SAP的朋友,對於SAP GUI一定不會陌生,它是這個樣子的(如下圖)。

剛接觸SAP GUI的人,無一不吐槽SAP GUI“醜陋”的頁面風格。經常可以聽到有人調侃,能夠操作SAP GUI,是一項“專業技能”。

可以說,SAP GUI在某種程度上,也成爲了SAP系統的一個經典符號,它雖然“醜陋”,但“簡潔”,“高效”,“風格統一”。

GUI雖經典,但隨着技術的發展,特別企業用戶是全場景(anytime, anywhere)的業務需求,GUI已經不能很好地勝任這些任務,Fiori也是在這種大背景下,逐步進化成SAP的新一代UI風格,來一張Fiori的靚照(如下圖)。

第一次接觸Fiori的同學,相信都被這種“漂亮的”頁面驚豔,因爲它太不像SAP了,完全顛覆了GUI的形象。

習慣了GUI的同學,會吐槽Fiori的“蝸牛速度”,因爲和傳統的SAP GUI相比,Fiori屬於Web應用程序,在啓動時不可避免的會有資源加載、頁面渲染等步驟,這些確實是Web應用程序的通病。但瑕不掩瑜,Fiori 清爽的風格,user-friendly的操作方式,以及在不同終端的通用性,其優勢也是顯而易見的。(其實,經過性能調優後,Fiori的反應速度還是很快的。)

時代在進步,傳統的SAP ABAP發開人員不該故步自封。本篇博客中,讓我們一起看下,如果要學習SAP Fiori的開發,需要先了解哪些知識點。

2. Fiori的技術架構

這部分不囉嗦,先來一張架構圖。

Fiori應用程序的技術架構主要由三部分組成,底層的SAP HANA數據庫,中層的SAP NetWeaver平臺,以及前端的SAPUI5頁面。我們來分別說一下這三部分:

對於SAP S/4HANA而言,其底層的數據庫會是SAP HANA,它是一個列存儲的內存數據庫,只要按照HANA的開發guidance做,不“瞎搞”(一次關聯處理幾十個表),其速度是極快的。

SAP NetWeaver是Fiori應用程序的後臺,因此,其業務邏輯還是由“穩定”,“高效”,“煥發第二春”的ABAP語言完成的(例如調用標準的Accouting Interface生成財務憑證),但與傳統GUI應用程序不同的一點是,Fiori應用程序是基於CDS進行建模的。SAP提供一套完整的基於CDS的開發模型,包括annotation,BOPF,DRAFT等框架(在此,本文不做過多展開)。SAP Gateway是Netweaver上的一個組件,對於準備好的CDS業務模型,通過SAP Gateway發佈成OData service供SAPUI5前臺程序使用。

SAPUI5是SAP是基於HTML5、CSS和JavaScript的前臺開發技術,它提供了一系列的Fiori相關組件,利用SAPUI5可以構建風格統一的Fiori應用程序。對於SAPUI5的程序,其支持於不同的運行平臺,Mobile,Tablet,Desktop都不在話下。SAPUI5的技術架構如下:

可以看到,在Fiori應用的前臺,其設計模型是經典MVC,也即Model-View-Controller,因此掌握MVC的原理,也是理解Fiori的運行機制的基礎。

3. 技術基礎

瞭解了Fiori的架構,那麼,應該儲備哪些技能,才能完成Fiori應用程序的開發呢?

做過Web應用程序開發的同學都知道,HTML, CSS, Javascript是前端開發的“三件套”。正常來說,Fiori應用程序也是如此,如果你能有“三件套”的基礎是最好的。但沒有基礎的同學也不要憂傷,正如我上面介紹的,SAP提供了Fiori的一個完整框架,不寫任何一行HTML, CSS, Javascript代碼,也是能夠完成Fiori的開發的,也即通過CDS annotion完成所有的頁面描述。

必要技能:

  • ABAP: 這個就不多說了,ABAP是SAP的開發人員必備技能
  • CDS (Core Data Service):CDS是建模的基礎,必須要掌握
  • CDS annotations :通過CDS的各種annotation控制Fiori的頁面行爲
  • SAP Gateway:管理OData service
  • Odata:Fiori最終是基於OData生成的應用程序,瞭解OData的結構,OData的annotation都是Fiori開發的基礎

開發環境:

  • SAP ADT : 基於eclipse的ABAP Development Tool ,傳統的SE80無法開發CDS
  • SAP Web IDE: 開發Fiori 的前臺

輔助技能:

  • SAPUI5:Fiori的控件庫
  • JavaScript:做前臺邏輯的調整

知道更好:

  • HTML
  • CSS

4. 更多資料

限於篇幅,本文簡單介紹SAP Fiori的基礎架構,其主要目的是讓想學習Fiori開發的同學形成一個整體概念,對於具體的技術細節,感興趣的同學可以持續關注本博客,後續我將繼續整理、發佈。

下面是兩個比較重要的鏈接,一個是SAPUI5的DemoKit,一個是Fiori App設計的Guidance。

持續更新SAP領域優質文章,歡迎關注❤️、點贊👍、轉發📣!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章