TÌM HIỂU BAN ĐẦU VỀ WEB SERVICE
Bài đăng này đã không được cập nhật trong 6 nă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.
-
Đặc điểm:
-
Cho phép client và server tương tác ngay cả trong môi trường khác nhau. (Ví dụ server chạy linux, client chạy windows).
-
Phần lớn được xây dựng dựa trên mã nguồn mở và phát triển các chuẩn đã được công nhận. (Ví dụ XML).
-
Nó có thể triển khai bởi 1 phần mềm ứng dụng phía server (Ví dụ : PHP, Oracle Application server, Microsoft .NET)
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.
-
-
Cách thức hoạt động:
-
Nền tảng cơ bản của WS là XML + HTTP.
-
XML cung cấp một ngôn ngữ mà có thể được sử dụng giữa ngôn ngữ lập trình và các nền tảng khác. Đồng thời, nó còn có thể được dùng để mô tả những thông điệp và chức năng phức tạp. Do web service là sự kết hợp của nhiều thành phần khác nhau, do đó web serices sử dụng các tính năng và đặc trưng ủa các thành phần này để giao tiếp với nhau. Vì vậy XML là một công cụ chính yếu để giải quyết vấn đề này. Web service tận dụng khả năng giải quyết vấn đề của các ứng dụng lớn trên các hệ điều hành khác nhau cho chúng giao tiếp với nhau. Yêu cầu này được đáp ứng với lập trình Java, một ngôn ngữ việt một lần sử dụng mọi nơi là một lựa chọn thích hợp cho phát triển web service.
-
Giao thức HTTP là giao thức được sử dụng nhiều nhất trong các giao thúc trên internet.
-
Nền tảng của WS bao gồm các thành phần:
-
SOAP (Sinple Object Access Protocol): Giao thức truy cập đối tượng đơn giản.
-
UDDI (Universal Description, Discovered and Integrated).
-
WSDL (Web Services Desription Language): Ngôn ngữ mô tả WS.
-
-
Tại sao lại sử dụng WS?
Một vài năm trước, WS không được nhiều người chú ý đến vì tốc độ của nó không đủ nhanh.
-
Khả năng tương tác được ưu tiên cao nhất:
Trong khi hầu hất các nền tảng có thể truy cập web bằng các trình duyệt web thì một số khác lại không thể tương thích được. Và để các nền tảng này có thể làm việc được với nhau, các ứng dụng web được ra đời. Ứng dụng web là các ứng dụng đơn giản chạt trên web. Chứng được xây dựng dựa trên các tiêu chuẩn về trình duyệt web và có thể được sử dụng dởi bất cứ một trình duyệt hay một nền tảng nào.
-
WS nâng tầm các ứng dụng web:
Bằng các sử dụng WS, những ứng dụng của chúng ta có thể xuất bản các chứ năng cũng như nội dung của nó đến mọi người dùng internet trên thế giới. WS sử dụng XMLđể mã hóa và giải mã dữ liệu, và dùng SOAP để chuyển tải các dữ liệu này (bằng các sử dụng các giao thức mở). WS có thể kết nối Windows server và UNIX server lại với nhau.
-
WS có hai cách dùng:
-
Tái sử dụng các thành phần ứng dụng:
Có nhiều lý do khiến một ứng dụng được dùng thường xuyên. Vì thế làm cách nào để một ứng dụng có thể được sử dụng lại nhiều lần? WS có thể cung cấp các thành phần iwngs dụng như: chuyển đổi các đơn vị tiền tệ, dự báo thời tiết, hoặc thậm chí là việc dịch ngôn ngữ.
-
Kết nối các phần mềm sẵn có:
WS có thể giải quyết vấn đề tương tác giữa các ứng dụng khác nhau bằng cách cho phép các ứng dụng này liên kết các dữ liệu của chúng lại với nhau. Với WS, chúng ta có thể trao đổi dữ liệu giữa các ứng dụng và các nền tảng khác nhau
-
-
-
Nền tảng WS
WS bao gồm 3 thành phần cơ bản, đó là: SOAP, WSDL, và UDDI.
-
SOAP
-
SOAP là một giao thức dựa trên nền XML cho phéo ứng dụng trao đổi các thoogn 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.
-
SOAP là viết tất của Simple Object Access Protocol.
-
SOAP là một giao thức truyền thông.
-
SOAP là một định dạng dùng để gửi đi các thông điệp.
-
SOAP được thiết kế để giao tiếp thông qua internet.
-
SOAP là một nền tảng XML.
-
SOAP rất đơn giản và có thể mở rộng.
-
SOAP cho phép chúng ta vượt qua bức tường lửa (firewall)
-
SOAP là một tiêu chuẩn W3C.
-
SOAP là giao thức sử dụng XML để định nghĩa dữ liệu dạng thuần văn bản (plaint text) thông qua HTTP. SOAP là cách mà web service sử dụng để truyền tải dữ liệu. Vì dựa trên XML nên SOAP là một giao thức không phụ thuộc platform cũng như bất kì ngôn ngữ lập trình nào.
-
Một thông điệp SOAP được chia thành hai phần là header và body. Phần header chỉ ra địa chỉ web service, host, Content-Type, Content-Length tương tự như một thông điệp HTTP.
-
-
WSDL
WSDL là một ngôn ngữ dựa trên nền XML dùng để định vị và mô tả WS.
-
WSDL là viết tắt của Web services Description language.
-
WSDL dựa trên nền tảng XML.
-
WSDL được dùng để mô tả WS.
-
WSDL được dùng để định vị WS.
-
WSDL là một tiêu chuẩn W3C.
WSDL định nghĩa cách mô tả web service theo cú pháp tổng quát XML, bao gồm các thông tin:
-
Tên service
-
Giao thức và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của web service.
-
Loại thông tin: những thao tác, những tham số, những kiểu dữ liệu gồm có giao diện của web service, công với tên cho giao diện này.
-
Phần giao diện mô tả giao diện và giao thức kết nối, phần thi hành mô tả thông tin để truy xuất service.
-
-
UDDI
UDDI là một thư mục dịch vụ, nơi mà chúng ta có thể đăng ký và tìm kiếm các dịch vụ web.
-
UDDI là viết tắt của Universal Description, Discovery and integration.
-
UDDI là một thư mục dùng để lưu trữ thông tin về các dịch vụ web.
-
UDDI là một thư mục các giao diện dịch vụ web được mô tả bởi WSDL.
-
UDDI giao tiếp thông qua SOAP.
-
UDDI được xây dựng để góp phần vào nền tảng Microsoft .NET.
Để có thể sử dụng các dịch vụ, trước tiên client phải tìm dịch vụ, ghi nhận thông tin về cách sử dụng dịch vụ và biết được đối tượng cung cấp dịch vụ. UDDI định nghĩa một số thành phần cho biết trước các thông tin này để cho phép các client truy tìm và nhận lại những thông tin yêu cầu sử dụng web services.
Cấu trúc UDDI gồm các thành phần:
-
White pages: chứ thông tin liên hệ và các định dạng chính yếu của web services (tên giao dịch, địa chỉ...) Những thông tin này cho phép các đối tượng khác xác định được service.
-
Yellow pages: chứa thông tin mô tả web service theo những chủng loại khác nhau. Những thông tin này cho phép các đối tượng thấy web service theo từng chủng loại của nó.
-
Green pages: chứa thông tin kỹ thuật mô tả các hành vi và các chức năng của web service để tìm kiếm.
-
-
-
An toàn cho dịch vụ web
-
Ngày nay, cùng với sự phát triển của Internet, Web Service cũng trở thành một kỹ thuật dùng để liên kết và tương tác giữa các ứng dụng trên các máy tính khác nhau thông qua môi trường Internet. Ngày càng có nhiều nhà cung cấp dịch vụ muốn đưa các dịch vụ ra công cộng và vấn đề lớn nhất mà các nhà cung cấp đang phải đối mặt chính là bảo mật cho Web Service. Việc đảm bảo an toàn cho Web Service là một vấn đề đặc biệt quan trọng, nhất là đối với những dịch vụ liên quan tài chính, thị trường chứng khoán và thương mại điện tử. Vấn đề bài toán đặt ra là làm thế nào để những thông tin, dữ liệu được trao đổi một cách an toàn mà không bị tấn công.
-
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.
-
Để tạo sự an toàn thông tin trong ứng dụng thì
- Phía 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.
- Phía 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.
-
Dưới đây là một số kỹ thuật Web Service Security:
- eXtensible Access Control Markup Language (XACML) : Các đối tượng của XACML được dùng để tạo ra một tiêu chuẩn cho việc miêu tả các thực thể điều khiển truy cập và các thuộc tính của chúng. Chúng đề nghị nhiều các điểu khiển truy cập hơn việc từ chối và cấp quyền truy cập
- Security Assertion Markup Language (SAML) : SAML là sự kết hợp giữa S2ML và AuthML, được phát triển thông qua OASIS. SAML là một tiêu chuẩn dựa trên XML, được hình thành như một khuôn khổ cho việc trao đổi thông tin liên quan đến an ninh, thể hiện dưới các xác nhận và sự tin tưởng giữa các bên tham gia trao đổi, nhằm xác thực giao tiếp người dùng, quyền lợi và các thuộc tính thông tin.
- XML Key Management Specification (XKMS) : XKMS là một giao thức được phát triển bởi W3C để mô tả sự phân phối và đăng ký khóa công cộng, nó làm giảm các ứng dụng phức tạp cú pháp của nền tảng được sử dụng để thiết lập các mối quan hệ tin tưởng.
- Web Services Policy Framework (WS-Policy) : WS-Policy định nghĩa các điều kiện theo một yêu cầu có thể đáp ứng, tương ứng, khẳng định chính sách của các web servuce đó, giải pháp thay thế chính sách và cuối cùng là toàn bộ các chính sách: f Một sự khẳng định chính sách được hỗ trợ bằng cách yêu cầu khi và chỉ khi người yêu cầu đáp ứng được các yêu cầu tương ứng để khẳng định. f Một chính sách được hỗ trợ bằng cách yêu cầu khi và chỉ khi có yêu cầu hỗ trợ ít nhất là một trong những lựa chọn thay thế trong chính sách
- eXentisble Rights Markup Language (XrML) : XrML là một ngôn ngữ XML mà xác định làm thế nào để mô tả các quyền, lệ phí và điều kiện để sử dụng nội dung kỹ thuật số, với tính toàn vẹn thông điệp và tổ chức chứng thực.
- Secure Socket Layer (SSL) : SSL là một sự xuất hiện bổ sung của VPN (Virtual Private Networks).Nó được thiết kế cho giải pháp truy cập từ xa và không cung cấp những kết nối site-to-site. SSL VPNs cung cấp vấn đề bảo mật truy cập đầu tiên những ứng dụng web. SSL được coi là giao thức bảo mật trong lớp vận chuyển (Layer Transport) có tầm quan trọng cao nhất đối với sự bảo mật của các trình ứng dụng trên Web. Và đó là một giao thức đa mục đích được thiết kế để tạo ra các giao tiếp giữa hai chương trình ứng dụng trên một cổng định trước (thông thường là socket 433) nhằm mã hóa toàn bộ thông tin đi/đến, mà ngày nay được sử dụng rộng rãi cho giao dịch điện tử như truyền số hiệu thẻ tin dụng, mật khẩu, số bí mật cá nhân (PIN) trên Internet.
-
Tài liệu tham khảo : Web Services Tutorial - W3Schools và các đồ án nghiên cứu về web service
All rights reserved