Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh công nghệ thông tin phát triển mạnh mẽ, nền tảng Web đã trở thành môi trường tương tác quen thuộc và phổ biến trên toàn cầu. Các tập đoàn công nghệ lớn như Google, Facebook, Amazon, eBay, PayPal và YouTube đã đạt được nhiều thành tựu thông qua việc khai thác các dịch vụ Web (Web Service) cùng các tiện ích đi kèm. Về mặt kỹ thuật, Web Service đóng vai trò là một giải pháp của kỹ thuật lập trình phân tán, thúc đẩy phương thức cộng tác kinh doanh giữa các tổ chức thông qua các mô hình dịch vụ B2B (Business to Business) và B2C (Business to Customer). Bản chất của Web Service là cung cấp các giao thức theo chuẩn mở, cho phép các hệ thống chạy trên những nền tảng và hệ điều hành khác nhau (như Windows và Linux) có thể kết nối, tương tác và trao đổi dữ liệu một cách độc lập.

Cùng với xu hướng dịch chuyển sang điện toán đám mây và thiết bị di động, công nghệ Web API xuất hiện như một giải pháp tối ưu cho việc xây dựng các dịch vụ HTTP nhẹ, linh hoạt. Xuất phát từ nhu cầu nắm bắt các công nghệ Web Service mới và ứng dụng vào thực tiễn quản lý quy trình dịch vụ sau bán hàng, tác giả Nguyễn Thị Yến Hợp đã thực hiện khóa luận tốt nghiệp: "Nghiên cứu về Web API và viết ứng dụng xây dựng phần mềm quản lý bảo hành thiết bị tin học trên Web Service" tại Khoa Công nghệ Thông tin, Trường Đại học Quảng Nam (tháng 4 năm 2017), dưới sự hướng dẫn của ThS. Trần Thị Diệu Hiền.

Văn bản xác định rõ 3 mục tiêu nghiên cứu cụ thể:

  1. Nắm vững các kiến thức lý thuyết về Web API;
  2. Tìm hiểu về lập trình trên Web Service;
  3. Triển khai ứng dụng Web Service với phần mềm bảo hành thiết bị tin học.

Đối tượng và phạm vi nghiên cứu của khóa luận được phân định thành hai phần:

  • Đối tượng nghiên cứu: Lý thuyết kiến trúc Web Service và công nghệ Web API.
  • Phạm vi nghiên cứu: Về mặt lý thuyết, đề tài tập trung vào kiến trúc Web Service, nền tảng, mô hình kiến trúc, khả năng ứng dụng trong kiến trúc hướng dịch vụ (SOA) và công nghệ Web API. Về mặt thực tế, đề tài giới hạn ở việc phân tích, thiết kế và xây dựng phần mềm quản lý quy trình tiếp nhận, sửa chữa, bàn giao và bảo hành thiết bị tin học kết nối qua Web Service.

Cơ sở lý thuyết và phương pháp

Khóa luận thiết lập nền tảng lý thuyết dựa trên các chuẩn công nghệ của tổ chức World Wide Web Consortium (W3C) và hệ sinh thái công nghệ của Microsoft. Tác giả tiếp cận định nghĩa Web Service từ W3C: một hệ thống phần mềm hỗ trợ khả năng tương tác giữa các ứng dụng trên nhiều máy tính thông qua Internet, sử dụng giao diện và sự gắn kết mô tả bằng XML, được định danh thông qua địa chỉ URL. Trong phân loại công nghệ xây dựng Web Service cho ứng dụng di động sử dụng .NET Framework (phiên bản 4.3), văn bản liệt kê 4 nhóm công nghệ chính: Web Service truyền thống, WCF Service, WCF REST Service và Web API Service.

Khung kiến trúc Web Service trong nghiên cứu bao gồm 4 chuẩn cốt lõi:

  • XML (eXtensible Markup Language): Định dạng dữ liệu chuẩn mở do W3C quy định, dùng để cấu trúc hóa dữ liệu trao đổi giữa các thành phần phân tán.
  • WSDL (Web Service Description Language): Ngôn ngữ mô tả dịch vụ bằng cú pháp XML, bao gồm phần giao diện (phương thức kết nối, tham số) và phần thi hành (thông tin truy xuất dữ liệu).
  • UDDI (Universal Description, Discovery, and Integration): Cơ chế đăng ký và tìm kiếm dịch vụ với cấu trúc 4 thành phần: Trang trắng (White pages - thông tin liên hệ), Trang vàng (Yellow pages - phân loại dịch vụ), Trang xanh (Green pages - mô tả kỹ thuật) và Loại dịch vụ (tModel).
  • SOAP và REST: Hai giải pháp giao tiếp chính. SOAP hoạt động như một giao thức dựa trên cấu trúc thông điệp XML (gồm <Envelope>, <Header>, <Body>, <Fault>) hỗ trợ RPC và hướng thông điệp Document, áp dụng không gian tên SOAP-ENC. Ngược lại, REST (Representational State Transfer) là phong cách kiến trúc phần mềm dựa trên 4 nguyên tắc: sử dụng phương thức HTTP rõ ràng (GET, POST, PUT, DELETE), phi trạng thái (stateless), cấu trúc định danh URIs nhất quán và chuyển đổi dữ liệu linh hoạt (JSON hoặc XML).

Về phương diện an toàn thông tin, văn bản tổng hợp các chuẩn WS-Security dành cho SOAP, bao gồm WS-Secure Conversation, WS-Authentication, WS-Policy và WS-Trust. Đối với nền tảng phát triển, tác giả nghiên cứu framework ASP.NET Web API và ASP.NET Core kết hợp máy chủ web Kestrel, cơ chế Dependency Injection cấu hình tại phương thức ConfigureServices trong tệp Startup, cùng hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2016 (hỗ trợ lưu trữ quan hệ, JSON, XML, giải pháp PolyBase và công nghệ In-memory).

Phương pháp nghiên cứu được tác giả vận dụng gồm:

  • Phương pháp tìm kiếm và nghiên cứu tài liệu kỹ thuật liên quan đến Web Service và Web API;
  • Phương pháp đọc tài liệu để lựa chọn công cụ phát triển phần mềm phù hợp;
  • Phương pháp nghiên cứu lý thuyết về kiến trúc phần mềm và hệ thống hướng dịch vụ;
  • Phương pháp thu thập thông tin, phân tích và tổng hợp nghiệp vụ quản lý bảo hành.

Nguồn dữ liệu của đề tài bao gồm các chuẩn đặc tả kỹ thuật từ W3C, tài liệu kỹ thuật MSDN/Microsoft Docs, cùng quy trình nghiệp vụ tiếp nhận và bảo hành sản phẩm thiết bị tin học tại các đơn vị kinh doanh.

Nội dung chính theo từng chương

Chương 1: CƠ SỞ LÝ THUYẾT

Chương 1 hệ thống hóa toàn bộ lý thuyết về dịch vụ Web, phân tích chi tiết các thành phần hạ tầng và so sánh các mô hình kiến trúc dịch vụ phân tán. Tác giả đi sâu vào quy trình 6 bước xây dựng Web Service (định nghĩa chức năng, tạo WSDL, dựng SOAP/REST server, đăng ký UDDI, client nhận WSDL, xây dựng client gọi dịch vụ) và các chuẩn tích hợp (giám sát, định tuyến dữ liệu, triển khai, quản lý P2P, quản lý phiên bản và bảo mật).

Nội dung trọng tâm của chương là bảng đối chiếu chi tiết giữa hai giải pháp SOAP và REST:

STT Tiêu chí so sánh SOAP REST
1 Bản chất Là một giao thức truyền thông Là một phong cách thiết kế kiến trúc
2 Tên viết tắt Simple Object Access Protocol REpresentational State Transfer
3 Khả năng kết hợp Không thể sử dụng REST Có thể sử dụng các Web Services dùng SOAP
4 Điểm cuối cung cấp Giao diện dịch vụ (services interfaces) Địa chỉ URI
5 Cài đặt trong Java API JAX-WS JAX-RS
6 Quy tắc và tiêu chuẩn Định nghĩa chuẩn và quy tắc chặt chẽ Không định nghĩa nhiều chuẩn như SOAP
7 Băng thông và tài nguyên Sử dụng nhiều băng thông và tài nguyên Tiết kiệm băng thông và tài nguyên hơn
8 Cơ chế bảo mật Định nghĩa chuẩn bảo mật riêng (WS-Security) Kế thừa chuẩn bảo mật tầng vận tải (SSL/HTTPS)
9 Định dạng dữ liệu Chỉ hỗ trợ XML Hỗ trợ text, HTML, XML, JSON
10 Mức độ phổ biến Ít được sử dụng hơn trong ứng dụng mới Được ưa chuộng và sử dụng rộng rãi
11 Môi trường thiết kế Tối ưu cho tính toán phân tán phức tạp Thường không chuyên dụng cho tính toán phân tán sâu
12 Tính tin cậy Độ tin cậy giao dịch cao Thấp hơn (ví dụ DELETE có thể trả OK khi chưa xóa)
13 Khả năng tương thích tường lửa Dùng cổng HTTP/SSL chuẩn, ít bị chặn PUT, DELETE đôi khi bị tường lửa vô hiệu hóa
14 Giao thức hỗ trợ Hỗ trợ cả SMTP và HTTP Gắn liền trực tiếp với giao thức HTTP

Bên cạnh đó, chương 1 phân tích framework ASP.NET Web API, chỉ ra những ưu điểm vượt trội so với WCF: cấu hình đơn giản, hiệu suất cao, hỗ trợ đầy đủ các tính năng của RESTful và MVC (routing, controller, action result, filter, model binder, IoC container, unit test). Tác giả so sánh chi tiết giữa ASP.NET Web API và ASP.NET MVC:

  • MVC trả về cả giao diện (View) và dữ liệu (Data), trong khi Web API chuyên biệt chỉ trả về dữ liệu (Data).
  • Web API hỗ trợ cơ chế thương lượng nội dung (content-negotiation), tự động điều chỉnh định dạng trả về (JSON, XML) theo thuộc tính Accept trong phần header của request, đồng thời hỗ trợ tự lưu trữ (self-hosting).
  • Điều hướng yêu cầu (routing) trong Web API gắn liền trực tiếp với các phương thức HTTP (GET, POST, PUT, DELETE), trong khi MVC ánh xạ theo tên Action.
  • Các lớp chức năng của Web API được đóng gói độc lập trong namespace System.Web.Http, tách biệt với System.Web.Mvc.

Chương 2: LẬP TRÌNH TRÊN WEB SERVICE

Chương 2 tập trung giới thiệu hệ sinh thái công cụ và nền tảng lập trình hỗ trợ xây dựng Web Service:

  • Nền tảng ASP.NET Core: Tác giả phân tích các cải tiến của ASP.NET Core như mô hình mã nguồn mở trên GitHub, khả năng chạy đa nền tảng (Windows, macOS, Linux), hợp nhất Web UI và Web API vào chung một cấu trúc controller, tích hợp sẵn cơ chế Dependency Injection, sử dụng máy chủ web Kestrel có tốc độ xử lý nhanh, và áp dụng Razor Tag Helpers để hỗ trợ tạo mã phía client.
  • Môi trường phát triển Microsoft Visual Studio 2015 Update 3: Giới thiệu bộ công cụ toàn diện hỗ trợ lập trình đa nền tảng (hỗ trợ C++, C#, VB.NET, tích hợp Xamarin cho di động và Apache Cordova cho đám mây). Các tính năng chính được mô tả gồm: bộ biên tập mã với gợi ý IntelliSense, công cụ thiết kế Windows Forms và WPF Designer (dùng ngôn ngữ XAML), công cụ thiết kế Web hỗ trợ HTML/CSS/JavaScript theo mô hình code-behind, bộ thiết kế lớp (Class Designer) dựa trên mô hình UML, và bộ thiết kế cơ sở dữ liệu đồ họa (Database Designer).
  • Hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2016: Phân tích các tính năng quản trị dữ liệu quan hệ kết hợp JSON, XML; công nghệ PolyBase truy vấn dữ liệu lớn Hadoop bằng T-SQL; công nghệ In-memory tăng tốc độ vận hành thời gian thực; tính năng mã hóa toàn diện Always Encrypted; giải pháp Stretch Database lưu trữ đám mây lai (Hybrid Cloud) kết hợp Microsoft Azure và công cụ báo cáo Mobile BI.

Chương 3: PHÂN TÍCH VÀ XÂY DỰNG PHẦN MỀM BẢO HÀNH THIẾT BỊ TIN HỌC

Chương 3 trình bày toàn bộ quá trình phân tích bài toán thực tế, mô hình hóa yêu cầu và xây dựng ứng dụng phần mềm bảo hành thiết bị tin học.

Mô tả bài toán nghiệp vụ: Quy trình vận hành bao gồm 4 giai đoạn chính: tiếp nhận thiết bị, kiểm tra, sửa chữa, bàn giao và thanh toán.

  • Khi khách hàng mang thiết bị đến, nhân viên kinh doanh tiếp nhận và kiểm tra. Nếu thiết bị mua trong vòng 1 tháng và bị lỗi do nhà sản xuất, cửa hàng thực hiện chính sách đổi mới sản phẩm từ kho bán hàng và in phiếu bảo hành mới.
  • Nếu thiết bị mua quá 1 tháng nhưng còn hạn bảo hành, sản phẩm được chuyển giao cho nhân viên kỹ thuật. Trường hợp xử lý được ngay, nhân viên gửi trả khách; nếu chưa xử lý được, nhân viên lập phiếu hẹn.
  • Thiết bị lỗi kỹ thuật hoặc phần cứng sẽ được sửa chữa và chuyển vào kho bảo hành; trường hợp lỗi phức tạp không sửa được tại chỗ sẽ gửi đi bảo hành tuyến trên.
  • Khi hoàn tất, nhân viên kinh doanh bàn giao máy đúng thời gian đã hẹn; nếu có phát sinh chậm tiến độ, nhân viên liên hệ gia hạn với khách hàng.

Quy tắc nghiệp vụ được định nghĩa bằng mã hóa:

  • Nhóm Tiếp nhận (R1.1: Tiếp nhận sản phẩm; R1.2: Kiểm tra thời hạn bảo hành; R1.3: Lập phiếu tiếp nhận; R1.4: Chuyển phiếu và thiết bị cho kỹ thuật).
  • Nhóm Bảo hành (R2.1: Nhận sản phẩm và phiếu; R2.2: Tiến hành sửa chữa; R2.3: Gửi đi bảo hành nếu không khắc phục được; R2.4: Kiểm tra lại sản phẩm; R2.5: Nhập kho bảo hành).
  • Nhóm Bàn giao và thanh toán (R3.1: Kiểm tra sản phẩm và thời gian bàn giao; R3.2: Xuất sản phẩm khỏi kho; R3.3: Bàn giao theo phiếu hẹn; R3.4: Thu phí thanh toán nếu sản phẩm ngoài diện bảo hành).
  • Nhóm Thống kê (R4.1: Thống kê số lượng bảo hành theo loại thiết bị trong tháng; R4.2: Thống kê số lượng bảo hành theo tình trạng thiết bị trong tháng).

Phân quyền và ca sử dụng (Use Case):

Tác nhân (Actor) Danh sách Ca sử dụng (Use Case) đảm nhiệm
Người quản trị hệ thống Đăng nhập, đăng xuất, Quản lý nhân viên (thêm, sửa, xóa tài khoản).
Nhân viên kinh doanh Đăng nhập, đăng xuất, Quản lý sản phẩm, Quản lý nhà cung cấp, Quản lý khách hàng, Quản lý danh mục sửa chữa, Lập phiếu tiếp nhận và sửa chữa, Lấy sản phẩm từ kho bảo hành, Bàn giao sản phẩm, Thanh toán chi phí phát sinh.
Nhân viên kỹ thuật Nhận sản phẩm và thực hiện sửa chữa, Chuyển trả sản phẩm vào kho bảo hành sau khi hoàn tất.
Nhân viên kho Nhập kho, Xuất kho, Thống kê tình trạng sản phẩm và thiết bị tồn trong kho.

Tác giả mô tả chi tiết luồng sự kiện chính cho từng ca sử dụng và thiết lập hệ thống biểu đồ UML gồm: biểu đồ Use Case hệ thống và các phân hệ (Hình 3.1 - 3.9); 21 biểu đồ tuần tự cho các chức năng đăng nhập, đăng xuất, thêm/sửa/xóa nhân viên, sản phẩm, nhà cung cấp, khách hàng, nhà sản xuất, phiếu sửa chữa, thống kê và tìm kiếm (Hình 3.10 - 3.31); biểu đồ lớp tổng thể (Hình 3.32); và 7 biểu đồ trạng thái của các lớp nhân viên, phiếu sửa chữa, hóa đơn (Hình 3.33 - 3.39).

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình kiến trúc phân tầng, phân tách rạch ròi giữa tầng cung cấp dịch vụ dữ liệu (Web API) và tầng giao diện người dùng (Client):

  • Tầng dịch vụ Web API: Xây dựng trên nền tảng ASP.NET Web API, chịu trách nhiệm nhận các yêu cầu HTTP từ máy khách, xử lý nghiệp vụ, tương tác với hệ cơ sở dữ liệu Microsoft SQL Server 2016 và đóng gói dữ liệu phản hồi dưới định dạng chuẩn JSON. Dịch vụ cung cấp các điểm cuối (endpoints) tương ứng với các tài nguyên: nhân viên, khách hàng, sản phẩm, nhà cung cấp, nhà sản xuất và phiếu sửa chữa.
  • Tầng giao diện ứng dụng Client: Xây dựng bằng các form giao diện chuyên biệt trong Visual Studio 2015, kết nối dữ liệu trực tiếp với Web API. Các màn hình chức năng được hoàn thiện gồm: Giao diện trang đăng nhập (Hình 3.49), Giao diện quản lý nhân viên (Hình 3.50 và 3.52), Giao diện thêm mới nhân viên (Hình 3.53), Giao diện quản lý khách hàng (Hình 3.51) và Giao diện lập phiếu bảo hành thiết bị (Hình 3.54).

Quy trình kiểm thử Web API: Tác giả sử dụng công cụ kiểm thử Fiddler để thực hiện kiểm tra hoạt động của các phương thức Web API thông qua việc tạo lập các HTTP Request độc lập:

  • Phương thức GET: Kiểm tra khả năng truy vấn danh sách dữ liệu; kết quả trả về cấu trúc mảng đối tượng định dạng JSON hợp lệ (Hình 3.40, Hình 3.41).
  • Phương thức POST: Truyền dữ liệu bản ghi mới trong phần thân (Body) của request; kiểm tra phản hồi lưu trữ thành công vào cơ sở dữ liệu (Hình 3.42, Hình 3.43).
  • Phương thức PUT: Gửi yêu cầu cập nhật kèm mã định danh và thông tin sửa đổi; xác nhận dữ liệu đã được cập nhật chính xác trên dịch vụ (Hình 3.44, Hình 3.45, Hình 3.46).
  • Phương thức DELETE: Thực thi yêu cầu xóa tài nguyên theo định danh; kiểm tra mã phản hồi xác nhận bản ghi đã được loại bỏ thành công (Hình 3.47, Hình 3.48).

Kết quả và đóng góp

Khóa luận đạt được các kết quả kỹ thuật và đóng góp cụ thể:

  • Kết quả xây dựng hệ thống: Hoàn thành tài liệu phân tích thiết kế chi tiết với 39 biểu đồ UML (bao gồm 9 biểu đồ Use Case, 22 biểu đồ tuần tự, 1 biểu đồ lớp và 7 biểu đồ trạng thái). Xây dựng thành công dịch vụ Web API hỗ trợ 4 thao tác chuẩn (GET, POST, PUT, DELETE) với định dạng JSON, được kiểm chứng thông suốt qua công cụ Fiddler. Hoàn thiện các phân hệ ứng dụng Client cho phép quản trị viên và nhân viên thao tác dữ liệu nhân sự, khách hàng và quy trình lập phiếu bảo hành.
  • Giải pháp đề xuất: Đề xuất quy trình số hóa nghiệp vụ bảo hành thiết bị tin học khép kín từ khâu tiếp nhận, phân loại thời hạn (dưới 1 tháng hoặc trên 1 tháng), điều phối sửa chữa đến khâu bàn giao và thanh toán chi phí ngoài phạm vi bảo hành.
  • Đóng góp tự khẳng định: Về mặt lý thuyết, khóa luận hệ thống hóa kiến trúc Web Service, so sánh định lượng giữa SOAP và RESTful, đồng thời làm rõ ưu thế của ASP.NET Web API so với MVC và WCF. Về mặt thực tiễn, đề tài cung cấp một mô hình phần mềm quản lý bảo hành có tính ứng dụng cao, đồng thời chuẩn bị cấu trúc Web API sẵn sàng làm backend kết nối với các ứng dụng di động trong tương lai, đóng vai trò tài liệu tham khảo cho sinh viên ngành Công nghệ thông tin khi tiếp cận công nghệ Web.

Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế: Căn cứ vào nội dung và phạm vi nghiên cứu, phần mềm được thử nghiệm chủ yếu trong môi trường cục bộ (localhost) thông qua công cụ Fiddler và ứng dụng client desktop, chưa được triển khai thực tế trên máy chủ Internet công cộng hoặc môi trường sản xuất thực tế. Các cơ chế an toàn thông tin chuyên sâu của Web Service (như WS-Security, phân quyền phức tạp, mã hóa đường truyền SSL/HTTPS cho từng endpoint) mới dừng lại ở việc tổng thuật lý thuyết, chưa được cấu hình toàn diện trong mã nguồn ứng dụng. Khóa luận cũng chưa có số liệu kiểm thử hiệu năng tải (load testing) khi có nhiều kết nối đồng thời.
  • Hướng phát triển: Tác giả định hướng tiếp tục nghiên cứu mở rộng ứng dụng Client sang nền tảng di động (sử dụng Xamarin hoặc Apache Cordova như đã giới thiệu ở Chương 2), hoàn thiện các giao thức bảo mật cho Web API, và tích hợp cơ sở dữ liệu với nền tảng điện toán đám mây Microsoft Azure.

Giá trị tham khảo

Khóa luận là nguồn tài liệu hữu ích cho:

  • Đối tượng: Sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm đang làm đồ án tốt nghiệp hoặc bài tập lớn về kiến trúc hướng dịch vụ (SOA), lập trình Web API hoặc xây dựng hệ thống quản lý thông tin.
  • Nội dung giá trị:
    • Bảng so sánh 14 tiêu chí kỹ thuật giữa SOAP và RESTful tại Chương 1, hỗ trợ việc lựa chọn kiến trúc khi thiết kế dịch vụ Web.
    • Bộ đặc tả yêu cầu và hệ thống quy tắc nghiệp vụ (R1.1 - R4.2) cùng hệ thống biểu đồ UML hoàn chỉnh (biểu đồ ca sử dụng, biểu đồ tuần tự, biểu đồ trạng thái) tại Chương 3, có thể tái sử dụng làm mẫu phân tích thiết kế cho các đề tài quản lý dịch vụ bảo hành hoặc quản lý bán hàng.
    • Quy trình từng bước kiểm thử Web API bằng công cụ Fiddler với các phương thức HTTP GET, POST, PUT, DELETE.

Câu hỏi thường gặp

1. Khóa luận sử dụng các công nghệ và công cụ lập trình nào để xây dựng hệ thống?
Khóa luận sử dụng framework ASP.NET Web API trên nền tảng .NET để xây dựng dịch vụ web, hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2016 để lưu trữ dữ liệu, môi trường phát triển Microsoft Visual Studio 2015 Update 3 để lập trình giao diện và mã nguồn, cùng công cụ Fiddler để kiểm thử các phương thức Web API.

2. Chính sách phân loại xử lý thiết bị bảo hành được tác giả quy định như thế nào trong bài toán nghiệp vụ?
Theo mô tả bài toán tại Chương 3, quy trình được chia làm hai trường hợp: nếu thiết bị được mua trong vòng 1 tháng và bị lỗi do nhà sản xuất, nhân viên kinh doanh tiến hành đổi mới sản phẩm từ kho bán hàng và lập phiếu bảo hành mới; nếu thiết bị mua quá 1 tháng nhưng vẫn còn hạn bảo hành, sản phẩm sẽ được chuyển sang bộ phận kỹ thuật để kiểm tra, sửa chữa hoặc gửi đi bảo hành nếu gặp lỗi phức tạp.

3. Hệ thống phần mềm xác định bao nhiêu tác nhân (actors) và vai trò của từng tác nhân là gì?
Hệ thống xác định 4 tác nhân chính:

  • Người quản trị hệ thống: Đăng nhập, đăng xuất và quản lý danh sách tài khoản nhân viên.
  • Nhân viên kinh doanh: Quản lý thông tin sản phẩm, khách hàng, nhà cung cấp; tiếp nhận thiết bị, lập phiếu bảo hành, bàn giao sản phẩm và thu tiền thanh toán.
  • Nhân viên kỹ thuật: Tiếp nhận thiết bị từ nhân viên kinh doanh, thực hiện sửa chữa và nhập thiết bị vào kho sau khi hoàn tất.
  • Nhân viên kho: Thực hiện thủ tục nhập kho, xuất kho và thống kê số lượng thiết bị tồn kho hàng tháng.

4. Tác giả thực hiện kiểm thử Web API như thế nào và kiểm tra những phương thức nào?
Tác giả sử dụng phần mềm Fiddler để gửi các yêu cầu HTTP Request trực tiếp đến Web API và kiểm tra dữ liệu JSON trả về. Việc kiểm thử được thực hiện đầy đủ trên 4 phương thức HTTP chuẩn: GET (truy vấn danh sách), POST (thêm mới bản ghi), PUT (cập nhật thông tin bản ghi) và DELETE (xóa bản ghi khỏi cơ sở dữ liệu).

5. Điểm khác biệt cơ bản giữa ASP.NET Web API và ASP.NET MVC được tác giả chỉ ra trong tài liệu là gì?
Tác giả nêu rõ: ASP.NET MVC trả về cả giao diện hiển thị (View) lẫn dữ liệu (Data) và điều hướng dựa theo tên Action; trong khi ASP.NET Web API chỉ trả về dữ liệu (Data) dạng JSON/XML, hỗ trợ cơ chế tự động thương lượng nội dung (content-negotiation), hỗ trợ khả năng tự lưu trữ (self-hosting), và điều hướng hành động dựa trực tiếp trên phương thức HTTP (GET, POST, PUT, DELETE).

Kết luận

Khóa luận của tác giả Nguyễn Thị Yến Hợp đã hoàn thành mục tiêu hệ thống hóa cơ sở lý thuyết về kiến trúc Web Service, phân tích sự chuyển dịch từ SOAP sang REST và công nghệ ASP.NET Web API. Đề tài đã phân tích nghiệp vụ và mô hình hóa thành công quy trình quản lý bảo hành thiết bị tin học thông qua hệ thống biểu đồ UML chi tiết và chặt chẽ. Ứng dụng đã xây dựng hoàn chỉnh tầng dịch vụ Web API xử lý định dạng JSON kết hợp giao diện máy khách, được kiểm thử qua công cụ Fiddler, tạo cơ sở thực nghiệm rõ ràng cho các ứng dụng hướng dịch vụ trong quản lý doanh nghiệp.