Đăng ký Đăng nhập
Trang chủ Công nghệ restful web services và hệ thống cổng kết nối với tổng đài tin nhắn ch...

Tài liệu Công nghệ restful web services và hệ thống cổng kết nối với tổng đài tin nhắn cho các dịch vụ thông tin di động

.PDF
95
143
110

Mô tả:

NGUYỄN THỊ LAN BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN CÔNG NGHỆ RESTFUL WEB SERVICES VÀ HỆ THỐNG CỔNG KẾT NỐI VỚI TỔNG ĐÀI TIN NHẮN CHO CÁC DỊCH VỤ THÔNG TIN DI ĐỘNG NGUYỄN THỊ LAN 2015 - 2017 HÀ NỘI - 2017 BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SỸ CÔNG NGHỆ RESTFUL WEB SERVICES VÀ HỆ THỐNG CỔNG KẾT NỐI VỚI TỔNG ĐÀI TIN NHẮN CHO CÁC DỊCH VỤ THÔNG TIN DI ĐỘNG NGUYỄN THỊ LAN CHUYÊN NGÀNH : CÔNG NGHỆ THÔNG TIN MÃ SỐ: 60.48.02.018 NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. ĐINH TUẤN LONG HÀ NỘI - 2017 LỜI CAM ĐOAN Tôi xin cam đoan luận văn là công trình nghiên cứu của riêng cá nhân tôi, không sao chép của ai do tôi tự nghiên cứu, đọc, dịch tài liệu, tổng hợp và thực hiện. Nội dung lý thuyết trong trong luận văn tôi có sử dụng một số tài liệu tham khảo như đã trình bày trong phần tài liệu tham khảo. Các số liệu, chương trình phần mềm và những kết quả trong luận văn là trung thực và chưa được công bố trong bất kỳ một công trình nào khác. Hà Nội, ngày tháng năm 2017 Học viên thực hiện Nguyễn Thị Lan i LỜI CẢM ƠN Lời đầu tiên, em xin gửi lời biết ơn sâu sắc đến TS. Đinh Tuấn Long người đã tận tình hướng dẫn, chỉ bảo, giúp đỡ em trong suốt quá trình làm luận văn. Em cũng xin gửi lời cảm ơn đến các thầy cô giảng dạy và các thầy cô trong Khoa Đào Tạo Sau Đại Học đã truyền đạt những kiến thức và giúp đỡ em trong suốt quá trình học của mình. Và cuối cùng em xin gửi lời cảm ơn tới các đồng nghiệp, gia đình và bạn bè những người đã ủng hộ, động viên tạo mọi điều kiện giúp đỡ để em có được kết quả như ngày hôm nay. Hà Nội, ngày tháng năm 2017 Học viên thực hiện Nguyễn Thị Lan ii MỤC LỤC LỜI CAM ĐOAN ............................................................................................................ i LỜI CẢM ƠN ................................................................................................................. ii MỤC LỤC .......................................................................................................................iii DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT ................................................ vi DANH SÁCH HÌNH VẼ ..............................................................................................vii MỞ ĐẦU ....................................................................................................................... viii CHƯƠNG 1: DỊCH VỤ WEB SERVICE VÀ REST .................................................. 1 1.1 Tổng quan về dịch vụ web ............................................................................ 1 1.2 Kiến trúc và các thành phần của dịch vụ Web service ............................... 4 1.2.1 Khái niệm định dạng XML - eXtensible Markup Language ....... 4 1.2.2 Mô tả các giao thức sử dụng trong dịch vụ web SOAP - Simple Object Access Protocol ........................................................................... 5 1.2.3 WSDL - Web Service Description Language ............................... 7 1.2.4 Khái niệm UDDI ............................................................................ 9 1.3 XML-RPC ..................................................................................................... 9 1.4 Khái niệm REST ......................................................................................... 10 1.5 Nguyên tắc của REST ................................................................................. 11 1.5.1 Tài nguyên .................................................................................... 12 1.5.2 Khả năng đánh địa chỉ .................................................................. 13 1.5.3 Phi trạng thái ................................................................................. 14 1.5.4 Kết nối ........................................................................................... 14 1.5.5 Giao diện đồng nhất ..................................................................... 15 1.5.6 Khả năng lưu cache ...................................................................... 16 1.6 Dịch vụ web RESTful ................................................................................. 17 iii 1.7 So sánh SOAP và RESTful ........................................................................ 18 KẾT LUẬN CHƯƠNG .................................................................................... 21 CHƯƠNG 2: VẤN ĐỀ BẢO MẬT VỚI WEB SERVICE DỊCH VỤ RESTFUL .. 22 2.1 Vấn đề an toàn bảo mật Web Service ........................................................ 22 2.1.1 Bảo mật Web Service ................................................................... 22 2.1.2 Một số kỹ thuật Web Service Security .......................................... 23 2.2 Vấn đề bảo mật với dịch vụ RESTful ........................................................ 29 2.3 Kiểu kiến trúc REST phù hợp với bộ đệm web ........................................ 30 2.4 Khóa mã hóa nội dung đối xứng ................................................................ 31 2.5 An toàn cho dịch vụ web ............................................................................ 32 2.6 Xây dựng một dịch vụ web ........................................................................ 34 2.7 Tích hợp dịch vụ web theo chuẩn .............................................................. 35 2.8 Thảo luận về giải pháp ................................................................................ 37 2.9 Áp dụng bảo mật dịch vụ web RESTful .................................................... 38 2.9.1 Bảo mật dịch vụ web RESTful bằng cách cấu hình web.xml ... 38 2.9.2 Bảo mật dịch vụ web RESTful bằng cách sử dụng SecurityContext...................................................................................... 38 2.9.3 Bảo mật dịch vụ web RESTful bằng cách sử dụng ký hiệu ...... 39 KẾT LUẬN CHƯƠNG .................................................................................... 40 CHƯƠNG 3: TÌM HIỂU HỆ THỐNG SMS GATEWAY ........................................ 41 3.1 Tìm hiểu về hệ thống SMSGatewate ......................................................... 41 3.1.1 Giới thiệu chung về hệ thống ....................................................... 41 3.1.2 Nguyên tắc hoạt động của hệ thống SMS ................................... 42 3.1.3 Hệ thống SMSGateway................................................................ 42 3.1.4 Mục tiêu áp dụng REST ............................................................... 44 iv 3.1.5 Tài nguyên .................................................................................... 45 3.1.6 Đánh địa chỉ .................................................................................. 46 3.1.7 Phi trạng thái ................................................................................. 46 3.1.8 Liên kết với nhau .......................................................................... 47 3.1.9 Giao diện đồng nhất ..................................................................... 47 3.1.10 Khả năng cache........................................................................... 49 3.2 Cấu trúc REST API ..................................................................................... 49 3.3 Các lược đồ tuần tự ..................................................................................... 52 3.4 Thử nghiệm API với Google Chrome ....................................................... 64 3.5 Thử nghiệm API với giao diện ứng dụng .................................................. 65 KẾT LUẬN CHƯƠNG .................................................................................... 68 KẾT LUẬN ................................................................................................................... 69 TÀI LIỆU THAM KHẢO ............................................................................................ 70 PHỤ LỤC ...................................................................................................................... 71 v DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT TỪ VIẾT TẮT TIẾNG ANH TIẾNG VIỆT REST Representational State Transfer Chuyển đổi trạng thái đại diện MO Mobile Originated Tin nhắn đến MT Mobile Terminated Tin nhắn đi SMS Short Message Service Tin nhắn XML Extensible Markup Langguage Ngôn ngữ đánh dấu mở rộng SOAP Simple Object Access Protocol Giao thức truy cập đối tượng đơn giản WSDL Web Service Description Langguage Ngôn ngữ mô tả dịch vụ UDDI Universal Description, Discovery và Integration HTTP Hypertext Transfer Protocol Giao thức truyền tải nội dung siêu văn bản W3C World Wide Web Consortium Tổ chức World Wide Web RPC Remote Procedure Call Triệu gọi thủ tục từ xa JAX-RS Java API for RESTful Web Services Thư viện API cho dịch vụ web RESTful URI Uniform resource identifier Xác định tài nguyên đồng nhất API Application programming interface Giao diện lập trình ứng dụng vi DANH SÁCH HÌNH VẼ Hình 1.1: Kiến trúc dịch vụ web .................................................................................... 4 Hình 1.2: Mô tả hoạt động của SOAP ........................................................................... 6 Hình 1.3: Cấu trúc của một thông điệp SOAP .............................................................. 6 Hình 1.4: Cấu trúc của WSDL ....................................................................................... 7 Hình 1.5:Các thành phần của WSDL ............................................................................ 8 Hình 1.6: Hai uri cùng trỏ đến một tài nguyên ........................................................... 12 Hình 1.7: Minh họa việc gửi địa chỉ ............................................................................ 13 Hình 1.8: Sự liên kết giữa các máy khách ................................................................... 14 Hình 1.9: So sánh SOAP và RESTful ......................................................................... 19 Hình 3.1: Mô hình hệ thống SMS Gateway ................................................................ 42 Hình 3.2: Nguyên tắc hoạt động của hệ thống ............................................................ 42 Hình 3.3: Mô hình hệ thống SMSGateway ................................................................. 43 Hình 3.4: Mô hình REST API trong hệ thống admin ................................................. 44 Hình 3.5: Mô hình REST API trong hệ thống ............................................................ 50 Hình 3.6: Thiết kế cấu trúc REST API trong hệ thống .............................................. 51 Hình 3.7: Lược đồ tuần tự lấy danh sách MO ............................................................. 56 Hình 3.8: Lược đồ tuần tự lấy một MO ....................................................................... 58 Hình 3.9: Lược đồ tuần tự tạo mới một MO ............................................................... 60 Hình 3.10: Lược đồ tuần tự cập nhật một MO ............................................................ 61 Hình 3.11: Lược đồ tuần tự tìm kiếm MO .................................................................. 63 Hình 3.12: Kiểm tra chức năng POST dữ liệu với Postman ...................................... 64 Hình 3.13: Kiểm tra chức năng GET dữ liệu với Postman ........................................ 65 Hình 3.14: Giao diện demo chức năng POST ............................................................. 66 Hình 3.15: Kiểm tra chức năng GET dữ liệu với ứng dụng demo ............................ 67 vii MỞ ĐẦU 1. Lý do chọn đề tài Ngày này hệ thống Internet ngày càng phát triển, phần mềm sử dụng hệ thống Internet ngày càng nhiều. Các phần mềm đa dạng dẫn đến có rất nhiều yêu cầu cần được đáp ứng. Một số phần mềm đòi hỏi về lượng thông tin lớn, dữ liệu lớn… nhưng không thể lưu dữ liệu đó tại thiết bị sử dụng, một số loại yêu cầu được cập nhật realtime (theo thời gian thực) để đảm bảo sự đúng đắn của thông tin (chứng khoán, tiền tệ ...), một số phần mềm đòi hỏi xử lý nhanh và mạnh, mà các thiết bị lại không thể thực hiện được do cấu hình không đủ. Thông thường, để sử dụng các dịch vụ đó thì người dùng cần dùng trình duyệt, truy cập website và thực hiện. Nhưng người dùng chỉ có thể sử dụng các giao diện mà nhà cung cấp đã thiết kết sẵn tuy nhiên chúng không đáp ứng những mong muốn của người dùng. Để giải quyết vấn đề trên chúng ta cần xây dựng một ứng dụng có các tính năng như các dịch vụ đó nhưng giao diện thân thiện hơn. Vì vậy cần phải sử dụng những dịch vụ riêng biệt để tương tác với hệ thống cung cấp các dịch vụ nói trên. Công nghệ có thể hỗ trợ để giải quyết bài toán trên là RESTful, do vậy tôi xin được lựa chọn đề tài nghiên cứu là: “Công nghệ RESTful web services và hệ thống cổng kết nối với tổng đài tin nhắn cho các dịch vụ thông tin di động” 2. Mục tiêu và đối tượng nghiên cứu của đề tài - Mục tiêu nghiên cứu + Hiểu được các nguyên tắc của REST. + Hiểu được loại dữ liệu được điều khiển bởi các hệ thống dựa trên nền web. + Đưa ra được phương pháp xây dựng cách thức truy cập dữ liệu sử dụng API REST. + Tiến hành cài đặt API RESTful theo phương pháp trên. + Cho thấy rằng API vừa cài đặt có thể dùng chung cho cả người và máy. - Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu: viii + Tìm hiểu nguồn gốc từ REST và ý nghĩa + Tìm hiểu về thư viện JAX-RS + Nghiên cứu dịch vụ RESTful, các phương pháp bảo mật cơ bản, cũng như các vấn đề liên quan Phạm vi nghiên cứu: + Tìm hiểu và ứng dụng REST + Nghiên cứu một số giải pháp xây dựng “Hệ thống cổng kết nối với tổng đài tin nhắn cho các dịch vụ thông tin di động” + Do có những hạn chế nhất định về cơ sở vật chất và điều kiện tiếp cận thực tế với lĩnh vực viễn thông nên việc cài đặt ứng dụng chủ yếu mang tính thử nghiệm. 3. Nội dung 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. 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ươn g này. Chương 2: 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. Chương 3: Trong nội dung của chương này sẽ tìm hiểu 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 sẽ có các thực nghiệm 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ể thực nghiệm ứng dụng thực hiện các yêu cầu REST API. 4. Phương pháp thực hiện đề tài ix  Thu thập, phân tích các tài liệu và những thông tin liên quan đề đề tài.  Tìm hiểu các giải pháp trong việc xây dựng API của một số Website trong và ngoài nước.  Kết hợp các nghiên cứu đã có trước đây của các tác giả trong và ngoài nước cùng với sự chỉ bảo, góp ý của thầy hướng dẫn để hoàn thành nội dung nghiên cứu. x CHƯƠNG 1: DỊCH VỤ WEB SERVICE VÀ REST Trong nội dung chương này tác giả sẽ tìm hiể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 tác giả sẽ đưa ra những 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. Trong chương này cũng giới thiệu những ý tưởng cơ bản của REST, các đặc điểm chính và lý do nên sử dụng REST. 1.1 Tổng quan về dịch vụ web Dịch vụ Web (Web Service) được coi là một công nghệ mang đến cuộc cách mạng trong cách thức hoạt động của các dịch vụ B2B (Business to Business) và B2C (Business to Customer). Giá trị cơ bản của dịch vụ Web dựa trên việc cung cấp các phương thức theo chuẩn trong việc truy nhập đối với hệ thống đóng gói và hệ thống kế thừa. Các phần mềm được viết bởi những ngôn ngữ lập trình khác nhau và chạy trên những nền tảng khác nhau có thể sử dụng dịch vụ Web để chuyển đổi dữ liệu thông qua mạng Internet theo cách giao tiếp tương tự bên trong một máy tính. Tuy nhiên, công nghệ xây dựng dịch vụ Web không nhất thiết phải là các công nghệ mới, nó có thể kết hợp với các công nghệ đã có như XML, SOAP, WSDL, UDDI… Với sự phát triển và lớn mạnh của Internet, dịch vụ Web thật sự là một công nghệ đáng được quan tâm để giảm chi phí và độ phức tạp trong tích hợp và phát triển hệ thống. Chúng ta sẽ xem xét các dịch vụ Web từ mức khái niệm đến cách thức xây dựng. 1.1.1 Giới thiệu công nghệ Có rất nhiều những định nghĩa được đưa ra, nhưng theo định nghĩa của W3C (World Wide Web Consortium) [18] 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 [6]. Trong đó 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) [9]. Đây là 1 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) [12,6,7] kết hợp với việc sử dụng XML cùng với một số chuẩn khác. Tóm lại qua đây chúng ra dễ dàng nhận 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, các tài nguyên 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 chúng ta cần hiểu rõ được 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. 1.1.2 Các đặc điểm của dịch vụ web a. Đặc điểm - Dịch vụ Web cho phép client và server tương tác được với nhau ngay cả trong những môi trường khác nhau. Ví dụ, đặt Web server cho ứng dụng trên một máy chủ chạy hệ điều hành Linux trong khi người dùng sử dụng máy tính chạy hệ điều hành Windows, ứng dụng vẫn có thể chạy và xử lý bình thường mà không cần thêm yêu cầu đặc biệt để tương thích giữa hai hệ điều hành này. - Phần lớn kĩ thuật của Dịch vụ Web được xây dựng dựa trên mã nguồn mở và được phát triển từ các chuẩn đã được công nhận, ví dụ như XML. - Một Dịch vụ Web bao gồm có nhiều mô-đun và có thể công bố lên mạng Internet. - Là sự kết hợp của việc phát triển theo hướng từng thành phần với những lĩnh vực cụ thể và cơ sở hạ tầng Web, đưa ra những lợi ích cho cả doanh nghiệp, khách hàng, những nhà cung cấp khác và cả những cá nhân thông qua mạng Internet. - Một ứng dụng khi được triển khai sẽ hoạt động theo mô hình client-server. Nó có thể được triển khai bởi một phần mềm ứng dụng phía server ví dụ như PHP, Oracle Application server hay Microsoft.Net… 2 - Ngày nay dịch vụ Web đang rất phát triển, những lĩnh vực trong cuộc sống có thể áp dụng và tích hợp dịch vụ Web là khá rộng lớn như dịch vụ chọn lọc và phân loại tin tức (hệ thống thư viện có kết nối đến web portal để tìm kiếm các thông tin cần thiết); ứng dụng cho các dịch vụ du lịch (cung cấp giá vé, thông tin về địa điểm…), các đại lý bán hàng qua mạng, thông tin thương mại như giá cả, tỷ giá hối đoái, đấu giá qua mạng…hay dịch vụ giao dịch trực tuyến (cho cả B2B và B2C) như đặt vé máy bay, thông tin thuê xe… - Các ứng dụng có tích hợp dịch vụ Web đã không còn là xa lạ, đặc biệt trong điều kiện thương mại điện tử đang bùng nổ và phát triển không ngừng cùng với sự lớn mạnh của Internet. Bất kì một lĩnh vực nào trong cuộc sống cũng có thể tích hợp với dịch vụ Web, đây là cách thức kinh doanh và làm việc có hiệu quả bởi thời đại ngày nay là thời đại của truyền thông và trao đổi thông tin qua mạng. Do vậy, việc phát triển và tích hợp các ứng dụng với dịch vụ Web đang được quan tâm phát triển là điều hoàn toàn dễ hiểu. b. Ưu và nhược điểm Ưu điểm - Dịch vụ Web cung cấp khả năng hoạt động rộng lớn với các ứng dụng phần mềm khác nhau chạy trên những nền tảng khác nhau. - Sử dụng các giao thức và chuẩn mở. Giao thức và định dạng dữ liệu dựa trên văn bản (text), giúp các lập trình viên dễ dàng hiểu được. - Nâng cao khả năng tái sử dụng. - Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại bằng cách cho phép các tiến trình/chức năng nghiệp vụ đóng gói trong giao diện dịch vụ Web. - Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần trong hệ thống, dễ dàng cho việc phát triển các ứng dụng phân tán. - Thúc đẩy hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ giá thành hoạt động, phát triển hệ thống nhanh và tương tác hiệu quả với hệ thống của các doanh nghiệp khác. 3 Nhược điểm - Những thiệt hại lớn sẽ xảy ra vào khoảng thời gian chết của Dịch vụ Web, giao diện không thay đổi, có thể lỗi nếu một máy khách không được nâng cấp, thiếu các giao thức cho việc vận hành. - Có quá nhiều chuẩn cho dịch vụ Web khiến người dùng khó nắm bắt. - Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật. 1.2 Kiến trúc và các thành phần của dịch vụ Web service Trong lĩnh vực công nghệ thông tin thì 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 đã được ra đời dựa trên các nền tảng công nghệ sẵn có trước đó. Nó sự kết hợp của các ứng dụng dựa trên nền web sử dụng đượ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. Về chi tiết các chuẩn mở này như đặc điểm... sẽ được làm rõ hơn trong phần sau của luận văn. Dựa vào sơ đồ dưới có thể thấy các thành phần cơ bản của dịch vụ web. Hình 1.1: Kiến trúc dịch vụ web 1.2.1 Khái niệm định dạng XML - eXtensible Markup Language - XML (Extensible Markup Langguage) là một chuẩn do W3C đề ra và được phát triển từ SGML, XML được xem là một ngôn ngữ đánh dấu mở rộng với 4 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. Về cơ bản có thể thấy 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. Có thể hiểu đơn giản XML giải quyết Blues Middleware truyền thống kết hợp với kết nối chặt chẽ. XML làm cho webservice linh hoạt và thích nghi. 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 1.2.2 Mô tả các giao thức sử dụng trong dịch vụ web SOAP - Simple Object Access Protocol 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(HTTP/SMTP), mô tả cách định dạng, đóng gói thông tin của các 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. 5 Hình 1.2: Mô tả hoạt động của SOAP Đơ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à 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.3: Cấu trúc của một thông điệp SOAP 6 Chúng ta đã hiểu cơ bản Web service như thế nào nhưng vẫn còn một vấn đề khá quan trọng. Đó là làm thế nào để truy xuất dịch vụ khi đã tìm thấy? Câu trả lời là các Web service có thể truy xuất bằng một giao thức là Simple Object Access Protocol – SOAP. Nói cách khác chúng ta có thể truy xuất đến UDDI registry bằng các lệnh gọi hoàn toàn theo định dạng của SOAP. 1.2.3 WSDL - Web Service Description Language 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: Hình 1.4: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ẽ 7 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.5:Các thành phần của WSDL 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. 8
- Xem thêm -

Tài liệu liên quan