Tải bản đầy đủ (.pdf) (50 trang)

TÌM HIỂU NỀN TẢNG SAP HANA VÀ PHÁT TRIỂN ỨNG DỤNG MINH HỌA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.09 MB, 50 trang )

ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC KINH TẾ LUẬT
KHOA HỆ THỐNG THÔNG TIN

THỰC TẬP TỐT NGHIỆP
CHUYÊN NGÀNH HỆ THỐNG THÔNG TIN QUẢN LÝ

TÌM HIỂU NỀN TẢNG SAP HANA VÀ
PHÁT TRIỂN ỨNG DỤNG MINH HỌA

Đơn vị thực tập:
Công ty TNHH SAP Asia (Vietnam)

Giáo viên hướng dẫn:
ThS. Trương Hoài Phan

Sinh viên thực hiện:
Võ Đức Huy (K104060963)




Thành phố Hồ Chí Minh, Khóa 10, Năm 2014

LỜI CẢM ƠN
Sau một khoảng thời gian dài, gần 4 năm được đào tạo và trải qua nhiều hoạt động tại
trường Đại học Kinh tế - Luật, ĐHQG Tp. HCM, chúng em đã được thầy cô truyền đạt
và rèn luyện cho rất nhiều kiến thức, nhiều kỹ năng để có đủ một hành trang vững chắc
cho con đường vào đời đầy gian truân và trắc trở. Từ những kinh nghiệm tích lũy được
trong thực tế, thầy cô đã không ngần ngại chia sẽ tất cả với chúng em. Đáp lại những
công ơn to lớn đó, chúng em sẽ tự tin nắm bắt những điều quý báu này và biến chúng


thành động lực để bước vào con đường sự nghiệp sắp tới. Thực tập là một giai đoạn khởi
đầu của một cuộc hành trình, là giai đoạn để chúng em có cơ hội gợi lại những kinh
nghiệm và vận dụng như một sự tiếp cận ban đầu. Từ đó, tích lũy lại trong bài báo cáo
như là một sổ tay cho một chặn đường dài. Và rồi từ bài báo cáo này, chúng em lại có
được những ý kiến đóng góp của thầy cô, giúp chúng em trưởng thành hơn cũng như có
được một hành trang vững chắc khi chuẩn bị bước vào cuộc hành trình dài đang chờ phía
trước.
Trong quá trình thực tập tại công ty, em đã được tạo điều kiện thực tập rất tốt, được hòa
mình vào một môi trường làm việc năng động và chuyên nghiệp. Đây là môi trường
không những để em có thể học hỏi mà còn cải thiện được nhưng kỹ năng, trau dồi kinh
nghiệm và tiếp nhận những giá trị thực của con đường mà em đã chọn. Bên cạnh đó em
còn nhận được sự hỗ trợ nhiệt tình từ các anh chị trong công ty. Em xin gửi lời cảm ơn
chân thành đến anh Nguyễn Hữu Dũng – giám đốc công ty, anh đã hướng dẫn em từ
những bước đầu làm thủ tục thực tập cho đến nay. Em cũng xin được gửi lời cảm ơn đến
anh Hàn Minh Thuấn và chị Thủy Lê đã tận tình giúp đỡ em từ những ngày đầu còn bỡ
ngỡ khi hòa nhập vào công ty. Em xin chân thành cảm ơn các anh, chị đã mang đến cho
em những buổi traning rất ý nghĩa và giúp em giải quyết được những vấn đề khó khăn
trong quá trình thực hành. Đồng thời em xin cám ơn toàn thể các anh chị trong công ty
đã chia sẽ và góp ý cho em trong suốt thời gian em tìm hiểu và làm ứng dụng cho báo
cáo.
Để có được một nơi thực tập tốt, môi trường làm việc hiệu quả và hoàn thành tốt báo
cáo, em xin chân thành gửi lời cám ơn đến Thầy chủ nhiệm – ThS. Nguyễn Duy Nhất đã
tạo cơ hội, và truyền đạt những kinh nghiệm thực tập bổ ích cho cúng em. Đồng thời em
cũng xin được gửi lời cám ơn trân trọng nhất đến Thạc sỹ Trương Hoài Phan – Giảng
viên hướng dẫn, là người tư vấn, định hướng cho em trong suốt quá trình thực tập, theo
dõi và cho em những lời khuyên thiết thực nhất. Cuối cùng, em muốn gửi lời cảm ơn đến
các thầy cô trong khoa đã tận tình giảng dạy và tạo điều kiện học tập tốt nhất cho chúng
em tại Khoa Hệ thống Thông tin.
Tp. Hồ Chí Minh, ngày 30 tháng 03 năm 2014
Sinh viên


VÕ ĐỨC HUY









MỤC LỤC
DANH MỤC HÌNH ẢNH 6
DANH MỤC TỪ VIẾT TẮT 7
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 8
1.1 Lý do chọn đề tài 8
1.2 Mục tiêu đề tài 10
1.3 Đối tượng và phạm vi nghiên cứu 10
1.4 Phương pháp nghiên cứu 10
1.4.1 Đối chiếu – so sánh 10
1.4.2 Chuyên gia 10
1.4.3 Khảo sát thực tế 11
1.5 Công cụ nghiên cứu 11
1.6 Thuận lợi và khó khăn 11
1.7 Cấu trúc báo cáo 12
CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG 13
2.1 Giới thiệu tổ chức 13
2.2 Mô tả quá trình thực tập 14
CHƯƠNG 3: CƠ SỞ LÝ LUẬN 15
3.1 In-Memory Computing 15

3.2 SAP UI5 15
CHƯƠNG 4. SAP HANA PLATFORM 16
4.1 SAP HANA In-Memory Database 17
4.1.1 Columnar Data Storage 18
4.1.2 Parallel Processing 20
4.2 SAP HANA Extended Application Services 21
4.3 SAP HANA-Based Applications 24
4.4 Developer Scenarios 26
CHƯƠNG 5: ỨNG DỤNG MINH HỌA 28
5.1 Lý do chọn đề tài 28
5.2 Yêu cầu đặt ra 28
5.3 Luật chơi Sudoku 29
5.4 Giải thuật Sudoku 29
5.4.1 Backtracking – Thuật toán quay lui 29
5.4.2 Suy luận 30
5.4.3 Kỹ thuật xáo trộn trong bảng Sudoku 30
5.4.4 Tạo ô Sudoku 31
5.5 Phân tích thiết kế hệ thống 32
5.5.1 Kịch bản ứng dụng 32
5.5.2 đối tượng User 34
5.5.3 User quản trị 37
5.6 Xây dựng ứng dụng 39
5.6.1 Xây dựng database 39
5.6.2 Thiết kế giao diện 42
CHƯƠNG 6: KẾ LUẬN 48
6.1 Kết quả đạt được 48
6.2 Những hạn chế 48
6.3 Hướng phát triển 49
6.4 Tổng kết quá trình thực hiện 49



DANH MỤC HÌNH ẢNH
STT
TÊN HÌNH
TRANG
1
Hình 1.1. Tình trạng dữ liệu phát sinh trong doanh nghiệp
8
2
Hình 3.1. SAPUI5 trên máy tính và các thiết bị di động
15
3
Hình 4.1. SAP HANA In-memory database
18
4
Hình 4.2. Bảng dữ liệu
19
5
Hình 4.3. Lưu trữ theo cột
19
6
Hình 4.4. Lưu trữ theo dòng
20
7
Hình 4.5. Xử lý song song
21
8
Hình 4.6. Mô hình MVC ở những ứng dụng thông thường
22
9

Hình 4.7. Mô hình MVC ở những ứng dụng trên nền tảng SAP
HANA
23
10
Hình 4.8. Hệ thống SAP HANA
24
11
Hình 4.9. Native SAP HANA Application development
15
12
Hình 4.10. Native SAP HANA application development with SAP
HANA XS
26
13
Hình 4.11. Native SAP HANA application và Non-native SAP
HANA application
27
14
Hình 4.12. SAP HANA Application và các ngôn ngữ phát triển
28
15
Hình 5.1. Ví dụ về câu đố sudoku
29
16
Hình 5.2. Quy ước đặt các khối trong bảng Sudoku
31
17
Hình 5.3. Quy trình tạo ô sudoku
32
18

Hình 5.4. Usecase của đối tượng User
35
19
Hình 5.5. Sơ đồ trình tự của user
37
20
Hình 5.6. Usecase của đối tượng quản trị
38
21
Hình 5.7. Sơ đồ trình tự của quản trị ứng dụng
40
22
Hình 5.8. Câu lệnh tạo bảng users
41
23
Hình 5.9. Bảng Users đã được tạo
42
24
Hình 5.10. Câu lệnh tạo bảng Historyplayer
43
25
Hình 5.11. Bảng HistoryPlayer đã được tạo
44
26
Hình 5.12. Câu lệnh tạo sequence
44
27
Hình 5.13. Trang login
45
28

Hình 5.14. Popup login
45
29
Hình 5.15. Popup đăng ký
46
30
Hình 5.16. Giao diện trang chủ
46
31
Hình 5.17. Giao diện chức năng chơi sudoku
47
32
Hình 5.18. Giao diện bảng xếp hạng
48
33
Hình 5.19. Giao diện quản lý thông tin cá nhân
48
34
Hình 5.20. Popup đổi password
49
35
Hình 5.21. Giao diện trang quản lý users của quản trị viên
49
36
Hình 5.22. Giao diện quản lý lịch sử chơi game của quản trị viên
50

DANH MỤC TỪ VIẾT TẮT
STT
CỤM TỪ

Ý NGHĨA
1
ADBC
Acrobat Database Connectivity
2
CPU
Central Processing Unit
3
CSS
Cascading Style Sheets
4
DBMS
Database Management System
5
HTML
HyperText Markup Language
6
HTTP
HyperText Transfer Protocol
7
JDBC
Java Database Connectivity
8
MVC
Model-View-Controller
9
ODBC
Open Database Connectivity
10
RIA

Rich Internet Applications
11
SAP HANA XS
SAP HANA Extended Application Services
12
SQL
Structured Query Language

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1.1 Lý do chọn đề tài
Sự phát triển của xã hội và nhu cầu của con người ngày một tăng đã dẫn đến thông tin
và dữ liệu trở nên cực lớn, chúng được phát sinh trong quá trình hoạt động của doanh
nghiệp để đáp ứng các nhu cầu xã hội và nhu cầu con người. Với các hệ thống ứng dụng
truyền thống trong doanh nghiệp không còn đáp ứng đủ nhu cầu lưu trữ và xử lý khối
lượng dữ liệu rất lớn. Thêm vào đó, sự đa dạng của dữ liệu làm xuất hiện các loại dữ liệu
có cấu trúc và không có cấu trúc dẫn đến giảm quá trình xử lý và tổng hợp dữ liệu của
các DBMS truyền thống. Đồng thời, nhịp sống của xã hội ngày một tăng khiến các nhà
quản lý, các nhà hoạch định chiến lược đặt ra các yêu cầu về nắm bắt thông tin, tình hình
hoạt động doanh nghiệp hay các hoạt động kinh doanh một cách nhanh chóng và chính
xác, điều đó đã làm xuất hiện nhu cầu xử lý dữ liệu trong thời gian thực. Như vậy, các
doanh nghiệp đang gặp phải những thách thức lớn và cần có những hoạt động hiệu để
giải quyết các vấn đề này, nhằm duy trì uy tín và sự tồn tại của mình trên thương trường
đầy cạnh tranh.

Hình 1.1. Tình trạng dữ liệu phát sinh trong doanh nghiệp
Nắm bắt được những vấn đề lớn này của doanh nghiệp, các công ty công nghệ đã nghiên
cứu và phát triển rất nhiều giải pháp có những đặc tính giải quyết vấn đề cao nhưng vẫn
còn những gặp nhiều vấn đề phát sinh. Cũng như các doanh nghiệp công nghệ khác, SAP
đã nghiên cứu và dựa vào sự phát triển vượt bậc của công nghệ phần cứng cũng như
những bước tiến mới của công nghệ điện toán, họ đã tính toán và cho ra đời một nền

tảng hoàn toàn mới đó là SAP HANA. Với những tính năng vượt trội có thể giải quyết
được các yêu cầu lớn mà doanh nghiệp đang gặp phải thì SAP HANA là một lựa chọn
mà các nhà phát triển ứng dụng lớn đang nhắm tới. Điều này, đã làm cho SAP HANA
có được nhiều sự quan tâm, đáng để trở thành một đề tài để nghiên cứu và ứng dụng.
Với những kiến thức căn bản được trang bị cùng với mong muốn được làm việc trong
lĩnh vực phát triển phần mềm và có một môi trường thử thách để hoàn thiện nên tôi lấy
SAP HANA làm một đối tượng nghiên cứu và từng bước tiếp cận nền tảng tiên tiến này.
Bằng việc đi từ những khái niệm cơ bản và phát triển những ứng dụng đơn giản, tôi có
thể tìm hiểu sâu hơn và có thể ứng dụng vào các mục đích phát triển thật sự mang lại
hiệu quả cao cho các doanh nghiệp mong muốn.
1.2 Mục tiêu đề tài
Tìm hiểu và có thể trình bày về một nền tảng mới với nhiều cải tiến, tính năng hỗ trợ cho
việc phát triển các ứng dụng xử lý và lưu trữ lượng dữ liệu rất lớn.
Vận dụng các kiến thức tìm hiểu được và các kiến thức được trang bị trong chương trình
học vào việc phát triển một ứng dụng đơn giản để tiếp cận và làm quen với một công
nghệ hiện đại. Trong đó công nghệ In-memory computing được đánh giá rất cao trong
xu hướng phát triển ứng dụng hiện nay.
1.3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của đề tài là nền tảng SAP HANA. Sử dụng các kiến thức cơ bản
về XS Engine và SAP UI5 để phát triển một ứng dụng đơn giản.
Phạm vi nghiên cứu và xây dựng ứng dụng là chỉ dừng lại ở native SAP HANA
Application.
1.4 Phương pháp nghiên cứu
1.4.1 Đối chiếu – so sánh
Tìm hiểu một cấu trúc nền tảng mới, một công nghệ hiện đại. Cần có sự đối chiếu giữ
các tính năng, công dụng, của các thành phần trong hệ thống với các hệ thống tương tự.
Đồng thời cần có sự so sánh để thấy được lợi ích và hạn chế của hệ thống đang nghiên
cứu với các hệ thống, công cụ khác.
Về phát triển ứng dụng minh họa cần có sự so sánh với ứng dụng đã có trong thực tế để
từ đó rút ra được các cải tiến cần có hay phát triển và duy trì các tính năng đã làm tốt

hơn.
1.4.2 Chuyên gia
Quá trình tìm hiểu và thực hiện ứng dụng minh họa với kiến thức mới và kinh nghiệm
chưa cao thì cần có sự hỗ trợ từ các chuyên gia, các kỹ sư có kinh nghiệm từ doanh
nghiệp để từ đó giải quyết được các khó khăn, cải thiện kỹ năng, kỹ thuật đồng thời rèn
tính chuyên nghiệp trong sản phẩm ứng dụng.
1.4.3 Khảo sát thực tế
Đề tài thực hiện một ứng dụng minh họa nhằm phục vụ cho công tác nghiên cứu hệ
thống, nền tảng mới đồng thời phục vụ người dùng ứng dụng giải trí nên cần có sự tìm
hiểu các ứng dụng đã có trong thực tế và tìm hiểu như cầu của người dùng để từ đó đáp
ứng được xu thế và mong muốn của người dùng.
1.5 Công cụ nghiên cứu
Nhập môn cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu Oracle:
 Sử dụng các kiến thức cơ bản của một DBMS để có thể dễ dàng tiếp cận và thấu
hiểu các kiến thức mới về cấu trúc của một DBMS mới.
 Vận dụng để thực hiện các xử lý, truy xuất và quản trị cơ sở dữ liệu cho ứng dụng
minh họa.
Phân tích thiết kế hệ thống thông tin:
 Vận dụng vào việc phân tích và thiết kế hệ thống cho ứng dụng minh họa.
Kỹ thuật lập trình
 Sử dụng các kiến thức lập trình và kinh nghiệm thực hiện các đồ án môn học vào
việc nắm những kiến thức lập trình mới.
 Làm nền tảng để tiếp thu ngôn ngữ và mô hình lập trình mới.
Lập trình Web kinh doanh
 Làm nền tảng để tiếp phát triển ứng dụng minh họa
 Nắm được cấu trúc và kiến trúc của ứng dụng web
 Có kiến thức về HTML, CSS, JavaScript, Jquery để thực hiện ứng dụng minh họa.
1.6 Thuận lợi và khó khăn
Thuận lợi: Đã nắm được các kiến thức từ các môn học và có thể vận dụng vào việc tìm
hiểu chuyên sâu một cách nhanh chóng. Có thể dễ dàng hiểu các tài liệu chuyên ngành

và tiếp cận tốt với các ví dụ/demo. Có kiến thức để giao tiếp và trao đổi với các chuyên
gia, người hướng dẫn để nhờ sự giúp đỡ và tiếp thu từ sự giúp đỡ.
Khó khăn:
 Các kiến thức được học chỉ mang tính tổng quát và dàn trải. Để áp dụng vào thực
tế cần mất thời gian nâng cao kiến thức.
 Ngoại ngữ về vốn từ chuyên ngành còn nhiều thiết sót. Khó khăn trong việc dịch
thuật và hiểu sai nghĩa các từ ngữ chuyên ngành.
1.7 Cấu trúc báo cáo
Chương 1. Tổng quan đề tài
Trình bày lý do chọn đề tài và mục tiêu đặt ra. Xác định đối tượng nghiên cứu và phạm
vi nghiên cứu. Các phương pháp được sử dụng để nghiên cứu và thực hiện đề tài. Những
thuận lợi và khó khăn trong quá trình vận dụng các công cụ nghiên cứu.
Chương 2. Khảo sát hiện trạng
Giới thiệu về công ty SAP và SAP Asia (Vietnam). Đồng thời mô tả về vị trí thực tập
Chương 3. Cơ sở lý luận
Trình bày về công nghệ tính toán bộ nhớ trong in-memory computing
Trình bày về SAPUI5 là thư viện do SAP phát triển để xây dựng giao diện ở client.
Chương 4. SAP HANA Platform
Giới thiệu về nền tảng mới. Và trình bày tổng quát về kiến trức và các thành phần của
SAP HANA như:
 SAP HANA In-Memory Database: về kỹ thuật lưu trữ và xử lý song song.
 SAP HANA Extended Application Services: Dịch vụ tích hợp trong SAP HANA
là dịch vụ đóng vai trò như một máy chủ tích hợp
 SAP HANA-Based Applications
 Developer Scenarios: gồm có Native Application Development và Non- native
Application Development
Chương 5. Ứng dụng minh họa
Lý do chọn đề tài làm minh họa và các thuật toán để giải quyết bài toán
Bước phân tích ứng dụng và xây dựng database
Xây dựng giao diện và lập trình ứng dụng

Chương 6. Kết luận
Trình bày các kết quả đặt được và những hạn chế còn tồn tại.
Tổng kết quá trình thực tập
CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG
2.1 Giới thiệu tổ chức
SAP là doanh nghiệp dẫn đầu thế giới về ứng dụng kinh doanh và các dịch vụ phần mềm
liên quan.Các ứng dụng của SAP hỗ trợ cho hơn 25 ngành công nghiệp, giúp các doanh
nghiệp trở thành các doanh nghiệp vận hành tốt nhất. Dựa trên vốn thị trường, SAP là
nhà sản xuất phần mềm độc lập lớn thứ ba trên thế giới. Với hơn 253,5000 khách hàng
trên 188 quốc gia trên thế giới đã cho thấy được quy mô và sức lan tỏa trong thị trường
quốc tế. Để tạo nên được các phần mềm, dịch vụ chất lượng và đáp ứng hầu như đầy đủ
các yêu cầu của doanh nghiệp, SAP có một đội ngũ nhân viên vô cùng lớn với hơn 66,500
nhân viên làm việc tại hơn 130 quốc gia và trong đó có Việt Nam. Doanh thu hàng năm
của doanh nghiệp đạt 16.82 tỷ Euro.
SAP Asia (Vietnam) được thành lập vào tháng 11/2011. Đây là nơi làm việc của hơn 30
nhân viên với trình độ và kinh nghiệm cao. Đội ngũ nhân SAP Asia (Vietnam) làm việc
trong môi trường chuyên nghiệp và được tổ chức làm việc theo từng team phụ trách các
dự án khác nhau và các team này cùng làm việc và trao đổi trực tiếp với các team nước
ngoài ở những quốc gia khác. Môi trường làm việc trong SAP được gắn kết với toàn bộ
hệ thống SAP trên thế giới thông qua những phương tiện và công nghệ hiện đại. Công
ty luôn tạo những điều kiện và mội trường làm việc thoải mái cho nhân viên để có thể
phát huy hết khả năng.
Sự thành lập văn phòng của SAP tại thành phố Hồ Chí Minh cũng nhằm đánh dấu bước
ngoặc phát triển của SAP tại Việt Nam sau 4 năm với hơn 120 khách hàng ở tất cả các
ngành.
Thông tin chi tiết về công ty SAP Asia (Vietnam):
 Tên giao dịch: SAP ASIA (VIETNAM) CO., LTD.
 Địa chỉ: 24C Phan Đăng Lưu P.06, Phường 6, Quận Bình Thạnh, Thành Phố
Hồ Chí Minh.
 Giám đốc: (Ông) Nguyễn Hữu Dũng.

 Giấy phép kinh doanh: 411043001686 | Ngày cấp: 15/08/2011.
 Mã số thuế: 0311183701.
 Ngày hoạt động: 01/10/2011.
 Hoạt động chính: Thiết kế và phát triển phần mềm.
 Điện thoại: +84 8 62886036.
2.2 Mô tả quá trình thực tập
Được thực tập ở vị trí lập trình viên. Lập trình trên nền tảng SAP HANA. Trong quá
trình thực tập thực hiện việc nghiên cứu và tìm hiểu nền tảng mới từ đó có ứng dụng
những kiến thức có được và các kiến thức đang tìm hiểu để xây dựng một ứng dụng
minh họa.
Trong quá trình phát triển ứng dụng minh họa được làm việc nhóm. Nhóm gồm 2 thành
viên đều là thực tập sinh. Nhiệm vụ trong nhóm:
 Viết mã lệnh giải ô Sudoku bằng thuật toán sudoku Backtracking
 Viết các hàm xáo trộn để tạo ra một o sudoku ngẫu nhiên
 Xây dựng cơ sở dữ liệu, phân quyền
 Xây dựng trang dành cho quản trị viên gồm trang quản lý User và trang quản lý
lịch sử người chơi
 Chức năng đăng ký
 Chức năng cập nhật thông tin cá nhân
 Chức năng đổi mật khẩu
CHƯƠNG 3: CƠ SỞ LÝ LUẬN
3.1 In-Memory Computing
SAP In-memory computing là một công nghệ mang tính đột phá cho phép thực hiện các
phân tích rất lớn, dữ liệu không tổng hợp với tốc độ chưa từng có trong bộ nhớ cục bộ
(so với cơ sở dữ liệu trên đĩa – disk-based database). Các khả năng chính của công nghệ
này là lưu trữ thông tin chủ yếu dưới định dạng cột (vẫn có khả năng lưu trữ dữ liệu theo
dòng (Row store) cho một số kiểu dữ liệu nhất định), điều này giúp nó có thể nén và lưu
trữ một lượng lớn thông tin trong bộ nhớ chính (in main memory), sử dụng kỹ thuật xử
lý song song đa lõi trên kiến trúc của Intel và chuyển các dữ liệu tính toán phức tạp từ
lớp ứng dụng (application layer) vào lớp cơ sở dữ liệu (database layer) để xử lý được

nhanh hơn. Vì tất cả các dữ liệu đã có sẵn trong bộ nhớ chính và đã được xử xý, không
cần phải có các thông tin tổng hợp. Về cơ bản công nghệ ngày đã làm đơn giản hóa kiến
trúc, giảm độ trễ, giảm độ phức tạp từ đó giúp cho chi phí được giảm xuống.
3.2 SAP UI5
SAPUI5 là bộ công cụ giao diện người dùng cho HTML5. Bộ công cụ dùng để xây dựng
và thích ứng với các ứng dụng client. SAPUI5 vận hành như một thư viện HTML5 ở
phía client với một tập hợp phong phú các điều khiển thông thường và kế thừa. Nó là
một mô hình lập trình lightweight. Và được phát triển các thư viện để có thể tương thích
với các thiết bị di động như smart phone và tablet.

Hình 3.1. SAPUI5 trên máy tính và các thiết bị di động
SAPUI5 cung cấp nhiều tính năng cho phép bạn dễ dàng tạo và mở rộng state-of-the-art
cho giao diện người dùng:
 Hỗ trợ RIA dựa trên nền JavaScript.
 Hỗ trợ CSS3 với việc cho phép điều chỉnh các chủ đề cho việc xây dựng thương
hiệu hiệu quả cho doanh nghiệp.
 Nó dựa trên một khái niệm mở rộng về tùy chỉnh các điều khiển.
 Nó sử dụng nền tảng là Jquery.
 Hỗ trợ các sản phẩm tiêu chuẩn SAP.
 Nó phù hợp với OpenAjax và sử dụng cùng với các thư viện JavaScript khác.
CHƯƠNG 4. SAP HANA PLATFORM
SAP HANA là một nền tảng công nghệ mới có các tính năng vượt trội đủ để đáp ứng
nhu cầu cho mọi hoạt động của doanh nghiệp. Nền tảng này được biết đến như một nền
tảng phát triển dựa trên sự hỗ trợ phân tích thời gian thực do SAP AG phát triển, giúp
các doanh nghiệp phân tích các hoạt động kinh doanh trên khối lượng dữ liệu khổng lồ
theo thời gian thực. Nền tảng mới này có thể được triển khai theo phương thức truyền
thống (server) hoặc được lưu trữ bằng công nghệ điện đoán đám mây (cloud-computing)
đang trở thành xu thế trong vài năm gần đây.
Để tạo nên sự khác biệt so với các công cụ lớn đã có trước thì SAP HANA được thiết kế
dựa trên công nghệ tính toán bộ nhớ trong (in-memory computing) – là công nghệ được

đánh giá có tốc độ tính toán cực kì ấn tượng, nhanh hơn các công nghệ hiện hành khác
khoảng 1000 lần. Đây được xem là một bước đột phá trong khoa học điện toán trong
thời gian gần đây sau khi có những bước đột phá về phần cứng.
Và những điểm khác biệt mà SAP HANA mang lại đó là:
 Những câu trả lời ngay lập tức cho các câu hỏi tình huống (ad-hoc).
 Khả năng truy cập thời gian thực. Có thể nhận biết được những việc gì xảy ra ngay
khi nó xảy ra.
 Mang đến những cái nhìn nhiều chiều về hoạt động, trình trạng doanh nghiệp khi
tích hợp nhanh chóng các nguồn dữ liệu phân tán.
 Cách thức vận hành đơn giản và chi phí dành cho việc bảo trì thấp hơn.
Để làm được những điều đó SAP HANA phải là sự kết hợp giữ phần mềm và phần cứng
nên SAP đã làm việc với các đối tác lớn như HP, IBM, Fujitsu, Cisco và Dell để đảm
bảo cho sự tương thích hoàn toàn và tối ưu trong các điện toán tính toán.
Phù hợp với xu thế về các thiết bị di động (mobile device), như điện thoại thông minh
(smart phone), máy tính bảng (tablet) SAP HANA đều hỗ trợ rất tốt.
4.1 SAP HANA In-Memory Database
SAP HANA được thiết kế để vận hành trên một nền tảng hiện đại. Với các máy tính
được trang bị CPU đa lõi các thông tin giao tiếp nhanh chóng giữa các lõi xử lý và bộ
nhớ chính chứa hàng tetrabyte. Với SAP HANA, tất cả dữ liệu sẵn có trong bộ nhớ
chính, điều này giúp hoàn toàn tránh được các vi phạm về hiệu suất từ việc truy xuất từ
đĩa cứng. Nhưng các thiết bị như đĩa cứng, hoặc các đĩa ở trạng thái rắn vẫn được yêu
cầu cho việc đảm bảo duy trì dữ liệu lâu dài trong các trường hợp mất điện hay các thiên
tai có thể xảy ra khác. Việc này không làm giảm hiệu xuất hoạt động của quá trình xử
lý. Tuy nhiên, hoạt động sao lưu cần thiết có thể diễn ra không đồng bộ như một công
việc nền.
Trong DBMS truyền thống tồn tại một vấn đề làm chậm hiệu xuất hoạt động đó là khóa
dữ liệu (locking data) khi quá trình cập nhật dữ liệu đang thực hiện. Trong SAP HANA
Database đã tránh được vấn đề này và cho phép xử lý song song bằng cách sử dụng các
record chỉ đọc (read-only). Thay vì tạo ra một record mới thì chèn một chỉ số (delta) như
một đối tượng mới trong record hiện có được lưu trữ theo cột.

Một nền tản tốt không chỉ tối ưu các xử lý trong các hoạt động truy xuất dữ liệu mà còn
phụ thuộc khá nhiều vào kỹ thuật lưu trữ. Kỹ thuật lưu trữ thể hiện cách tổ chức lưu trữ
và nén dữ liệu như thế nào là tốt nhất. Và điều này trong SAP HANA
In-Memory Database như là trung tâm các dịch vụ của SAP giúp cho các khách hàng có
thể cải thiện được hiệu quả hoạt động, nhanh chóng và linh hoạt hơn.

Hình 4.1. SAP HANA In-memory database
4.1.1 Columnar Data Storage
Một cơ sở dữ liệu bảng là một khái niệm dữ liệu cấu trúc hai chiều được tổ chức theo
dòng và cột. Nhưng trong bộ nhớ máy tình, nó được tổ chức theo cấu trúc tuyến tính.
Một bảng có thể được thể hiện thứ tự theo dòng hay cột. Với lưu trữ theo dòng, các
thông tin của một record được lưu trữ cùng nhau. Đối với lưu trữ theo cột, các thuộc tính
của một record được lưu trữ cùng nhau. Và SAP HANA hỗ trợ cả hai kiểu lưu trữ nhưng
lưu trữ theo cột được đánh giá tối ưu hơn.
Ví dụ:
Bảng dữ liệu:

Hình 4.2. Bảng dữ liệu
Lưu trữ theo cột (Row store):

Hình 4.3. Lưu trữ theo cột
Lưu trữ theo dòng (Column store):

Hình 4.4. Lưu trữ theo dòng
Lưu trữ dữ liệu dạng cột cho phép dữ liệu lưu trữ được nén hiệu quả cao hơn. Vì các dữ
liệu có cùng độ dài và cùng kiểu dữ liệu được lưu trữ cùng nhau nên quá trình nén được
thực hiện tối ưu hơn. Đồng thời trong quá trình duyệt dữ liệu với các dữ liệu có cùng
kiểu dữ liệu lưu trữ liền kề nhau nên quá trình này được diễn ra nhanh hơn và chính xác
hơn.
4.1.2 Parallel Processing

SAP HANA được thiết kế để thực hiện các tính toán cơ bản như phân tích, duyệt và tổng
hợp dữ liệu một cách song song. Nó thường làm việc với tình trạng sử dụng hàng trăm
nhân cùng lúc và tận dụng đầy đủ các nguồn lực trong hệ thống.
Lưu trữ cột cho phép thực thi các hoạt động một cách song song bằng việc sử dụng xử
lý đa nhân. Trong hình thức lưu trữ này thì dữ liệu đã được phân vùng theo chiều dọc.
Điều này có nghĩa là với các thao tác trên các cột khác nhau có thể dễ dàng được xử lý
song song với nhau. Nếu nhiều cột cần được thực hiện tìm kiếm hoặc tổng hợp thì mỗi
thao tác có thể được chỉ định cho một nhân xử lý khác nhau. Thêm vào đó, các hoạt động
trên cùng một cột có thể được xử lý song song bằng cách chia cột đó ra thành nhiều vùng
khác nhau và chỉ định cho các nhân xử lý khác nhau cho mỗi vùng được chia.
Hình 4.5. Xử lý song song
4.2 SAP HANA Extended Application Services
Những ứng dụng sử dụng cơ sở dữ liệu truyền thống thường giao tiếp với DBMS như
ODBC, JDBC,… có chức năng giống như một Data source và thông thường được thực
hiện qua một kết nối mạng. Những ứng dụng này sử dụng Structured Query Language
(SQL) để quản lý và truy vấn dữ liệu được lưu trữ trong cơ sở dữ liệu. Và các ứng dụng
này được phát triển dựa trên mô hình thông dụng Model-View-Controller (MVC) như
hình sau:

Hình 4.6. Mô hình MVC ở những ứng dụng thông thường
Với SAP HANA các ứng dụng không làm như cách trên. Mà SAP HANA được mở rộng
hơn so với một database truyền thống. Các chức năng của nó như một nền tảng toàn diện
cho sự phát triển và thực hiện các ứng dụng với dữ liệu chuyên sâu (data-intensive) nhờ
vào việc tận dụng kiến trúc bộ nhớ trong và khả năng xử lý song song.
Nếu ứng dụng được tái cấu trúc theo cách này, không chỉ làm tăng quá trình thực hiện
do sự tích hợp với Data source mà còn hiệu quả từ việc có thể loại bỏ được các thành
phần trung gian để truyền dữ liệu đến giao diện người dùng (user interface) dẫn đến việc
giảm một lượng chi phí đáng kể.

Hình 4.7. Mô hình MVC ở những ứng dụng trên nền tảng SAP HANA

Trong mô hình ứng dụng tích hợp này, SAP HANA Extended Application Services cung
cấp đầy đủ các dịch vụ hỗ trợ phát triển ứng dụng trên nền Web. Nó bao gồm một máy
chủ web (lightweight web server), hỗ trợ cấu hình Odata, Server-side JS, và tất nhiên là
bao gồm SQL và SQLScript.
Những SAP HANA Extended Application Services này được cung cấp bởi SAP HANA
XS server và đã được tích hợp đầy đủ vào SAP HANA. Nó cho phép client có thể truy
cập vào hệ thống SAP HANA thông qua HTTP. Các Controller Application có thể chạy
trực tiếp trên SAP HANA mà không cần có một application server nào nữa. Điều này
cho thấy SAP HANA XS Server như là một phần của hệ thống SAP HANA.

Hình 4.8. Hệ thống SAP HANA
4.3 SAP HANA-Based Applications
Về khả năng chạy các ứng dụng cụ thể trong SAP HANA đặt ra câu hỏi: Các xử lý logic
thì nên được chạy ở đâu? Và rõ ràng là data-intensive và các tính toán model-based phải
được đặt cùng với các dữ liệu để quá trình xử lý được tối ưu hơn. Vì thế cần thực hiện
các xử lý này ngay trong index server. Về mặt trình diễn các phân tích này được thực
hiện ở client như một ứng dụng HTML5 trong trình duyệt hay trên các thiết bị di động.

Hình 4.9. Native SAP HANA Application development
Native application-specific code đã được hỗ trợ bởi SAP HANA Extended Application
Services, nó có thể được sử dụng để cung cấp một “thin layer” giữa các client trên side
với các view, bảng và các proceduer trong index server. Ví dụ như quản lý các xử lý
logic dựa trên yêu cầu bằng các tham số nhận vào và gọi các view, stored procedure
trong index server và kết quả trả về được gửi đi theo một định dạng mà client mong đợi.
Hình 4.10. Native SAP HANA application development with SAP HANA XS

×