1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tìm hiểu về Web Service và xây dựng một web service

56 712 0

Đ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

Định dạng
Số trang 56
Dung lượng 1,99 MB

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

Nội dung

LỜI CẢM ƠNQua 4 năm học tập và nghiên cứu tại Trường Đại Học Công Nghiệp Thành Phố Hồ Chí Minh, chúng em đã được các thầy, cô truyền đạt cho những kiến thức cả về lýthuyết và thực hành,

Trang 1

DANH SÁCH NHÓM

Vũ Thị Tuyết 10020983 Tìm hiểu về web service

Phạm Bá Cường 10009843 Thực hiện demo xây dựng một web service

Trang 2

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

Thanh Hóa, ngày tháng năm

Giảng viên hướng dẫn

Trang 3

NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN

Thanh Hóa, ngày tháng năm

Giảng viên phản biện

Trang 4

MỤC LỤC

MỞ ĐẦU 1

NỘI DUNG 2

CHƯƠNG 1: TÌM HIỂU CHUNG VỀ WEB SERVICE 2

1 KIẾN TRÚC THÀNH PHẦN 2

2 CÔNG NGHỆ WEBSERVICE 3

2.1 Tìm hiểu về Web Service 3

2.2 Đặc điểm của Web Service 4

2.3 Ưu điếm, nhược điểm của Web Services 6

2.3.1 Ưu điểm: 6

Web Services có những ưu điểm chính sau: 6

2.3.2 Nhược điểm 6

Mặc dù Webservice có nhiều ưu điểm như trên, nó vẫn còn tồn tài một số nhược điểm như: 6

3 Kiến trúc của Web Service 6

4 Cơ chế hoạt động của Web Service 9

5 Chồng giao thức Web Service 10

6 Các Thành Phần Của Web Service 12

6.1 XML - Extensible Markup Language 12

6.2 UDDI - Universal Description, Discovery and Integration 13

6.3 WSDL - Web Service Description Language 17

7 SOAP - Simple Object Access Protocol 20

8 KHẢ NĂNG ỨNG DỤNG 24

9 QUY TRÌNH XÂY DỰNG WEBSERVICE 26

9.1 Quy trình xây dựng một dịch vụ web 27

9.2 Tích hợp Webservice theo chuẩn 28

CHƯƠNG 2: ỨNG DỤNG WEB SERVICE XÂY DỰNG HỆ THỐNG QUẢN LÝ SINH VIÊN 30

2 Giới thiệu hệ thống quản lý sinh viên 30

Trang 5

2.1 Mô tả hệ thống quản lý sinh viên 30

2.1.1 Mô tả hiện trạng 30

2.1.2 Yêu cầu đặt ra của hệ thống 30

2.1.3 Chức năng của hệ thống quản lý sinh viên 30

2.2 Các biểu đồ hệ thống 31

2.2.1 Biểu đồ use case của hệ thống 31

2.2.2 Biểu đồ tuần tự 31

2.2.2.1 Biểu đồ tuần tự đăng nhập hệ thống 31

3.2.2.2 Biểu đồ tuần tự thêm sinh viên 32

2.2.2.3 Biểu đồ tuần tự cho xóa sinh viên 33

2.2.2.3 Biểu đồ tuần tự sửa sinh viên 33

2.2.2.4 Biểu đồ tuần tự tìm kiếm sinh viên 34

2.2.2.5 Biểu đồ tuần tự quản lý môn học 34

2.2.2.6 Biểu đồ tuần tự quản lý điểm 35

2.2.2.7 Biểu đồ tuần tự quản lý Khoa 35

2.2.2.8 Biểu đồ tuần tự cho tác vụ báo cáo thống kê 36

2.3 Biểu đồ hoạt động 37

2.3.1 Biểu đồ hoạt động đăng nhập 37

2.3.2 Biểu đồ hoạt động Quản lý điểm 38

2.3.3 Biểu đồ hoạt động Quản lý Môn học 39

2.3.4 Biểu đồ hoạt động Quản lý thông tin sinh viên 40

2.3.5 Biểu đồ hoạt động Thống kê báo cáo 41

2.4 Thiết kế 42

2.4.1 Thiết kế Cơ sở dữ liệu 42

2.4.2 Thiết kế giao diện 42

KẾT LUẬN 47

TÀI LIỆU THAM KHẢO 48

Trang 6

DANH MỤC HÌNH

Hình 1: Kiến trúc thành phần 2

Hình 2: sơ đồ tính toán phân tán 3

Hình 3: Kiến trúc thành phần phân tán 3

Hình 4: Sơ đồ tương tác giữa User và Web 4

Hình 5: Kiến trúc của Web Service 7

Hình 6: Tiến trình của môt Web Service 9

Hình 7: Chồng giao thức của Web Service 10

Hình 8: Luồng thông báo UDDI giữa Client và Registry 14

Hình 9: Ví dụ về UDDI 17

Hình 10: Cấu trúc WSDL 18

Hình 11: Tập tin giao diện_typer 18

Hình 12: Tập tin giao diện_message 18

Hình 13 Tập tin giao diện_ Port typer 19

Hình 14 Tập tin giao diện_Binding 19

Hình 15 Tập tin thi hành_Service 19

Hình 16 Tập tin thi hành_Port 20

Hình 17 Cơ chế hoạt động của giao thức 20

Hình 18 Cấu trúc một thông điệp SOAP 21

Hình 19 SOAP body 22

Hình 20 HTTP port 22

Hình 21 Ví dụ về SOAP yêu cầu 22

Hình 22 SOAP point 22

Hình 23 Giao tiếp giữa client và server 25

Hình 25 Quy trình xây dựng Webservice 26

Hình 26 Quy trình xây dựng một dịch vụ web 27

Hình 27: Mô hình use case của hệ thống 31

Hình 28: Biểu đồ tuần tự đăng nhập hệ thống 32

Hình 29 : Biểu đồ tuần tự thêm sinh viên 32

Hình 30: Biểu đồ tuần tự cho xóa sinh viên 33

Trang 7

Hình 31: Biểu đồ tuần tự sửa sinh viên 33

Hình 32: Biểu đồ tuần tự tìm kiếm sinh viên 34

Hình 33: Biểu đồ tuần tự quản lý môn học 34

Hình 34: Biểu đồ tuần tự quản lý điểm 35

Hình 35: Biểu đồ tuần tự quản lý Khoa 35

Hình 36: Biểu đồ tuần tự cho tác vụ báo cáo thống kê 36

Hình 37: Biểu đồ hoạt động đăng nhập 37

Hình 38: Biểu đồ hoạt động quản lý điểm 38

Hình 39: Biểu đồ hoạt động quản lý môn học 39

Hình 40: Biểu đồ hoạt động quản lý sinh viên 40

Hình 41: Biểu đồ hoạt động Thống kê báo cáo 41

Hình 42: cơ sở dữ liệu 42

Hình 43: Form đăng nhập 43

Hình 44: Form Menu 44

Hình 45: Form quản lý thông tin sinh viên 44

Trang 8

LỜI CẢM ƠN

Qua 4 năm học tập và nghiên cứu tại Trường Đại Học Công Nghiệp Thành Phố

Hồ Chí Minh, chúng em đã được các thầy, cô truyền đạt cho những kiến thức cả về lýthuyết và thực hành, để chúng em áp dụng những kiến thức đó vào thực tế và làm quencông việc độc lập của người kỹ sư trong tương lai, thông qua một công việc cụ thể,chính vì lý do đó mà chúng em đã được nhận đề tài tốt nghiệp rất thực tế đó là: "Tìmhiểu về Web Service và xây dựng một web service"

Trong quá trình thực hiện đồ án chúng em được sự hướng dẫn nhiệt tình của côgiáo Lê Thị Ánh Tuyết Tuy nhiên, trong quá trình thực hiện đồ án chúng em cònnhiều bỡ ngỡ, do chưa có kinh nghiệm thực tiễn nên không tránh khỏi những sai sót

Vì vậy, chúng em rất mong nhận được sự góp ý của các thầy, cô giáo để hoàn thành tốt

đồ án chuyên ngành và nhiệm vụ học tập tại trường

Chúng em xin chân thành cảm ơn!

Trang 9

MỞ ĐẦU

Ngày nay cùng với sự phát triển mạnh mẽ của môi trường Internet, các ứngdụng triển khai trên nền Web ngày càng được phát triển rộng rãi và phong phú Trongnền kinh tế thị trường hiện nay, chuyển đổi dữ liệu thông tin đang là nhu cầu thiết yếucho sự phát triển và tồn tại của các doanh nghiệp

Web Service được coi là một công nghệ mang đến cuộc cách mạng trong cáchthức hoạt động của các dịch vụ B2B (Business to Business) và B2C (Business toCustomer) Giá trị cơ bản của Web Service dựa trên việc cung cấp các phương thứctheo chuẩn trong việc truy nhập đối với hệ thống đóng gói và hệ thống kế thừa

Web Service ra đời đã mở ra một hướng mới cho việc phát triển các ứng dụngtrên Internet giải quyết vấn dề chuyển đổi dữ liệu trong quy trình thương mại của cácdoanh nghiệp

Web Service kết hợp sử dụng nhiều công nghệ khác nhau cho phép các ứngdụng được viết bằng các ngôn ngữ khác nhau, chạy trên các nền tảng khác nhau cóchuyển đổi dữ liệu thông qua môi trường mạng Internet theo cách giao tiếp tương tựbên trong một máy tính Sử dụng webservice, chúng ta có thể liên kết các hệ thống đơn

lẻ sẵn có mà không cần quan tâm tới nền tảng phát triển bên dưới của chúng

Đồ án của chúng em gồm có 2 nội dung chính:

Chương 1: Tìm hiểu chung về Web Service

Chương 2 : Ứng dụng Web Service xây dựng hệ thống quản lý sinh viên

Trang 10

NỘI DUNG CHƯƠNG 1: TÌM HIỂU CHUNG VỀ WEB SERVICE

1 KIẾN TRÚC THÀNH PHẦN

Kiến trúc thành phần:

Hình 1: Kiến trúc thành phầnỨng dụng thực hiện kết hợp với các component chứa các phương thức đượcxây dựng sẵn Khi ứng dụng gọi một phương thức trong component, nó sẽ truyền tham

số cần thiết Phương thức component thực thi và trả về kết quả cho ứng dụng

Sự phát triển việc tính toán xử lí: Trước đây, ứng dụng có thể chạy trên một

máy tính cùng với CSDL được cài đặt trên đó Tất cả các thao tác chỉ xử lí trên cùngmột máy Sau đó, với nhu cầu phát triển người ta đã xây dựng các hệ thống theo kiếntrúc Client-Server Khi đó CSDL và các thành phần xử lí nghiệp vụ được cài đặt trênmáy Server Còn tại các máy Client sẽ cài đặt thành phần giao diện Sự phát triển này

đã giúp việc thực hiện các ứng dụng đa dạng hơn, phức tạp hơn nhưng việc xử lí vẫntập trung tại máy server

Tính toán phân tán: tính toán phân tán là lĩnh vực khoa học máy tính nhằm

giải quyết các vấn đề lớn bằng cách chia nhỏ các vấn đề lớn thành các vấn đề nhỏ đểnhiều máy tính giải quyết và sau đó kết hợp các giải pháp cho các phần vào một giảipháp cho vấn đề này Gần đây các dự án tính toán phân tán đã được thiết kế để sử dụngmáy tính của hàng trăm ngàn tình nguyện viên trên khắp thế giới thông qua Internet đểtìm tín hiệu radio ngoài trái đất…

Trang 11

Hình 2: sơ đồ tính toán phân tán

Kiến trúc thành phần phân tán:

Gồm 3 kiến trúc chính:

Hình 3: Kiến trúc thành phần phân tán

2 CÔNG NGHỆ WEBSERVICE

2.1 Tìm hiểu về Web Service

Theo định nghĩa của W3C (World Wide Web Consortium), Web Services làmột hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng dụngtrên các máy tính khác nhau thông qua mạng Internet, giao diện chung và sự gắn kếtcủa nó được mô tả bằng XML

Trang 12

Web Service mô tả một cách thức chuẩn để tích hợp các ứng dụng dựa trên nềntảng Web, sử dụng các chuẩn XML(Extensible Markup Language), UDDI (UniversalDescription Discovery and Integration), SOAP (Simple Object Acces Protocol),WSDL (Web Services Description Language) thông qua giao thức Internet.

Hình 4: Sơ đồ tương tác giữa User và Web

Web Service là một công nghệ cho phép Client truy xuất để thực hiện mọi tác

vụ như một Web Application Về bản chất, Web service hoạt động dựa trên nền tảngXML và HTTP Trong đó, XML làm nhiệm vụ mã hóa, giải mã dữ liệu và dùng SOAP

để truyền tải HTTP sử dụng cho việc trao đổi thông tin trên Internet

Trước hết có thể nói rằng ứng dụng cơ bản của dịch vụ Web là tích hợp các hệthống và là một trong những hoạt động chính khi phát triển hệ thống Trong hệ thốngnày các ứng dụng cần được tích hợp với cơ sở dữ liệu (CSDL) và các ứng dụng khác,người sử dụng sẽ giao tiếp với CSDL để tiến hành phân tích dữ liệu

Trong thời gian gần đây việc phát triển mạnh mẽ của thương mại điện tử đòihỏi các hệ thống phải có khả năng tích hợp với CSDL của các đối tác kinh doanh(nghĩa là tương tác với hệ thống bên ngoài – bên cạnh tương tác với các thành phầnbên trong của hệ thống trong doanh nghiệp)

Báo cáo này mô tả sơ lược các công nghệ cần thiết để tạo nên một Web Servicecũng như các khái niệm liên quan

2.2 Đặc điểm của Web Service

Dịch vụ Web cho phép Client và Server tương tác được với nhau ngay cả trongnhững môi trường khác nhau Ví dụ , đặt Web server cho ứng dụng chạy trên một máychủ chạy hệ điều hành Linux trong khi người dùng sử dụng máy tính chạy hệ điều

Trang 13

hành Windows, ứng dụng vẫn có thể chạy và xử lý bình thường mà không cần thêmyêu cầu đặc biệt để tương thích giữa hai hệ điều hành này.

Là sự kết hợp của việc phát triển theo hướng từng thành phần với những lĩnhvực cụ thể và cơ sở hạ tầng Web, đưa ra những lợi ích cho cả doanh nghiệp , kháchhàng, nhà cung cấp khác và cả những cá nhân thông qua mạng Internet

Độc lập về ngôn ngữ, nền tảng: webservice cho phép Client và Server liên kếtđược với nhau ngay cả trong những môi trường khác nhau Đó là vì webservice sửdụng XML, một chuẩn mở đã được công nhận và có thể hiểu bất kì ngôn ngữ lập trìnhnào

Khả năng tự mô tả: giao diện của webservice được xây dựng bởi thông qua tàiliệu WSDL Tài liệu này định nghĩa cấu trúc thông điệp trao đổi và cấu trúc dữ liệuthông điệp đó

Tách biệt giữa mô tả và nội dung: đây là một trong những đặc tính then chốtlàm nên sự thành công cho webservice

Webservice không đòi hỏi ở phía Client phải cài đặt bất cứ một thành phần mớinào Còn ở phía Server, để triển khai webservice thì chỉ cần có Servlet engine, hoặcApache hoặc Net Runtime… khi đã được triển khai thì Client có thể sử dụng ngay cácdịch vụ Điều này khác với các công nghệ khác như Dcom hay RMI khi mà Clientphải cài đặt Client Stub để có thể truy cập dịch vụ

Webservice được dựa trên các chuẩn mở : SOAP, WSSDL, XML, UDDI

Sự truy cập được thông qua môi trường web: webservice được phát hành, xácđịnh và gọi đều thông qua môi trường web Trong đó mô tả về dịch vụ được xuất bản

sử dụng WSDL, người dùng tì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ằng SOAP Tất cả các giao thức này đều dựa trên Web

Trang 14

2.3 Ưu điếm, nhược điểm của Web Services

2.3.1 Ưu điểm:

Web Services có những ưu điểm chính sau:

- Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại bằng cách cho phép các tiếntrình, chức năng nghiệp vụ đóng gói trong giao diện dịch vụ Web

- Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần trong hệthống, dễ dàng cho việc phát triển các ứng dụng phân tán

- Thúc đẩy hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ giá thành hoạtđộng, phát triển hệ thống nhanh và tương tác hiệu quả với hệ thống của các doanhnghiệp khác

- Khả năng vượt tường lửa: Web Service hoạt động trên nền HTTP nên sử dụngcổng 80, là cổng mà tường lửa cho phép

- Hoạt động trên đa môi trường: Web Service dựa trên công nghệ XML được hỗtrợ bởi tất cả các hệ điều hành kể cả môi trường di dộng

- Tính linh hoạt, dễ chuyển đổi: Web Service chỉ bao gồm các hàm nên việc thayđổi dễ dàng và giảm chi phí đường truyền do truyền dữ liệu không định dạng HTML

- Sử dụng các giao thức và chuẩn mở Giao thức và định dạng dữ liệu dựa trênvăn bản, giúp các lập trình viên dễ dàng hiểu được

2.3.2 Nhược điểm

Mặc dù Webservice có nhiều ưu điểm như trên, nó vẫn còn tồn tài một số nhượcđiểm như:

- 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 đến vấn đề an toàn và bảo mật

- Phụ thuộc nhiều vào công nghệ

- 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, giaodiện không thay đổi, có thể lỗi nếu một máy khách không được nâng cấp, thiếu cácgiao thức cho việc vận hành

3 Kiến trúc của Web Service

Dịch vụ Web gồm có 3 chuẩn chính:

- SOAP (Simple Object Access Protocol)

- WSDL (Web Service Description Language)

- UDDI (Universal Description, Discovery, and Integration)

Trang 15

Kiến trúc của web service bao gồm các tầng như sau :

Hình 5: Kiến trúc của Web Service

Trong đó :

- Tầng vận chuyển (Transport) có nhiệm vụ truyền thông điệp giữa các ứng dụngmạng, bao gồm các giao thức như HTTP, SMTP, JMS và gần đây nhất là giao thứcthay đổi khối mở rộng (Blocks Extensible Exchange Protocol - BEEP)

- Tầng giao thức tương tác dịch vụ (Service Communication Protocol) với côngnghệ chuẩn là SOAP SOAP cho phép người dùng triệu gọi một service từ xa thôngqua một message XML Có nhiệm vụ giải mã các thông điệp theo định dạng XML để

có thể hiểu được ở mức ứng dụng tương tác với người dùng

- Tầng mô tả dịch vụ (Service Description) sử dụng để miêu tả các giao diệnchung cho một dịch vụ Web cụ thể với công nghệ chuẩn là WSDL và XML WSDLthường được sử dụng cho mục đích này , nó là một ngôn ngữ mô tả giao tiếp và thựcthi dựa trên XML Dịch vụ Web sẽ sử dụng ngôn ngữ này để truyền tham số và cácloại dữ liệu cho các thao tác và chức năng mà dịch vụ Web cung cấp

- Tầng dịch vụ (Service) cung cấp các chức năng của service

- Tầng (Business Process) tiến hành các bước xử lý thông tin đầu vào để cho kếtquả đầu ra theo yêu cầu, là các hoạt động có tính chất nghiệp vụ

- Tầng đăng ký dịch vụ (Service Registry) với công nghệ chuẩn là UDDI UDDIdùng cho cả người dùng và ̣ SOAP server, nó cho phép đăng ký dịch vụ để người dùng

có thể gọi thực hiện service từ xa qua mạng , hay nói cách khác một service cần phảiđược đăng ký để cho phép các client có thể gọi thực hiện

Trang 16

Bên cạnh đó, để cho các service có tính an toàn, toàn vẹn và bảo mật thông tintrong kiến trúc web service Chúng ta có thêm các tầng Policy, Security, Transaction,Management giúp tăng cường tính bảo mật, an toàn và toàn vẹn thông tin khi sử dụngservice.

Nguyên tắc của Web Service :

Nguyên tắc của việc cung cấp và sử dụng dịch vụ Web là khá đơn giản và đượcthể hiện trong hình dưới Ý tưởng cơ bản là một số ứng dụng client có thể gọi vào cácdịch vụ cung cấp bởi một ứng dụng máy chủ Tiêu chuẩn hóa diễn ra đối với cách cácdịch vụ được mô tả như vậy mà chúng có thể được nhìn lên bởi một ứng dụng máykhách Ngoài ra chúng ta cần phải đảm bảo rằng tiền thu dịch vụ cuộc gọi theo các quytắc được thiết lập bởi các ứng dụng máy chủ

Một thành phần quan trọng trong kiến trúc dịch vụ Web được tạo thành bởi mộtdịch vụ thư mục lưu trữ các mô tả dịch vụ Dịch vụ này tuân thủ các mô tả Universal,tiêu chuẩn khám phá và tích hợp (UDDI) Như tên gọi của nó cho thấy , UDOR quyđịnh cách bố trí của một cơ sở dữ liệu chứa các mô tả dịch vụ này sẽ cho phép kháchhàng dịch vụ Web để duyệt các dịch vụ liên quan

Dịch vụ này được mô tả bằng phương tiện của các dịch vụ Web DifinitionLanguage (WSDL) mà là một ngôn ngữ chính thức rất nhiều giống như các ngôn ngữgiao diện sử dụng để hỗ trợ giao tiếp dựa trên RPC Một mô tả WSDL chứa định nghĩachính xác của các giao diện được cung cấp bởi một dịch vụ như thủ tục đặc điểm kỹ

Trang 17

thuật, các kiểu dữ liệu, các vị trí (hợp lý) của dịch vụ Một vấn đề quan trọng của một

mô tả WSDL là có thể được tự động dịch cho khách hàng và phía máy chủ sơ khai

Cuối cùng , một yếu tố cốt lõi của dịch vụ Web là đặc tả về cách giao tiếp diễn

ra Để kết thúc này, giao thức truy cập đối tượng đơn giản (SOAP) được sử dụng, màbản chất là một khuôn khổ trong đó phần lớn các giao tiếp giữa hai quá trình có thểđược chuẩn hóa

4 Cơ chế hoạt động của Web Service

Hình 6: Tiến trình của môt Web Service

Mô tả tiến trình:

(1) Client cần truy vấn đến các mẫu tin UDDI theo 1 thông tin nào đó (chẳng

hạn tên, loại) để xác định Web Service cần tìm

(2) Các mẫu tin UDDI trả lời bằng một tệp WSDL, tệp WSDL sẽ mô tả cách

thức liên lạc với web service, định dạng của gói tin truy vấn và phản hồi Clien có thểlấy thông tin về địa chỉ cả tệp WSDL của Web Service này dựa trên mẫu tin UDDI

(3) Client tạo ra một Proxy cục bộ cho dịch vụ từ xa Proxy chuyển một phương

tiện khởi động phương thức của đối tượng thành một thông báo XML và ngược lại

(4) Tạo thông báo SOAP – Client tạo ra những gói tin SOAP/XML và gửi đến

địa chỉ URL được xác định trong tệp WSDL để liên lạc với Server

(5) Nhận cuộc gọi và diễn dịch - SOAP Listener là một bộ phận chương trình

chạy trên máy chủ để thu nhận cuộc gọi và diễn dịch nó cho dịch vụ web

(6) Thực hiện - Dịch vụ Web thực hiện các chức năng của mình và trả kết quả

về cho client, thông qua listener và proxy

Trang 18

5 Chồng giao thức Web Service

Hình 7: Chồng giao thức của Web ServiceTrong đó:

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 ứng dụng SOAP yêu cầu một dịch vụ Web Các thông điệp SOAP được gửi đichính xác bởi HTTP và TCP/IP

Chồng giao thức dịch vụ Web là tập hợp các giao thức mạng máy tính được sửdụng để định nghĩa, xác định vị trí, thi hành và tạo nên dịch vụ Web tương tác vớinhững ứng dụng hay dịch vụ khác Chồng giao thức này có 4 thành phần chính:

- Tầng Discovery: cung cấp cơ chế cho người dùng khả năng lấy các thông tin

mô tả về các Service Provider Công nghệ được sử dụng tại tầng này đó chính là UDDI– Universal Description, Discovery and Integration

- Tầng Desciption: Khi Web Service được thực thi, nó cần phải đưa ra các

quyết định về các giao thức trên các tầng Network, Transport, Packaging mà nó sẽ hỗtrợ trong quá trình thực thi Các mô tả về dịch vụ sẽ đưa ra phương pháp để làm thếnào mà các Service Consumer có thể liên kết và sử dụng các service đó Tại tầngDescription, công nghệ được sử dụng ở đây chính là WSDL (Web Service DesciptionLanguage) – Ngôn ngữ mô tả Web Service Ngoài ra, ít phổ biến hơn, chúng ta còn có

2 ngôn ngữ khác được định nghĩa bởi tổ chức W3C đó là ngôn ngữ môt tả tài nguyên W3C’s Resource Desciption Framework (RDF) và ngôn ngữ đánh dấu sự kiệnDARPA Cả hai ngôn ngữ này đều có khả năng cung cấp việc mô tả Web Service

Trang 19

-mạnh hơn ngôn ngữ WSDL tuy nhiên do tính phức tạp của chúng nên không đượcphát triển rộng rãi.

- Tầng Packaging: Việc thực hiện vận chuyển các dữ liệu Web Service được thực

hiện bởi tầng Transport, tuy nhiên trước khi được vận chuyển, các dữ liệu cần phảiđược đóng gói lại theo các định dạng đã định trước để các thành phần tham gia vào môhình Web Service có thể hiểu được, việc đóng gói dữ liệu được thi bởi tầng Packaging.Việc đóng gói dữ liệu bao gồm các công việc định dạng dữ liệu, mã hóa các giá trị đikèm dữ liệu đó và các công việc khác Các dữ liệu có thể được đóng gói dưới dạng cáctài liệu HTML, tuy nhiên với các tài liệu HTML thường không thuận tiện cho yêu cầunày bởi vì HTML chỉ có ưu điểm trong việc thể hiện dữ liệu hơn là trình bày ý nghĩa

dữ liệu đó XML là một định dạng cơ bản nhất cho việc trình bày dữ liệu, bởi vì XML

có thể được sử dụng để trình bày ý nghĩa dữ liệu được vận chuyển, và hơn thế nữa,hiện tại đa số các ứng dụng chạy trên nền Web-Base đều hỗ trợ các bộ phân tích cúpháp XML SOAP là công nghệ chủ yếu được sử dụng tại tầng này, nó là một giaothức đóng gói dữ liệu phổ biến dựa trên nền tảng XML

- Tầng Transport : Tầng Transport có vai trò đảm nhiệm việc vận chuyển các

Web Service Message, tại đây bao gồm một vài dạng công nghệ khác nhau cho phépcác giao tiếp trực tiếp giữa các Application – to – Application dựa trên tầng Network.Mỗi công nghệ bao gồm các giao thức như TCP, HTTP, SMTP và jabber v.v Việclựa chọn giao thức vận chuyển được dựa trên mỗi nhu cầu giao tiếp của các WebService ví dụ: với giao thức HTTP là một giao thức vận chuyển khá phổ biến được sửdụng cho các ứng dụng Web-Base, nhưng nó không cung cấp cơ chế giao tiếp bất đốixứng Jabber, xét trên phương diện khác, nó không phải là một chuẩn nhưng có khảnăng cung cấp tốt các kênh giao tiếp bất đối xứng

- Tầng Network : Tầng Network trong công nghệ Web Service chính xác giống

tầng Network trong mô hình giao thức TCP/IP Nó cung cấp khả năng giao tiếp cơbản, định địa chỉ và định tuyến

 Các tầng truyền thống như Packaging, Description, và Discovery trong môhình là những tầng cung cấp khả năng tích hợp và cần thiết cho mô hình ngôn ngữ lậptrình trung lập

6 Các Thành Phần Của Web Service

6.1 XML - Extensible Markup Language

Trang 20

XML là một chuẩn mở do W3C đưa ra cho cách thức mô tả dữ liệu, nó được sửdụng để định nghĩa các thành phần dữ liệu trên trang web và cho những tài liệu B2B

XML là viết tắt của Extensible Markup Language, tạm dịch là ngôn ngữ đánhdấu mở rộng XML là ngôn ngữ xây dựng cấu trúc tài liệu văn bản, được thiết kế dựatrên SGML (Standard Generalized Markup Language) theo tiêu chuẩn ISO 8879 nhằmphục vụ việc quản trị các tài liệu điện tử XML được xây dựng từ dưới sự chỉ đạo củaW3C từ năm 1996 và chính thức thông qua vào 2/1998

Do dịch vụ Web là sự kết hợp của nhiều thành phần khác nhau nên nó sử dụngcác tính năng và đặc trưng của các thành phần đó để giao tiếp XML là công cụ chính

để giải quyết vấn đề này và là kiến trúc nền tảng cho việc xây dựng một dịch vụ Web,tất cả dữ liệu sẽ được chuyển sang định dạng thẻ XML Khi đó, các thông tin mã hóa

sẽ hoàn toàn phù hợp với các thông tin theo chuẩn của SOAP hoặc XML- RPC và cóthể tương tác với nhau trong một thể thống nhất

Ngôn ngữ XML không chỉ dùng để mô tả sự trình bày nội dung tài liệu và còn

có phương pháp định ra nội dung, sắp xếp cấu trúc, từ vựng và cú pháp của dữ liệu.XML có cấu trúc mã chặt chẽ, tách biệt nội dung ra khỏi hình thức của dữ liệu vàmang lại thông tin đầy đủ về dữ liệu góp phần hỗ trợ cho việc tìm kiếm và sử dụngthông tin được dễ dàng hơn, cho phép hiển thị cùng một tài liệu trên một số ứng dụnghoặc thiết bị ngoại vi khác nhau mà không phải tạo ra phiên bản tài liệu mới, giốngnhư một CSDL

ra trên mỗi trang web và được chọn là định dạng thông điệp chuẩn bởi tính phổ biến vàhiệu quả mã nguồn mở

Các thẻ XML không được định nghĩa trước mà do người lập trình tự định nghĩa

XML xây dựng cấu trúc tài liệu và dữ liệu cho phép trao đổi, chia sẻ và sử dụngthông tin phân tán trên các hệ thống khác nhau XML hỗ trợ người dùng thông qua khả

Trang 21

năng tạo nội dung động, hỗ trợ việc thay thế những hệ thống cũ và các yêu cầu hợpnhất dữ liệu.

 Một tài liệu XML bao gồm 2 phần:

 Cấu trúc logic: định nghĩa các phần tử, các thuộc tính, các kiểu dữ liệu…

 Cấu trúc vật lý: chứa dữ liệu và các phần tử chứa dữ liệu như text,image, media…

6.2 UDDI - Universal Description, Discovery and Integration

UDDI là một thư mục để lưu trữ các thông tin về các Web Service

Để có thể sử dụng các dịch vụ, trước tiên client phải tìm dịch vụ, ghi nhậnthông tin về cách sử dụng và biết được đối tượng nào cung cấp dịch vụ UDDI địnhnghĩa một số thành phần cho biết các thông tin này, cho phép các client truy tìm vànhận những thông tin được yêu cầu khi sử dụng dịch vụ Web

Những thông tin về dịch vụ Web được sử dụng và công bố lên mạng sử dụnggiao thức này Nó sẽ kích hoạt các ứng dụng để tìm kiếm thông tin của dịch vụ Webkhác nhằm xác định xem dịch vụ nào sẽ cần đến nó

UDDI là một nơi mà các nhà cung cấp cho phép khách hàng đăng kí dịch vụ để

sử dụng các chức năng của web service UDDI sẽ định vị các thông tin về các webservice được cung cấp bởi các nhà cung cấp dịch vụ, danh sách các nhà cung cấp dịch

vụ trên web service nào đó, chi tiết về kĩ thuật sử dụng (API) web service do mình đưara…

UDDI cung cấp các chuẩn kỹ thuật để mô tả, khám phá và tập hợp các cài đặtdựa trên Internet Các đặc tính kĩ thuật phát triển nhanh chóng vì nó nhận được phảnhồi nhanh nhạy từ các cài đặt, những cài đặt này xác nhận các khái niệm và cung cấpnền tảng kinh nghiệm phong phú cho việc hoàn thiện các đặc tả sau này

Trong kinh doanh, nó giúp mở rộng và đơn giản hóa các giao dịch giữa cácdoanh nghiệp (B2B), tạo mối quan hệ giữa nhà sản xuất với các khách hàng khác nhau,mỗi khách hàng ứng với một tập các giao thức và các chuẩn hỗ trợ miêu tả dịch vụ rấtlinh hoạt sử dụng bất kỳ giao thức tương tác nào, lấy dữ liệu từ các nhà cung cấp kháctrong cùng một lĩnh vực có liên quan, cung cấp "cửa hàng một cửa" cho việc tìm kiếmthông tin về dịch vụ điện tử và thương mại

Trang 22

UDDI dựa vào những chuẩn đã có như là ngôn ngữ đánh dấu mở rộng (XML)

và giao thức truy cập đối tượng đơn giản SOAP để xây dựng nền tảng cho việc đăng

ký, các đặc tính (như quan hệ kinh doanh), giải quyết những vấn đề quan trọng choviệc phát triển dịch vụ web như: bảo mật, tăng cường quốc tế hóa, khả năng tương tácnội bộ, và hàng loạt các cải tiến hàm API để cải tiến công cụ tốt hơn

Nguyên tắc hoạt động:

Bản ghi của UDDI bao gồm các thông tin:

• Các mô tả của các doanh nghiệp có thể truy cập bằng các chương trình máytính và các dịch vụ mà chúng hỗ trợ

• Các tham chiếu tới các đặc tả cụ thể mà một dịch vụ web có thể hỗ trợ, cácđịnh nghĩa phân loại (được sử dụng cho việc xếp loại kinh doanh và dịch vụ), và các

hệ thống định danh (sử dụng để xác định các doanh nghiệp)

• UDDI cung cấp một lược đồ và mô hình lập trình với định nghĩa luật giao tiếpvới bản ghi Tất cả các hàm API trong đặc tả UDDI được định nghĩa trong XML đượcgói trong một phong bì SOAP, và gửi bằng giao thức HTTP

Hình 8: Luồng thông báo UDDI giữa Client và RegistryHình 8 mô tả sự truyền thông báo UDDI, từ yêu cầu SOAP của máy kháchthông qua giao thức HTTP đến một nốt bản ghi đăng ký và quay lại Máy chủ SOAPtiếp nhận các thông điệp đăng ký UDDI SOAP, xử lý và trả lại một kết quả SOAP đếnmáy khách Các yêu cầu từ máy khách phải là các giao dịch đảm bảo an ninh và đượcxác thực

Đặc tả UDDI:

Trang 23

Các đặc tả UDDI: được cấu thành từ vài tài liệu khác nhau Tài liệu đặc tả API

mô tả các hàm API SOAP cho phép thực hiện các hoạt động tìm kiếm và quảng bá; xử

lý lỗi, ngữ nghĩa của yêu cầu, kết quả; các thông tin thực tế về các quy ước và cách sửdụng cũng có sẵn Các tài liệu bao gồm đặc tả cấu trúc dữ liệu và lược đồ API địnhnghĩa thông điệp và ngữ nghĩa của dữ liệu Các hàm API của UDDI được chia thànhhai nhóm: truy vấn và phát hành Còn các API truy vấn chia thành ba mẫu truy vấn:

- Các mẫu tìm kiếm thừa kế chức năng của toán tử tìm kiếm, cho phépduyệt các mục dữ liệu với những điều kiện khác nhau (hạng mục phân loại, cácđịnh danh, thông tin tên từng phần…)

- Các mẫu tìm kiếm sâu: liên quan đến việc thu nhập thông tin chi tiết về mộtmục dữ liệu đã tìm thấy

- Các mẫu tìm kiếm viện dẫn thông tin: là việc gọi các dịch vụ để sử dụng thôngtin mẫu kèm theo thường được lưu tạm thời bởi các máy trạm để sử dụng lại mà khôngcần gửi lại bản ghi cho cùng một thông tin mà máy trạm cần Nếu thông tin đính kèmthay đổi, máy trạm phải gửi lại bản ghi để cập nhật lại thông tin

Một số đặc điểm của UDDI:

Các cập nhật gắn với hỗ trợ nhằm giúp các tổ chức lớn mô hình hóa một cáchhiệu quả các dịch vụ và công việc kinh doanh của họ Khi các công ty muốn phân chiacác lựa chọn web của họ theo vị trí địa lý, trình diễn chính các doanh nghiệp đó trênnền web một cách độc lập nhưng có liên quan đến nhau để dễ dàng quản lý, phát triển.UDDI đưa ra nhiều phương pháp lựa chọn như: có thể duy trì các doanh nghiệp độclập và không liên quan hoặc định nghĩa các mối quan hệ giữa các doanh nghiệp như

mô hình cha con, đồng đẳng, và đồng nhất Điều này tạo nên tính mềm dẻo để mô hìnhhóa một doanh nghiệp với nhiều chi nhánh, khách hàng bên ngoài, hoặc các quan hệnội bộ khác nhau trong cùng công ty hoặc quan hệ giữa hai doanh nghiệp bất kỳ (đượcđịnh nghĩa bởi các khóa duy nhất)

Phân hạng mục của UDDI ngày mạnh hơn trong các phiên bản mới, góp phầncải tiến khả năng tìm kiếm thông tin Phiên bản 1 đưa ra 3 cách phân loại: theo cáchạng mục công nghiệp NAICS, hạng mục dịch vụ và dự án UNSPC, và phân loại địa

lý ISO 3166-2 Các phân loại đều được kiểm tra bởi bản ghi UDDI; nếu cố gắng lưutrữ mã không hợp lệ sẽ bị từ chối Phiên bản 2 bổ sung thêm khả năng định nghĩa cáchphân hạng mục được kiểm tra nội tại, có thể đưa ra sử dụng công cộng trong UDDI

Trang 24

Khi các nhà cung cấp đồng ý cho sử dụng sẽ hỗ trợ một giá trị hợp lệ của dịch vụ web

và làm cho nó có thể truy cập được đến bản ghi doanh nghiệp UDDI để hỗ trợ việckiểm tra và xác nhận của các giá trị phân hạng mà các khách hàng mong muốn để liênkết với các bản ghi của họ Điều này tạo nên tính mềm dẻo trong việc đảm bảo chỉnhững giá trị phân hạng phù hợp được lưu trữ bởi khách hàng sử dụng cách phân hạngcủa họ

Các truy vấn cũng được cải tiến qua từng phiên bản để giải quyết các yêu cầutruy vấn phức tạp hơn Ví dụ: cải tiến hàm truy vấn tìm kiếm bằng cách kết hợp thêmmột số điều kiện lọc như:

Bộ định tính combineCategoryBags cho phép gộp tất cả các dữ liệu phân loạiđược liên kết với một doanh nghiệp và tất cả các dịch vụ mà nó chứa (gồm cả các thamchiếu dịch vụ) vào một tập hợp đơn mà việc tìm kiếm sẽ thực hiện trên đó giúp giảmbớt các bước trong việc tìm kiếm một doanh nghiệp bằng cách rà soát trong các doanhnghiệp và các dịch vụ của chúng cùng lúc

Bộ lọc serviceSubset cho phép tìm kiếm các doanh nghiệp sử dụng điều kiệnphân hạng mục Chỉ kiểm trên các hạng mục được gắn kết với các dịch vụ của mộtcông ty, còn các hạng mục gắn kết với bản thân doanh nghiệp không được gộp trongviệc tìm kiếm

Bộ định tính orLikeKeys cho phép truy vấn phức tạp ảo Tìm kiếm các doanhnghiệp mà được phân loại với các cấp độ khác nhau theo đặc trưng của chúng, trongkhi cùng lúc cho phép một truy vấn đơn tham chiếu đến nhiều hạng mục khác nhaucùng lúc

Cấu trúc UDDI gồm các thành phần :

- Trang trắng -White pages : chứa thông tin liên hệ và các định dạng chính yếu

của web services, chẳng hạn tên giao dịch , địa chỉ… Những thông tin này cho phépcác đối tượng khác xác định được service

- Trang vàng -Yellow pages : chứa thông tin mô tả web services 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 servicestheo từng chủng loại của nó

- Trang xanh -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 services

Trang 25

Hình 9: Ví dụ về UDDI

6.3 WSDL - Web Service Description Language

WSDL là một ngôn ngữ dựa trên XML dùng để mô tả giao diện của Web

Service Nó cung cấp một cách thức chuẩn để mô tả các kiểu dữ liệu được truyền trongcác thông điệp thông qua Web Service, các hoạt động được thực hiện trên các thôngđiệp và ánh xạ các hoạt động này đến giao thức vận chuyển

WSDL định nghĩa cách mô tả dịch vụ Web theo cú pháp tổng quát của XML,bao gồm các thông tin:

- Tên dịch vụ

- Giao thức và kiểu mã hóa được sử dụng khi gọi các hàm của Web Service

- Loại thông tin: thao tác, tham số, những kiểu dữ liệu (có thể là giao diện củaWeb Service cộng với tên cho giao diện này)

Thành phần của WSDL:

M1ED9t WSDL hợp lệ gồm hai thành phần:

- Phần giao diện: mô tả giao diện và phương thức kết nối

- Phần thi hành: mô tả thông tin truy xuất service

Cấu trúc của WSDL:

Trang 26

Hình 10: Cấu trúc WSDL

Một tài liệu WSDL mô tả 1 Web Service gồm các thành phần chính:

Tập tin giao diện ( Service Interface):

- Types (Kiểu): các kiểu dữ liệu của thông điệp khi trao đổi giữa client và server.

Hình 11: Tập tin giao diện_typer

- Message (Thông điệp): mô tả thông điệp gửi nhận giữa client và server Mỗi thông

điệp có thể bao gồm 1 hoặc nhiều phần

Hình 12: Tập tin giao diện_message

Trang 27

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

Hình 13 Tập tin giao diện_ Port typer

- Binding (Kết nối): cách thức giao tiếp giữa client và server thông qua giao thức

truyền thông (HTTP, SMTP,…)

Hình 14 Tập tin giao diện_Binding

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

1 Dịch vụ (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 đó định nghĩa têncùng với các chú thích (documentation) cung với địa chỉ Web service

Hình 15 Tập tin thi hành_Service

2 Port: là một cổng đầu cuối, nó định nghĩa như một tập hợp của binding và một

địa chỉ mạng

Trang 28

Hình 16 Tập tin thi hành_Port

7 SOAP - Simple Object Access Protocol

Làm thế nào để truy xuất dịch vụ khi đã tìm thấy? Câu trả lời là các dịch vụWeb có thể truy xuất bằng một giao thức là Simple Object Access Protocol – SOAP.Nói cách khác chúng ta có thể truy xuất đến UDDI registry bằng các lệnh gọi hoàntoàn theo định dạng của SOAP

SOAP là một giao thức giao tiếp có cấu trúc như XML Nó được xem là cấutrúc xương sống của các ứng dụng phân tán được xây dựng từ nhiều ngôn ngữ và các

hệ điều hành khác nhau SOAP là giao thức thay đổi các thông điệp dựa trên XML quamạng máy tính, thông thường sử dụng giao thức HTTP

Một client sẽ gửi thông điệp yêu cầu tới server và ngay lập tức server sẽ gửinhững thông điệp trả lời tới client Cả SMTP và HTTP đều là những giao thức ở lớpứng dụng của SOAP nhưng HTTP được sử dụng và chấp nhận rộng rãi hơn bởi ngàynay nó có thể làm việc rất tốt với cơ sở hạ tầng Internet

Hình 17 Cơ chế hoạt động của giao thức

Ngày đăng: 07/03/2017, 23:20

HÌNH ẢNH LIÊN QUAN

Hình 4: Sơ đồ tương tác giữa User và Web - Tìm hiểu về Web Service và xây dựng một web service
Hình 4 Sơ đồ tương tác giữa User và Web (Trang 10)
Hình 7: Chồng giao thức của Web Service Trong đó: - Tìm hiểu về Web Service và xây dựng một web service
Hình 7 Chồng giao thức của Web Service Trong đó: (Trang 16)
Hình 13. Tập tin giao diện_ Port typer - Tìm hiểu về Web Service và xây dựng một web service
Hình 13. Tập tin giao diện_ Port typer (Trang 25)
Hình 30: Biểu đồ tuần tự cho xóa sinh viên - Tìm hiểu về Web Service và xây dựng một web service
Hình 30 Biểu đồ tuần tự cho xóa sinh viên (Trang 39)
Hình 33: Biểu đồ tuần tự quản lý môn học - Tìm hiểu về Web Service và xây dựng một web service
Hình 33 Biểu đồ tuần tự quản lý môn học (Trang 40)
Hình 32: Biểu đồ tuần tự tìm  kiếm sinh viên - Tìm hiểu về Web Service và xây dựng một web service
Hình 32 Biểu đồ tuần tự tìm kiếm sinh viên (Trang 40)
Hình 34: Biểu đồ tuần tự quản lý điểm - Tìm hiểu về Web Service và xây dựng một web service
Hình 34 Biểu đồ tuần tự quản lý điểm (Trang 41)
Hình 36: Biểu đồ tuần tự cho tác vụ báo cáo thống kê - Tìm hiểu về Web Service và xây dựng một web service
Hình 36 Biểu đồ tuần tự cho tác vụ báo cáo thống kê (Trang 42)
Hình 37: Biểu đồ hoạt động đăng nhập - Tìm hiểu về Web Service và xây dựng một web service
Hình 37 Biểu đồ hoạt động đăng nhập (Trang 43)
Hình 38: Biểu đồ hoạt động quản lý điểm - Tìm hiểu về Web Service và xây dựng một web service
Hình 38 Biểu đồ hoạt động quản lý điểm (Trang 44)
Hình 39: Biểu đồ hoạt động quản lý môn học - Tìm hiểu về Web Service và xây dựng một web service
Hình 39 Biểu đồ hoạt động quản lý môn học (Trang 45)
Hình 40: Biểu đồ hoạt động quản lý sinh viên - Tìm hiểu về Web Service và xây dựng một web service
Hình 40 Biểu đồ hoạt động quản lý sinh viên (Trang 46)
Hình 41: Biểu đồ hoạt động Thống kê báo cáo - Tìm hiểu về Web Service và xây dựng một web service
Hình 41 Biểu đồ hoạt động Thống kê báo cáo (Trang 47)
Hình 43: Form đăng nhập - Tìm hiểu về Web Service và xây dựng một web service
Hình 43 Form đăng nhập (Trang 49)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w