1. Trang chủ
  2. » Luận Văn - Báo Cáo

HỆ PHÂN tán sử DỤNG mô HÌNH WEB SERVICES

22 982 6
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hệ phân tán sử dụng mô hình web services
Tác giả Phạm Văn Hợp, Nguyễn Mạnh Cường, Vũ Đức Hùng
Người hướng dẫn TS. Vũ Thị Hương Giang
Trường học Trường Đại học Bách khoa Hà Nội
Chuyên ngành Nguyên lý và mô thức phát triển hệ phân tán
Thể loại Tiểu luận
Năm xuất bản 2012
Thành phố Hưng Yên
Định dạng
Số trang 22
Dung lượng 277,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giới thiệu sơ lược nội dung Web servicesWeb services là một hệ thống phần mềm được thiết kế để hỗ trợ khả năngtươ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ạngIntern

Trang 1

VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

-* -BÁO CÁO TIỂU LUẬN

IT6040 NGUYÊN LÝ VÀ MÔ THỨC PHÁT TRIỂN HỆ

PHÂN TÁN

Đề tài: HỆ PHÂN TÁN SỬ DỤNG MÔ HÌNH

WEB SERVICES

Giảng viên hướng dẫn : TS Vũ Thị Hương Giang

Học viên thực hiện : Phạm Văn Hợp

Nguyễn Mạnh Cường

Vũ Đức Hùng Lớp: : Cao học 12ACNTT - Hưng Yên

Trang 2

2

Trang 3

MỤC LỤC

MỤC LỤC 1

LỜI CẢM ƠN 1

1 Giới thiệu sơ lược nội dung Web services 3

2 Đặc điểm mô hình phân tán sử dụng Web services 4

3 Mô hình hoạt động và kiến trúc giao thức của Web services 6

4 Các thành phần của Web services 8

TÀI LIỆU THAM KHẢO 20

LỜI CẢM ƠN

Lời đầu tiên, chúng em xin được bày tỏ lòng biết ơn sâu sắc tới cô giáo TS Vũ Thị Hương Giang – Giảng viên Viện CNTT & TT – Trường ĐHBK Hà Nội đã tận tình hướng dẫn và tạo mọi điều kiện thuận lợi để chúng em hoàn thành báo cáo tiểu luận của mình.

Chúng em xin chân thành cảm ơn tất cả các thầy cô giáo trong Viện Công nghệ thông tin và Truyền thông – Trường Đại học Bách khoa Hà Nội đã nhiệt tình giảng dạy

và cung cấp những kiến thức quý báu để chúng em có thể hoàn thành tốt báo cáo tiểu luận này.

Cuối cùng , xin cảm ơn tất cả các bạn đồng nghiệp đã động viên, góp ý và trao đổi trong suốt thời gian vừa qua.

Vì thời gian có hạn và trình độ bản thân còn nhiều hạn chế, cho nên đề tài không tránh khỏi những thiếu sót, rất mong nhận được sự góp ý quý báu của tất cả các thầy cô cùng toàn thể các bạn để đề tài được hoàn thiện hơn.

Xin chân thành cảm ơn!

Hưng Yên, ngày 06 tháng10 năm 2012

Nhóm thực hiện

Phạm Văn Hợp Nguyễn Mạnh Cường

Trang 5

1 Giới thiệu sơ lược nội dung Web services

Web services là một hệ thống phần mềm được thiết kế để hỗ trợ khả năngtươ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ạngInternet, được mô tả bằng XML, Web services 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 theo yêu cầu của ngườidùng Các chức năng này có thể được yêu cầu bởi các Client bằng cách sử dụnggiao thức SOAP thông qua HTTP Web services độc lập về ngôn ngữ và nềntảng bởi vì nó tách biệt đặc tả ra khỏi cài đặt Web services dựa trên cấu trúcphâ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ạngtruyền thông đều sử dụng các giao thức chuẩn

Một trong những đặc tính quan trọng của mô hình tính toán dựa trên Webservices là ở đó cả các client và Web services đều không cần biết cài đặt củanhau Web services hứa hẹn mang đến khả năng tạo ra các môi trường phân tántrong đó bất kì ứng dụng nào, hoặc bất kì component ứng dụng nào cũng đều cóthể kết hợp với nhau dễ dàng với tính độc lập nền tảng và độc lập ngôn ngữ.Điểm khác biệt chính của Web services với các công nghệ phân tán trước đâynhư Win32, J2EE,… là ở sự chuẩn hoá Web services sử dụng XML, một ngônngữ độc lập trong việc biểu diễn dữ liệu, làm ngôn ngữ trao đổi thông tin Bởivậy khi được kết hợp với nhau, khả năng tích hợp phần mềm, tính liên tác và sửdụng lại của các hệ thống theo mô hình Web Services thật đáng kinh ngạc

Trang 6

2 Đặc điểm mô hình phân tán sử dụng Web services

2.1 Đặc điểm của Web services

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 Đó là vì Web service sử dụng XML, mộtchuẩn mở đã được công nhận và có thể được hiểu bởi bất kỳ ngôn ngữ lập trìnhnào

Giao diện của dịch vụ Web được xuất bản thông qua tài liệu WSDL Tàiliệu này định nghĩa cấu trúc thông điệp trao đổi và cấu trúc dữ liệu sử dụngtrong thông điệp đó

Đây là một trong những đặc tính then chốt làm nên thành công cho Webservices

Web service không đòi hỏi phía client phải cài đặt bất cứ một thành phầnmới nào Còn ở phía server, để triển khai Web service thì chỉ cần có Servletengine, Apache hoặc NET Runtime,… Khi đã được triển khai thì client có thể

sử dụng ngay các dịch vụ Điều này khác với các công nghệ khác như DCOMhay RMI, khi mà client phải cài đặt Client stub để có thể truy cập dịch vụ

Dựa trên các chuẩn mở: XML, SOAP, WSDL, UDDI

Web services được phát hành, xác định và gọi đều thông qua môi trườngWeb Trong đó các mô tả về dịch vụ được xuất bản sử dụng WSDL, người dùngtìm kiếm và xác định dịch vụ nhờ sự trợ giúp của UDDI và yêu cầu dịch vụ bằngSOAP Tất cả các giao thức này đều dựa trên Web

Trang 7

2.2 Ưu điểm và nhược điểm

2.2.1 Ưu điểm

Cung cấp khả năng tương tác rộng lớn hơn: Web service có thể được truyxuất bởi con người thông qua trình duyệt web, bởi các ứng dụng chạy trên cácnền tảng khác nhau và thậm chí là cả các web service khác

Dựa trên các chuẩn mở đã được chấp nhận rộng rãi, giúp cho các lập trìnhviên dễ dàng hiểu được

Nâng cao khả năng tái sử dụng và đóng gói lại phần mềm trong giao diệnWeb Service

Tạo ra sự kết nối linh hoạt, mềm dẻo giữa các thành phần trong hệ thống,giảm độ phức tạp của hệ thống, dễ dàng cho việc phát triển các ứng dụng phântán

Thúc đẩy sự phát triển của các hệ thống tích hợp, dẫn đến khả năng pháttriển hệ thống nhanh với giá thành hạ, nhờ có sự tương tác hiệu quả với các phầnmềm, hệ thống khác thông qua dịch vụ Web

2.2.2 Nhược điểm

Web Services phụ thuộc vào môi trường web, vì vậy khi một Web Servicekhông hoạt động sẽ gây ảnh hưởng tới tất cả các ứng dụng phụ thuộc và sử dụngdịch vụ nó cung cấp

Web Service dựa trên quá nhiều chuẩn mở khiến người dùng, người pháttriển hệ thống khó nắm bắt và cập nhật

Trang 8

Vấn đề an toàn và bảo mật của Web Service cũng cần được quan tâm,ngoài việc bảo vệ an toàn thông tin trước hacker khi truyền qua môi trườngmạng, còn cần lưu tâm đến an toàn thông tin giữa các bên cung cấp dịch vụ.

3 Mô hình hoạt động và kiến trúc giao thức của Web services3.1 Mô hình hoạt động của Web services

3.1.1 Mô hình

Một Web Service cũng có thể đóng vai trò một Service requestor, bằngcách sử dụng dịch vụ của các Web Service khác để thực hiện mục tiêu của mình

3.1.2 Hoạt động của Web services

Trong mô hình hoạt động của dịch vụ Web, có ba thực thể cơ bản là: bêncung cấp dịch vụ (Service provider), bên sử dụng dịch vụ (Service requestor) vàđơn vị quản lý đăng ký dịch vụ (Service registry) Service provider có một dịch

vụ, nó sẽ phát hành giao diện và mô tả dịch vụ đó Dịch vụ này được đăng kývới thực thể Service registry bằng cách gửi mô tả dịch vụ tới đó Mô tả dịch vụnày chứa tất cả các thông tin cần thiết để một Service requestor có thể tìm thấy

và sử dụng dịch vụ, bao gồm kiểu dữ liệu, giao diện mô tả các hàm chức năng,địa chỉ của dịch vụ trong mạng, thông tin cần thiết để thiết lập kết nối Các bên

sử dụng dịch vụ có thể tìm kiếm dịch vụ mình cần trên Service registry – được

mô tả sử dụng UDDI (Universal Description, Discovery and Integration)

Trang 9

3.2 Kiến trúc giao thức của Web services

3.2.1 Các chuẩn của dịch vụ Web

Dịch vụ Web gồm có 3 chuẩn chính: SOAP (Simple Object AccessProtocol), WSDL (Web Service Description Language) và UDDI (Universal Description, Discovery, and Integration) Trong đó UDDI được sửdụng để đăng ký và khám phá dịch vụ Web đã được miêu tả cụ thể trong WSDL.Giao tác UDDI sử dụng SOAP để nói chuyện với UDDI server, sau đó các ứngdụng SOAP yêu cầu một dịch vụ Web Các thông điệp SOAP được gửi đi chínhxác bởi HTTP và TCP/IP

*Kiến trúc chồng giao thức của Web Service

Tầng mô tả dịch vụ (Service Description): được sử dụng để miêu tả giaodiện chung cho một dịch vụ Web cụ thể WSDL là ngôn ngữ được sử dụng đểphục vụ cho mục đích này, đó là một ngôn ngữ mô tả giao tiếp và thực thi dựa

Trang 10

trên XML Web Service sử dụng ngôn ngữ này để truyền tham số và các kiểu dữliệu cho dịch vụ thực sự bên trong để thực thi.

Tầng dịch vụ (Service): chứa cài đặt chi tiết của dịch vụ

Tầng đăng ký dịch vụ (Service Registry) với công nghệ tiêu chuẩn làUDDI được sử dụng cho cả bên yêu cầu dịch vụ và bên cung cấp dịch vụ Mộtdịch vụ cần được đăng ký thì bên sử dụng mới có thể tìm thấy và sử dụng

Bên cạnh đó còn có một số tầng khác như Policy, Security, Transaction,Management phục vụ các yêu cầu về bảo mật, toàn vẹn thông tin

4 Các thành phần của Web services

4.1 XML

4.1.1 Định nghĩa XML

XML là viết tắt của chữ eXtensible Markup Language

XML là một ngôn ngữ mô tả văn bản với cấu trúc do người sử dụng địnhnghĩa Người sử dụng hay các chương trình có thể quy ước định dạng các tags

XML (các Tags của XML chứa ý nghĩa về cấu trúc của các dữ liệu) để giao tiếp

với nhau Thông tin cần truyền tải được chứa trong các tags XML, ngoài rakhông chứa bất cứ thông tin nào khác về cách sử dụng hay hiển thị những thôngtin ấy

4.1.2 Cấu trúc XML

Trong một trang Web, ngôn ngữ đánh dấu HTML dùng các cặp Tags để

đánh dấu vị trí đầu và cuối của các mảnh dữ liệu để giúp chương trình trìnhduyệt (browser) parse (ngắt khúc để phân tích) trang Web và hiển thị các phần

Trang 11

theo ý người thiết kế trang Web Câu code HTML trên có chứa hai markup

Tags, <P> và <STRONG> Mỗi cặp Tags gói dữ liệu nó đánh dấu giữa opening

Tag và closing Tag Hai closing Tags ở đây là </P> và </STRONG> Tất cả

những gì nằm bên trong một cặp Tags được gọi là Element Để nói thêm đặc tính của một Element, ta có thể nhét Attribute như align trong opening Tag của Element ấy dưới dạng AttributeName="value", thí dụ như align="center"

Vì Tags trong HTML được dùng để format (trình bày) tài liệu nên browser cầnbiết ý nghĩa của mỗi Tag Một browser hay HTML parser sẽ thu thập các chỉ thịsau từ câu HTML trên:

1 Bắt đầu một Paragraph mới và đặt Text ở giữa trang (<P align="center">)

2. Hiển thị câu Chào mừng bạn đến thăm

(<STRONG>Vovisoft</STRONG>)

4. Hiển thị câu Web site

5 Gặp điểm cuối của Paragraph (</P>)

Để xử lý đoạn code HTML trên, chẳng những browser cần phải xác định

vị trí các Tags mà còn phải hiểu ý nghĩa của mỗi Tag Vì mỗi Tag có ý ngĩa

riêng của nó, thí dụ P cho Paragraph, STRONG để nhấn mạnh, thí dụ như dùng

chữ đậm (Bold) Giống như HTML, XML đến từ SGML Nó cũng dùng Tags

để encode data Điểm khác biệt chính giữa HTML và XML là trong khi các

Tags của HTML chứa ý nghĩa về formatting (cách trình bày) các dữ liệu, thì các Tags của XML chứa ý nghĩa về cấu trúc của các dữ liệu Tài liệu nầy chỉ

Trang 12

chứa dữ liệu, không nhắc nhở gì đến cách trình bày Điều này có nghĩa là một

XML parser (chương trình ngắt khúc và phân tích) không cần phải hiểu ý nghĩa

cũa các Tags Nó chỉ cần tìm các Tags và xác định rằng đây là một tài liệu XMLhợp lệ Vì browser không cần phải hiểu ý nghĩa của các Tags, nên ta có thể dùng

Tags nào cũng được Đó là lý do người ta dùng chữ eXtensible (mở rộng thêm được), nhưng khi dùng chữ để viết tắt thì lại chọn X thay vì e Chúng ta hãy quan sát kỹ hơn cấu trúc của một XML Trước hết, Element Order có Attribute

OrderNo với value 1023 Bên trong Element Order có:

Một Child (con) Element OrderDate với value 2002-3-27

Một Child Element Customer với value Peter Collingwood

Hai Child Elements Item, mỗi Element Item lại chứa một Child Element

ProductID và một Child Element Quantity

Đôi khi ta để một Element với tên đàng hoàng, nhưng không chứa một value, lý

do là ta muốn dùng nó như một Element Nhiệm ý (Optional), có cũng được,không có cũng không sao Cách tự nhiên nhất là gắn cái closing Tags ngay sauopening Tags Có một cách khác để biểu diễn Empty Element là bỏ closing Tags

và thêm một dấu "/" (slash) ở cuối openning Tags

4.2 WSDL

Web Sevice Description Language (WSDL) định nghĩa một tài liệu XML

mô tả giao diện của các dịch vụ web Tài liệu WSDL này được sử dụng cho bênyêu cầu dich vụ (service requester) Bên yêu cầu dịch vụ sẽ sử dụng các thôngtin về giao diện định nghĩa trong lược đồ WSDL để gọi dịch vụ web

Trang 13

Một tài liệu WSDL mô tả một Web Service như một tập các đối tượngtrừu tượng gọi là các “ports” và “endpoint” Một tài liệu WSDL cũng định nghĩabên trong nó các phương thức của web service Các phương thức tương ứng với

“operation” và dữ liệu trao đổi tương ứng với “message” Một tập các phươngthức liên quan được nhóm lại vào trong một “portType” Một ràng buộc kết nối(binding) chỉ định một giao thức mạng và đặc tả định dạng dữ liệu cho mộtportType cụ thể Kế đến một port được định nghĩa bằng cách kết hợp một địa chỉmạng với một binding Nếu một client có được một tài liệu WSDL và tìm thấybinding và địa chỉ cho mỗi port, nó có thể gọi các phương thức của dịch vụ theođúng giao thức và định dạng dữ liệu đã đặc tả

Phần tử gốc của tất cả các tài liệu WSDL luôn là phần tử <definitions>

Nó chứa bên trong sáu thành phần chia thành hai nhóm: thông tin trừa tượng vàthông tin cụ thể

Trang 14

-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 dịch vụ

Hai phần trên sẽ được lưu trong 2 tập tin XML:

-Hai phần trên sẽ được lưu trong 2 tập tin XML:

-Tập tin thi hành dịch vụ (cho phần 2)

4.2.2 Cấu trúc WSDL

Một WSDL hợp lệ gồm có hai phần :

1.Service Inteface mô tả giao diện và giao thức kết nối

2 Service Implementation mô tả thông tin để truy xuất service

Cả 2 phần trên sẽ được lưu trong 2 tập tin XML, bao gồm:

- Tập tin cho Service Interface (cho phần 1)

- Tập tin cho Service Implementation (cho phần 2)

1.1.Tập tin giao diện - Service Interface

WSDL mô tả 5 loại thông tin chính bao gồm: import, types, message , portType, binding

a.Types: WSDL định nghĩa các kiểu dữ liệu của thông điệp gửi

Trang 15

c Port type: WSDL mô tả cách gửi và nhận thông điệp.

WSDL định nghĩa bốn kiểu thao tác mà một cổng có thể hỗ trợ :

- One-way: Cổng nhận một message, message đó là message nhập

- Request-response : Cổng nhận một message và gửi một message phản hồi

- Solicit-response: Cổng gửi một message và nhận về một message

- Notification: Cổng gửi một message, message đó là message xuất.Mỗi kiểu thao tác có cú pháp biến đổi tùy theo: Thứ tự của các message

Trang 16

d Binding: Định nghĩa cách các web services kết hợp với nhau.

Một kết hợp bao gồm :

- Những giao thức mở rộng cho những giao tác và những message bao gồm thông tin URN và mã hóa cho SOAP

- Mỗi một kết hợp tham chiếu đến một loại cổng, một kiểu cổng

(portType) có thể được sử dụng trong nhiều mối kết hợp Tất cả các thao tác định nghĩa bên trong kiểu cổng phải nằm trong phạm vi mối kết hợp

2.1 Tập tin thi hành - Service Implementation

WSDL mô tả 2 loại thông tin chính bao gồm: Service và port

a Service : Nó sẽ thực hiện những gì đã được định nghĩa trong tập tin giao diện và cách gọi web services theo thủ tục và phương thức nào

Trang 17

Ở đây chúng ta thấy rằng thuộc tính kết hợp tên là qname Nó tham chiếu tới một mối kết hợp Một cổng chứa đựng chính xác một địa chỉ mạng bất kỳ cổng nào trong phần thi hành phải tương ứng chính xác với một tham chiếu trong phần giao diện.

4.3 UDDI

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ó đóngvai trò như service broker cho phép người sử dụng dịch vụ tìm đúng nhà cungcấp dịch vụ cần tìm

Trang 18

Muốn sử dụng đến các dịch vụ của UDDI, bản thân UDDI cung cấp mộttập hàm API dưới dạng SOAP Web Service Tập API được chia làm hai phần:Inquiry API dùng truy vấn và Publisher API dùng đăng ký Phần API dùng đểtruy vấn bao gồm hai phần con: một phần dùng để tạo ra các chương trình chophép tìm kiếm và duyệt thông tin trên một UDDI registry; phần còn lại dùng để

xử lý lỗi gọi dịch vụ

Thành phần xử lý chính là bộ đăng ký UDDI, đó là một file XML dùng để

mô tả một thực thể kinh doanh (business entity) kèm theo các Web service đicùng Sử dụng các dịch vụ của UDDI, các doanh nghiệp đăng ký thông tin vềnhững Web service mà họ định cung cấp Thông tin này đuợc thêm vào UDDIregistry thông qua Web site hoặc sử dụng các công cụ lập trình sử dụng các dịch

vụ theo đúng đặc tả UDDI API cho lập trình viên

4.3.2 Cấu trúc UDDI

Thông tin được chứa trong một đăng ký UDDI bao gồm các kiểu khác nhau:

-Business entity: Một business entity chứa thông tin về công bao gồm tên

công ty, một đoạn mô tả ngắn gọn và một vài thông tin liên lạc cơ bản (địa chỉ,

số điện thoại, email, …) Mỗi doanh nghiệp được cấp một định danh duy nhất

-Business service: Liên kết với mỗi business entity là một danh sách các

business service cung cấp bởi business entity đó Mỗi thành phần chứa thông tin

mô tả về dịch vụ, về thông tin phân loại của dịch vụ và danh sách các bindingtemplate liên quan đến thông tin kỹ thuật của dịch vụ Mỗi business service cần

Ngày đăng: 22/12/2013, 16:16

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w