Luận Văn Thạc Sĩ: Tìm Hiểu Dịch Vụ Web RESTful và Ứng Dụng Trong Xây Dựng Hệ Thống SMSGateway

Luận văn thạc sĩ kỹ thuật phân tích vnu uet tìm hiểu dịch vụ web restful và ứng dụng trong xây dựng hệ thống smsgateway, đánh giá thực trạng, chỉ ra hạn chế, đề xuất giải pháp khả

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2014

81
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

MỞ ĐẦU

0.1. Các hệ thống dựa trên dịch vụ web ngày nay

0.2. Mục tiêu

0.3. Bố cục luận văn

1. CHƯƠNG 1: DỊCH VỤ WEB VÀ REST

1.1. Tổng quan về dịch vụ web

1.2. Kiến trúc và các thành phần của dịch vụ Web

1.2.1. Mô hình kiến trúc dịch vụ web

1.2.2. XML

1.2.3. SOAP

1.2.4. WSDL

1.2.5. UDDI

1.2.6. XML-RPC

1.3. REST là gì?

1.4. Nguyên tắc của REST

1.4.1. Tài nguyên

1.4.2. Khả năng đánh địa chỉ

1.4.3. Phi trạng thái

1.4.4. Kết nối

1.4.5. Giao diện đồng nhất

1.4.6. Khả năng lưu cache

2. CHƯƠNG 2: THƯ VIỆN JAX-RS

2.1. Sử dụng thư viện JAX-RS

2.1.1. Tạo mới một customer

2.1.2. Nhận thông tin customer

2.1.3. Cập nhật customer

2.2. Các toán tử HTTP và ánh xạ URI

2.2.1. Các toán tử ràng buộc của HTTP

2.2.2. Ký hiệu @Path và tùy chọn mở rộng

2.3. Ánh xạ JAX-RS

2.3.1. Các ký hiệu ánh xạ lấy thông tin cơ bản

3. CHƯƠNG 3: BẢO MẬT VỚI DỊCH VỤ RESTful

3.1. Kiểu kiến trúc REST phù hợp với bộ đệm web

3.2. Khóa mã hóa nội dung đối xứng

3.3. Thảo luận về giải pháp

3.4. Áp dụng bảo mật dịch vụ web RESTful

3.4.1. Bảo mật dịch vụ web RESTful bằng cách cấu hình web

3.4.2. Bảo mật dịch vụ web RESTful bằng cách sử dụng SecurityContext

3.4.3. Bảo mật dịch vụ web RESTful bằng cách sử dụng ký hiệu

4. CHƯƠNG 4: THIẾT KẾ VÀ HIỆN THỰC HỆ THỐNG SMSGATEWAY

4.1. Giới thiệu hệ thống

4.2. Nguyên tắc hoạt động

4.3. Hệ thống SMSGateway

4.4. Mục tiêu áp dụng REST

4.4.1. Đánh địa chỉ

4.4.2. Phi trạng thái

4.4.3. Liên kết với nhau

4.4.4. Giao diện đồng nhất

4.4.5. Khả năng cache

4.5. Cấu trúc REST API

4.5.1. Các lược đồ tuần tự

4.5.2. Lấy danh sách MO bằng thao tác GET

4.5.3. Lấy một MO bằng thao tác GET

4.5.4. Tạo mới một MO bằng thao tác POST

4.5.5. Update một MO bằng thao tác PUT

4.5.6. Xóa MO bằng thao tác DELETE

5. CHƯƠNG 5: PROTOTYPE

5.1. Một số đoạn code mô tả thực thi API

5.2. Test API với Google Chrome

5.3. Test API với giao diện ứng dụng

TÀI LIỆU THAM KHẢO

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

Tóm tắt

I. Khám Phá Dịch Vụ Web RESTful Giải Pháp Hiện Đại

Dịch vụ web RESTful đã trở thành một phần quan trọng trong việc phát triển ứng dụng hiện đại. REST (Representational State Transfer) cung cấp một kiến trúc đơn giản và hiệu quả cho việc xây dựng các dịch vụ web. Với khả năng tương tác dễ dàng và linh hoạt, RESTful API cho phép các ứng dụng giao tiếp với nhau một cách hiệu quả. Hệ thống SMSGateway, một ứng dụng gửi tin nhắn, đã áp dụng RESTful để tối ưu hóa quy trình gửi và nhận tin nhắn.

1.1. Tổng Quan Về Dịch Vụ Web RESTful

Dịch vụ web RESTful sử dụng giao thức HTTP để thực hiện các thao tác CRUD (Create, Read, Update, Delete) trên tài nguyên. RESTful API cho phép các ứng dụng tương tác với nhau thông qua các phương thức HTTP như GET, POST, PUT và DELETE. Điều này giúp giảm thiểu độ phức tạp trong việc phát triển và bảo trì hệ thống.

1.2. Lợi Ích Của Việc Sử Dụng RESTful API

Việc sử dụng RESTful API mang lại nhiều lợi ích cho các hệ thống như SMSGateway. Đầu tiên, RESTful giúp cải thiện hiệu suất nhờ vào khả năng lưu cache. Thứ hai, nó cho phép phát triển ứng dụng nhanh chóng và dễ dàng hơn nhờ vào tính đơn giản và khả năng mở rộng. Cuối cùng, RESTful API hỗ trợ nhiều định dạng dữ liệu, bao gồm JSON và XML, giúp tăng tính linh hoạt trong việc trao đổi dữ liệu.

II. Thách Thức Trong Việc Triển Khai Dịch Vụ Web RESTful

Mặc dù dịch vụ web RESTful mang lại nhiều lợi ích, nhưng cũng không thiếu những thách thức trong quá trình triển khai. Các vấn đề như bảo mật, quản lý phiên làm việc và khả năng mở rộng là những yếu tố cần được xem xét kỹ lưỡng.

2.1. Vấn Đề Bảo Mật Trong RESTful API

Bảo mật là một trong những thách thức lớn nhất khi triển khai RESTful API. Các lỗ hổng bảo mật có thể dẫn đến việc rò rỉ dữ liệu nhạy cảm. Do đó, việc áp dụng các biện pháp bảo mật như xác thực và mã hóa là rất cần thiết để bảo vệ thông tin.

2.2. Quản Lý Phiên Làm Việc Trong Hệ Thống RESTful

RESTful API là phi trạng thái, điều này có nghĩa là mỗi yêu cầu đều độc lập và không lưu trữ thông tin về phiên làm việc. Điều này có thể gây khó khăn trong việc quản lý phiên làm việc của người dùng. Các giải pháp như sử dụng token hoặc cookie có thể được áp dụng để giải quyết vấn đề này.

III. Phương Pháp Xây Dựng Dịch Vụ Web RESTful Hiệu Quả

Để xây dựng dịch vụ web RESTful hiệu quả, cần tuân thủ một số nguyên tắc cơ bản. Việc thiết kế API rõ ràng và dễ hiểu sẽ giúp người dùng dễ dàng tương tác với dịch vụ.

3.1. Thiết Kế Giao Diện RESTful API

Giao diện RESTful API cần được thiết kế rõ ràng với các endpoint dễ hiểu. Sử dụng các phương thức HTTP một cách hợp lý sẽ giúp người dùng dễ dàng thực hiện các thao tác trên tài nguyên. Ví dụ, sử dụng GET để lấy dữ liệu và POST để tạo mới tài nguyên.

3.2. Tối Ưu Hóa Hiệu Suất RESTful API

Để tối ưu hóa hiệu suất của RESTful API, cần áp dụng các kỹ thuật như caching và phân trang. Caching giúp giảm tải cho máy chủ và tăng tốc độ phản hồi, trong khi phân trang giúp quản lý dữ liệu lớn một cách hiệu quả.

IV. Ứng Dụng Thực Tiễn Của RESTful Trong Hệ Thống SMSGateway

Hệ thống SMSGateway đã áp dụng RESTful API để cải thiện quy trình gửi và nhận tin nhắn. Việc sử dụng RESTful giúp hệ thống hoạt động mượt mà và hiệu quả hơn.

4.1. Cách Thức Hoạt Động Của SMSGateway

Hệ thống SMSGateway sử dụng RESTful API để xử lý các yêu cầu gửi tin nhắn từ người dùng. Khi một yêu cầu được gửi đến, hệ thống sẽ xử lý và trả về kết quả cho người dùng một cách nhanh chóng.

4.2. Kết Quả Đạt Được Từ Việc Áp Dụng RESTful

Việc áp dụng RESTful API trong SMSGateway đã giúp cải thiện đáng kể hiệu suất và độ tin cậy của hệ thống. Người dùng có thể gửi và nhận tin nhắn một cách nhanh chóng và hiệu quả, đồng thời giảm thiểu thời gian chờ đợi.

V. Kết Luận Tương Lai Của Dịch Vụ Web RESTful

Dịch vụ web RESTful đang ngày càng trở nên phổ biến và được ưa chuộng trong phát triển ứng dụng. Với những lợi ích mà nó mang lại, RESTful sẽ tiếp tục là lựa chọn hàng đầu cho các nhà phát triển trong tương lai.

5.1. Xu Hướng Phát Triển RESTful API

Trong tương lai, RESTful API sẽ tiếp tục phát triển với nhiều tính năng mới và cải tiến. Các công nghệ như GraphQL có thể sẽ được tích hợp để nâng cao khả năng tương tác và hiệu suất.

5.2. Tầm Quan Trọng Của RESTful Trong Các Hệ Thống Hiện Đại

RESTful API sẽ giữ vai trò quan trọng trong việc kết nối các hệ thống và ứng dụng hiện đại. Sự phát triển của IoT và các dịch vụ đám mây sẽ càng làm nổi bật tầm quan trọng của RESTful trong tương lai.

22/07/2025
Luận văn thạc sĩ vnu uet tìm hiểu dịch vụ web restful và ứng dụng trong xây dựng hệ thống smsgateway

Trích đoạn nội dung tài liệu

Chương 1: Giới thiệu chung về dịch vụ web, kiến trúc và các thành phần cơ bản của dịch vụ web như XML, SOAP, WSDL và UDDI từ đó đưa ra mục tiêu phát triển luận văn, cũng trong chương này sẽ giới thiệu về REST, mô tả từ khóa REST ngày nay rất phù hợp với nền tảng cơ bản với dịch vụ web, đưa ra lý do tại sao chọn REST để phát triển dịch vụ web, và phần giới thiệu hệ thống mà sau này tác giả có ý định phát triển dịch vụ RESTful cũng được giới thiệu trong phần này. Chương 2: Giới thiệu thư viện JAX-RS và cách sử dụng thư viện vào việc lập trình phát triển dịch vụ web, các tính năng cũng như các toán tử của thư viện JAX-RS cũng sẽ được trình bày ở chương này. Chương 3: Chương này giới thiệu các phương pháp bảo mật cơ bản cũng như cách thực hiện và áp dụng vào hệ thống sẽ được tác giả trình bày trong chương này. Chương 4: Chương này sẽ giới thiệu chi tiết về hệ thống SMSGateway, nguyên tắc hoạt động của hệ thống cũng như mục tiêu mà hệ thống cần đạt được, áp dụng các nguyên tắc của REST và sử dụng thư viện JAX-RS để thiết kế các dịch vụ web RESTful ứng dụng vào hệ thống SMSGateway, ngoài ra các lược đồ tuần tự ở cấp độ cao sẽ được thiết kế và chỉ ra trong chương này để ta có thể thấy được REST API phân biệt các môđun khác nhau như thế nào và tương tác như làm sao.

Chương 5: Chương này sẽ giới thiệu các đoạn code mô tả các tiến trình phát triển ứng dụng và cung cấp một một vài tool để có thể kiểm chứng ứng dụng thực hiện các yêu cầu REST API. 6 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chƣơng 1: Dịch vụ Web và REST Chương này sẽ giới thiệu tổng quan về dịch vụ web, kiến trúc, thành phần cơ bản, cũng trong chương này chúng ta sẽ tìm hiểu nguồn gốc từ REST và ý nghĩa của nó, tại sao chúng ta lựa chọn REST thay thế mà không phải là cái khác, giới thiệu những ý tưởng cơ bản của REST, các đặc điểm chính và lý do tại sao chúng ta lại sử dụng REST 1.1 Tổng quan về dịch vụ web Theo định nghĩa của W3C (World Wide Web Consortium) [8] thì một dịch vụ web là một hệ thống phần mềm được xây dựng sẵn các tính năng cần thiết, hay còn gọi là các phương thức theo chuẩn để hỗ trợ sự tương tác giữa máy tính và máy tính, giữa người và máy tính. Dịch vụ web cung cấp một API được mô tả theo một định dạng chung gọi là ngôn ngữ mô tả dịch vụ web (Web Service Description Language) viết tắt là WSDL [11]. Người dùng hoặc máy tính thực hiện tương tác với dịch vụ web thông qua giao thức SOAP (Simple Object Access Protocol) [10].

Đây là một trong các giao thức được sử dụng để trao đổi thông tin trên mạng phổ biến nhất hiện nay sử dụng HTTP (Hypertext Transfer Protocol) [2,3,4] kết hợp với việc sử dụng XML cùng với một số chuẩn khác. Như vậy ta thấy mục đính chính của dịch vụ web là cho phép trao đổi và tương tác thông tin, các chức năng, dữ liệu giữa các ứng dụng một cách dễ dàng mà không cần quan tâm đến môi trường phát triển cũng như ngôn ngữ lập trình bởi tất cả đã cả được quy về một định dạng chung. Ngoài ra bản chất của dịch vụ web là một tập hợp các đối tượng, các phương thức được thực thi và công bố lên mạng để có thể triệu gọi được từ xa thông qua các ứng dụng khác nhau.2 Kiến trúc và các thành phần của dịch vụ Web Công nghệ dịch vụ web không phải là một công nghệ mới, mà công nghệ này ra đời dựa trên các nền tảng công nghệ sẵn có trước đó. Công nghệ này là sự kết hợp các ứng dụng dựa trên nền web sử dụng các chuẩn mở như XML, SOAP, WSDL, UDDI [8].

Trong đó XML được sử dụng để mô tả dữ liệu, SOAP đóng vai trò giao thức truyền tải dữ liệu, WSDL đóng vài trò mô tả cho dịch vụ web còn UDDI đóng vai trò cung cấp danh sách các dịch vụ web đang hoạt động. Chi tiết về các chuẩn mở này chúng ta sẽ bàn chi tiết trong phần sau, phần các thành phần cơ bản của dịch vụ web. 7 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.1: Mô hình kiến trúc dịch vụ web 1.1 XML XML (Extensible Markup Langguage) là một chuẩn do W3C đề ra và được phát triển từ SGML, XML là một ngôn ngữ đánh dấu mở rộng với cấu trúc do lập trình viên phát triển dịch vụ tự định nghĩa. Về hình thức thì XML hoàn toàn có cấu trúc thẻ giống như HTML, nhưng HTML định nghĩa thành phần được hiện thị như thế nào thì XML lại định nghĩa những thành phần đó chứa những cái gì.

Hay nói cách khác XML có cú pháp tương tự HTML nhưng không tuân theo một đặc tả quy ước như HTML. Người sử dụng hoặc các chương trình có thể quy ước định dạng các thẻ XML. Dịch vụ web là sự kết hợp của nhiều thành phần khác nhau, và dịch vụ này hỗ trợ tương tác giữa các hệ thống được cài đặt trên môi trường khác nhau. Do đó cần phải sử dụng một loại tài liệu đồng nhất giúp giải quyết được vấn đề tương thích và XML hoàn toàn phù hợp với yêu cầu trên.

XML đã trở thành nền tảng cho việc xây dựng các dịch vụ web và XML có hai chức năng chính:  Trao đổi thông tin dữ liệu trong hệ thống sử dụng dịch vụ web  Mô tả các giao thức sử dụng trong dịch vụ web 1.2 SOAP SOAP (Simple Object Access Protocol) là một giao thức dùng để truy xuất các thông tin từ dịch vụ web thông qua một thông điệp chung. SOAP được Microsoft đề xuất vào năm 1998, hiện nay SOAP thuộc quyền quản lý và cải tiến của tổ chức W3C. SOAP là một giao thức dựa trên nền tảng XML, mô tả cách định dạng, đóng gói thông tin của các 8 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com thông điệp và trao đổi chúng thông qua mạng mà không phụ thuộc bất kỳ môi trường thực thi hay ngôn ngữ lập trình nào. Đơn vị trao đổi thông tin cơ bản của SOAP là thông điệp SOAP (SOAP Message).

Mỗi thông điệp SOAP sẽ được dùng bởi một thẻ gốc là <Envelope> trong đó chứa 2 thẻ thành phần là SOAP Header và SOAP Body. SOAP Header chứa các thông tin cần thiết cho việc thực hiện chuyển thông điệp hay cơ chế định danh, bảo mật. SOAP Body chứa dữ liệu ứng dụng. Cấu trúc của một thông điệp SOAP như hình sau: Hình 1.2: Cấu trúc của một thông điệp SOAP 1.3 WSDL WSDL (Web Service Description Langguage) là một tài liệu đặc tả dựa trên chuẩn ngôn ngữ XML để mô tả các dịch vụ web.

Ban đầu WSDL được Microsoft và Ariba đề xuất, nhưng hiện nay WSDL được quản lý và phát triển bởi W3C. Mỗi một đặc tả WSDL sẽ cung cấp tài liệu cho các hệ thống phân tán cũng như mô tả chức năng của một dịch vụ web, cách thức tương tác, các thông điệp tương tác cho các yêu cầu theo request hay response. Sau đây là cấu trúc cơ bản của một tài liệu: 9 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.3:Cấu trúc của WSDL Một đặc tả WSDL bao gồm 2 phần chính: phần trừu tượng (Abstract definitions) và phần cụ thể (Concrete definitions), phần trừu tượng bao gồm các thông tin được chứa trong các thẻ types, message và portypes. Phần cụ thể bao gồm các thông tin được chứa trong các thẻ bindings và ports.

Mỗi thành phần sẽ có một tham chiếu đến một thành phần khác được mô tả như hình sau: Hình 1.4:Các thành phần của WSDL 10 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Mỗi một thành phần có một chức năng riêng, cụ thể như sau:  Types: chỉ ra kiểu dữ liệu cho các thông điệp gửi và nhận  Messages: là một thành phần trừu tượng mô tả cách thức giao tiếp giữa máy khách và máy chủ.  Porttypes: mô tả ánh xạ giữa các thông điệp, được mô tả trong phần tử messages và các phương thức (operations).  Binding: xác định giao thức nào được sử dụng khi giao tiếp với dịch vụ web, định nghĩa kiểu binding và giao thức vận chuyển binding cũng định nghĩa các operations.  Port: chỉ định địa chỉ và cổng kết nối tới dịch vụ web, thường là một địa chỉ URL đơn giản.4 UDDI UDDI (Universal Description, Discovery và Integration) cũng được Microsoft, IBM và Ariba đề xuất năm 2000.

Ngày nay UDDI thuộc quyền sở hữu và phát triển của tổ chức OASIS (Organization for the Advancement of Structured Information Standards). UDDI được xây dựng nhằm mục đính cung cấp khả năng cho phép công bố, tổng hợp và tìm kiếm các dịch vụ web. UDDI đưa ra một tập hợp các hàm API được chia làm 2 phần: Inquiry API, dùng để tìm kiếm và truy xuất các dịch vụ web đã đăng ký và Publisher „s API, dùng để công bố các dịch vụ web muốn đăng ký. Thông tin tổ chức trong UDDI được chia làm 3 phần:  White pages: liệt kê thông tin của các nhà cung cấp dịch vụ web, bao gồm địa chỉ, thông tin liên lạc và định danh.

 Yellow pages: phân loại dịch vụ theo tổ chức hay nhóm dịch vụ hoặc địa điểm đặt các dịch vụ.  Green pages: cung cấp thông tin về các dịch vụ web, cách thức truy cập cũng như tương tác với các dịch vụ web đó. 11 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.3 XML-RPC XML-RPC được kế thừa từ RPC và World Wide Web, sử dụng lại ý tưởng và nền tảng về việc tạo ra sự giao tiếp giữa con người với nhau để hỗ trợ việc giao tiếp giữa các chương trình trên máy tính. Mặc dù web là công cụ giao tiếp giữa con người với con người, sau đó được tiến hóa một cách tinh tế để làm công cụ giao tiếp giữa con người và máy tính, cuối cùng chuyển sang dạng truyền thông phức tạp giữa máy tính và máy tính HTML thực sự đã rất thành công, nhưng thực tế mới chỉ hữu ích cho các giao dịch hiển thị thông tin cho con người.

Vì lý do đó, W3C tổ chức phát triển eXtensible Markup Language (XML), một ngôn ngữ đánh dấu cung cấp linh hoạt hơn HTML về việc giao tiếp giữa các chương trình. XML được truyền giữa các máy tính sử dụng giao thức HTTP thông qua RPC, sử dụng HTTP có nghĩa là các yêu cầu XML-RPC phải được đồng bộ và phi trạng thái, một yêu cầu XML-RPC luôn luôn có một trả lời XML-RPC tương ứng, bởi vì yêu cầu và trả lời đều phải xảy ra trên cùng một kết nối HTTP.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ