8. Đúng gúp của luận ỏn về lý luận và thực ti ễn
1.2.2. Cụng nghệ Web Services
ạ Khỏi niệm Web Services
Web Services là một cụng nghệ tớch hợp ứng dụng, nhằm mục đớch tớch hợp cỏc ứng dụng phõn tỏn trờn nền tảng của mụi trường Internet và luụn cú sự thay đổi (Anura Guruge, 2004). Xuất phỏt từ khỏi niệm e-Speak, sau đú là e-Services, đến thỏng 6 năm 2000, Microsoft giới thiệu khỏi niệm mới là Web Services. Microsoft cũng là cụng ty đưa ra chiến lược ứng dụng và phỏt triển Web Services. Đến nay, hầu hết cỏc cụng ty cung cấp giải phỏp CNTT đều sử dụng cụng nghệ Web Services. Với Web Services người sử dụng cú thể biết được cỏch thức triệu gọi dịch vụ thụng qua giao diện mụ tả dịch vụ. Cỏc ứng dụng trao đổi dữ liệu với nhau thụng qua cỏc thụng điệp được xõy dựng theo một cấu trỳc chung và sử dụng giao thức truyền thụng http (Anura Guruge, 2004).
Theo Thomas Erl (2005), Web Services là một cụng nghệ triệu gọi từ xa cú tớnh khả chuyển cao nhất hiện nay, nú mang tớnh độc lập nền, độc lập ngụn ngữ. Cỏc chương trỡnh viết bằng cỏc ngụn ngữ lập trỡnh khỏc nhau, chạy trờn nền tảng (phần cứng, hệ điều hành) khỏc nhau cú thể trao đổi với nhau thụng qua cụng nghệ Web Services. Tầng giao vận của Web Services thường dựng những cụng nghệ truyền thụng phổ dụng nhất như: HTTP, SMTP,... nờn khả năng phõn tỏn trờn diện rộng như Internet là rất thuận tiện.
b. Đặc điểm của Web Services
Theo Anura Guruge (2004), Web Services cú những đặc điểm cũng như những ưu điểm và hạn chếđược liệt kờ như sau:
+ Đặc điểm
- Hoạt động trờn đa mụi trường. - Độc lập ngụn ngữ.
- Truy cập thụng qua Web. - Cấu trỳc hướng dịch vụ. - Sử dụng cỏc chuẩn mở. - Tự mụ tả. + Ưu điểm - Cú thể tỏi sử dụng, dễ bảo trỡ. - Linh hoạt, dễ mở rộng. - Cài đặt dễ dàng. - Bảo mật caọ - Chi phớ thấp, hiệu quả caọ - Tớnh ổn định, chịu lỗi caọ + Hạn chế - Cú thể xảy ra thiệt hại đối với toàn hệ thống nếu dịch vụ ngưng hoạt động. - Sử dụng nhiều chuẩn mở khiến người dựng khú nắm bắt.
- Phải quan tõm nhiều đến vấn đề bảo mật.
c. Kiến trỳc của Web Services
Cụng nghệ Web Services sử dụng cỏc chuẩn đặc tả, mở rộng khả năng của cỏc chuẩn cú sẵn như XML, URL và HTTP, nhằm cung cấp chuẩn truyền thụng giữa cỏc hệ thống với nhaụ Web Services là những thành phần thực thi một số xử lý nghiệp vụ thụng qua dịch vụ, những dịch vụ này cú thểđược triệu gọi bởi người sử dụng dịch vụ bằng cỏch sử dụng giao thức SOAP trờn HTTP. Web Services độc lập về ngụn ngữ và độc lập về nền tảng, bởi vỡ nú tỏch biệt đặc tả ra khỏi cài đặt, nú cũn hỗ trợ tớch hợp kết nối lỏng lẻo giữa cỏc ứng dụng với nhau qua trao đổi cỏc thụng điệp đồng bộ và bất đồng bộ. Web Services dựa trờn kiến trỳc phõn tỏn trong đú khụng cú bất kỡ dịch vụ xử lý trung tõm nào và tất cả dạng truyền thụng đều sử dụng cỏc giao thức chuẩn. Cỏc giao thức khụng được cú bất kỳ ý nghĩa ngầm định nào bờn trong mà phải được mụ tả rừ ràng.
Trong Web Services, giữa thành phần triệu gọi dịch vụ từ phớa ứng dụng sử dụng dịch vụ và Web Services đều khụng cần biết cài đặt của nhaụ Web Services sử dụng XML, một ngụn ngữđộc lập trong việc biểu diễn dữ liệu, làm ngụn ngữ trao đổi thụng tin.
1) Người cung cấp dịch vụ (Service Provider): Sử dụng Web Services Description Language (WSDL) để mụ tả dịch vụ mà mỡnh cú thể cung cấp cho Người mụi giớị
2) Người mụi giới dịch vụ (Service Broker): Lưu trữ thụng tin về cỏc dịch vụ được cung cấp. Người cung cấp dịch vụ cung cấp chức năng tỡm kiếm hỗ trợ Người yờu cầu dịch vụ trong việc xỏc định Người cung cấp dịch vụ phự hợp. Thành phần chớnh của Người mụi giới dịch vụ là Universal Discovery, Description, Integration (UĐI).
3) Người yờu cầu dịch vụ (Service Requester): Dựng WSDL đểđặc tả nhu cầu sử dụng dịch vụ và gửi cho Người mụi giới dịch vụ.
Hỡnh 1.14. Mối quan hệ giữa cỏc thành phần của Web Servicẹ
Nguồn: Hartwig Gunzer, 2002; Thomas Erl, 2005.
Mụ hỡnh Web Services dạng đơn giản định nghĩa cỏch thức tương tỏc giữa Service Requester, Service Provider, và Service Directory như sau: bờn yờu cầu dịch vụ tỡm kiếm cỏc dịch vụ trong một UĐI Service Directorỵ Bờn yờu cầu dịch vụ sẽ lấy thụng tin mụ tả WSDL của cỏc Web Services cung cấp bởi Service Provider từ trước thụng qua Service Directorỵ Sau khi lấy được mụ tả WSDL, bờn yờu cầu dịch vụ kết nối đến nhà cung cấp dịch vụ bằng cỏch triệu gọi cỏc dịch vụ thụng qua giao thức SOAP. Web Services cơ bản bao gồm cỏc chuẩn SOAP, WSDL và UĐI (Hỡnh 1.15). WSDL WSDL Người mụi giới dịch vụ (Service Broker) Người cung cấp dịch vụ (Service Provider) Người yờu cầu dịch vụ (Service Requester) Internet Triệu gọi (sử dụng SOAP) Cụng bố dịch vụ (sử dụng SOAP) Tỡm kiếm dịch vụ (sử dụng SOAP)
Hỡnh 1.15. Cỏc thành phần kỹ thuật cơ bản của một Web Servicẹ
Nguồn: Tổng hợp từ Hartwig Gunze, 2002; Anura Guruge, 2004;Thomas Erl, 2005.
+ SOAP (Simple Object Access Protocol)
SOAP là một giao thức giao tiếp dựng trong Web Services, được xõy dựng dựa trờn XML. SOAP được sử dụng đểđặc tả và trao đổi thụng tin về cỏc cấu trỳc dữ liệu cũng như cỏc kiểu dữ liệu giữa cỏc thành phần trong hệ thống. Hỡnh 1.14 mụ tả giao tiếp của một ứng dụng với một Web Service được thực hiện qua thụng điệp SOAP, sử dụng giao thức HTTP. Ứng dụng sẽ đặc tả yờu cầu trong SOAP Message và thụng qua giao thức mạng gửi đến cho Web Servicẹ Web Service sẽ nhận và phõn tớch yờu cầu sau đú trả về kết quả thớch hợp. Hỡnh 1.16 mụ tả cấu trỳc một thụng điệp SOAP bao gồm cỏc thành phần sau:
- Protocol Header: Chứa thụng tin về cỏc chuẩn giao thức được sử dụng.
- SOAP Envelope: Bao gồm hai thành phần là SOAP Header và SOAP Bodỵ Trong SOAP Header chứa cỏc Header của Message, cũn trong SOAP Body chứa thụng tin về tờn và dữ liệu được đặc tả dưới dạng XML và trường lỗi được dựng để đưa ra cỏc lỗi khi gọi Web Services.
XML UĐI WSDL SOAP Internet CẤU TRÚC CÁC CHUẨN MẠNG
Hỡnh 1.16. Cấu trỳc của SOAP Messagẹ
Nguồn: Ioannis G. Baltopoulos, 2005.
+ WSDL (Web Service Description Language)
WSDL là một định dạng XML cho việc mụ tả tất cả cỏc thụng tin cần thiết để triệu gọi và giao tiếp với một dịch vụ Web. Nú trả lời cho cỏc cõu hỏi aỉ làm gỡ? ở đõủ tại saỏ làm như thế nàỏ Một mụ tả dịch vụ cú hai thành phần chớnh:
- Mụ tả chức năng: Xỏc định chi tiết về cỏch thức cỏc dịch vụ Web được triệu gọi, nú được triệu gọi ởđõủ Tập trung vào cỏc chi tiết cỳ phỏp của thụng điệp và làm thế nào để cấu hỡnh cỏc giao thức mạng nhằm cung cấp cỏc thụng điệp.
- Mụ tả phi chức năng: Cung cấp cỏc thụng tin chi tiết khỏc, là cỏc thụng tin thứ yếu chẳng hạn như chớnh sỏch bảo mật, tiến độ, lưu lượng,…
Như vậy, WSDL được sử dụng để mụ tả cỏch thức truy cập Web Services. Bằng cỏch mụ tả đú người sử dụng cú thể biết được cỏc phương thức và sử dụng cỏc tham sốđể triệu gọi chỳng. WSDL thường xỏc định giao diện lập trỡnh của cỏc dịch vụ Web (Hỡnh 1.17). Cỏc cụng cụ như VisualStudiọNet tự động quỏ trỡnh truy cập WSDL, đọc và mó húa ứng dụng để tham chiếu một Web Service cụ thể.
SOAP Message Protocol Header SOAP Envelope SOAP Header SOAP Body Individual header
Message name and data Fault Thụng điệp SOAP hoàn chỉnh Phần chứa cỏc Header Cỏc Header cụ thể Phần Body Tờn và dữ liệu dạng XML
Gửi những ngoại lệ dựng Web Service Phần Envelope
Hỡnh 1.17. Cấu trỳc của một WSDL mụ tả Web Servicẹ
Nguồn: Ioannis G. Baltopoulos, 2005.
Trong đú:
- Phần tử Type: Dựng để mụ tả kiểu dữ liệu của dịch vụ. WSDL sử dụng ngụn ngữ XML để định nghĩa kiểu dữ liệụ Như vậy, phần tử Type được mụ tả bằng ngụn ngữ XML.
- Phần tử Message: Chứa nội dung thụng điệp. Phần tử này được mụ tả bằng XML. - Phần tử Port Type: Mụ tả cỏch gửi và nhận cỏc thụng điệp giữa cỏc ứng dụng.
Phần tử này chứa cỏc thụng điệp nhận và thụng điệp gửị
- Phần tử Binding: Mụ tảđịnh dạng thụng điệp và giao thức một cỏch chi tiết. Nú chỉ định Port Type, cỏc Operation, SOAP Binding Type, SOAP Protocol được dựng.
- Phần tử Port: Là một cổng đầu cuốị Nú định nghĩa như một tập hợp cỏc Binding và một địa chỉ mạng để truy cập đến Web Services. Nú được mụ tả bởi XML.
- Phần tử Service: Chứa tờn dịch vụ và tập hợp cỏc cổng cú liờn quan. Một tài liệu WSDL được phộp chứa nhiều phần tử dịch vụ. Mỗi dịch vụ phải cú tờn duy nhất. + UĐI (Universal Description, Discovery, Intergration)
UĐI là chuẩn phục vụ cỏc tổ chức đăng ký và tỡm kiếm cỏc Web Services.
Type Message Port Type Binding Port Service Kiểu dữ liệu Thụng điệp Giao diện Mó húa Địa chỉ vật lý của dịch vụ Định vị thực tế của dịch vụ
UĐI hỗ trợ tỡm kiếm, định vị 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. Nhiệm vụ của UĐI là cung cấp dịch vụ thống nhất, dễ dàng truy cập bởi cỏc ứng dụng thụng qua một giao diện chương trỡnh hoặc bởi những người dựng thụng qua một giao diện đồ họa (Anura Guruge, 2004). Như vậy, UĐI đúng vai trũ như nhà mụi giới dịch vụ 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. UĐI hỗ trợ chức năng:
- Tỡm kiếm, định vị những người cung cấp dịch vụ
- Thụng tin về nhà cung cấp dịch vụ (địa chỉ, thụng tin liờn lạc và cỏc định danh) - Thụng tin kỹ thuật (làm thế nào đểđịnh vị, truy cập và sử dụng một dịch vụ cụ
thể).