本書是《SAP HANA實戰(zhàn)》的兄弟篇,也是其進(jìn)一步的延續(xù)和深入。本書是一本面向應(yīng)用開發(fā)的純技術(shù)書,瞄準(zhǔn)基于SAP HANA原生應(yīng)用開發(fā)的所有細(xì)節(jié)內(nèi)容,囊括所有與SAP HANA、XS、UI5、HANA原生應(yīng)用開發(fā)相關(guān)的內(nèi)容。
本書邏輯上可分成五個部分,讀者可以根據(jù)下面的簡介來選擇性閱讀。
及時部分:包含第1~2章,主要講解SAP HANA應(yīng)用服務(wù)器的各個組件、原生項目的開發(fā)架構(gòu)、SAP HANA工作臺的主要操作、創(chuàng)建用戶、創(chuàng)建表、賦予權(quán)限等。
第二部分:包含第3~4章,主要介紹信息建模的基礎(chǔ)和高級特性、以及SQLScript,和存儲過程的相關(guān)知識。這部分內(nèi)容相對獨立而且好上手,已經(jīng)熟悉這些內(nèi)容的讀者可跳過本章節(jié),但是在后續(xù)的XS項目示例中,我們會應(yīng)用到這部分所介紹的全部知識。
第三部分:包含第5~8章,講解了HANA原生應(yīng)用開發(fā)過程涉及的絕大部分內(nèi)容,包含XS項目的創(chuàng)建、核心數(shù)據(jù)服務(wù)(Core Data Service)、訪問控制、XSJS、OData服務(wù)和UI5前端集成、以及OData Web Service高效架構(gòu)設(shè)計實踐、XSJS處理http請求、數(shù)據(jù)庫訪問、創(chuàng)建定時運行的作業(yè)等內(nèi)容。
第四部分:包含第9~11章,這部分主 要通過一個具體案例來說明HANA XS原生應(yīng)用的開發(fā)過程及所涉及的全部對象。在介紹過程中,一步一步不斷增加新特性,使這個例子成為一個完整和考慮周全的系統(tǒng),還將這個開發(fā)后的XS 應(yīng)用部署和傳輸?shù)搅硗庖粋€HANA系統(tǒng),并重點介紹了修改控制、傳輸管理等細(xì)節(jié)內(nèi)容。
第五部分:包含第12~13章及附錄。主要講解HANA應(yīng)用上線后如何進(jìn)行運維、團(tuán)隊如何進(jìn)行協(xié)同開發(fā),以及如何實現(xiàn)系統(tǒng)的高可用。
另外在本書還單獨以問答的形式為讀者提供了作者多年的從業(yè)經(jīng)驗和項目心得。
SAP中國官方博學(xué)專家撰寫。
囊括所有SAP HANA、XS、CDS、XSJS、OData高效服務(wù)開發(fā)及UI5數(shù)據(jù)集成重要技術(shù)細(xì)節(jié),并通過一個完整實例,幫讀者快速掌握在SAP HANA平臺上進(jìn)行高級應(yīng)用開發(fā)的方法與技巧
至今SAP HANA已推出5年,全球客戶應(yīng)用規(guī)模已超過1萬家。這和SAP HANA能夠極速解決客戶的海量數(shù)據(jù)運算難題有關(guān),也和SAP最近這些年卯足了勁持續(xù)提升、每2個月一個新Revision、快速HANA新功能的投入密不可分。
從市場上客戶應(yīng)用HANA的案例來看,已從早期利用HANA做BI商務(wù)智能應(yīng)用、加速ERP報表應(yīng)用、加速BW數(shù)據(jù)倉庫,進(jìn)化到ERP on HANA、S/4 HANA這一新生態(tài)。
從技術(shù)平臺角度來看,SAP HANA也從一個單純的高性能內(nèi)存數(shù)據(jù)庫,慢慢演變成了一個新應(yīng)用的開發(fā)和部署平臺,即SAP HANA XS(Extended Application Server)。從一開始僅支持XSJS到現(xiàn)在支持XSJS、Node、Java、C 、Container技術(shù)等,SAP HANA越來越開放,越來越面向互聯(lián)網(wǎng),并且成為SAP HCP(HANA Cloud Platform)公有云的應(yīng)用服務(wù)平臺。因此,我們有必要在已經(jīng)了解SAP HANA、HANA建模、存儲過程開發(fā)等知識的基礎(chǔ)上,進(jìn)一步學(xué)習(xí)在SAP HANA平臺上設(shè)計、開發(fā)、部署、管理我們的企業(yè)應(yīng)用。
內(nèi)容簡介
劉剛,11年SAP領(lǐng)域工作經(jīng)驗,主要涉及SAP NetWeaver、IS-CoreBanking、IS-Utility這些產(chǎn)品和解決方案的咨詢和研發(fā)工作,此前并著有《SAP HANA實戰(zhàn)》一書。
從2011年起,在SAP中國擔(dān)任高級方案架構(gòu)師,幫助SAP數(shù)據(jù)庫和技術(shù)產(chǎn)品線在中國地區(qū)的市場開發(fā)、售前、以及各行業(yè)客戶的推廣和創(chuàng)新應(yīng)用的支持工 作。目前,作者在SAP中國研究院擔(dān)任高級項目經(jīng)理一職,負(fù)責(zé)SAP HANA、S/4 HANA、大數(shù)據(jù)相關(guān)領(lǐng)域的定制化研發(fā)項目。
Contents 目 錄
前言
第1章 SAP HANA和XS開發(fā) 1
1.1 SAP HANA系統(tǒng)的組件 2
1.1.1 數(shù)據(jù)庫服務(wù)的組件 3
1.1.2 應(yīng)用服務(wù)和輔助組件 4
1.2 進(jìn)入XS應(yīng)用開發(fā)的新篇章 5
1.2.1 XS原生應(yīng)用和Fiori Apps 6
1.2.2 XS應(yīng)用開發(fā)架構(gòu) 8
第2章 熟悉HANA開發(fā)環(huán)境 10
2.1 環(huán)境準(zhǔn)備 10
2.1.1 SAP HANA服務(wù)器軟件及硬件 10
2.1.2 SAP HANA客戶端軟件 12
2.2 及時次親密接觸 14
2.2.1 幾個系統(tǒng)用戶 14
2.2.2 連接到SAP HANA系統(tǒng) 15
2.3 熟悉SAP HANA工作臺 18
2.3.1 視角切換 18
2.3.2 SAP HANA系統(tǒng)運行期對象 21
2.3.3 常用的三個按鈕 24
2.3.4 創(chuàng)建表和上傳數(shù)據(jù) 25
2.4 用戶、角色和授權(quán)管理 31
2.4.1 用戶管理 32
2.4.2 角色管理 35
2.4.3 關(guān)于授權(quán) 40
第3章 信息建模 43
3.1 準(zhǔn)備工作和TPC-H 44
3.2 屬性視圖 45
3.3 分析視圖 63
第4章 建模進(jìn)階和SQLScript 72
4.1 計算視圖 72
4.1.1 基本工作界面 72
4.1.2 計算操作 75
4.2 計算視圖―可視化方式 80
4.3 SQLScript 85
4.3.1 表類型 85
4.3.2 存儲過程 86
4.3.3 計算引擎函數(shù)CE Function 94
4.4 計算視圖―腳本方式 95
第5章 HANA XS原生應(yīng)用 99
5.1 XS路線圖 101
5.2 XS應(yīng)用開發(fā) 102
5.2.1 XS應(yīng)用程序 102
5.2.2 XS項目開發(fā)流程 103
5.3 永遠(yuǎn)的“Hello, World” 105
5.3.1 XS項目的開發(fā)視圖 105
5.3.2 創(chuàng)建XS資源庫的本地工作區(qū) 109
5.3.3 創(chuàng)建“Hello,World”的XS項目 111
5.3.4 訪問控制部分 114
5.3.5 運行程序 117
5.3.6 項目協(xié)同開發(fā) 118
5.4 從設(shè)計期到運行期 125
5.4.1 設(shè)計期對象的擴(kuò)展名 126
5.4.2 可視化向?qū)Х绞?127
第6章 深入XS開發(fā) 129
6.1 XS應(yīng)用的開發(fā)流程 129
6.2 XS應(yīng)用的訪問控制 131
6.2.1 應(yīng)用描述文件 133
6.2.2 應(yīng)用訪問控制文件 134
6.2.3 應(yīng)用權(quán)限定義文件 142
6.3 XS項目開發(fā)規(guī)范 146
6.3.1 分門別類 146
6.3.2 Package和開發(fā)規(guī)則 147
6.3.3 對象如何引用 150
6.4 數(shù)據(jù)庫對象 151
6.4.1 創(chuàng)建Schema定義 151
6.4.2 創(chuàng)建Table定義 152
6.4.3 創(chuàng)建Table Type定義 157
6.4.4 創(chuàng)建Sequence定義 158
6.4.5 創(chuàng)建SQL View定義 159
6.4.6 創(chuàng)建Role定義 161
6.4.7 存儲過程 165
6.4.8 創(chuàng)建HANA模型視圖 168
6.4.9 數(shù)據(jù)自動加載 169
6.5 用CDS開發(fā)Table定義 172
6.5.1 CDS定義和組成 173
6.5.2 CDS文件分解 175
6.5.3 hdbtable還是CDS 182
6.5.4 示例:創(chuàng)建一個CDS 182
第7章 XS應(yīng)用的后臺服務(wù) 185
7.1 支持XS應(yīng)用的數(shù)據(jù)服務(wù) 185
7.2 OData服務(wù)―數(shù)據(jù)讀取 187
7.2.1 XS開發(fā)中的OData 187
7.2.2 快速定義OData服務(wù) 188
7.2.3 OData服務(wù)定義 191
7.2.4 OData訪問操作 201
7.2.5 OData輔助工具 201
7.3 OData服務(wù)―自定義出口數(shù)據(jù)更新 204
7.3.1 OData服務(wù)的自定義出口 204
7.3.2 創(chuàng)建操作 207
7.3.3 更新操作 208
7.3.4 刪除操作 209
7.3.5 關(guān)于數(shù)據(jù)傳遞 211
7.4 OData高效架構(gòu)設(shè)計實踐 212
7.4.1 OData CUD程序架構(gòu)設(shè)計 212
7.4.2 導(dǎo)入SHINE應(yīng)用 214
7.4.3 測試源代碼介紹 217
7.4.4 OData調(diào)用存儲過程―方式B 219
7.4.5 OData調(diào)用XSJS―方式C.1 221
7.4.6 OData調(diào)用XSJS―方式C.2 225
7.4.7 OData調(diào)用XSJS―方式C.3 229
7.4.8 開發(fā)XS應(yīng)用的方案 231
第8章 XSJS高級應(yīng)用 236
8.1 Node和XSJS 236
8.2 XSJS的API分類 238
8.3 處理Request和Response 240
8.4 訪問HANA數(shù)據(jù)庫 244
8.4.1 舊數(shù)據(jù)庫API 244
8.4.2 新數(shù)據(jù)庫API 246
8.4.3 使用自定義DB訪問連接 249
8.5 使用XS DB Utilities 251
8.6 調(diào)用Web服務(wù)―SOAP 254
8.7 發(fā)送電子郵件 257
8.8 創(chuàng)建XS定時運行的作業(yè) 261
8.8.1 創(chuàng)建XS Job 261
8.8.2 XS Job訪問關(guān)系 264
8.8.3 配置XS Job和執(zhí)行計劃 265
8.9 Java訪問XS Web服務(wù) 269
第9章 XS應(yīng)用項目開發(fā)示例 272
9.1 示例項目的結(jié)構(gòu)設(shè)計 272
9.2 創(chuàng)建XS項目 274
9.3 數(shù)據(jù)模型實現(xiàn) 276
9.4 主數(shù)據(jù)初始化 280
9.5 UI5界面和OData、HANA模型綁定 282
9.5.1 UI界面―客戶信息 282
9.5.2 UI界面―整體業(yè)務(wù)分析 287
9.6 從UI到后臺邏輯 291
9.6.1 UI5觸發(fā)HTTP請求 291
9.6.2 OData處理請求的出口定義 292
9.6.3 處理POST請求 293
9.6.4 處理DELETE請求 295
9.7 訪問控制和權(quán)限 296
9.7.1 訪問時的自動校驗 296
9.7.2 UI界面如何檢查應(yīng)用權(quán)限 298
9.7.3 應(yīng)用權(quán)限封裝為角色 301
9.8 應(yīng)用部署 302
第10章 應(yīng)用權(quán)限設(shè)計與開發(fā) 304
10.1 用戶設(shè)計和DB交互 305
10.1.1 前端用戶使用同一個DB賬號 305
10.1.2 前端用戶使用自己賬號 309
10.1.3 匿名訪問 311
10.2 數(shù)據(jù)訪問和隔離設(shè)計 312
10.2.1 數(shù)據(jù)讀取的隔離 312
10.2.2 數(shù)據(jù)更新,INVOKER還是DEFINER 318
10.2.3 真實Role或虛擬Role 320
10.3 應(yīng)用運行期的用戶和權(quán)限處理 326
10.3.1 從XS應(yīng)用層面創(chuàng)建用戶 327
10.3.2 程序中實現(xiàn)對用戶的授權(quán) 329
第11章 XS自動化傳輸和部署 332
11.1 產(chǎn)品管理 332
11.1.1 一些前提操作 333
11.1.2 管理Delivery Unit 335
11.1.3 管理Product 340
11.2 CR修改管理 342
11.3 自動化傳輸管理 344
11.3.1 注冊系統(tǒng) 346
11.3.2 傳輸路徑 348
11.3.3 傳輸DU―啟用CR模式 350
11.4 應(yīng)用部署和分包策略 352
第12章 XS運維和開發(fā)協(xié)同 354
12.1 XS應(yīng)用運維、協(xié)同開發(fā)和傳輸 354
12.1.1 簡約3系統(tǒng)架構(gòu) 354
12.1.2 傳統(tǒng)6系統(tǒng)架構(gòu) 355
12.1.3 傳輸時代碼鎖定,覆蓋失敗 357
12.1.4 運維傳輸?shù)某R妴栴} 359
12.2 訪問賬號的權(quán)限和角色設(shè)計 361
12.3 XS服務(wù)器的一些重要參數(shù) 364
第13章 XS系統(tǒng)高可用 366
13.1 HANA高可用方案 367
13.1.1 數(shù)據(jù)庫備份 368
13.1.2 存儲復(fù)制 369
13.1.3 節(jié)點自動故障切換 371
13.2 系統(tǒng)復(fù)制方案 371
13.2.1 Redo日志的復(fù)制模式 374
13.2.2 如何執(zhí)行切換 377
13.3 系統(tǒng)復(fù)制的配置示例 378
13.3.1 系統(tǒng)復(fù)制―HANA工作臺 379
13.3.2 系統(tǒng)復(fù)制―使用命令行 383
13.4 瀏覽器訪問的重定向 385
附錄A SAP HANA快問快答 387