Những ứng dụng sử dụng cơ sở dữ liệu truyền thống thường giao tiếp với Database Management System như Open Database Connectivity, Java Database Connectivity,… 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:
Mô hình MVC 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ệ thố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.
Mô hình MVC là gì?
M là Model: cấu trúc dữ liệu theo cách tin cậy và chuẩn bị dữ liệu theo lệnh của controller
V là View: Hiển thị dữ liệu cho người dùng theo cách dễ hiểu dựa trên hành động của người dùng.
C là Controller: Nhận lệnh từ người dùng, gửi lệnh đến cho Model để cập nhập dữ liệu, truyền lệnh đến View để cập nhập giao diện hiển thị.