Thứ Năm, 13 tháng 10, 2016

Web Services + RESTful

1. Khái niệm

*Web Services:

- Là những thành phần ứng dụng dùng để chuyển đổi một ứng dụng thông thường sang một ứng dụng web. Đồng thời nó cũng xuất bản các chức năng của mình để mọi người dùng internet trên thế giới đều có thể sử dụng thông qua nền tảng web. Web Serviece truyền thông bằng cách sử dụng các giao thức mở, tài nguyên phần mềm có thể xác định bằng địa chỉ URL, thực hiện các chức năng và đưa ra các thông tin người dùng yêu cầu, các ứng dụng độ lập và tự mô tả chính nó. Nó bao gồm các modun độc lập cho hoạt động của khác hàng và doanh nghiệp và bản thân nó được thực thi trên server. Nền tảng cơ bản của WS là XML + HTTP. Bất cứ một ứng dụng nào cũng đều có thể có một thành phần WS. WS có thể được tạo ra bằng bất kỳ một ngôn ngữ lập trình nào.

- Gồm 2 loại:

JAX-RPC

JAX-WS

Mặc dù có nhiều ưu điểm : Có nhiều mô-đun và có thể công bố lên internet, khả năng hoạt động rộng lớn với phần mềm khác nhau chạy nền tảng khác nhau, sử dụng các giao thức chuẩn mở, nâng cao khả năng tái sử dụng, 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, dễ dàng cho việc phát triển các ứng dụng phân tán. Nhưng 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, 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 tới vấn đề an toàn và bảo mật.


*RESTful:

- REST là viết tắt của cụm từ Representational State Transfer (đôi khi còn được viết là ReST) là một kiểu kiến trúc được sử dụng trong việc giao tiếp giữa các máy tính (máy tính cá nhân và máy chủ của trang web) trong việc quản lý các tài nguyên trên internet.

- REST được đưa ra để áp dụng cách xây dựng và cơ thế thực hiện web service đơn giản hơn. Cho phép người dùng truy cập tài nguyên – resource (có thể là dữ liệu trước và sau xử lý hay chức năng của ứng dụng) - của ứng dụng trên web services thông qua uri.

2. Nền tảng của WS và RESTful

*Web Services:

WS có nền tàng dựa trên 3 thành phần SOAP, WSDL, và UDDI :

 - SOAP: SOAP là viết tất của Simple Object Access Protocol. SOAP là một giao thức dựa trên nền XML cho phéo ứng dụng trao đổi các thông tin thông qua HTTP. Nói cụ thể hơn thì SOAP là một giao thức dùng để truy cập các dịch vụ web.

- WSDL: WSDL là viết tắt của Web services Description language dùng để định vị và mô tả WS. WSDL định nghĩa cách mô tả web service bao gồm: Tên service, Giao thức và kiểu mã hóa, Các loại thông tin, Mô tả giao diện và giao thức kết nối.

- UDDI: UDDI là viết tắt của Universal Description, Discovery and integration thư mục tìm kiếm các dịch vụ web. UDDI giao tiếp thông qua SOAP và góp phần vào nền tảng Microsoft .NET.

 Sơ đồ cơ chế hoạt động:

*RESTful:

- RESTful sử dụng các phương thức chuẩn: GET, PUT, DELETE, POST:

+ GET: Sử dụng GET theo cách này rất rõ ràng vì GET chỉ dành cho truy cập dữ liệu. GET không thay đổi giá trị của resource.

+ PUT: Sử dụng để cập nhật dữ liệu của resource. Dữ liệu được cập nhật bằng cách xác định resource bằng URI. Nếu không tồn tại resource nó sẽ tạo ra một resource mới.

+ DELETE: Sử dụng để xóa resource bởi URI.

+ POST: Sử dụng để tạo ra một resource mới.


- Thực hiện cơ chế nói chuyện giữa server và client là điểm điểm – point to point. Dữ liệu được truyền trực tiếp trên HTTP và được truy cập thông qua HTTP theo đúng định dạng MIME mà không cần thông qua dạng SOAP – giảm bớt sự phức tạp – vì đơn giản chúng ta sẽ coi dữ liệu và chức năng như là tham số truyền hay dữ liệu đính kèm trong HTTP.

3.Web Service Security

- Web Service Security là một chuẩn an toàn cho SOAP và cả những phần mở rộng của SOAP, nó được dùng khi muốn xây dựng những web service đảm bảo và tin cậy. Web Service Security đảm bảo cho tính an toàn, sự toàn vẹn thông điệp và tính tin cậy của thông điệp.

- Phương thức hoạt động:

+ Máy chủ chỉ rõ những thành phần của thông điệp cần được ký, nếu thông điệp đến không có một chữ ký hợp lệ thì yêu cầu thất bại. Chỉ rõ một khóa để duyệt chữ ký của thông điệp đến xem có hợp lệ hay không. Chỉ rõ giải thật mà khóa sử dụng để đảm bảo toàn vẹn thông điệp gửi đến. Thông điệp phản hồi phải được ký và cung cấp thông tin chữ ký khi phản hồi.

 Máy khách chỉ rõ những thành phần của thông điệp mà phải có chữ ký hay một dấu hiệu chứng thực nào đó. Chỉ rõ một khóa trên hệ thông tập tin mà sẽ ký lên thông điệp và chỉ những máy được cấp quyền mới có quyền sở hữu khóa này. Chỉ rõ những giải thuật sẽ được sử dụng bởi khóa để ký lên thông điệp.


- Một số các Web Service Security:  XACML, SAML, XrML, SSL,...

4. Kết

*Web Services: 

Mặc dù có nhiều ưu điểm có nhiều mô-đun và có thể công bố lên internet, khả năng hoạt động rộng lớn với phần mềm khác nhau chạy nền tảng khác nhau, sử dụng các giao thức chuẩn mở, nâng cao khả năng tái sử dụng, 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, dễ dàng cho việc phát triển các ứng dụng phân tán. Nhưng 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, 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 tới vấn đề an toàn và bảo mật.

*RESTful:

-Thiết kế giao diện RESTful, XML so với HTTP là một giao diện vượt trội cho phép các ứng dụng bên trong, như các giao diện người dùng dựa trên Asynchronous JavaScript + XML (Ajax), dễ dàng kết nối, xác định, và tiêu thụ tài nguyên.

- Đưa một tài nguyên hệ thống thông qua một RESTful API là một cách linh động để cung cấp các loại ứng dụng khác nhau với dữ liệu đã được định dạng theo cách tiêu chuẩn. Nó giúp đáp ứng các yêu cầu tích hợp, điều rất quan trọng để xây dựng hệ thống khi dữ liệu được kết hợp dễ dàng (mashups) và để mở rộng hoặc xây dựng trên một gói hệ thống căn bản.

- REST không phải là sự lựa chọn luôn đúng. Đã có trường hợp khi thiết kế Web service, nó có sự kém độc lập đối với phần mềm trung gian (ví dụ: một ứng dụng máy chủ) so với loại dựa trên SOAP hặc WSDL.




    

Không có nhận xét nào:

Đăng nhận xét