Ngày nay cùng với sự phát triển mạnh mẽ của môi trường Internet, các ứng dụ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ú. Trong nền kinh tế thị trường hiện nay, chuyển đổi dữ liệu, thông tin đang là một nhu cầu thiết yếu cho 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ách thức hoạt động của các dịch vụ B2B (Business to Business) và B2C (Business to Customer). Giá trị cơ bản của Web Service dựa trên việc cung cấp các phương thức theo 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ụng trên Internet giải quyết vấn đề chuyển đổi dữ liệu trong quy trình thương mại của các doanh nghiệp. Web Service kết hợp sử dụng nhiều công nghệ khác nhau cho phép các ứng dụ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. Các công nghệ mà web Service sử dụng như XML, SOAP,WSDL,UDDI
14 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 3294 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Tiểu luận Tìm hiểu công nghệ web service, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
&
Tiểu Luận
Tìm hiểu công nghệ Web Service
Mục Lục
Sinh viên thực hiện: Phạm Ngọc Hoàng
49k-Fit-Vinh university
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 ứng dụ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ú. Trong nền kinh tế thị trường hiện nay, chuyển đổi dữ liệu, thông tin đang là một nhu cầu thiết yếu cho 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ách thức hoạt động của các dịch vụ B2B (Business to Business) và B2C (Business to Customer). Giá trị cơ bản của Web Service dựa trên việc cung cấp các phương thức theo 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ụng trên Internet giải quyết vấn đề chuyển đổi dữ liệu trong quy trình thương mại của các doanh nghiệp. Web Service kết hợp sử dụng nhiều công nghệ khác nhau cho phép các ứng dụ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. Các công nghệ mà web Service sử dụng như XML, SOAP,WSDL,UDDI
Chương 1. Giới thiệu về ứng dụng phân tán
Công nghệ Web Service đã thay đổi diện mạo và cách thức hoạt động của Ứng dụng phân tán cũng như giải quyết khó khăn của ứng ụng phân tán trước đây là vấn đề với Firewall và Proxy Server. Chúng ta sẽ tìm hiểu khái quát ứng dụng phân tán để hiểu hơn về web service.
Giới thiệu về ứng dụng phân tán
Khái niệm Hệ phân tán
Hệ phân tán là một hệ thống các thành phần (máy tính) xử lý phân tán và giao tiếp nhau qua một cơ sở hạ tầng truyền thông chung
Phân loại Hệ phân tán bao gồm:
Hệ phân tán mang tính hệ thống: hệ điều hành phân tán
Hệ phân tán mang tính ứng dụng: các hệ thống truyền tin phân tán
Mục tiêu của hệ phân tán
Giảm rủi ro và chi phí phát triển:
Chi phí phát triển những hệ thống xử lý lớn là rất tốn kém và có thể vượt quá khả năng của nhiều tổ chức.
Việc tập trung tất cả thông tin tại một nơi là nguy cơ tiềm tàng về mất mát dữ liệu khi có sự cố xảy ra.
Sở hữu thông tin: Thông tin có thể ở nhiều dạng, nhiều nguồn, và thuộc sở hữu của nhiều tổ chức khác nhau. Việc gom hết tất cả thông tin về một nơi là bất khả thi. Do đó việc phân tán thông tin là cần thiết
Độ an toàn: đối với những dữ liệu quan trọng và nhạy cảm. nhu cầu bảo mật thông tin được đưa lên hàng đầu. đồng thời dữ liệu phải được truy xuất dễ dàng. Bởi vậy, việc dữ liệu được chia nhỏ thành nhiều phần và phân tán nhiều nơi đáp ứng vấn đề bảo mật và truy xuất dễ dàng.
Đặc trưng cơ bản của hệ phân tán:
Kết nối người sử dụng vào chia sẻ tài nguyên: giải quyết bài toán chia sẻ tài nguyên trong hệ thống
Tính trong suốt: ẩn dấu sự rời rạc và nhược điểm nếu có của hệ thống với người sử dụng và nhà lập trình ứng dụng
Tính nhất quán: Hệ phân tán cho phép chạy những ứng dụng khác nhau trên nhiều máy khác nhau thành một hệ thống duy nhất
Tính mở: hệ phân tán nhằm cung cấp các dịch vụ theo quy tắc chuẩn mô tả cú pháp và ngữ nghĩa.
Tính uyển chuyển: Khả năng thay đổi tùy theo quy mô hệ thống cao.
Tính chịu lỗi.
Mô hình hệ thống phân tán
Hình 1. Mô hình ứng dụng phân tán
Các vấn đề nảy sinh trong hệ thống phân tán
Các hệ điều hành khác nhau sẽ hỗ trợ những kiểu dữ liệu khác nhau. Đôi khi các kiểu dữ liệu không tương thích 100% trên các nền tảng hệ điều hành khác nhau. Khi phát triển ứng dụng phân tán chúng ta cần chú ý đến việc hòa hợp dữ liệu trên các môi trường
Các thành phần của một ứng dụng phân tán thường ở nhiều nơi khác nhau trên mạng do đó khả năng phát sinh lỗi cao hơn bình thường.
Nếu server lưu trạng thái của client, khi client bị ngừng đột ngột, hệ thống cần có biện pháp thông báo cho server và thu hồi tài nguyên bị chiếm giữ cũng như dữ liệu đang gửi đi
Dữ liệu hệ phân tán thường được gửi qua lại nhiều node trên mạng, do đo bảo mật là vấn đề quan trọng cần giải quyết.
Vấn đề đồng bộ thời gian của client và server cũng rất quan trọng.
Các hệ thống phân tán
RMI (Remote Mothod Invocation)
Được Sun đưa ra
Là một cơ chế cho phép một đối tượng đang chạy trên máy ảo java này triệu gọi các phương thức tồn tại trên máy ảo java khác.
Cơ chế hoạt động: Thiết lập kết nối Client – Server
Server: cung cấp dịch vụ RMI
Client: triệu gọi các phương thức trên đối tượng của dịch vụ do server cung cấp
Được tích hợp sẵn trong java
DCOM (Distribited Component Object Model)
Được Microsoft đưa ra
Hoạt động dựa trên giao thức TCP-IP, thông qua việc gửi thông tin dưới dạng nhị phân (binary).
Giao tiếp thông qua việc thiết lập Client-Server
CORBA (Common Object Request Broker Architecture)
Được OMG (Object Management Group) đưa ra nhằm tạo nên một hệ phân tán vượt qua nhiều vấn đề về tính tương kết (interoperabiity) với việc tích hợp các ứng dụng mạng
CORBA là một hệ phân tán mở, độc lập nền tảng và độc lập ngôn ngữ
Hạn chế các hệ thống phân tán trên
Firewalls: các hệ thống trên khi hoạt động ở những mạng được che chắn bởi firewall đều phải được sự cho phép của những người quản trị firewall để được ra ngoài. Đây là một lỗ hổng bảo mật tiềm tàng và khó chấp nhận bởi nhiều tổ chức
Sự phối hợp các giao thức: các mô hình trên đều có đặc điểm và dựa trên các giao thức tầng dưới khác nhau. Việc xây dựng chương trình chuyển đổi qua lại giữa các tầng với nhau dẫn đến việc mất mát thông tin và các tầng khác nhau có thể không thể cùng làm việc được với nhau.
Chương 2: Web Service
Giới thiệu Web Service
Khái niệm web service
Theo định nghĩa của W3C (World Wide Web Consortium), Web Service 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ạng Internet, giao diện chung và sự gắn kết của nó được mô tả bằng XML.
Web Service là tài nguyên phần mềm có thể xác định bằng địa chỉ URL, thực hiện các chức năng và đưa ra các thông tin người dùng yêu cầu. Một dịch vụ Web được tạo nên bằng cách lấy các chức năng và đóng gói chúng sao cho các ứng dụng khác dễ dàng nhìn thấy và có thể truy cập đến những dịch vụ mà nó thực hiện, đồng thời có thể yêu cầu thông tin từ dịch vụ Web khác. Nó bao gồm các mô đun độc lập cho hoạt động của khách hàng và doanh nghiệp và bản thân nó được thực thi trên server.
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ền tảng Web, sử dụng các chuẩn mở XML (Extensible Markup Language), SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language) và UDDI (Universal Description Discovery and Integration) thông qua giao thức Internet.
Hình 2. Mô hình ứng dụng của Web Service
Hoạt động của Web Service
Một ứng dụng web Service bao gồm 2 phần: Client và Server giao tiếp với nhau qua giao thức HTTP.
Client gửi yêu cầu qua các lời gọi hàm thông qua HTTP Request đến Server
Server gửi các kết quả được thực thi các ở các hàm thông qua HTTP Response
Mô hình hoạt động của ứng dụng Web Service gồm 3 thành phần chính:
UDDI register: Công cụ giúp nhà phát triển Web Service công bố những thông tin về Web Service của mình cho cộng đồng các nhà phát triển ứng dụng. Người dùng sẽ dựa vào các thông tin này để sử dụng Web Service trong ứng dụng riêng của mình tạo thành một hệ phân tán.
Web Service: chứa giao thức SOAP định dạng dữ liệu, tài liệu WSDL định nghĩa các hàm trong Web Service, XML để xây dựng ứng dụng phân tán.
Application Client: ứng dụng phía Client sử dụng web Service xây dựng ứng dụng riêng cho mình
HTTP request
Application
SOAP Client
SOAP processor
Discrete business logic
HTTP response
WSDL
UDDI registry
Web Service
Hình 3. Mô hình hoạt động của Web Service
Cách thức hoạt động của ứng dụng Web Service có thể được mô tả như sau:
Đầu tiên, Application Client cần truy vấn đến các mẫu tin UDDI theo một thông tin nào đó( chẳng hạn tên, loại ) để xác định Web Service cần tìm. Khi đã xác định được Web Service cần cho ứng dụng, Client có thể lấy thông tin về địa chỉ của tài liệu WSDL của web Service này dựa trên mẫu tin UDDI. Tài liệu 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. Dựa vào những thông tin này, Client có thể tạo những gói tin SOAP tương ứng để liên lạc với Server.
Đặc điểm của Web Service
Đặc điểm
Web Service 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.
Web Services liên lạc với thế giới bên ngoài dùng thông điệp XML gửi trực tiếp qua Web protocols
Một Web Service bao gồm có nhiều mô-đun và có thể công bố lên mạng Internet.
Một ứng dụng Web Service khi được triển khai sẽ hoạt động theo mô hình client-server. Nó có thể được triển khai bởi một phần mềm ứng dụng phía server ví dụ như J2EE, Microsoft.Net…
Ưu và nhược điểm của Web Service
a. Ưu điểm:
Khả năng vượt firewall: Web Service hoạt động trên nên HTTP nên sử dụng port 80, là port mà firewall 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 độ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 kèm định dạng HTML
Web Service 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ác nhau 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ến trình/chức năng nghiệp vụ đóng gói trong giao diện Web Service.
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.
b. Nhược điểm
Những thiệt hại lớn sẽ xảy ra vào khoảng thời gian chết của Web Service, giao diệ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ác giao thức cho việc vận hành.
Có quá nhiều chuẩn cho Web Service 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 của Web Service.
Các thành phần của web Service
Web Service được các thành phần cấu thành nên : XML, SOAP, WSDL.
XML ( eXtensible Markup Language)
Web Service là sự kết hợp của nhiều thành phần khác nhau và dùng các đặc trưng của các thành phần này để giao tiếp với nhau. Để giải quyết vấn đề giao tiếp các thành phần, web service sử dụng XML là thành phần chính để giao tiếp giữa các thành phần với nhau và là kiến trúc nền tảng để xây dựng web service.
Khái niệm XML
Là một chuẩn mở do W3C đưa ra cho cách thức mô tả dữ liệu
Là một ngôn ngữ mô tả văn bản với cấu trúc do người dùng định nghĩa.
Đặc điểm
XML là một ngôn ngữ đánh dấu độc lập với phần mềm, phần cứng và platform
Cho phép các máy tính truyền cấu trúc dữ liệu giữa hệ thống không đồng nhất
Về hình thức: XML có cấu trúc giống HTML nhưng không tuân theo một đặc tả quy ước như HTML. HTML định nghĩa các thành phần được hiển thị như thế nào, còn XML lại định nghĩa các thành phần chứa cái gì.
Các thẻ XML không được định nghĩa trước mà do người lập trình tự định nghĩa
Cấu trúc XML
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…
Ví dụ về XML
trần văn An
25
WSDL ( Web Service Desctiption Language)
Khái niệm:
WSDL là một ngôn ngữ dựa trên XML để định nghĩa Web Service
WSDL định nghĩa cách mô tả web service theo cú pháp tổng quát XML bao gồm các thông tin:
Tên service
Giao thức và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của web service
Loại thông tin bao gồm thao tác, tham số, những kiểu dữ liệu.
Thành phần
Một WSDL bao gồm 2 thành phần chính:
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 web service
Cấu trúc của WSDL
Service implementation
Service interface
import
import
Service
types
Port
messages
PortTypes
binding
WSDL định nghĩa các phần tử cơ bản như sau:
Phần tử types: định nghĩa kiểu dữ liệu cơ bản cho thông điệp trao đổi giữa Client- Server.
Phần tử Message: định nghĩa thông điệp được gửi đi và hồi đáp. Mỗi thông điệp có thể bao gồm một hoặc nhiều phần.
?
Phần tử portTypes: định nghĩa cách mà thông điệp được gửi và nhận như thế nào.
*
Phần tử binding: Định nghĩa cách thức truy cập web Service thông qua các giao thức bên dưới. Mỗi phần tử binding sẽ mô tả cách thức liên kết một portType vào 1 protocol nhất định. Web Service hỗ trợ bao nhiêu protocol thì phải xây dựng bấy nhiêu phần tử binding.
SOAP (Simple Object Access Protocol)
Khái niệm
SOAP là giao thức được dùng để truyền dữ liệu qua Internet trong môi trường phân tán.
SOAP có thể được sử dụng cùng các giao thức khác như HTTP/HTTPS, FTP,…
Đặc trưng của SOAP
SOAP được thiết kế đơn giản và dễ mở rộng
Tất cả các message SOAP đều được mã hóa sử dụng XML
SOAP sử dụng giao thức truyền dữ liệu riêng.
SOAP Client không giữ bất kì một tham chiếu nào đầy đủ về đối tượng ở xa
SOAP không bị ràng buộc bởi bất kì ngôn ngữ lập trình hoặc công nghệ nào
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.
Kiến trúc của SOAP
SOAP Message
Headers
SOAP Envelope
SOAP Header
Headers
SOAP Body
Message Name and Data
Thành phần Headers: chỉ ra địa chỉ web service, host, content-Type, content-Length tương tự như một thông điệp HTTP
Thành phần SOAP Envelope: bao trùm toàn bộ nội dung thông điệp SOAP
SOAP header: phần thường được dùng để thêm các thông tin bổ sung phục vụ cho mục đích riêng của chương trình. Các thông tin được thêm vào header là authentication, quản lý transaction… phần haeder không bắt buộc phải có trong mọi gói tin SOAP.
SOAP Body: phần chứa các thông tin về lời gọi hàm ( tên hàm, tham số đầu vào, giá trị trả về,…) để phục vụ cho việc gọi hàm từ xa.
Ví dụ về SOAP: giả sử có 1 Web Service hỗ trợ phương thức cộng 2 số. khi đó SOAP Request và SOAP Response sẽ như sau:
SOAP Requsest
34.0
45.0
SOAP Response
79.0