Bối cảnh và vấn đề nghiên cứu
Sự phát triển của công nghệ thông tin cùng mạng Internet đã làm thay đổi phương thức giao tiếp và trao đổi dữ liệu trong xã hội. Quá trình phát triển các ứng dụng web trải qua sự dịch chuyển từ các trang HTML tĩnh ban đầu sang các công nghệ tạo trang web động như ASP, JSP và PHP. Trong hoạt động thương mại điện tử, các doanh nghiệp và tổ chức xây dựng rất nhiều hệ thống thông tin phục vụ quản lý và quảng bá thương hiệu. Tuy nhiên, các nguồn tài nguyên Internet được phát triển bằng nhiều ngôn ngữ lập trình và nền tảng công nghệ khác nhau dẫn đến tình trạng thiếu đồng bộ. Các hệ thống máy tính không thể truy xuất hay cập nhật dữ liệu qua lại một cách trực tiếp, và các website viết bằng ngôn ngữ này gặp nhiều rào cản khi muốn khai thác dữ liệu từ các website viết bằng ngôn ngữ khác.
Thực trạng này đặt ra yêu cầu xây dựng một mô hình tài nguyên thống nhất nhằm hỗ trợ kết nối mọi hệ thống mọi lúc, mọi nơi, đặc biệt trong các mô hình giao dịch doanh nghiệp với doanh nghiệp (B2B) và doanh nghiệp với khách hàng (B2C). Công nghệ Web service được nghiên cứu và phát triển nhằm cung cấp các phương thức chuẩn hóa để truy nhập vào các hệ thống đóng gói và hệ thống kế thừa, cho phép các phần mềm viết bằng các ngôn ngữ khác nhau có thể trao đổi dữ liệu qua mạng Internet. Xuất phát từ nhu cầu thực tiễn đó, tác giả Nguyễn Quang Sách đã thực hiện khóa luận tốt nghiệp ngành Công nghệ Thông tin tại Trường Đại học Quảng Nam với đề tài: "Tìm hiểu về Web service và xây dựng ứng dụng trên điện thoại di động".
Mục tiêu nghiên cứu của khóa luận được xác định gồm 3 nội dung chính:
- Nắm vững các kiến thức về lý thuyết Web service.
- Tìm hiểu về lập trình di động đa nền tảng.
- Triển khai ứng dụng Web service trên ứng dụng di động.
Đối tượng và phạm vi nghiên cứu của đề tài được giới hạn như sau:
- Đối tượng nghiên cứu: Lý thuyết kiến trúc Web service và kỹ thuật lập trình di động đa nền tảng sử dụng công cụ Xamarin.
- Phạm vi nghiên cứu: Khóa luận tập trung nghiên cứu nền tảng kiến trúc Web service, mô hình kiến trúc hướng dịch vụ (SOA), các chuẩn công nghệ hỗ trợ Web service gồm SOAP, XML, WSDL, UDDI, RESTful API; lý thuyết lập trình ứng dụng di động đa nền tảng; thực nghiệm phân tích, thiết kế và cài đặt một ứng dụng ghi chú chạy trên thiết bị di động kết nối tới Web service.
Cơ sở lý thuyết và phương pháp nghiên cứu
Khóa luận dựa trên định nghĩa chuẩn của World Wide Web Consortium (W3C): Web service là một hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng dụng trên các máy tính khác nhau thông qua mạng Internet, với giao diện chung và sự gắn kết được mô tả bằng ngôn ngữ XML. Web service hoạt động theo mô hình khách - chủ (client - server), cho phép các bên tương tác độc lập với hệ điều hành và ngôn ngữ lập trình.
Các công nghệ và khung lý thuyết nền tảng được tác giả tổng hợp và sử dụng gồm:
- XML-RPC (XML Remote Procedure Call): Giao thức gọi thủ tục từ xa sử dụng XML để định dạng thông điệp yêu cầu/đáp ứng và giao thức HTTP để truyền tải dữ liệu.
- SOAP (Simple Object Access Protocol): Giao thức đóng gói dữ liệu dựa trên XML tại tầng Packaging, bao gồm cấu trúc envelope, header block và body.
- WSDL (Web Service Description Language): Ngôn ngữ dựa trên XML do IBM và Microsoft phát triển nhằm mô tả giao diện, các kiểu dữ liệu, thông điệp và giao thức truy cập dịch vụ.
- UDDI (Universal Description, Discovery and Integration): Chuẩn thư mục lưu trữ, công bố và tìm kiếm thông tin về Web service.
- Kiến trúc hướng dịch vụ (SOA - Service Oriented Architecture): Mô hình kiến trúc phần mềm trong đó các chức năng được tổ chức thành các dịch vụ độc lập, kết nối mềm dẻo, tuân thủ hai nguyên tắc thiết kế then chốt là tính mô-đun (modularity) và tính đóng gói (encapsulation).
- Kiến trúc RESTful Service: Định dạng kiến trúc do Roy Fielding công bố năm 2000, vận hành dựa trên các phương thức HTTP rõ ràng, cơ chế phi trạng thái (stateless), định danh tài nguyên bằng URL và sử dụng định dạng JSON/XML.
- Nền tảng công nghệ Microsoft: ASP.NET Web API 2, Entity Framework Code First, Microsoft Visual Studio 2015 và Microsoft SQL Server 2014.
Phương pháp nghiên cứu thực tế được thực hiện trong khóa luận bao gồm:
- Tiếp cận lý thuyết và thu thập tài liệu kỹ thuật về Web service, kiến trúc phân tầng mạng và các chuẩn an toàn thông tin từ các tổ chức chuẩn hóa (W3C, OASIS, IETF).
- Phương pháp phân tích - tổng hợp tài liệu chuyên ngành, sách báo và nguồn tài nguyên mạng Internet về lập trình di động đa nền tảng.
- Phương pháp phân tích và thiết kế hệ thống hướng đối tượng thông qua mô hình hóa UML (biểu đồ Use Case, biểu đồ tuần tự, biểu đồ cộng tác, biểu đồ thành phần, biểu đồ triển khai).
- Phương pháp thực nghiệm phần mềm: Cài đặt Web service bằng ASP.NET Web API kết hợp Entity Framework Code First và xây dựng ứng dụng client trên nền tảng Xamarin.
Nội dung chính theo từng chương
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
Chương 1 trình bày hệ thống lý thuyết toàn diện về Web service, bao gồm đặc điểm, ưu điểm, nhược điểm, kiến trúc ngăn xếp công nghệ, quy trình xây dựng và các giải pháp an toàn bảo mật.
Tác giả phân tích ưu điểm của Web service ở tính linh hoạt, khả năng tương tác đa nền tảng dựa trên chuẩn mở XML, giảm độ phức tạp khi tích hợp hệ thống phần mềm kế thừa. Đồng thời, văn bản chỉ rõ các nhược điểm thực tế: sự tồn tại quá nhiều chuẩn gây khó khăn cho nhà phát triển, vấn đề an toàn thông tin phức tạp, xử lý giao dịch phân tán chưa hoàn chỉnh và tốc độ thực thi phụ thuộc lớn vào đường truyền mạng Internet.
Về mặt kiến trúc, tác giả so sánh mô hình ngăn xếp Web service (Web Service Technology Stack) với mô hình mạng TCP/IP thông qua 5 tầng chức năng:
- Tầng Network: Tương đương tầng mạng TCP/IP, đảm nhiệm định tuyến và đánh địa chỉ.
- Tầng Transport: Vận chuyển thông điệp qua các giao thức HTTP, SMTP, FTP, TCP.
- Tầng Packaging: Đóng gói, định dạng và mã hóa thông điệp bằng giao thức SOAP.
- Tầng Description: Mô tả dịch vụ bằng ngôn ngữ WSDL (hoặc RDF, DARPA).
- Tầng Discovery: Công bố và tìm kiếm dịch vụ thông qua cơ chế UDDI.
Cơ chế vận hành của Web service tuân thủ quy trình tương tác 3 bên giữa Service Requestor (bên yêu cầu), Service Provider (bên cung cấp) và Service Directory/UDDI (bên trung gian) thông qua ba thao tác: Publish (công bố), Find (tìm kiếm) và Bind (ràng buộc/triệu gọi).
Về cấu trúc tài liệu WSDL, khóa luận chi tiết hóa 4 thành phần cơ bản và 4 kiểu thao tác trong thành phần <portType>:
| Thành phần WSDL |
Mô tả chức năng |
<type> |
Định nghĩa các kiểu dữ liệu được dùng trong Web service dựa trên XML Schema. |
<message> |
Định nghĩa các thành phần dữ liệu và tham số thông điệp trao đổi. |
<portType> |
Tập hợp các thao tác (operations) được Web service hỗ trợ thực thi. |
<binding> |
Định nghĩa giao thức truyền thông và định dạng dữ liệu cho từng cổng cụ thể. |
Bốn kiểu thao tác trong <portType> gồm:
- One-way: Dịch vụ chỉ nhận thông điệp gọi mà không trả về kết quả đáp ứng.
- Request-response: Dịch vụ nhận thông điệp yêu cầu và trả về thông điệp phản hồi.
- Solicit-response: Dịch vụ chủ động gửi yêu cầu và chờ nhận đáp ứng.
- Notification: Dịch vụ gửi thông điệp thông báo nhưng không chờ đợi đáp ứng.
Về cấu trúc UDDI, lược đồ dữ liệu gồm 4 thực thể chính: businessEntity (thông tin nhà cung cấp), businessService (danh sách dịch vụ), bindingTemplate (mô tả kỹ thuật kết nối), tModel (chuẩn mô hình kỹ thuật) và thực thể quan hệ publisherAssertion.
Chương 1 cũng đối chiếu kiến trúc SOAP truyền thống với RESTful Service. Tác giả nhấn mạnh 4 nguyên tắc cơ bản của REST: sử dụng các phương thức HTTP rõ ràng (POST - tạo mới, GET - truy xuất, PUT - cập nhật, DELETE - xóa bỏ), hoạt động phi trạng thái (stateless), định dạng URI có cấu trúc thư mục rõ ràng và chuyển đổi linh hoạt giữa JSON và XML.
Nội dung an toàn Web service được tác giả khảo sát chi tiết qua các tiêu chuẩn bảo mật:
- XACML (eXtensible Access Control Markup Language): Kiến trúc kiểm soát truy cập bao gồm PEP (Policy Enforcement Point), PAP (Policy Administration Point), PDP (Policy Decision Point), PIP (Policy Information Point) và Context Handler.
- SAML (Security Assertion Markup Language): Tiêu chuẩn xác thực và ủy quyền phân tán qua 3 loại khẳng định: xác thực (authentication), thuộc tính (attribute) và quyết định ủy quyền (authorization decision).
- XKMS (XML Key Management Specification): Quản lý khóa công khai với dịch vụ X-KISS hỗ trợ xác định vị trí và xác thực khóa.
- WS-Policy và XrML: Khung chính sách dịch vụ và ngôn ngữ mô tả quyền kỹ thuật số.
- Giao thức SSL (Secure Sockets Layer): Cung cấp kênh bảo mật tầng phiên/vận chuyển qua cơ chế mã hóa khóa công khai và toàn vẹn dữ liệu.
CHƯƠNG 2: TỔNG QUAN VỀ LẬP TRÌNH TRÊN DI ĐỘNG
Chương 2 tập trung khảo sát môi trường phát triển ứng dụng di động, các hạn chế về tài nguyên phần cứng, đường truyền mạng và so sánh các phương tiếp cận lập trình di động.
Tác giả phân tích những thách thức đặc thù của thiết bị cầm tay: kết nối mạng thiếu ổn định, chi phí lưu lượng dữ liệu cao, cấu hình phần cứng tối ưu hóa tiêu thụ năng lượng, sự đa dạng của các cảm biến (GPS, gia tốc kế, cảm biến tiệm cận, la bàn). Thị trường hệ điều hành di động được phân chia giữa 3 nền tảng chính:
| Hệ điều hành |
Ngôn ngữ lập trình chính |
Môi trường phát triển tích hợp (IDE) |
Chợ ứng dụng |
| Android |
Java |
Eclipse với Google ADT plugin |
Google Play Store |
| iOS |
Objective-C |
Apple Xcode |
Apple AppStore |
| Windows Phone |
C# |
Microsoft Visual Studio |
Windows Phone Store |
Đối với lập trình đa nền tảng, tác giả đánh giá công cụ PhoneGap (sử dụng HTML5, CSS3, JavaScript đóng gói ứng dụng lai - hybrid app) bộc lộ hạn chế lớn về hiệu năng thấp và giao diện không đồng nhất giữa các trình duyệt web di động. Do đó, khóa luận lựa chọn giải pháp nền tảng Xamarin (phiên bản Xamarin 2.0). Xamarin cho phép lập trình viên viết mã nguồn hoàn toàn bằng ngôn ngữ C#, có khả năng chia sẻ phần lớn logic nghiệp vụ giữa iOS, Android, Windows và Mac, đồng thời biên dịch trực tiếp ra native API để đạt hiệu năng tương đương ứng dụng bản địa.
Các cấu phần chính trong hệ sinh thái Xamarin được giới thiệu gồm:
- Xamarin Platform: Bộ công cụ viết C# trên Xamarin Studio hoặc Visual Studio.
- Xamarin Test Cloud: Dịch vụ đám mây kiểm thử giao diện dựa trên đối tượng cho thiết bị di động.
- Xamarin for Visual Studio: Tiện ích tích hợp vào môi trường Visual Studio.
- Xamarin Studio: IDE chuẩn đa nền tảng phát hành tháng 01/2013.
- Xamarin.Mac và .NET Mobility Scanner: Công cụ hỗ trợ viết ứng dụng cho Mac và kiểm tra tính tương thích của mã .NET.
Ngoài ra, chương 2 hướng dẫn chi tiết quy trình cài đặt bộ công cụ Xamarin và giới thiệu kỹ thuật Entity Framework Code First. Kỹ thuật Code First cho phép lập trình viên thiết kế các lớp đối tượng miền (domain classes) bằng C# trước, sau đó Entity Framework tự động sinh cấu trúc bảng và cơ sở dữ liệu tương ứng trong Microsoft SQL Server 2014 thông qua trình quản trị NuGet Package.
CHƯƠNG 3: PHÂN TÍCH VÀ XÂY DỰNG ỨNG DỤNG GHI CHÚ TRÊN DI ĐỘNG
Chương 3 là phần thực nghiệm phần mềm của khóa luận. Tác giả tiến hành phân tích yêu cầu nghiệp vụ, mô hình hóa hệ thống và cài đặt ứng dụng quản lý ghi chú cá nhân trên thiết bị di động kết nối với Web service.
Về phân tích chức năng, hệ thống hỗ trợ 4 chức năng cốt lõi cho người sử dụng:
- Hiển thị danh sách ghi chú: Lấy toàn bộ dữ liệu ghi chú đã lưu từ máy chủ và hiển thị lên màn hình chính.
- Tìm kiếm ghi chú: Truy vấn danh sách ghi chú theo từ khóa do người dùng nhập vào.
- Thêm mới ghi chú: Nhập tiêu đề, nội dung và lưu trữ bản ghi mới vào cơ sở dữ liệu qua Web service.
- Sửa và xóa ghi chú: Cập nhật thông tin chi tiết của bản ghi hiện có hoặc loại bỏ hoàn toàn bản ghi khỏi hệ thống.
Về thiết kế hệ thống, tác giả xây dựng đầy đủ các biểu đồ UML:
- Biểu đồ Use Case tổng thể và các Use Case chi tiết: Đặc tả hành vi người dùng đối với các tác vụ thêm, sửa, xóa, tìm kiếm ghi chú.
- Biểu đồ tuần tự (Sequence Diagram) và Biểu đồ cộng tác (Collaboration Diagram): Mô tả tuần tự các thông điệp trao đổi giữa đối tượng giao diện (UI/Boundary), bộ điều khiển (Controller) và lớp dữ liệu cho từng trường hợp sử dụng (tìm kiếm, thêm mới, chỉnh sửa, xóa bỏ).
- Biểu đồ thành phần (Component Diagram) và Biểu đồ triển khai (Deployment Diagram): Minh họa kiến trúc vật lý gồm thiết bị di động client chạy ứng dụng Xamarin kết nối qua mạng Internet tới máy chủ lưu trữ Web API và hệ quản trị cơ sở dữ liệu Microsoft SQL Server.
- Thiết kế cơ sở dữ liệu: Cơ sở dữ liệu mang tên
Ghichu, chứa bảng dữ liệu Ghichus phục vụ lưu trữ thông tin các bản ghi.
Thiết kế và triển khai hệ thống
Hệ thống được thiết kế theo mô hình phân tán 3 lớp: Lớp ứng dụng di động (Client), Lớp dịch vụ trung gian (Web API Service) và Lớp cơ sở dữ liệu (Database Server).
1. Triển khai Web Service phía máy chủ
Tác giả sử dụng Microsoft Visual Studio 2015 để khởi tạo một đồ án ASP.NET Web Application với tên gọi Khoaluan, lựa chọn cấu hình mẫu Web API. Quy trình cài đặt phía dịch vụ gồm các bước:
- Tạo lớp mô hình dữ liệu ghi chú bằng ngôn ngữ C#.
- Sử dụng Entity Framework Code First để tự động ánh xạ đối tượng và khởi tạo cơ sở dữ liệu
Ghichu cùng bảng Ghichus trên Microsoft SQL Server 2014.
- Tạo bộ điều khiển
GhiChuController thuộc loại Web API 2 Controller with actions, using Entity Framework. Bộ điều khiển này cung cấp các phương thức ánh xạ trực tiếp đến các thao tác quản trị dữ liệu:
GET api/GhiChu: Truy xuất danh sách toàn bộ ghi chú.
GET api/GhiChu/{id}: Truy xuất thông tin chi tiết một ghi chú theo định danh.
POST api/GhiChu: Tiếp nhận dữ liệu JSON gửi lên để thêm mới một bản ghi ghi chú.
PUT api/GhiChu/{id}: Cập nhật nội dung ghi chú tương ứng.
DELETE api/GhiChu/{id}: Loại bỏ bản ghi ghi chú khỏi cơ sở dữ liệu.
- Dịch vụ được biên dịch, thực thi thử nghiệm thành công trên cổng cục bộ và sẵn sàng phục vụ các yêu cầu HTTP từ máy khách.
2. Triển khai ứng dụng máy khách trên thiết bị di động
Ứng dụng máy khách được xây dựng bằng công cụ Xamarin trong môi trường Visual Studio:
- Xây dựng giao diện trang chính (Main View) hiển thị danh sách các ghi chú đã lưu được lấy từ Web API.
- Xây dựng màn hình tìm kiếm cho phép lọc danh sách ghi chú theo điều kiện từ khóa.
- Xây dựng màn hình thêm ghi chú mới (Add Note View) gồm các trường nhập tiêu đề, nội dung và nút gửi dữ liệu (POST) về Web service.
- Xây dựng màn hình chi tiết và chỉnh sửa ghi chú (Detail/Edit View), cho phép người dùng thay đổi thông tin (PUT) hoặc xóa bản ghi (DELETE).
- Kết nối truyền thông giữa ứng dụng di động và Web service được thiết lập qua giao thức HTTP/RESTful, đóng gói thông điệp theo định dạng chuỗi JSON giúp tối ưu hóa dung lượng truyền tải trên mạng di động.
Kết quả và đóng góp
Khóa luận đã hoàn thành các nội dung kỹ thuật theo đúng mục tiêu đặt ra:
-
Kết quả kỹ thuật:
- Hệ thống hóa đầy đủ cơ sở lý thuyết về Web service, phân tích chi tiết các giao thức truyền thống (XML-RPC, SOAP, WSDL, UDDI) và kiến trúc hiện đại (RESTful Web API).
- Khảo sát các tiêu chuẩn bảo mật cho dịch vụ web phân tán gồm XACML, SAML, XKMS, WS-Policy, XrML và SSL.
- Cài đặt hoàn chỉnh một dịch vụ web ASP.NET Web API 2 kết nối với cơ sở dữ liệu Microsoft SQL Server 2014 thông qua Entity Framework Code First.
- Xây dựng thành công ứng dụng ghi chú đa nền tảng trên thiết bị di động bằng Xamarin, thực hiện đầy đủ các chức năng hiển thị danh sách, tìm kiếm, tạo mới, cập nhật và xóa bỏ dữ liệu thông qua lời gọi API từ xa.
-
Đóng góp của đề tài:
- Cung cấp kiến thức nền tảng về Web service và minh chứng khả năng triển khai ứng dụng thực tế trên thiết bị di động.
- Xây dựng một ứng dụng ghi chú thiết thực, bổ sung giải pháp tham khảo cho kho ứng dụng di động đa nền tảng.
- Đóng góp tài liệu học thuật và hướng dẫn kỹ thuật cho sinh viên Khoa Công nghệ Thông tin - Trường Đại học Quảng Nam khi tiếp cận nghiên cứu về kiến trúc hướng dịch vụ và lập trình di động bằng Xamarin.
Hạn chế và hướng nghiên cứu tiếp
Khóa luận chỉ ra một số hạn chế gắn liền với đặc điểm công nghệ và phạm vi nghiên cứu:
- Tốc độ thực thi và độ ổn định của ứng dụng phụ thuộc chặt chẽ vào chất lượng đường truyền mạng Internet; khi mạng chập chờn, khả năng phản hồi của dịch vụ web bị suy giảm.
- Ứng dụng thực nghiệm mới dừng lại ở quy mô quản lý ghi chú đơn giản, chưa tích hợp các cơ chế bảo mật nâng cao (như SAML, XACML, chứng thực khóa XKMS hay mã hóa SSL) vốn đã được khảo sát ở phần lý thuyết.
- Chưa xử lý triệt để việc đồng bộ dữ liệu ngoại tuyến (offline caching) khi thiết bị di động mất kết nối Internet.
Về hướng nghiên cứu tiếp theo, dựa trên các hạn chế nêu trên, đề tài mở ra các hướng phát triển:
- Nghiên cứu áp dụng các cơ chế xác thực và phân quyền người dùng thông qua mã thông báo (token-based authentication) hoặc triển khai các chuẩn bảo mật WS-Security/SSL cho Web API.
- Phát triển cơ chế lưu trữ đệm cục bộ (local database) trên thiết bị di động bằng SQLite nhằm hỗ trợ ghi chú khi mất kết nối mạng và tự động đồng bộ lên máy chủ khi có Internet.
- Mở rộng chức năng ứng dụng sang quản lý ghi chú đa phương tiện (hình ảnh, âm thanh) và chia sẻ ghi chú nhóm giữa nhiều người dùng.
Giá trị tham khảo
Tài liệu khóa luận có giá trị tham khảo hữu ích cho các đối tượng sau:
- Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Là tài liệu tham khảo trực quan khi học tập các học phần về Hệ phân tán, Lập trình ứng dụng web nâng cao, Kiến trúc hướng dịch vụ (SOA) và Lập trình thiết bị di động.
- Lập trình viên và người nghiên cứu đề tài tương tự: Có thể tham khảo phương pháp tiếp cận kiến trúc RESTful sử dụng ASP.NET Web API 2 kết hợp Entity Framework Code First để xây dựng nhanh hệ thống backend; đồng thời tham khảo quy trình cài đặt, cấu hình và tổ chức mã nguồn bằng C# đa nền tảng trên Xamarin.
- Phần nội dung đáng chú ý: Chương 1 cung cấp phần tổng hợp lý thuyết rất chi tiết về các chuẩn giao thức (WSDL, SOAP, UDDI) và các mô hình bảo mật dịch vụ web (XACML, SAML, XKMS); Chương 3 cung cấp quy trình thiết kế UML từ biểu đồ Use Case đến biểu đồ tuần tự và biểu đồ triển khai cho một bài toán kết nối client-server cụ thể.
Câu hỏi thường gặp
1. Khóa luận sử dụng mô hình kiến trúc nào để xây dựng ứng dụng di động và dịch vụ web?
Khóa luận áp dụng mô hình kiến trúc khách - chủ (client - server) kết hợp kiến trúc hướng dịch vụ (SOA) thông qua việc xây dựng RESTful Web API làm trung gian giao tiếp giữa ứng dụng di động máy khách và hệ quản trị cơ sở dữ liệu máy chủ.
2. Tại sao tác giả lựa chọn nền tảng Xamarin thay vì PhoneGap khi phát triển ứng dụng di động đa nền tảng?
Theo phân tích của tác giả trong Chương 2, PhoneGap phát triển ứng dụng dựa trên ngôn ngữ web (HTML5, CSS, JavaScript) bộc lộ nhược điểm là hiệu suất thấp và giao diện không đồng nhất giữa các trình duyệt web di động. Trong khi đó, Xamarin cho phép viết mã hoàn toàn bằng C#, chia sẻ mã nguồn logic nghiệp vụ và truy xuất trực tiếp vào các hàm native API của thiết bị, đem lại hiệu năng cao tương đương ứng dụng bản địa.
3. Cơ sở dữ liệu và công nghệ truy xuất dữ liệu phía máy chủ được cấu hình như thế nào?
Hệ thống sử dụng hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2014 với cơ sở dữ liệu mang tên Ghichu và bảng dữ liệu Ghichus. Tác giả sử dụng kỹ thuật Entity Framework Code First trên Visual Studio 2015 để định nghĩa các lớp thực thể miền trước, sau đó tự động khởi tạo cấu trúc bảng trên cơ sở dữ liệu.
4. Cơ chế hoạt động của Web service được đặc tả qua các thao tác cơ bản nào?
Cơ chế hoạt động của Web service yêu cầu 3 thao tác cơ bản giữa ba thực thể: Publish (bên cung cấp dịch vụ công bố mô tả dịch vụ lên thư mục UDDI), Find (bên sử dụng dịch vụ tìm kiếm và lấy mô tả WSDL từ thư mục UDDI) và Bind (bên sử dụng dịch vụ kết nối và triệu gọi dịch vụ từ bên cung cấp thông qua giao thức SOAP/HTTP).
5. Mô hình kiểm soát truy cập XACML được khóa luận mô tả gồm những thành phần nào?
Mô hình XACML phiên bản 2.0 được mô tả gồm 5 thành phần chính: PEP (Policy Enforcement Point - điểm thực thi chính sách), PAP (Policy Administration Point - điểm tạo và lưu trữ chính sách), PDP (Policy Decision Point - điểm tiếp nhận và ra quyết định chính sách), PIP (Policy Information Point - nguồn cung cấp dữ liệu thuộc tính để đánh giá chính sách) và Context Handler (bộ xử lý chuyển đổi ngữ cảnh yêu cầu).
Kết luận
Khóa luận tốt nghiệp của sinh viên Nguyễn Quang Sách đã tổng hợp đầy đủ cơ sở lý luận về công nghệ Web service, kiến trúc hướng dịch vụ SOA và các kỹ thuật an toàn thông tin phân tán. Nghiên cứu đồng thời phân tích các giải pháp lập trình di động hiện đại và lựa chọn công nghệ Xamarin để phát triển ứng dụng đa nền tảng trên nền ngôn ngữ C#. Thông qua việc xây dựng thành công ứng dụng ghi chú cá nhân kết nối tới dịch vụ ASP.NET Web API 2 và cơ sở dữ liệu SQL Server, tác giả đã chứng minh tính khả thi của mô hình tích hợp hệ thống phân tán trong thực tiễn công nghệ phần mềm.