1. Trang chủ
  2. » Công Nghệ Thông Tin

Quản lý đăng ký thuế sử dụng công nghệ webservices

69 51 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 69
Dung lượng 3,89 MB

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

Nội dung

Web Service tạm dịch là dịch vụ trên web, 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ụng trên các máy tính khác nhau thông qua môi trường mạng Inte

Trang 1

LỜI NÓI ĐẦU

Web service đang là một vấn đề được chú ý và phát triển mạnh mẽ trong thời đại bùng nổcông nghệ thông tin như hiện nay Nhu cầu sử dụng các dịch vụ web ngày càng tăng, được hôtrợ bởi môi trường truyền Internet với băng thông đường truyền ngày một được mở rộng Làmột hướng giải quyết khá hoàn hảo cho vấn đề chi phí phần mềm, giảm độ phức tạp và tính sửdụng lại của các hệ thống phần mềm lớn, web service đang trở thành một phương tiện hữuhiệu để giải quyết những vấn đề trên

Sau một thời gian nghiên cứu nô lực của bản thân, thấy được các ưu điểm lớn mà webservice đem lại, cùng với sự hướng dẫn của thạc sĩ Phạm Thị Quỳnh em đã hoàn thành khóaluận với đề tài “Quản lý đăng ký thuế sử dụng web service”

Nội dung khóa luận trình bày với những nộ dung chính sau:

• Kiến thức tổng quan về web service: tìm hiểu khái niệm Web service, phân tíchcác thành phần

• Các bước để xây dựng, thực thi một Web service

• Sử dụng web service

• An toàn web service

• Xây dựng một ứng dụng sử dụng công nghệ web service

Để hoàn thành khóa luận, trước tiên em xin bày tỏ lòng biết ơn sâu sắc tới Thạc sĩ PhạmThị Quỳnh, người đã tận tình chỉ bảo, hướng dẫn trực tiếp em trong suốt thời gian thực hiện đềtài, Thầy Lương Viết Nguyên- giảng viên trường ĐH Công Nghệ

Em xin chân thành cảm ơn các thầy giáo, cô giáo khoa công nghệ thông tin, trường ĐH

Sư Phạm Hà Nội đã tận tình chỉ bảo em, cho em những kiến thức quý báu trong những nămhọc tại trường, để em có thể hoàn thành khóa học

Hà Nội, tháng 5/2009

Trần Thị Hằng

Trang 2

MỤC LỤC

Bảng 1 : Các kiểu vào/ra trong WSDL… ……….………trang 16 4

Chương 1: TỔNG QUAN VỀ WEB SERVICE 5

1.4 Tại sao cần web service 8

1.5 Các công cụ để tạo web service 9

a.Kiến trúc bên ngoài 10

10

Bảng 1 : Các kiểu vào/ra trong WSDL 15

Chương 2: Xây Dựng Web Service 30

Chương 4 An toàn Web Service 39

Chương 5: Xây Dựng Ứng dụng với Web Service 43

Chương 5: KẾT LUẬN 68

Trang 3

BẢNG CHÚ GIẢI CÁC THUẬT NGỮ VIẾT TẮT

UDDI Universal Description, Discovery and Integration Trang 24,…

Trang 4

DANH SÁCH CÁC BẢNG BIỂU

Bảng 1 : Các kiểu vào/ra trong WSDL… ……….………trang 16Bảng 2: thực thể người dùng………trang 53Bảng 3: thực thể Thông tin đăng ký……….trang 53Bảng 4: thực thể ĐTNT………trang 54Bảng 5: thực thể ĐTNT đã cấp MST………trang 54

DANH SÁCH CÁC HÌNH VẼ

Hình 1.1: Kiến trúc tổng quan của web service……….trang 7Hình1.2 : Mô hình một web service đơn giản……… trang 7Hình1.3: Tiến trình làm việc của web service……… trang 11Hình1.4: Kiến trúc bên ngoài của web service………trang 12Hình1.5: Kiến trúc bên trong của web service……….trang 12Hình 1.6: Cấu trúc WSDL……… trang 14Hình1.7: Cấu trúc message SOAP……… trang 23Hình 1.8: Các thành phần cần thiết trong một web service và mối quan hệ giữa các thành phần……….……… ………trang 31Hình 4.1: Mô hình an toàn cho Web service……… trang 43Hình 5.1: Biểu đồ phân cấp chức năng……… trang 47Hình 5.2: Biểu đồ ngữ cảnh……… trang 47Hình 5.3:Biểu đồ mức đỉnh………trang 48Hình 5.4:Biểu đồ mức dưới đỉnh chức năng 1……… trang 48Hình 5.5:Biểu đồ mức dưới đỉnh chức năng 2……… trang 49Hình 5.6:Biểu đồ mức dưới đỉnh chức năng 3……… trang 49Hình 5.7:Biểu đồ mức dưới đỉnh chức năng 4……… trang 49Hình 5.8: Biểu đồ liên kết thực thể quan hệ ERD……… trang 50

Trang 5

Chương 1: TỔNG QUAN VỀ WEB SERVICE

1 Giới thiệu tổng quan về Web Service.

1.1 Đặt vấn đề

Cuối thập niên 1990, Microsoft nhận ra được sự yếu kém của COM, COM+ Một trongnhững khía cạnh của đối tượng từ xa mà Microsoft cần là độc lập với nền để có thể thànhcông, và vì các sản phẩm của MS chỉ chạy trên hệ điều hành Windows, họ cần một giải phápsáng tạo Họ đã tạo ra chuẩn XML gọi là SOAP (Simple Object Access Protocol – Giao thứctruy cập đối tượng đơn giản) là sự kết hợp giữa tài liệu XML và một giao thức chuẩn có thểlàm việc qua Internet Giao thức SOAP được dùng để truyền tải dữ liệu bao gồm SMTP(Simple Mail Transfer Protocol), FTP (File Transfer Protocol) và HTTP (Hypertext TransferProtocol) Các nhà phát triển thường xem những giao thức này như là chồng các giao thứccủa Web Services Web services ra đời

Microsoft, IBM và Sun Microsystems đang phát triển mạnh Web Services như là một côngnghệ tiếp theo cho phép người phát triển có thể tạo các đối tượng từ xa dễ dàng Các côngnghệ trước đây như COM+ và CORBA rất khó cài đặt mà chi phí bảo trì lại cao Hơn thế nữa,đối với trường hợp của CORBA thì nó quá đắt để mua bản quyền hoạt động Trong khi webservice có thể tạo được đối tượng từ xa dễ dàng, đó là các hệ thống yêu cầu và phản hồi đơngiản mà các chức năng tương tự như một trang web phản hồi một yêu cầu từ một trình duyệt

[10].

Khi bạn xây dựng [5] và phát triển một ứng dụng phân tán với số lượng người dùng lên

đến hàng trăm, hàng nghìn người ở nhiều địa điểm khác nhau, khó khăn đầu tiên mà bạn gặpphải là sự giao tiếp giữa Client và Server bị tường lửa (firewalls) và Proxy Server ngăn chặnlại

Như các bạn biết DCOM (Distribited Component Object Model) làm việc thông qua việcgởi các thông tin dưới dạng nhị phân (binary) và chủ yếu hoạt động dựa trên giao thứcTCP/IP Thật là không dễ dàng để sử dụng DCOM trong trường hợp này

Nếu không cấu hình lại Firewall, DCOM không có khả năng vượt qua Firewall

Trang 6

Web Services có thể giúp bạn giải quyết vấn đề khó khăn nêu trên Chúng ta có thể hiểurằng Web Services (tạm dịch là dịch vụ web) là tập hợp các phương thức của một đối tượng

mà các Client có thể gọi thực hiện

Hình 1.1: Kiến trúc tổng quan của web service

1.2 Định nghĩa web service

Có rất nhiều định nghĩa về web service như sau:

• Là một phần mềm ứng dụng được truy xuất thông quaWeb bởi một ứng dụng khác

• Web Service là một dạng dịch vụ phục vụ những nhu cầu của người sử dụng thôngqua giao diện là trình duyệt Đặc điểm của Web service cho phép người sử dụng tái sử dụngphương thức, chức năng do một Website cung cấp mà không cần quan tâm tới cấu trúc, kếtcấu của Website đó

Tóm lại: Web Service có thể được mô tả như hàm được triển khai thông qua Web và có thể

được gọi từ các ứng dụng thông thường hoặc một web service khác [6]

Web Service tạm dịch là dịch vụ trên web, 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ụng trên các máy tính khác nhau thông qua môi trường mạng Internet, giao diện chung và sự gắn kết của nó dựa trên chuẩn mở XML, phù hợp với

sự thiết lập của những chuẩn tương tác mở Những chuẩn này làm cho sự giao tác toàn cục của máy tính không phụ thuộc vào nền tảng phần cứng, phần mềm, hệ điều hành cũng như những kiến trúc mạng hay ngôn ngữ lập trình [2,3]

Hình1.2 : Mô hình một web service đơn giản

Trang 7

Một web service thường có hai thuộc tính: [11]

• Tự mô tả: Nếu công bố một web service mới lên mạng, nên công bố cả giao diệncông khai cho dịch vụ Ít nhất thì web service đó nên có một tài liệu mà những người pháttriển khác có thể đọc được, nhờ đó có thể dễ dàng tích hợp web service đó với các webservice khác Nếu vừa tạo một SOAP service, thì cũng nên có một giao diện công khai đượcviết theo cú pháp XML chung Cú pháp XML có thể được dùng để nhận tất cả các phươngthức công khai, đối số và giá trị trả về của web service

• Có thể khám phá: Nếu tạo một web service, nên có một cơ chế tương đối đơn giảnnào đó để có thể công bố nó lên mạng Cũng như vậy, nên có một vài cơ chế đơn giản đểnhững người khác có thể tìm kiếm và định vị giao diện công khai của nó

Tóm lại một web service hoàn chỉnh là một dịch vụ mà:

• Sẵn có trên Internet hoặc Intranet

• Sử dụng hệ thống truyền tin theo chuẩn XML

• Độc lập nền, không phụ thuộc vào phần cứng, phần mềm hay ngôn ngữ lập trình

• Có thể tự mô tả thông qua cú pháp XML chung

• Có thể khám phá qua một cơ chế tìm kiếm đơn giản

1.3 Đặc điểm của web service

Truy cập thông qua giao thức Web [1][6][13][14].

• Web Service được xây dựng dựa trên nền tảng những công nghệ đã được chấp nhậnnhư XML, SOAP, WSDL, UDDI Nó cho phép client và server trong những môi trường khácnhau, tương tác được với nhau Ví dụ khi ta đặt web server cho ứng dụng trên một máy chủchạy hệ điều hành Linux thì người dùng sử dụng máy client chạy hệ điều hành Windows vẫn

có thể chạy ứng dụng đó mà không cần thêm yêu cầu đặc biệt nào để tương thích giữa hai hệđiều hành trên hai máy Có thể khẳng định đây là ưu điểm vượt trội của Web Service so vớicác công nghệ khác

• Web Service được xây dựng dựa trên giao thức SOAP(Simple Object Access Protocol) – SOAP cho phép truyền các thông điệp qua giao thức HTTP

– Sử dụng XML để mô tả dữ liệu

• Hầu hết các web service sử dụng sử dụng giao thức HTTP để trao đổi các thông điệp(thông điệp yêu cầu dịch vụ và thông điệp đáp ứng dịch vụ) Điều này cho phép ta dễ dàngxây dựng và phát triển các ứng dụng trên phạm vi toàn cầu sử dụng mạng Internet làm môitrường truyền thông

• Web service rất linh động, vì với UDDI và WSDL thì việc mô tả và phát triển webservice có thể được tự động hoá Hơn nữa, web service có dạng mô đun, một web service

Trang 8

thường bao gồm nhiều mô đun khác nhau, môi mô đun thực hiện một chức năng nhỏ trongdịch vụ tổng thể mà web service đó cung cấp.

• Web service có thể công bố (publish) và gọi thực hiện qua mạng Một web service cóthể hoạt động nhờ vào một yêu cầu từ bất kỳ máy tính nào trên thế giới mà việc giao tác sửdụng chuẩn định dạng XML

• Một web service có một service interface, Service interface này giúp cho web servicegọi đến các chương trình ứng dụng khác, hoặc các web service khác Service interface này làmột tài liệu XML từ XML có thể hiện như công nghệ thay đổi dữ liệu cục bộ

Ưu điểm của web service:

• Dịch vụ Web cung cấp khả năng hoạt động rộng lớn với các ứng dụng phần mềm khácnhau chạy trên những nền tảng khác nhau

• 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ên văn bản(text), giúp các lập trình viên dễ dàng hiểu được

• Nâng cao khả năng tái sử dụng

• 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 doanh nghiệp khác

Nhược điểm của Web Service:

• Mọi dữ liệu được trao đổi đều sử dụng định dạng XML, làm cho nó trở nên cồng kềnh

và kém hiệu quả hơn so với các công nghệ sử dụng mã hoá nhị phân

• 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, giao diệnkhô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ác giao thức choviệc vận hà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

Tuy nhiên với sự phát triển ngày càng mạnh mẽ của các công nghệ truyền thông,tốc độ xử lý của các phần cứng, phần mềm, đường truyền mạng … thì đây không thực sự làmột vấn đề lớn đối với Web Service

1.4 Tại sao cần web service.

Phần mềm ngày nay đang trở nên phức tạp và dường như đang vượt khỏi khả năng kiểmsoát của các mô hình phát triển phần mềm hiện có Đã có rất nhiều phần mềm được xây dựngvới kiến trúc phức tạp và chi phí bảo trì cao, đặc biệt là các hệ thống phần mềm cao cấp.Nhiều kiến trúc phần mềm đã được triển khai để giải quyết vấn đề này, nhưng độ phức tạpcủa phần mềm ngày càng tăng và vượt khỏi khả năng kiểm soát của các kiến trúc hệ thốngtruyền thống Nguyên nhân là do sự phát triển của nhiều công nghệ mới đã tạo nên sự khôngđồng nhất, trong khi nhu cầu trao đổi, chia sẻ, tương tác giữa các hệ thống không thể đáp ứngtrong một môi trường như vậy Vấn đề tích hợp hệ thống được đặt ra [4]

Trang 9

Thêm nữa, vấn đề lập trình dư thừa và tính không thể tái sử dụng cũng dẫn đến tình trạngkhó khăn khi tích hợp các hệ thống cũ và mới Ví dụ, một ngân hàng có nhiều chi nhánh khácnhau, môi chi nhánh có một hệ thống tách biệt, vấn đề muốn kết nối các hệ thống khác củangân hàng để có thể phục vụ khách hàng hiệu quả hơn Giả sử các hệ thống riêng biệt đó đềurất tốt, nhưng chúng được xây dựng trong những khoảng thời gian khác nhau và trên các nềnđộc lập Bây giờ, muốn kết nối các chi nhánh, nếu chọn giải pháp xây dựng lại hệ thống mớithì có thể sẽ gặp phải vấn đề sai lầm như: tính dư thừa và không đồng nhất như trước, xongnếu chọn giải pháp sử dụng lại các chức năng sẵn có thì phải đối mặt với các vấn đề phải thiếtlập mối liên kết toàn bộ các hệ thống trước Do đó nảy sinh ra phải sử dụng công nghệ mớiđáp ứng được các vấn đề đó, công nghệ web services có thể đáp ứng được điều đó.

Chúng ta sử dụng web service khi cần có sự trao đổi thông tin và dịch vụ giữa các hệthống khác nhau trên môi trường mạng diện rộng, môi trường internet Web service là mộtgiải pháp tối ưu vì:

• Dựa trên giao thức HTTP, là giao thức tối ưu nhất trong môi trường internet hiện nay.Với giao thức này kết nối giữa client và server không cần thiết phải liên tục mà chỉ cần thiếtlập khi có nhu cầu(Request-Respone) nên phù hợp với mạng không ổn định, ngoài ra webservice dựa trên nền HTTP nên được thừa hưởng một cơ chế bảo mật và xác thực

• Web service dựa trên nền tảng công nghệ XML, là công nghệ giúp mô tả mọi loại dữliệu một cách mềm dẻo, có khả năng mở rộng cao, nên web service có thể xây dựng mọi bàitoán trao đổi dữ liệu và dịch vụ

Tóm lại: sử dụng web services có thể:[6]

• Cho phép triển khai ứng dụng trong thời gian ngắn

1.5 Các công cụ để tạo web service

Công cụ [16] chủ chốt nhất để tạo nên sự thực thi một ứng dụng là MS.NET Framework

SDK, mà hiện nay dùng bản beta

Nhưng IDE (Integration Development Environment – Môi trường tích hợp phát triển)được ưa thích hơn cả để tạo web service là Visual Studio NET Tuy nhiên ta có thể dễ dàng

sử dụng một số trình soạn thảo văn bản như (WordPad, Notepad, Visual Studio 6.0) để tạoFile web service Với điều kiện là phải có hiểu biết cơ bản về NET platform, C#, lập trìnhhướng đối tượng

2 Web Service làm việc như thế nào.

2.1 Vai trò của web service

Web service[13] ra đời đã mở ra một hướng mới cho việc phát triển các ứng dụng trên

Internet Công nghệ web services ra đời là một cuộc cách mạng hóa cách thức hoạt động củacác dịch vụ Web services kết hợp sử dụng nhiều công nghệ khác nhau cho phép hai ứng dụng

Trang 10

cùng ngôn ngữ, độc lập hệ điều hành trao đổi được với nhau thông qua môi trường mạngInternet Tuy nhiên những công nghệ sử dụng ở đây không nhất thiết phải là những công nghệmới Đây là điểm khác biệt của web services so với các công nghệ khác, đó chính là khả năngkết hợp các công nghệ đã có như là XML,SOAP,WSDL,UDDI để tạo ra các service, đặc điểmnày làm nổi bật vai trò của web services.

2.2 Quá trình làm việc web service

Web service [17] cho phép một đối tượng nằm trên server có thể trưng ra phần logic

chương trình cho các khách hàng trên Internet Các khách hàng sẽ triệu gọi những hàm hành

sự được trưng ra trên web service nhờ sử dụng những nghi thức chuẩn của Internet

Một tiến trình của web service như sau:

Hình1.3: Tiến trình làm việc của web service

Ở vị trí 1, một web service consumer (nghĩa là một chương trình sử dụng web service đặcbiệt nào đó, thỉnh thoảng được gọi là consuming program, chương trình tiêu thụ) phát ra mộttriệu gọi (vị trí 2) Phía tiêu thụ tưởng rằng mình trực tiếp nói chuyện với web service thôngqua Internet Nhưng thật ra đây chỉ là một ảo tưởng Thật ra triệu gọi một lớp proxy (vị trí 3)nằm cục bộ ngay với consumer Proxy sẽ thụ lý tất cả các cấu trúc phức tạp của việc chuyển

đi yêu cầu lên Internet về cho máy server, cũng như tiếp nhận lại kết quả yêu cầu và trình bàykết quả cho phía tiêu thụ Tất cả việc này có thể thực hiện được là nhờ việc proxy trước đó đãđăng ký với ứng dụng tiêu thụ (vị trí 4)

3.Kiến trúc, thành phần Web Service

3.1 Kiến trúc của Web service

Có hai cách khác nhau để tiếp cận, khảo sát kiến trúc một web service [3] [11][12]

• Xem xét theo vai trò của từng tác nhân trong hệ thống (kiến trúc tổng quan bên ngoài)

• Xem xét các giao thức, các tầng dịch vụ cấu thành nên một web service (kiến trúc bêntrong)

a Kiến trúc bên ngoài

Hình1.4: Kiến trúc bên ngoài của web serviceKiến trúc này được gọi là kiến trúc hướng dịch vụ (Service-Oriented Architecture haySOA) Nó thể hiện quan hệ lỏng lẻo giữa ba thành phần là Service Provider, ServiceRequester và Service Broker

• Service Requester là một ứng dụng, một dịch vụ hay một loại phần mềm sử dụng cácdịch vụ web

Trang 11

• Service Provider là phần mềm nhận và xử lý các yêu cầu từ Service Requester

• Service Broker đóng vai trò như là một thư mục dịch vụ nơi mà các chương trình, ngườidùng có thể tìm thấy thông tin về các dịch vụ đã được công bố

Ba hoạt động chính trong kiến trúc này là: công bố, tìm kiếm và kết nối ràng buộc Saukhi thực thi một dịch vụ, Service Provider công bố dịch vụ này với Service Broker Ngườidùng và các chương trình sẽ liện hệ với Service Broker để có được về thông tin về các dịch vụsẵn có Nhờ có các thông tin trên người dùng hay các chương trình sẽ kết nối tới và có thể sửdụng các dịch vụ

b Kiến trúc bên trong

Kiến trúc bên trong[13] của web service bao gồm các tầng như hình vẽ dưới đây:

Hình1.5: Kiến trúc bên trong của web serviceTrong đó bao gồm các tầng :

•Tầng vận chuyển với những công nghệ chuẩn là HTTP, SMTP và JMS

•Tầng giao thức tương tác dịch vụ ( Service Communication Protocol) với công nghệchuẩn là SOAP SOAP là giao thức nằm giữa tầng vận chuyển và tầng mô tả thông tin về dịch

vụ, SOAP cho phép người dùng triệu gọi một service từ xa thông qua một message XML

•Tầng mô tả dịch vụ (Service Description) với công nghệ chuẩn là WSDL và XML.WSDL là một ngôn ngữ mô tả giao tiếp và thực thi dựa trên XML Web Service sử dụng ngônngữ WSDL để truyền các tham số và các loại dữ liệu cho các thao tác, các chức năng mà WebService cung cấp

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

• Tầng đăng ký dịch vụ (Service Registry) với công nghệ chuẩn là UDDI UDDI dùngcho cả người dùng và SOAP server, nó cho phép đăng ký dịch vụ để người dùng có thể gọithự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

Để tạo một Web Service chúng ta cần xây dựng các tầng cần thiết trong kiến trúc WebService tức là xây dựng và thiết lập các thành phần trong các tầng đó, cụ thể là các thànhphần SOAP, WSDL, UDDI trong đó :

Trang 12

• SOAP là giao thức nằm giữa tầng vận chuyển và tầng mô tả thông tin về dịch vụ,SOAP cho phép người dùng triệu gọi một service từ xa thông qua một message XML.

• WSDL là một ngôn ngữ mô tả giao tiếp và thực thi dựa trên XML Web Service sửdụng ngôn ngữ WSDL để truyền các tham số và các loại dữ liệu cho các thao tác, các chứcnăng mà Web Service cung cấp

• UDDI dù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 thi các hàm, các chức năng của Web Service, tức là một servicecần phải được đăng ký để cho phép các client có thể gọi thực hiện

Thêm nữa, để đảm bảo các service có tính an toàn, toàn vẹn và bảo mật thông tin, trongkiến trúc Web Service ta có thêm các tầng Policy, Security, Transaction, Management để tăngcường tính bảo mật, an toàn và toàn vẹn thông tin khi sử dụng service

3.2 Thành phần của Web Service

3.2.1 WSDL

a.Khái niệm

WSDL [11][13] (Web Service Description Language) - ngôn ngữ mô tả dịch vụ web: là

ngôn ngữ dựa trên XML để mô tả các web service và cách để truy cập vào các web serviceđó

WSDL là một tài liệu XML, dùng để định vị web service và những hoạt động, phươngthức mà web service thể hiện

WSDL định nghĩa cách mô tả web service theo cú pháp tổng quát XML, bao gồm cácthô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ố, và những kiểu dữ liệu gồm có giao diện của web service, và tên cho giao diện này

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

• 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

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

-Tập tin giao diện - Service Interface(cho phần 1):WSDL mô tả 5 loại thông tin chính bao

gồm: import, types, message, portType, binding

- Tập tin thi hành - Service Implementation (cho phần 2): WSDL mô tả 2 loại thông tin chính

bao gồm: service và port

Trang 13

Hình1 6: Cấu trúc WSDL

Tập tin giao diện - Service Interface:

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

- Kiểu cổng (port type):WSDL mô tả cách gửi và nhận thông điệp:

+ Những giao thức mở rộng cho những giao tác và những message bao gồm thông tin URL

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

Tập tin thi hành - Service Implementation

- 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 :

<wsdl definitions >

<wsdl:service name="nmtoken"> *

<wsdl port />*

Trang 14

Tóm lại: một tài liệu WSDL là một tài liệu XML đơn giản Nó chứa đựng tập các định

nghĩa để mô tả web service WSDL mô tả bốn phần chính của dữ liệu bao gồm:

•Thông tin giao diện: Mô tả toàn bộ những phương thức công khai sẵn có

•Thông tin về kiểu dữ liệu cho tất cả các thông điệp yêu cầu và thông điệp đáp ứng

•Thông tin kết nối, giao thức tuyền thông sẽ sử dụng

•Thông tin địa chỉ để định vị dịch vụ web

WSDL mô tả một liên hệ giữa phía yêu cầu dịch vụ và phía cung cấp dịch vụ WDSLđộc lập nền, ngôn ngữ lập trình và được sử dụng để mô tả các dịch vụ SOAP Khi sử dụngWSDL, một trình khách (client) có thể định vị một dịch vụ web và gọi tới bất kỳ phương thứccông khai nào mà dịch vụ đó cung cấp

b Cấu trúc tài liệu WSDL

Cấu trúc cơ bản của một tài liệu WSDL có dạng như dưới đây:

Trang 15

Definitions: đây là thẻ gốc bao trùm toàn bộ nội dung của một tài liệu WSDL Nó định nghĩa

tên của dịch vụ, khai báo các namespace được sử dụng trong phần còn lại của tài liệu Thẻnày chứa tất cả các thẻ khác của tài liệu

Types: mô tả toàn bộ các kiểu dữ liệu được sử dụng, trao đổi giữa trình khách và máy chủ khi

chạy dịch vụ Các đặc tả trong W3C XML Schema được sử dụng như một sự lựa chọn mặcđịnh Nếu dịch vụ chỉ sử dụng các kiểu đơn XML Schema dựng sẵn như kiểu string hayinterger, thì có thể không cần khai báo thẻ types

Message: mô tả thông điệp một chiều, nó có thể là một thông điệp yêu cầu hoặc một thông

điệp đáp ứng Nó định nghĩa tên của thông điệp và có thể chứa hoặc không chứa các thẻ con(chứa các tham biến hoặc các giá trị trả về)

PortType: Là thẻ quan trọng nhất trong tài liệu WSDL, nó mô tả một web service, những hoạt

động mà web service có thể thực hiện, và những thông điệp liên quan Thẻ <portType> có thểđược so sánh với một thư viện hàm, (hay một mô đun, một lớp) trong các ngôn ngữ lập trìnhtruyền thống Thẻ này kết hợp các thẻ message để tạo nên một xử lý hoàn chỉnh Ví dụ nó cóthể kết hợp một thông điệp yêu cầu và một thông điệp đáp ứng để tạo nên một xử lý yêucầu/đáp ứng yêu cầu thường được sử dụng trong các dịch vụ SOAP Lưu ý là portType có thểđịnh nghĩa nhiều xử lý (thực thi theo tuần tự)

Operation types: kiểu vào ra thông dụng nhất,WSDL định nghĩa bốn kiểu sau:

One-way Nhận về một thông điệp nhưng không có thông điệp trả lời

Request-response Nhận về một thông điệp yêu cầu và trả lại một thông điệp

đáp ứngSolicit-response Gửi một thông điệp yêu cầu và chờ thông điệp đáp ứng

Notification Gửi một thông điệp yêu cầu nhưng không chờ đáp ứng

Bảng 1 : Các kiểu vào/ra trong WSDL

Binding: Định nghĩa cách các web service kết hợp với nhau Môi 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, môi kết hợp tham chiếu đến mộtloại 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 địnhnghĩa bên trong portType phải nằm trong phạm vi mối kết hợp

Ngoài ra thì một tài liệu WSDL cũng có thể chứa các thẻ khác như các thẻ mở rộng và các thẻdịch vụ có thể nhóm lại cùng nhau để định nghĩa vài web service trong cùng một tài liệuWSDL Cú pháp đầy đủ của WSDL sẽ được trình bày sau

Xét ví dụ đơn giản về một tài liệu WSDL đầy đủ : HelloService.wsdl

<?xml version="1.0" encoding="UTF-8"?>

<definitions name="HelloService"

targetNamespace="http://www.ecerami.com/wsdl/HelloService.wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/"

xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

Trang 16

use="encoded"/>

</output>

</operation>

</binding>

Trang 17

<service name="Hello_Service">

<documentation>WSDL File for HelloService</documentation>

<port binding="tns:Hello_Binding" name="Hello_Port">

<soap:address

location="http://localhost:8080/soap/servlet/rpcrouter"/> </port>

</service>

</definitions>

Đi phân tích ví dụ trên để hiểu rõ hơn về cấu trúc WSDL:

<definitions>:

Tên của tài liệu được chỉ rõ trong thuộc tính name của thẻ definitions Thẻ này cũng được chỉ

rõ các namespaces sẽ được sử dụng trong tài liệu

<definitions name="HelloService"

targetNamespace="http://www.ecerami.com/wsdl/HelloService.wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/"

Trang 18

Định nghĩa khuôn dạng của thông điệp và giao thức chi tiết cho web service

<binding name="Hello_Binding" type="tns:Hello_PortType">

Phần tử soap:binding có 2 thuộc tính là style và transport Style có thể là ‘rpc’ hoặc

‘document’ Trong trường hợp này chúng ta sử dụng ‘rpc’ Transport định nghĩa giao thức SOAP sử dụng, trong trường hợp này là HTTP Operation định nghĩa từng operation mà cổng thể hiện ra, với môi operation hành động SOAP tương ứng được định nghĩa Ta phải chỉ rõ cách đầu vào và đầu ra được mã hoá, trong trường hợp này chúng ta dùng ‘encoded’

c Cú pháp của tài liệu WSDL:

Cú pháp đầy đủ của một tài liệu WSDL được mô tả bởi W3C dưới đây:

<wsdl:definitions name="nmtoken"? targetNamespace="uri">

<import namespace="uri" location="uri"/> *

<wsdl:documentation /> ?

Trang 20

3.2.2 UDDI (Universal Description , Discovery and Intergration).

Để sử dụng các dịch vụ [13], 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 là một kỹ thuật chuyên biệt cho việccung cấp các mô tả, khám phá, và cách kết hợp các Web Service Nó cho phép các công ty,người lập trình có thể vừa làm ra và vừa cho phép tìm những Web Service đã có sẵn

-Về cốt lõi UDDI có hai phần:

• UDDI là một kỹ thuật đặc biệt cho việc xây dựng những thư mục phân tán của doanhnghiệp và Web Service Dữ liệu được lưu trữ dưới dạng XML, và đặc điểm kỹ thuật củaUDDI bao gồm chi tiết API cho việc tra tìm những dữ liệu có sẵn và đưa ra những dữ liệuUDDI

• Bộ đăng ký UDDI cho phép bất kỳ công ty nào cũng có thể đăng ký nó và dịch vụcủa nó

-Những UDDI registry hiện có:

• UDDI Business Registry: bộ đăng ký được bảo trì bởi Microsoft, IBM Đặc điểm của

bộ đăng ký này là nó phân tán về mặt vật lý

Trang 21

• IBM Test Registry: bộ đăng ký cho những người phát triển để thử nghiệm công nghệ

và kiểm tra những service của họ

• Private registries IBM ships: bộ đăng ký UDDI cá nhân

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ácclient 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 :

• Trang trắng -White pages: chứa thông tin liên hệ và các định dạng chính của webservices, như 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

• Trang vàng -Yellow pages: chứa thông tin mô tả web services theo những loại khácnhau, cho phép các đối tượng thấy web services theo từ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ăngcủa web services Để tìm kiếm, các đối tượng dựa vào đặc điểm của web services

• Loại dịch vụ - tModel: chứa các thông tin về loại dịch vụ sử dụng

3.2.3 SOAP (Simple object Access Protocol)

SOAP là một giao thức viết bằng XML[11,15], dùng để chuyển thông tin giữa các máytính Mặc dù SOAP có thể được sử dụng trong các hệ thống văn bản khác nhau và có thểđược truyền thông qua các giao thức giao vận khác nhau nhưng chủ yếu vẫn là các giao thứcgọi thủ tục từ xa được truyền thông qua HTTP SOAP là một nền độc lập và thực thi nhữngứng dụng khác nhau để tương tác

a Đặc trưng của SOAP [13]

• SOAP là một giao thức để giao tiếp, dùng để giao tiếp giữa các ứng dụng với nhau

• SOAP là định dạng để gửi thông điệp

• SOAP thiết kế để giao tiếp thông qua môi trường internet

• SOAP thiết kế đơn giản và dễ mở rộng

• Các message SOAP được mã hóa sử dụng XML

• SOAP sử dụng giao thức truyền dữ liệu riêng

• Không bị ràng buộc bởi bất kỳ ngôn ngữ nào hoặc công nghệ nào, vì nó là ngôn ngữ độc lập, một platform độc lập

Vì những đặc trưng này, nó không quan tâm đến công nghệ gì được sử dụng để thực hiện miễn là người dùng sử dụng các message theo định dạng XML Tương tự, service có thể được thực hiện trong bất kỳ ngôn ngữ nào, miễn là nó có thể xử lý được những message theo định dạng XML

b Ưu điểm của SOAP

SOAP có các ưu điểm sau đây:

• Cho phép truyền thông tin trên Internet giữa các chương trình với nhau

• Cung cấp con đường để truyền tin giữa các ứng dụng khác nhau chạy trên những hệ thống khác nhau, công nghệ và ngôn ngữ khác nhau

Trang 22

c Cú pháp của SOAP

Các quy ước cú pháp cho SOAP:

• Thông điệp SOAP phải được mã hóa bởi XML

• Thông điệp SOAP sử dụng không gian đóng gói SOAP

• Thông điệp SOAP phải sử dụng không gian mã hóa SOAP

• Thông điệp SOAP phải không chứa một tham chiếu DTD

• Thông điệp SOAP phải không chứa lệnh xử lý XML

d Cấu trúc một message theo dạng SOAP:

Message theo dạng SOAP là một văn bản XML bình thường bao gồm các phần tử sau:

Hình 1.7: Cấu trúc message SOAP

• Phần tử gốc - envelop : phần từ bao trùm nội dung message, khai báo văn bản XML như là một thông điệp SOAP

• Phần tử đầu trang – header: chứa các thông tin tiêu đề cho trang, phần tử này không bắt buộc khai báo trong văn bản Những đầu mục còn có thể mang những dữ liệu chứng thực, những chữ ký số hóa, và thông tin mã hóa, hoặc những cài đặt cho giao tác

• Phần tử khai báo nội dung chính trong thông điệp - body , chứa các thông tin yêu cầu

và phản hồi

• Phần tử phát sinh lôi (Fault) cung cấp thông tin lôi xảy ra trong quá trình xử lý thông điệp

Trong trường hợp đơn giản nhất, phần thân của SOAP message gồm có:

• Tên của message

• Một tham khảo tới một thể hiện service

• Một hoặc nhiều tham số mang các giá trị và mang các tham chiếu

Có 3 kiểu thông báo:

o Request messages : với các tham số gọi thực thi một service

o Response messages: với các tham số trả về, được sử dụng khi đáp ứng yêu cầu

Trang 23

o Fault messages: báo tình trạng lôi.

e Các kiểu truyền thông:

SOAP hô trợ hai kiểu truyền thông khác nhau :

• Remote procedure call (RPC): cho phép gọi hàm hoặc thủ tục qua mạng Kiểu này được khai thác bởi nhiều Web Service và có nhiều trợ giúp

• Document: được biết như kiểu hướng message, kiểu này cung cấp một lớp thấp của

sự trừu tượng hóa, và yêu cầu người lập trình nhiều hơn khi làm việc

Các định dạng message, tham số, và lời gọi đến các API thì tương ứng trong RPC và document là khác nhau Nên việc quyết định chọn cái nào tùy thuộc vào thời gian xây dựng

và sự phù hợp của service cần xây dựng

• Những kiểu phức tạp, có hai loại là struct và array

Tất cả các phần tử và những định danh có trong mô hình dữ liệu SOAP được định nghĩa bằng namespace SOAP-ENC

g Mã hóa

Các phương thức của Web Service trả về một hoặc nhiều giá trị được đóng gói dướidạng các tài liệu XML, và Web Service cho phép client và server tương tác trong những môitrường khác nhau Vậy dữ liệu đã được mã hóa như thế nào để có thể làm được điều đó?Trong những môi trường tính toán phân tán, mã hóa định nghĩa làm sao giá trị của dữ liệutrong ứng dụng có thể được dịch từ khuôn dạng nghi thức

Khuôn dạng nghi thức cho các Web Service là XML, ở đây chúng ta giả thiết servicerequestor và service provider phát triển trong Java Vì vậy, mã hóa SOAP là trong môi trườngthực thi để làm thế nào chuyển đổi từ cấu trúc dữ liệu Java sang SOAP XML và ngư ợc lại.Một ánh xạ định nghĩa là mối quan hệ giữa một phần tử XML, một lớp Java, và một trongnhững loại mã hóa giới thiệu

Một ánh xạ chỉ rõ làm cách nào, để khi đã mã hóa mà một phần tử XML đầu vào vẫnchuyển đổi được tới một lớp Java và ngược lại Chúng ta quan tâm tới hai phương hướng ánh

xạ là XML tới Java và Java tới XML Bất kỳ môi trường thực thi SOAP nào cũng phải có mộtbảng chứa những mục ánh xạ, gọi là SOAPMappingRegistry

Nếu một kiểu dữ liệu được giả thiết sẽ được sử dụng dưới một loại mã hóa nhất định, thìmột ánh xạ tương ứng phải tồn tại trong bộ đăng ký (registry) của môi trường thực thi SOAP

đó Những kiểu dữ liệu không chuẩn (tự định nghĩa) thì cần ánh xạ trên cả server và client

3.2.4 XML

a Khái niệm:

Trang 24

XML [15][18] viết tắt của EXtensible Markup Language – Là một bộ quy luật về cách

chia một tài liệu ra làm nhiều phần, rồi đánh dấu và ghép các phần lại với nhau để dễ nhậndiện chúng XML do W3C đề ra và được phát triển từ SGML XML là ngôn ngôn ngữ mô tảvới cấu trúc do người dùng định nghĩa Về hình thức XML có ký pháp giống như HTMLnhưng không tuân theo một đặc tả quy ước như HTML Người sử dụng hay các chương trình

có thể tự quy ước định dạng các thẻ (tag) XML để giao tiếp với nhau, và hoàn toàn không cógiới hạn về số thẻ được sử dụng Thông tin cần truyền tải được chứa trong các thẻ XML,ngoài ra không chứa bất kỳ thông tin nào khác về cách sử dụng hay hiển thị những thông tin

ấy

Tuy mới được phát triển, nhưng XML đã nhanh chóng được chấp nhận do nó cho phépcác hệ thống máy tính khác nhau chia sẻ dữ liệu một cách dễ dàng hơn, bất chấp hệ điều hànhhay ngôn ngữ lập trình được sử dụng là gì Hiện nay có rất nhiều các công cụ hô trợ XML baogồm các trình biên dịch và trình soạn thảo cho gần như tất cả các hệ điều hành, ngôn ngữ lậptrình như Java, Perl, Python, C/C++, C#, Ruby …

Web service là sự kết hợp của nhiều thành phần khác nhau, do đó web service sử dụngcác tính năng và đặc trưng của các thành phần này để giao tiếp với nhau Vì vậy XML là mộtcông cụ chính yếu để giải quyết vấn đề này Vì vậy, các ứng dụng tích hợp vĩ mô thường sửdụng XML Nhờ có khả năng tổng hợp này mà XML trở thành kiến trúc nền tảng cho xâydựng web service và nó đã trở thành một lựa chọn tự nhiên của các nhà phát triển khi xâydựng các web service

Để hiểu rõ hơn về XML-RPC, ta hãy xem xét một ví dụ đơn giản về dịch vụ cung cấpthông tin thời tiết Với tham số truyền vào là mã vùng, web service này sẽ trả lại thông tinnhiệt độ hiện tại của khu vực tương ứng với mã vùng đó Dưới đây là thông điệp yêu cầuXML-RPC đơn giản cung cấp chức năng trên:

Trang 25

Thông điệp yêu cầu này chứa đựng một thẻ đơn methodCall chỉ rõ tên của phương thức và

các tham biến của nó Tiếp theo là một ví dụ đơn giản về thông điệp đáp ứng XML-RPC đượctrả về bởi dịch vụ web nói trên:

Thông điệp đáp ứng chứa đựng một thẻ đơn methodReponse chỉ rõ giá trị trả về Trong

trường hợp này giá trị trả về được chỉ định là một giá trị kiểu Integer

Trong nhiều trường hợp, XML-RPC đơn giản hơn và dễ chấp nhận hơn SOAP Tuy nhiên, không giống với SOAP, XML-RPC không có sự mô tả cấu trúc ngữ pháp tương ứng của dịch

vụ Điều này ngăn cản việc tự động triệu gọi các dịch vụ XML-RPC, một yêu cầu quyết định cho phép tích hợp các ứng dụng thời gian chạy

►SOAP

SOAP là một giao thức dựa trên XML được dùng để trao đổi thông tin giữa các máytính Mặc dù SOAP có thể dùng được trong nhiều hệ thống truyền tin khác nhau, và có thểđược truyền qua nhiều giao thức vận chuyển khác nhau, về cơ bản SOAP là các lời gọi thủ tục

từ xa được vận chuyển thông qua giao thức HTTP Giống như XML-RPC, SOAP độc lập nền

và do đó cũng cho phép các ứng dụng khác nhau giao tiếp với nhau một cách dễ dàng

Để hiểu rõ hơn về SOAP, xét ví dụ về dịch vụ cung cấp thông tin thời tiết đơn giản ở trên.Dưới đây là thông điệp yêu cầu theo định dạng SOAP (Phần đầu của thông điệp HTTP đãđược lược bỏ):

</ns1:getWeather>

<SOAP-ENV:Body>

<SOAP-ENV:Envelope>

Ta có thể thấy thông điệp yêu cầu SOAP phức tạp hơn một chút so với XML-RPC Nó

sử dụng cả XML namespaces và XML Schemas Về cơ bản thì nó vẫn giống thông điệp XML-RPC, phần thân của thông điệp chỉ rõ tên của phương thức và danh sách các tham biến của phương thức đó.Tiếp theo là thông điệp đáp ứng SOAP tương ứng:

<?xml version=”1.0” encoding=”UTF-8” ?>

<SOAP-ENV:Envelope

xmlns:SOAP-ENV=” http://www.w3.org/2001/09/soap-envolope/ ”

Trang 26

Các thẻ có thể có tên tuỳ ý, tên của chúng có thể đặt khác nhau, nhưng cấu trúc và dữ liệu sẽkhông có gì thay đổi Tuy nhiên tuỳ theo mục đích và nội dung của tài liệu, ta nên chọn cácthẻ có ý nghĩa rõ ràng để trình bày.

Mặc dù ta có thể đặt bao nhiêu thẻ, với tên gọi bất kỳ cũng được nhưng môi trang XMLcần phải tuân theo một số quy luật sau để có thể coi là hợp chuẩn có như vậy các chươngtrình xử lý với có thể làm việc được với dữ liệu bên trong trang XML đó:

•Trang XML phải bắt đầu bằng lệnh xử lý tuyên bố XML (XML declaration)

•Môi bộ phận gọi là “element” phải nằm giữa một cặp thẻ (tag pair)

•Nếu thẻ nào không chứa gì ở giữa thì phải chấm dứt bằng “/>”, ví dụ như <br/> hay

<hr/>

•Một trang XML phải có một element duy nhất chứa tất cả các element khác Đó là thẻgốc của cây biểu diễn trang XML

Trang 27

•Các cặp thẻ không được xen kẽ nhau.

Ngoài ra có một số quy luật khác về cách dùng các kí tự đặc biệt, các thẻ đóng và thẻ mở trong môi cặp thẻ phải giống hệt nhau cả về cách viết chữ hoa, chữ thường

d Kiểm soát ý nghĩa của trang XML

XML chứa các dữ kiện bằng cách dùng những cặp thẻ (tab pair), nhưng tự nó khôngđòi hỏi các dữ kiện nào cần phải hiện diện hay chúng phải liên hệ với nhau như thế nào Cómột cách để thực hiện việc ấy là ghi vào phần đầu của một trang XML những quy luật ấnđịnh các dữ kiện phải như thế nào để trang XML được xem là có ý nghĩa Tâp hợp các quyluật ấy được gọi là Document Type Definition (DTD)

Mục đích của DTD là làm sao cho nhiều người hay chương trình khác nhau có thể đọc

và hiểu file của nhau Dưới đây là một trang XML với DTD ở đầu:

<name> ACA – American Composers Alliance </name>

<email> info@composers.com </email>

<homepage> http://www.composers.com </homepage>

<address> 170 West 74 th St NY NY 10023 </address>

<voice> 211-354=9800 </voice>

<fax> 211-874-8604 </fax>

Trang 28

<publisher>

<name> Alfred Publishing </name>

<address> 15535 Morrison South Oaks CA 91503 </address>

thuộc tính khác như email, homepage, address, voice, fax với dấu ? có nghĩa là có hoặc có

một cái cũng được, hoặc không có cũng được Ngôn ngữ cho DTD lấy từ SGML Trong ví dụtrên có nhiều giới hạn, như không định nghĩa chính xác được các loại dữ liệu (data type) sử dụng

Vì lý do trên Microsoft đã đề sướng XML Schemas với những ưu điểm sau:

• Dễ học và dễ dùng hơn DTD, chính Schema cũng là một trang thuộc loại XML

• Nó định nghĩa chính xác được các loại dữ liệu

• Có hệ thống tên (namespace) tốt hơn

• Dùng lại được các element qua cách thừa kế (inheritance)

• Linh động, dễ làm thêm các đặc điểm của Schemas

Ta có thể viết một Schema để thay thế đoạn DTD nói trên như sau:

<ElementTyep name=”document” content=”eltOnly” order=”one”>

<element type=”title” minOccurs=”1” maxOccusrs=”*”></element>

<element type=”publisher_list” minOccurs=”1” maxOccusrs=”*”></element>

Trang 29

<ElementType name=”publisher_list” content=”eltOnly” order=”one”>

<element type=”name” minOccurs=”1” maxOccurs=”1”></element>

<element type=”email” minOccurs=”0” maxOccurs=”1”></element>

<element type=”homepage” minOccurs=”0” maxOccurs=”1”></element>

<element type=”address” minOccurs=”0” maxOccurs=”1”></element>

<element type=”voice” minOccurs=”0” maxOccurs=”1”></element>

<element type=”fax” minOccurs=”0” maxOccurs=”1”></element>

- SOAP là giao thức nằm giữa tầng vận chuyển và tầng mô tả thông tin về dịch vụ, SOAP chophép người dùng triệu gọi một service từ xa thông qua một message XML

- WSDL là một ngôn ngữ mô tả giao tiếp và thực thi dựa trên XML Web service sử dụng ngôn ngữ WSDL để truyền các tham số và các loại dữ liệu cho các thao tác, các chức năng màweb service cung cấp

- UDDI dù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 thi các hàm , các chức năng của web service 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

Sơ đồ dưới đây cho chúng ta thấy rõ hơn về các thành phần cần thiết trong một web service

và mối quan hệ giữa các thành phần

Hình 1.8: Các thành phần cần thiết trong một web service

và mối quan hệ giữa các thành phần

Trang 30

Chương 2: Xây Dựng Web Service

1 Giới thiệu

Để tạo một web service ta cần xây dựng được các tầng cần thiết trong kiến trúc webservice, tức là đi xây dựng thiết lập các thành phần cho nó Vì thế cần phải có các bước đểxây dựng web service sao cho hiệu quả Có 4 giai đoạn chính để xây dựng một web service:xây dựng, triển khai, tiến hành và quản lý

2 Quá trình xây dựng Web Service

2.1 Các bước xây dựng Web service

Có bốn giai đoạn chính để xây dựng một Web service là xây dựng, triển khai, tiến hành,

và quản lý:

a.Giai đoạn xây dựng:

Bao gồm phát triển và chạy thử ứng dụng Web service Ở giai đoạn này phải làm rõ vàđịnh nghĩa các chức năng của Web service, chúng ta có hai cách khác nhau để tiếp cận là:

Red path - solod: xây dựng từ trạng thái ban đầu hoặc đã có sẵn bằng mã Java Sử dụng mã

Java đó, chúng ta xây dựng định nghĩa service (WSDL) với các đối tượng, hàm, chức năng

mà chúng ta mong muốn

Blue path –dashed: xây dựng từ đầu hoặc đã có một định nghĩa dịch vụ WSDL Sử dụng

WSDL này, chúng ta xây dựng hoặc sửa đổi lại mã Java để thực hiện các yêu cầu trongservice của mình

b.Giai đoạn triển khai:

Bao gồm công bố Web service, xây dựng ngôn ngữ diễn tả WSDL, và triển khai mãthực thi của Web service.Tại giai đoạn này, chúng ta triển khai Web service tới mộtapplication server Sau đó ta công bố (publishing) Web service để các client có thể tìm thấy.Thao tác công bố này có thể sử dụng UDDI registry Ngoài ra trong một số Web service,chúng ta cũng có thể kết hợp tất cả các phương thức đã được công bố trước đó

c Giai đoạn tiến hành:

Bao gồm đăng ký UDDI, tìm kiếm và gọi thực thi Web service Web service được thực thi vàgọi bởi những người dùng muốn sử dụng Web service đó

d Giai đoạn quản lý:

Bao gồm quản lý và quản trị ứng dụng Web service

2.2 Cách tiếp cận xây dựng Web service

Trong phần này mô tả những cách khác nhau để tạo ra một Web service Thông thường,

có ba cách tiếp để xây dựng một Web service là:

Trang 31

Cách tiếp cận top-bottom thường được sử dụng khi chúng ta đã có một định nghĩaservice trước đó và muốn sử dụng định nghĩa này để cung cấp các chức năng trong service tacần xây dựng

Định nghĩa service có thể là một thoả thuận trong lĩnh vực công nghiệp và được thựcthi bởi một số nhà cung cấp, ví dụ như một nhóm các sân bay thoả thuận và thống nhất vớinhau về kế hoạch bay của họ Trong trường hợp này, chúng ta có một định nghĩa service về kếhoạch bay, và khi đó từ định nghĩa service này ta sẽ xây dựng một Web service để cung cấpcác chức năng cho phép truy xuất thông tin về kế hoạch bay, và cung cấp cho người dùng

c Một nhóm sẵn có các Web service hiện có kết hợp lại để tạo ra các tính năng mới hoặc mở rộng cho các tính năng hiện có (multiple services)

Multiple service thường được sử dụng khi ta có một tập hợp các Web service chạytrong một hoặc nhiều hệ thống và ta muốn cung cấp tính năng mới hoặc sử dụng lại nhữngđặc tính hiện hữu do những Web service này cung cấp Trong hướng tiếp cận này, chúng tatạo ra một Web service mới bằng cách tích hợp, kết hợp các tính năng, chức năng của cácWeb service hiện có hoặc các module để tạo ra một Web service mới với nhiều tính nănghơn

Như vậy, để xây dựng được một Web service chúng ta phải trải qua nhiều giai đoạnkhác nhau và có nhiều hướng tiếp cận khác nhau: có thể xây dựng từ đầu, xây dựng từ nhữngnhu cầu, từ những chuẩn đã được thống nhất, hay xây dựng Web service từ việc nâng cấphoặc kết hợp các Web service đã có sẵn để tạo ra một Web service mới nhiều tính năng hơnđây chính là công nghệ tích hợp Web service Nhưng nhìn chung các bước cần tiến hành đểxây dựng một Web service là:

 Bước 1: định nghĩa và xây dựng các chức năng, các dịch vụ mà service sẽ cungcấp

 Bước 2: tạo tệp diễn tả WSDL cho service

 Bước 3: xây dựng SOAP server cho service

 Bước 4: đăng ký WSDL với UDDI registry để cho các client có thể tìm ra và truyxuất Web service

 Bước 5: client nhận tệp WSDL và từ đó xây dựng SOAP client để có thể kết nốivới SOAP server

 Bước 6: xây dựng ứng dụng phía client và sau đó gọi thực thi service thông quaviệc kết nối tới SOAP server

3 Tạo Web Service với ASP.net và VS.net

Tạo một web services project: vào File/web site như trên hình:

Trang 32

Sau đó chọn ASP.NET Web Service, chọn ngôn ngữ là C#, đặt tên cho web service là “vidu” như hình rồi nhấn OK:

Tạo một method:

Chạy thử web service này với danh sách các hàm được liệt kê.

Trang 33

Chọn hàm nhanHaiSo:

Sau khi nhập tham số vào và nhấn invoke có kết quả như sau:

Tương tự tạo một web services khác

4 Kiểm tra web service

Sau khi xây dựng thành công Web Service, trước khi đưa vào sử dụng, chúng ta nên tiến hành kiểm tra Web Service Các Web Service được xây dựng trong VS.Net tự động phát

Trang 34

sinh ra các trang kiểm tra tương ứng Để thực hiện điều này, ta chọn Service.asmx làm trang khởi động, nhấn F5 để thi hành ứng dụng.

Màn hình kiểm tra web serviceTrang kiểm tra Web Service sẽ liệt kê các phương thức hiện có trong Web Service được chọn thi hành Chọn phương thức cần kiểm tra Ở đây, chúng ta chọn phương thức

nhanHaiSo Xuất hiện màn hình nhập các tham số cho phương thức nhanHaiSo

Nhập các tham số cần thiết và nhấn nút Invoke để thi hành, chúng ta sẽ thấy xuất hiện trang kết quả như hình bên dưới

Màn hình kết quả

Ngày đăng: 22/03/2019, 09:07

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w