Tìm hiểu thế giới web từ con số 0 (Part II)- Web service
Trong bài viết trước chúng ta đã tìm hiểu những khái niệm về web server, truy cập vào trang web cũng như cách thức hoạt động cơ bản của nó như thế nào. Trong phần tiếp theo của serial này, chúng ta sẽ tìm hiểu tiếp về thế giới web với những hiểu biết từ google về web service. Web service là gì? ...
Trong bài viết trước chúng ta đã tìm hiểu những khái niệm về web server, truy cập vào trang web cũng như cách thức hoạt động cơ bản của nó như thế nào. Trong phần tiếp theo của serial này, chúng ta sẽ tìm hiểu tiếp về thế giới web với những hiểu biết từ google về web service.
Web service là gì?
Như trong giới thiệu về web server lần trước, chúng ta sử dụng trang web chính là việc tương tác giữa người dùng web (client) và web server (server). Ngày nay, sự tương tác đó không còn đơn thuần chỉ ở mức web server chứa các thông tin doc, image, file ... và người dùng client sẽ tải, xem chúng trên máy tính thông qua phần mềm web browser mà ngày càng nâng cao hơn. Vì vậy, công nghệ web service ra đời, đơn giản hóa web service (dịch vụ web) là khi kết hợp thiết bị này với thiết bị khác, cơ sở dữ liệu và mạng internet để tạo thành 1 mạng lưới ảo mà người dùng tương tác với nó qua web browser. Web service sẽ chạy trên web server, công nghệ web được sử dụng ở đây có thể là HTTP- mặc định sử dụng cho giao tiếp giữa người dùng và hệ thống phần cứng cũng như tương tác giữa các thiết bị điện tử với nhau. Trong thực tế, các dịch vụ web thường cung cấp một giao diện dựa trên cấu trúc hướng đối tượng để quản lý cơ sở dữ liệu, còn đối với người dùng cuối sẽ được cung cấp 1 giao diện người dùng. Người dùng có thể đưa dữ liệu từ máy tính của cá nhân hoặc bất kì loại thiết bị có hỗ trợ web service và được truy cập internet tới các máy chủ của nhà cung cấp dịch vụ web. Các nhà cung cấp này cũng sẽ đảm bảo cho người sử dụng về độ an toàn bảo mật về thông tin cá nhân mà họ đưa lên đó.
Vậy định nghĩa chính xác của web service là gì? Chúng ta tìm hiểu nhiều định nghĩa khác nhau
- Web service là bất kì phần mềm nào tương thích với mạng internet, sử dụng chuẩn XML để giao tiếp với nhau. XML ở đây cũng được dùng để mã hóa tất cả các giao tiếp tới web service. Ví dụ: một khách hàng gọi một dịch vụ web bằng cách gửi một message XML, sau đó sẽ chờ một phản hồi cũng là XML. Tất cả các thông tin liên lạc đều bằng XML, web service không gắn với bất kì hệ điều hành, ngôn ngữ lập trình nào.
- Web service là 1 khổi gồm các mô đun khép kín, được xây dựng dựa trên các chuẩn mở như TCP/IP, HTTP, Java, HTML, XML. Hệ thống này có thể bao gồm các chương trình, đối tượng, thông điệp, tài liệu ...v...v
- Web service là một tập hợp các giao thức mở và các tiêu chuẩn được sử dụng để trao đổi dữ liệu giữa các ứng dụng hoặc hệ thống. Phần mền ứng dụng có thể viết bằng nhiều loại ngôn ngữ lập trình khác nhau và chạy trên nhiều nền tảng khác nhau mà có thể sử dụng web service để trao đổi dữ liệu thông qua mạng internet. Cách thức trao đổi tương tự như việc trao đổi thông tin giữa client và web server. Khả năng tương tác giữa các ứng dụng trên hệ hiều hành khác nhau, ngôn ngữ lập trình khác nhau dựa trên việc sử dụng các tiêu chuẩn mở.
Web service được tạo ra bằng?
Nền tảng cơ bản của web service là XML + HTML. Tất cả những chuẩn làm việc mà web service sử dụng để dựa trên 3 thành phần cơ bản và dưới đây là mô tả hoạt động của từng thành phần web service cơ bản đó:
- WSDL (Web Services Description Language)
- Bên cung cấp service mô tả dịch vụ của nó sử dụng WSDL. Định nghĩa này được công bố trên một kho lưu trữ của service. Các kho lưu trữ có thể sử dụng Universal Description, Discovery, Integration (UDDI). Các hình thức truy cập khác của cũng có thể được sử dụng.
- Bên sử dụng service thực hiện một hay nhiều truy vấn đến kho lưu trữ để xác định vị trí của service và xác định làm thế nào để giao tiếp với service đó.
- Một phần của WSDL tạo ra bởi bên cung cấp service được gửi tới người dùng service. Điều này giups cho người dùng service biết các yêu cầu và đáp ứng naò đã được gửi cho bên cung cấp service.
- Các bên sử dụng service sẽ sưr dụng WSDL để gửi một yêu cầu đến nhà cung cấp dịch vụ.
- Bên cung cấp dịch vụ đưa ra expected response cho người dùng dịch vụ.
- *** UDDI (Universal Description, Discovery and Integration)***
Kho lưu trữ sử dụng trong WSDL có thể là 1 UDDI registry, đôi khi được thay thế bằng ebXML registry. Về cơ bản Universal Description, Discovery, and Intergration (UDDI) là một tập các quy tắc đăng ký và tìm kiếm thông tin các Web Service. Nó đóng vai trò như service broker cho phép người sử dụng dịch vụ tìm đúng nhà cung cấp dịch vụ cần tìm. UDDI hỗ trợ chức năng: · Thực hiện tìm kiếm, định vị những doanh nghiệp cung cấp dịch vụ hay sản phẩm theo phần loại theo vùng địa lý. · Thông tin về một nhà cung cấp dịch vụ bao gồm địa chỉ, thông tin liên lạc và các định danh. · Thông tin kỹ thuật (Technical information) về Web service mà doanh nghiệp cung cấp (ví dụ như cách sử dụng dịch vụ được cung cấp). Các bạn có thể tìm hiểu thêm về UDDI ở link sau : "http://code5s.com/windows/web-services/gioi-thieu-ve-uddi.html", tôi sẽ không viết lại nữa.
- *** SOAP (Simple Object Access Protocol)***
Tất cả các message gửi trong WSDL được gửi sử dụng SOAP. Về cơ bản, nó cung cấp cho ta một quy cách đóng gói để gửi các web service message. SOAP thường sử dụng HTTP. Trong hình trên, web service gửi một flagment vảo UDDI registry. Nó là một CustomerInfoRequest yêu cầu thông tin tài khoản của khách hàng. Trong CustomerInfoResponse sẽ cung cấp lại một chuỗi các thông tin bao gồm tên, số điện thoại địa chỉ ..v..v của khách hàng. WSDL gửi tới bên sử dụng service một flagment. Đây cũng là flagment được gửi vào UDDI registry bởi bên cung cấp service. Người sử dụng dịch vụ sẽ sử dụng WSDL để tạo request lên service , sau khi nhận được, bên cung cấp sẽ trả lại message như mô tả. Message được viết bằng các thẻ XML.
Web service hoạt động ra sao?
Một web service có khả năng giao tiếp giữa nhiều ứng dụng bằng cách sử dụng các chuẩn giao tiếp như HTML, XML, WSDL và SOAP. Trong đó
- XML tag data
- SOAP truyền message
- WSDL diễn tả availability của service
Cấu hình web service? (Web services specifications)
3 cấu hình cơ bản cho web service được nhắc tới trong bài: SOAP, REST và JSON
SOAP Là phần cơ bản của bất kì cấu hình nào, nó bao gồm Web Services Description Language (WSDL) and Universal Description, Discovery, and Integration (UDDI). Hiện nay nó không còn được sử dụng với WSDL vs UDDI nữa. Thay vì discovery, các message của SOAP được hard-coded hoặc tạo ra mà không sử dụng kho lưu trữ. Hình dưới miêu tả quá trình tương tác của SOAP
REST Representation State Transfer (REST) dễ sử dụng hơn so với SOAP. Sự đơn giản hóa hơn tăng hiệu quả trong giao tiếp:
JSON JavaScript Object Notation không sử dụng XML như 2 cấu hình trên mà sử dụng json- một tập con của javascript:
Trên đây là 1 vài tìm hiểu về web service. Chúng ta sẽ tiếp tục tìm hiểu web trong các bài viết sau.
Link bài viết tham khảo:
https://www.tutorialspoint.com/webservices/what_are_web_services.htm https://www.tutorialspoint.com/webservices/web_services_architecture.htm http://www.service-architecture.com/articles/web-services/web_services_explained.html http://www.service-architecture.com/articles/web-services/soap.html http://www.service-architecture.com/articles/web-services/representational_state_transfer_rest.html http://www.service-architecture.com/articles/web-services/javascript_object_notation_json.html http://code5s.com/windows/web-services/gioi-thieu-ve-uddi.html