Contents 目 錄
前言
第1章 SAP HANA和XS開發(fā) 1
1.1 SAP HANA系統(tǒng)的組件 2
1.1.1 數據庫服務的組件 3
1.1.2 應用服務和輔助組件 4
1.2 進入XS應用開發(fā)的新篇章 5
1.2.1 XS原生應用和Fiori Apps 6
1.2.2 XS應用開發(fā)架構 8
第2章 熟悉HANA開發(fā)環(huán)境 10
2.1 環(huán)境準備 10
2.1.1 SAP HANA服務器軟件及硬件 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)建表和上傳數據 25
2.4 用戶、角色和授權管理 31
2.4.1 用戶管理 32
2.4.2 角色管理 35
2.4.3 關于授權 40
第3章 信息建模 43
3.1 準備工作和TPC-H 44
3.2 屬性視圖 45
3.3 分析視圖 63
第4章 建模進階和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 計算引擎函數CE Function 94
4.4 計算視圖―腳本方式 95
第5章 HANA XS原生應用 99
5.1 XS路線圖 101
5.2 XS應用開發(fā) 102
5.2.1 XS應用程序 102
5.2.2 XS項目開發(fā)流程 103
5.3 永遠的“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 從設計期到運行期 125
5.4.1 設計期對象的擴展名 126
5.4.2 可視化向導方式 127
第6章 深入XS開發(fā) 129
6.1 XS應用的開發(fā)流程 129
6.2 XS應用的訪問控制 131
6.2.1 應用描述文件 133
6.2.2 應用訪問控制文件 134
6.2.3 應用權限定義文件 142
6.3 XS項目開發(fā)規(guī)范 146
6.3.1 分門別類 146
6.3.2 Package和開發(fā)規(guī)則 147
6.3.3 對象如何引用 150
6.4 數據庫對象 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 數據自動加載 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應用的后臺服務 185
7.1 支持XS應用的數據服務 185
7.2 OData服務―數據讀取 187
7.2.1 XS開發(fā)中的OData 187
7.2.2 快速定義OData服務 188
7.2.3 OData服務定義 191
7.2.4 OData訪問操作 201
7.2.5 OData輔助工具 201
7.3 OData服務―自定義出口數據更新 204
7.3.1 OData服務的自定義出口 204
7.3.2 創(chuàng)建操作 207
7.3.3 更新操作 208
7.3.4 刪除操作 209
7.3.5 關于數據傳遞 211
7.4 OData高效架構設計實踐 212
7.4.1 OData CUD程序架構設計 212
7.4.2 導入SHINE應用 214
7.4.3 測試源代碼介紹 217
7.4.4 OData調用存儲過程―方式B 219
7.4.5 OData調用XSJS―方式C.1 221
7.4.6 OData調用XSJS―方式C.2 225
7.4.7 OData調用XSJS―方式C.3 229
7.4.8 開發(fā)XS應用的最佳方案 231
第8章 XSJS高級應用 236
8.1 Node和XSJS 236
8.2 XSJS的API分類 238
8.3 處理Request和Response 240
8.4 訪問HANA數據庫 244
8.4.1 舊數據庫API 244
8.4.2 新數據庫API 246
8.4.3 使用自定義DB訪問連接 249
8.5 使用XS DB Utilities 251
8.6 調用Web服務―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訪問關系 264
8.8.3 配置XS Job和執(zhí)行計劃 265
8.9 Java訪問XS Web服務 269
第9章 XS應用項目開發(fā)示例 272
9.1 示例項目的結構設計 272
9.2 創(chuàng)建XS項目 274
9.3 數據模型實現 276
9.4 主數據初始化 280
9.5 UI5界面和OData、HANA模型綁定 282
9.5.1 UI界面―客戶信息 282
9.5.2 UI界面―整體業(yè)務分析 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 訪問控制和權限 296
9.7.1 訪問時的自動校驗 296
9.7.2 UI界面如何檢查應用權限 298
9.7.3 應用權限封裝為角色 301
9.8 應用部署 302
第10章 應用權限設計與開發(fā) 304
10.1 用戶設計和DB交互 305
10.1.1 前端用戶使用同一個DB賬號 305
10.1.2 前端用戶使用自己賬號 309
10.1.3 匿名訪問 311
10.2 數據訪問和隔離設計 312
10.2.1 數據讀取的隔離 312
10.2.2 數據更新,INVOKER還是DEFINER
318
10.2.3 真實Role或虛擬Role 320
10.3 應用運行期的用戶和權限處理 326
10.3.1 從XS應用層面創(chuàng)建用戶 327
10.3.2 程序中實現對用戶的授權 329
第11章 XS自動化傳輸和部署 332
11.1 產品管理 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 應用部署和分包策略 352
第12章 XS運維和開發(fā)協(xié)同 354
12.1 XS應用運維、協(xié)同開發(fā)和傳輸 354
12.1.1 簡約3系統(tǒng)架構 354
12.1.2 傳統(tǒng)6系統(tǒng)架構 355
12.1.3 傳輸時代碼鎖定,覆蓋失敗 357
12.1.4 運維傳輸的常見問題 359
12.2 訪問賬號的權限和角色設計 361
12.3 XS服務器的一些重要參數 364
第13章 XS系統(tǒng)高可用 366
13.1 HANA高可用方案 367
13.1.1 數據庫備份 368
13.1.2 存儲復制 369
13.1.3 節(jié)點自動故障切換 371
13.2 系統(tǒng)復制方案 371
13.2.1 Redo日志的復制模式 374
13.2.2 如何執(zhí)行切換 377
13.3 系統(tǒng)復制的配置示例 378
13.3.1 系統(tǒng)復制―HANA工作臺 379
13.3.2 系統(tǒng)復制―使用命令行 383
13.4 瀏覽器訪問的重定向 385
附錄A SAP HANA快問快答 387