Hệ thống tìm kiếm khách sạn

Web services là một tập các chuẩn đặc tả mở rộng khả năng của các chuẩn có sẵn như XML, URL và HTTP nhằm cung cấp chuẩn truyền thông giữa các hệ thống với nhau.Web services là những thành phần thực thi một số xử lý nghiệp vụ thông qua những dịch vụ và cung cấp những dịch vụ qua mạng, những dịch vụ này có thể được triệu gọi bởi các dịch vụ client bằng cách sử dụng giao thức SOAP trên HTTP. Web services độc lập về ngôn ngữ và độc lập về nền tảng bởi vì nó tách biệt đặc tả ra khỏi cài đặt. Web services dựa trên kiến trúc phân tán trong đó không có bất kì dịch vụ xử lý trung tâm nào và tất cả dạng truyền thông đều sử dụng các giao thức chuẩn. Các giao thức không được có bất kì ý nghĩa ngầm định nào bên trong mà phải được mô tả rõ ràng.

Một trong những đặc tính quan trọng của mô hình tính toán dựa trên Web services là ở đó cả các client và Web services đều không cần biết cài đặt của nhau. Kiến trúc Web services cung cấp nhiều thành phần cho phép các ứng dụng client tìm kiếm và sử dụng những Web services mình cần một cách động. Web services hứa hẹn mang đến khả năng tạo ra các môi trường phân tán trong đó bất kì ứng dụng nào, hoặc bất kì component ứng dụng nào cũng đều có thể kết hợp với nhau dễ dàng với tính độc lập nền tảng và độc lập ngôn ngữ (language-neutral). Web service có thể được sử dụng vào các mục đích đơn giản như đăng nhập vào một trang web hay với mục đích phức tạp như xử lý nghiệp vụ giao dịch vay mượn giữa các công ty với nhau. Điểm khác biệt chính của Web services với các công nghệ phân tán trước đây như Win32, J2EE và CGI là ở sự chuẩn hoá. Web services sử dụng XML, một ngôn ngữ độc lập trong việc biểu diễn dữ liệu, làm ngôn ngữ trao đổi thông tin. Bởi vậy khi được kết hợp với nhau, khả năng tích hợp phần mềm và đa kết nối giữa những mô hình web services thật đáng kinh ngạc. Thêm vào đó, các chuẩn Web services mới còn hỗ trợ các tính năng cao cấp như hỗ trợ giao dịch, bảo mật, quy trình nghiệp vụ

 

 

doc44 trang | Chia sẻ: luyenbuizn | Lượt xem: 1013 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Hệ thống tìm kiếm khách sạn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Điền tóm tắt nội dung của ĐATN bằng tiếng Việt. Tìm hiểu, nghiên cứu về kiến trúc Web Service và công nghệ Microsoft .NET Framework. Nắm vững được các kỹ thuật lập trình web service và lập trình ngôn ngữ Microsoft.NET Framework. Lập trình ứng dụng: Hệ thống tìm kiếm khách sạn. 1 ABSTRACT OF THESIS Summarise the content of the graduation paper in English. A study on the Web Service structure and the Microsoft.NET Framework technology. Understand the Web Service programming technique and Microsoft.NET Framework programming language. Application programming: The searching system of hotels. CẤU TRÚC BẢNG DỮ LIỆU Bảng dm_ws (danh mục các đối tác, phục vụ cho modul Management Partner) Tên trường Kiểu dữ liệu Diễn giải ID decimal(18, 0) Khóa chính NamePartner nvarchar(250) Tên đối tác (khách sạn) NameWS nvarchar(250) Đường dẫn web services Packet nvarchar(50) Gói dịch vụ (Gold, Silver, Copper), gói dịch vụ thể hiện mức ưu tiên của đối tác trong tìm kiếm NumStar Int Hạng (1 sao, 2 sao,.., 5 sao) [Add] nvarchar(250) Địa chỉ Tel varchar(50) Số điện thoại UU_TIEN varchar(1) A, B, C (Mức ưu tiên tương ứng với Packet (Gold, Silver, Copper), dùng để sắp xếp khi liệt kê DANH SÁCH HÌNH MỤC LỤC ĐỒ ÁN MỞ ĐẦU………………………………………………………..7 ĐẶT VẤN ĐỀ 7 NỘI DUNG ĐỀ TÀI 9 CƠ SỞ LÝ THUYẾT…………………………………………10 I/KIẾN TRÚC WEB SERVICES: 10 1.1/Các đặt trưng của Web services 13 1.2/Lợi ích của Web services 14 1.3/Thành phần Web Service 15 1.3. 2.WSDL -Web Services Description Language : 15 1.3.2.1 Tập tin giao diện - Service Interface 17 1.3.2.2. Tập tin thi hành - Service Implementation 19 1.3.3.UDDI - Universal Description , Discovery and Intergration 20 1.3.4. OAP - Simple Object Accesss Protocol 22 1.3.4.1 Đặc trưng SOAP 23 1.3.4.2 Cấu trúc một message theo dạng SOAP 24 1.3.4.3 Những kiểu truyền thông 25 1.3.4.4 Mô hình dữ liệu 26 II/GIỚI THIỆU VỀ CÔNG NGHỆ LẬP TRÌNH: 27 2.1. Giới thiệu về Microsoft. NET Framework 27 2.2 /Giới thiệu về ASP.NET 28 XÂY DỰNG ỨNG DỤNG…………………………………….30 I/HƯỚNG TIẾP CẬN XÂY DỰNG ỨNG DỤNG: 30 1/Phát biểu bài toán: 30 2/Hướng tiếp cận giải quyết bài toán: 31 3/Kĩ thuật chính giải quyết bài toán: 31 II/PHÂN TÍCH THIẾT KẾ HỆ THỐNG: 32 1/Mô tả các Actors và Use cases ………………………………………………………….……..32 2/Mô hình hóa tương tác………………………………………………………………….………34 3/Mô hình cơ sở dữ liệu quan hệ ………………………………………………………….……..39 III/CÀI ĐẶT ỨNG DỤNG: 40 1/Môi trường cài đặt: 40 2/Một số giao diện chương trình: 40 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN……………………42 MỘT SỐ KẾT QUẢ ĐẠT ĐƯỢC: 42 HƯỚNG PHÁT TRIỂN: 42 LỜI CẢM ƠN Lời đầu tiên cho phép em được gửi tới cô giáo TS. Trương Diệu Linh lời cảm ơn chân thành và lòng biết ơn sâu sắc nhất! Cô là người đã trực tiếp hướng dẫn em từ khi “Thực Tập Tốt Nghiệp” và trong suốt quá trình làm “Đồ Án Tốt Nghiệp”, nhờ sự chỉ bảo ân cần và tận tình của cô mà em có thể hoàn thành đồ án này đúng thời gian quy định. Bên cạnh đó sự quan tâm giúp đỡ của các thầy cô giáo trong bộ môn Mạng Truyền Thông - Trường Đại Học Bách Khoa Hà Nội, những người đã tạo điều kiện thuận lợi cho em cũng là một động lực rất lớn giúp em có thể vượt qua những khó khăn trong quá trình thực hiện đồ án. Em xin được gủi lời cảm ơn chân thành nhất đến toàn thể các thầy cô giáo trong bộ môn Mạng Truyền Thông - Trường Đại Học Bách Khoa Hà Nội. Cuối cùng em xin kính chúc các thầy cô giáo luôn mạnh khỏe, thành đạt và hạnh phúc! Em cũng xin cảm ơn gia đình và bạn bè đã cổ vũ động viên là động lực để em hoàn thành đồ án này. Hà Nội 6 – 2010 Hoàng Cao Minh PHẦN 1 MỞ ĐẦU Đặt Vấn Đề Khi website ra đời nó lập tức thay đổi cách con người giao tiếp và tiếp nhận kiến thức. Ban đầu, website chỉ là các trang HTML cơ bản. Sau đó, ASP, JSP, PHP và những công nghệ khác đã làm biến đổi hoàn toàn các ứng dụng mạng. Với xu thế thương mại hóa điện tử trong kinh doanh hiện nay, website dường như đã trở thành công cụ quảng bá thương hiệu uy tín nhất. Các tài nguyên internet được xây dựng bằng nhiều công nghệ và ngôn ngữ khác nhau dẫn đến vấn đề là tài nguyên ngày càng nhiều nhưng không đồng bộ, các hệ thống không thể truy xuất hoặc cập nhật lẫn nhau. Các ứng dụng desktop không có khả năng khai thác dữ liệu trực tiếp từ các website, website được viết bằng ngôn ngữ này cũng gặp khó khăn khi khai thác dữ liệu từ website được viết bằng ngôn ngữ khác. Từ đây sẽ nảy sinh một yêu cầu là cần có một tài nguyên thống nhất để tất cả mọi hệ thống có thể sử dụng ở mọi lúc mọi nơi. Để giải quyết yêu cầu trên, các nhà khoa học đã xây dựng webservice. Với sự phát triển nhanh chóng của hạ tầng mạng Internet đã làm thay đổi một cách mạnh mẽ mô hình kinh doanh cũng như cách tiếp cận, phát triển và đầu tư các ứng dụng kinh doanh (Enterprise software) của các doanh nghiệp. Các website đơn giản có thể đáp ứng nhu cầu hiện tại, nhưng rồi sắp tới sẽ không đủ sức hấp dẫn khách hàng quay trở lại website của mình. Điều này làm nảy sinh một nhu cầu thiết kế mới sinh động hơn, sáng tạo hơn. Vấn đề đang được các doanh nghiệp quan tâm hàng đầu khi phát triển hệ thống ứng dụng của mình đó là việc tích hợp các ứng dụng nhỏ đã được sử dụng trong doanh nghiệp thành một hệ thống tổng thể, hoàn chỉnh phục vụ mục đích kinh doanh của mình. Điều nảy sinh ở đây đó là các ứng dụng nhỏ sử dụng trong các doanh nghiệp ngày nay được phát triển qua nhiều giai đoạn, sử dụng nhiều công nghệ khác nhau, hoàn toàn không tương thích khiến cho việc kết hợp các ứng dụng này trở thành một hệ thống hoàn chỉnh là hết sức khó khăn. Để giải quyết vấn đề này, nhiều giải pháp đã được đề ra, trong đó đáng chú ý nhất và cũng có nhiều khả năng triển khai trong thực tế nhất đó là giải pháp phát triển, tích hợp các hệ thống con với công nghệ Web Service và Microsoft.NET Framework. Ý tưởng chính của giải pháp này được tóm gọn như sau: Các ứng dụng nhỏ trong hệ thống sẽ trình bày giao diện của nó dưới dạng Web Service, một ứng dụng ở trung tâm (cũng là một web service) được xây dựng dựa trên công nghệ Microsoft .NET Framework để kết hợp các web service nhỏ trở thành một tiến trình duy nhất. Chính vì vậy mà em đã chọn làm “Đồ Án Tốt Nghiệp” là “Xây dựng ứng dụng tìm kiếm thông tin du lịch sử dụng Webservices” để nghiên cứu phương pháp lập trình web mới. Nội Dung Đề Tài Trong đồ án tốt nghiệp cuối khóa này, em xin trình bày về vấn đề phát triển một hệ thống tích hợp các Web Service dựa trên công nghệ Microsoft.NET Framework. Đồ án chia thành hai phần: Phần thứ nhất trình bày các cơ sở lý thuyết về Web Service và Microsoft .NET Framework. Phần thứ hai trình bày việc xây dựng một hệ thống tìm kiếm phòng của khách sạn dựa trên kiến trúc Web Service và Microsoft ASP.NET 2.0. Hệ thống này có đặc điểm là sử dụng công nghệ Microsoft.NET Framework để kết hợp các web service của các khách sạn và cho phép người sử dụng tìm kiếm các phòng của khách sạn với các thông tin dữ liệu trả về lấy từ các web service này. PHẦN 2 CƠ SỞ LÝ THUYẾT Trong phần này em xin trình bày chi tiết về cơ sở lý thuyết các kĩ thuật liên quan. I/KIẾN TRÚC WEB SERVICES: Web services là một tập các chuẩn đặc tả mở rộng khả năng của các chuẩn có sẵn như XML, URL và HTTP nhằm cung cấp chuẩn truyền thông giữa các hệ thống với nhau.Web services là những thành phần thực thi một số xử lý nghiệp vụ thông qua những dịch vụ và cung cấp những dịch vụ qua mạng, những dịch vụ này có thể được triệu gọi bởi các dịch vụ client bằng cách sử dụng giao thức SOAP trên HTTP. Web services độc lập về ngôn ngữ và độc lập về nền tảng bởi vì nó tách biệt đặc tả ra khỏi cài đặt. Web services dựa trên kiến trúc phân tán trong đó không có bất kì dịch vụ xử lý trung tâm nào và tất cả dạng truyền thông đều sử dụng các giao thức chuẩn. Các giao thức không được có bất kì ý nghĩa ngầm định nào bên trong mà phải được mô tả rõ ràng. Một trong những đặc tính quan trọng của mô hình tính toán dựa trên Web services là ở đó cả các client và Web services đều không cần biết cài đặt của nhau. Kiến trúc Web services cung cấp nhiều thành phần cho phép các ứng dụng client tìm kiếm và sử dụng những Web services mình cần một cách động. Web services hứa hẹn mang đến khả năng tạo ra các môi trường phân tán trong đó bất kì ứng dụng nào, hoặc bất kì component ứng dụng nào cũng đều có thể kết hợp với nhau dễ dàng với tính độc lập nền tảng và độc lập ngôn ngữ (language-neutral). Web service có thể được sử dụng vào các mục đích đơn giản như đăng nhập vào một trang web hay với mục đích phức tạp như xử lý nghiệp vụ giao dịch vay mượn giữa các công ty với nhau. Điểm khác biệt chính của Web services với các công nghệ phân tán trước đây như Win32, J2EE và CGI là ở sự chuẩn hoá. Web services sử dụng XML, một ngôn ngữ độc lập trong việc biểu diễn dữ liệu, làm ngôn ngữ trao đổi thông tin. Bởi vậy khi được kết hợp với nhau, khả năng tích hợp phần mềm và đa kết nối giữa những mô hình web services thật đáng kinh ngạc. Thêm vào đó, các chuẩn Web services mới còn hỗ trợ các tính năng cao cấp như hỗ trợ giao dịch, bảo mật, quy trình nghiệp vụ… Hình 2.1.1: Mô hình Web Service Mô hình web services dạng đơn giản định nghĩa cách thức tương tác giữa Service Requester, Service Provider và Service Directory như sau : Bên sử dụng dịch vụ tìm kiếm các dịch vụ trong một UDDI Service Directory. Chúng sẽ lấy thông tin mô tả WSDL của các Web services cung cấp bởi Service Providers từ trước thông qua Service Directory. Sau khi lấy được mô tả WSDL, bên yêu cầu dịch vụ kết nối đến nhà cung cấp dịch vụ bằng cách triệu gọi các dịch vụ thông qua giao thức SOAP. Web services cơ bản bao gồm các khái niệm SOAP, WSDL và UDDI. Chúng ta sẽ lần lượt phân tích trong các phần sau. Cần lưu ý là các chuẩn trên có thể được kết hợp với nhau hoặc dùng độc lập tùy trường hợp cụ thể. Kiến trúc của web service bao gồm các tầng như sau : Hình 2.1.2: Kiến trúc web service Trong đó 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ô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. - 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ù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. - 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 tin trong 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ụng service. 1.1/Các đặt trưng của Web services Self-Contained (Độc lập) Web service độc lập vì nó không đòi hỏi các tiến trình ở phía client phải cài đặt bất cứ một thành phần nào. Ở phía server, yêu cầu để triển khai (deploy) Web service chỉ là servlet engine, EJB container hoặc .NET runtime. Khi Web service đã được triển khai thì phía client có thể tiêu thụ các dịch vụ mà không cần đòi hỏi phải cài đặt bất cứ một thành phần nào. Trong khi đó với các công nghệ như DCOM hay RMI, phía client phải cài đặt client stub trước khi có thể truy cập dịch vụ. Tự Mô Tả Giao diện của Web Service được xuất bản thông qua tài liệu Wsdl. Tài liệu Wsdl định nghĩa cấu trúc thông điệp trao đổi và cấu trúc dữ liệu sử dụng trong thông điệp đó. Để triệu gọi dịch vụ, client chỉ cần biết cấu trúc và nội dung của thông điệp yêu cầu và đáp ứng của Web service. Truy cập thông qua Web Web được xuất bản, xác định và triệu gọi thông qua Web. Web service sử dụng giao thức chuẩn của web. Mô tả dịch vụ được xuất bản bằng cách sử dụng WSDL, các dịch vụ được xác định với sự giúp đỡ của UDDI registry và triệu gọi thông qua SOAP. Tất cả những giao thức này đều dựa trên web. Độc lập về Ngôn ngữ, Nền tảng, Giao thức Web service có cơ sở là tiêu chuẩn mở XML. Một Client được viết bằng bất cứ ngôn ngữ cũng nào có thể truy cập một trang web service được viết bằng bất cứ ngôn ngữ nào khác. Web service độc lập nền tảng, client và web service có thể chạy trên hai nền tảng độc lập khác nhau. Dựa trên chuẩn Mở Những chuẩn này là XML, SOAP, WSDL và UDDI. Web service cho phép client và server tương tác được với nhau mặc dù trong những môi trường khác nhau. Web service thì có dạng mở và dựa vào các tiêu chuẩn. XML và HTTP là nền tảng kỹ thuật cho web service. Phần lớn kỹ thuật của web service được xây dựng là những dự án nguồn mở. Bởi vậy, chúng độc lập và vận hành được với nhau. Web service thì rất linh động: Vì với UDDI và WSDL, thì việc mô tả và phát triển web service có thể được tự động hóa. Web service được xây dựng trên nền tảng những công nghệ đã được chấp nhận . Web service có dạng mô đun. Web service có thể công bố (publish) và gọi thực hiện qua mạng. Ngày nay web services được sử dụng rất nhiều trong những lĩnh vực khác nhau của cuộc sống như: - Tìm kiếm các thông tin về các khách sạn ở các thành phố hoặc các trung tâm để liên hệ đặt phòng theo yêu cầu của khách hàng. - Dịch vụ chọn lọc và phân loại tin tức: Là những hệ thống thư viện kết nối đến các web portal để tìm kiếm các thông tin từ các nhà xuất bản có chứa những từ khóa muốn tìm. - Dịch vụ hiển thị danh sách đĩa nhạc dành cho các công ty thu thanh. - Ứng dụng đại lý du lịch có nhiều giá vé đi du lịch khác nhau do có chọn lựa phục vụ của nhiều hãng hàng không. - Bảng tính toán chính sách bảo hiểm dùng công nghệ Excel/COM với giao diện web. - Thông tin thương mại bao gồm nhiều nội dung, nhiều mục tin như: Dự báo thời tiết, thông tin sức khoẻ, lịch bay, tỷ giá cổ phiếu… 1.2/Lợi ích của Web services Web service cung cấp một số lợi ích về công nghệ và kinh doanh, trong số đó bao gồm: Tương kết ứng dụng và dữ liệu Thiết kế linh hoạt Tái sử dụng mã nguồn Tiết kiệm chi phí Với các đặc trưng vốn có của mình như độc lập về nền tảng, công nghệ cũng như việc dựa trên các chuẩn mở giúp cho việc giao tiếp giữa các ứng dụng trở nên dễ dàng thông qua việc sử dụng web service. Với lợi thế này, các ứng dụng với các nền tảng, công nghệ, cấu trúc dữ liệu khác nhau có thể giao tiếp trao đổi thông tin cũng như cộng tác với nhau một cách dễ dàng. Web service rất linh hoạt trong thiết kế. Chúng có thể được truy xuất bởi con người thông qua giao diện web browser hoặc có thể được truy xuất bởi một ứng dụng khác và thậm chí là một web service khác. Một client có thể truy xuất và kết hợp dữ liệu từ nhiều web service khác nhau cho dù các web service này có thể chạy trên các nền tảng hệ thống không tương thích. Bởi vì hệ thống trao đổi thông tin thông qua web service nên sự thay đổi trong các thành phần (ví dụ như sự thay đổi đến cơ sở dữ liệu) không gây ảnh hưởng đến bản thân web service. Tái sử dụng mã nguồn là một trong các lợi thế bắt nguồn từ khả năng tương kết và sự mềm dẻo của web service. Một web service có thể được sử dụng bởi nhiều client hoặc có thể được kết hợp lại để thực hiện một mục tiêu kinh doanh. Thay vì phải xây dựng một hệ thống mới thì doanh nghiệp có thể sử dụng lại các web service và kết hợp chúng theo mục tiêu của mình. Tất cả các lợi ích trên giúp cho doanh nghiệp giảm chi phí cũng như giảm thời gian triển khai các ứng dụng của mình. Hơn thế nữa việc web service dựa trên các chuẩn mở giúp giảm chi phí đầu tư, giảm thời gian tiếp cận công nghệ hơn các hệ thống độc quyền khác. Cuối cùng, việc xây dụng web service có lợi thế về việc tận dụng giao thức và cơ sở hạ tầng có sẵn trong mỗi doanh nghiệp. 1.3/Thành phần Web Service 1.3. 1.XML– Extensible Markup Language XML do W3C đề ra và được phát triển từ SGML. XML là một ngôn ngữ mô tả văn bản với cấu trúc do người sử dụng định nghĩa. Về hình thức XML có ký pháp tựa như HTML như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ể quy ước định dạng các tag XML để giao tiếp với nhau. Thông tin cần truyền tải được chứa trong các tag XML, ngoài ra không chứa bất cứ thông tin nào khác về cách sử dụng hay hiển thị những thông tin ấy. Do web service là sự kết hợp của nhiều thành phần khác nhau, do đó web services sử dụng cá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ột công cụ chính yếu để giải quyết vấn đề này. Từ kết quả này, các ứng dụng tích hợp vĩ mô tăng cườ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 việc xây dựng web service. Web services tận dụng khả năng giải quyết vấn đề của các ứng dụng lớn trên các hệ điều hành khác nhau cho chúng giao tiếp với nhau. 1.3. 2.WSDL -Web Services Description Language : Web Sevice Description Language (WSDL) định nghĩa một tài liệu XML mô tả giao diện của các dịch vụ web. Tài liệu WSDL này được sử dụng cho bên yêu cầu dich vụ (service requester). Bên yêu cầu dịch vụ sẽ sử dụng các thông tin về giao diện định nghĩa trong lược đồ WSDL để triệu gọi (invoke) dịch vụ web. Một tài liệu WSDL mô tả một Web Service như một tập các đối tượng trừu tượng gọi là các “ports” và “endpoint”. Một tài liệu WSDL cũng định nghĩa bên trong nó các phương thức của web service. Các phương thức tương ứng với “operation” và dữ liệu trao đổi tương ứng với “message”. Một tập các phương thức liên quan được nhóm lại vào trong một “portType”. Một ràng buộc kết nối (binding) chỉ định một giao thức mạng và đặc tả định dạng dữ liệu cho một portType cụ thể. Kế đến một port được định nghĩa bằng cách kết hợp một địa chỉ mạng với một binding. Nếu một client có được một tài liệu WSDL và tìm thấy binding và địa chỉ cho mỗi port, nó có thể gọi các phương thức của dịch vụ theo đúng giao thức và định dạng dữ liệu đã đặc tả. Phần tử gốc của tất cả các tài liệu WSDL luôn là phần tử . Nó chứa bên trong sáu thành phần chia thành hai nhóm: Thông tin trừa tượng và thông tin cụ thể. Thông tin trừu tượng types messages portType Thông tin cụ thể d. bindings e. services Các thành phần chứa những tham chiếu lẫn nhau như trong hình. Hình 2.1.3: Cấu trúc WSDL 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: 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, cộng với tên cho giao diện này. Một WSDL hợp lệ gồm có hai phần : 1. Phần giao diện mô tả giao diện và giao thức kết nối. 2. 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 (cho phần 1). - Tập tin thi hành service (cho phần 2). Hình 2.1.4: Cấu trúc WSDL 1.3.2.1 Tập tin giao diện - Service Interface WSDL mô tả 5 loại thông tin chính bao gồm: import, types, message , portType, binding. a. Types: WSDL định nghĩa các kiểu dữ liệu của thông điệp gửi . * b.Thông điệp (message): Mô tả thông điệp được gửi giữa client và server. * * Những định nghĩa message được sử dụng bởi phần tử thi hành service. Nhiều thao tác có thể tham chiếu tới cùng định nghĩa message. Thao tác và những message được mô hình riêng rẽ để hỗ trợ tính linh hoạt và đơn giản hóa việc tái sử dụng lại. Chẳng hạn, hai thao tác với cùng tham số có thể chia sẻ một định nghĩa message. c.Kiểu cổng (port type): WSDL mô tả cách gửi và nhận thông điệp. * WSDL định nghĩa bốn kiểu thao tác mà một cổng có thể hỗ trợ : - One-way: Cổng nhận một message, message đó là message nhập. - Request-response : Cổng nhận một message và gửi một message phản hồi - Solicit-response: Cổng gửi một message và nhận về một message - Notification: Cổng gửi một message, message đó là message xuất. Mỗi kiểu thao tác có cú pháp biến đổi tùy theo: Thứ tự của các message nhập, xuất và lỗi. Ví dụ : * * d.Kết hợp (Binding): Định nghĩa cách các web services kết hợp với nhau. Một kết hợp bao gồm : - Những giao thức mở rộng cho những giao tác và những message bao gồm thông tin URN và mã hóa cho SOAP. - Mỗi một kết hợp tham chiếu đến một loại cổng, một kiểu cổng (portType) có thể được sử dụng trong nhiều mối kết hợp. Tất cả các thao tác định nghĩa bên trong kiểu cổng phải nằm trong phạm vi mối kết hợp. 1.3.2.2. Tập tin thi hành - Service Implementation WSDL mô tả 2 loại thông tin chính bao gồm: Service và port . a.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. * * b. 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. * * Ở đây chúng ta thấy rằng thuộc tính kết hợp tên là qname. Nó tham chiếu tới một mối kết hợp. Một cổng chứa đựng chính xác một địa chỉ mạng bất kỳ cổng nào trong phần thi hành phải tương ứng chính xác với một tham chiếu trong phần giao diện. 1.3.3.UDDI - Universal Description , Discovery and Intergration Về cơ bản Universal Description, Discovery, and Intergration (UDDI) là một tập các quy tắc đăng ký và tìm kiếm thông tin các Web Service. Nó đóng vai trò như service broker cho phép người sử dụng dịch vụ tìm đúng nhà cung cấp dịch vụ cần tìm. UDDI hỗ trợ chức năng: Thực hiện tìm kiếm, định vị những doanh nghiệp cung cấp dịch vụ hay sản phẩm theo phần loại theo vùng địa lý. Thông tin về một nhà cung cấp dịch vụ bao gồm địa chỉ, thông tin liên lạc và các định danh. Thông tin kỹ thuật (Technical information) về Web service mà doanh nghiệp cung cấp (ví dụ như cách sử dụng dịch vụ được cung cấp). Để có thể sử dụng các dịch vụ, trước tiên 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 đị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ác client truy tìm và nhận lại những thông tin yêu cầu sử dụng web services. Muốn sử dụng đến các dịch vụ của UDDI, bản thân UDDI cung cấp một tập hàm API dưới dạng SOAP Web Service. Tập API được chia làm hai phần: Inquiry API dùng truy vấn và Publisher’s API dùng đăng ký. Phần API dùng để truy vấn bao gồm hai phần con: Một phần dùng để tạo ra các chương trình cho phép tìm kiếm và duyệt thông tin trên một UDDI registry, phần còn lại dùng để xử lý lỗi triệu gọi. Thành phần xử lý chính là bộ đăng ký UDDI, đó là một file XML dùng để mô tả một thực thể kinh doanh (business entity) kèm theo các Web service đi cùng. Sử dụng các dịch vụ của UDDI, các doanh nghiệp đăng ký thông tin về những Web service mà họ định cung cấp. Thông tin này đuợc thêm vào UDDI registry thông qua Web site hoặc sử dụng các công cụ lập trình sử dụng các dịch vụ theo đúng đặc tả UDDI programmer’s API. Lược đồ XML UDDI định nghĩa bốn loại thông tin cơ bản để kết nối đến Web service. Hình 2.1.5: Mô hình UDDI Như hình trên, cấu trúc thông tin bao gồm : Business entity: Một business entity chứa thông tin về công bao gồm tên công ty, một đoạn mô tả ngắn gọn và một vài thông tin liên lạc cơ bản (địa chỉ, số điện thoại, email, v.v….). Mỗi doanh nghiệp được cấp một định danh duy nhất, ví dụ như số D-U-N-S. Business service: Liên kết với mỗi business entity là một danh sách các business service cung cấp bởi business entity đó. Mỗi thành phần chứa thông tin mô tả về dịch vụ, về thông tin phân loại của dịch vụ và danh sách các binding template liên quan đến thông tin kỹ thuật của dịch vụ. Mỗi business service cần có ít nhất một binding template. Binding template: Gắn với mỗi business service là một danh sách các binding template cung cấp thông tin về địa điểm có thể tìm thấy Web Service và làm cách nào để sử dụng nó. Một cấu trúc binding template mô tả thông tin interface của Web Service và các địa chỉ URL. Mỗi bindingTemplate được định danh duy nhất thông qua số phát sinh tự động UUID lưu trong bindingKey. tModels: Mục đích của tModels là dùng để liên kết đến metadata bên ngoài UDDI. Thành phần quan trọng nhất của tModels là một URL trỏ đến một tài liệu mô tả thông tin metadata. Tài liệu này có thể là tài liệu bất kì HTML, Word, ... tùy ý mô tả một đặc tả kỹ thuật nào đó, ví dụ như giao thức mạng, dạng thức trao đổi hoặc luật tuần tự mà thông thường nhất là file mô tả thông tin service WSDL. Có hai thuộc tính cơ bản bên trong một tModel : tModelKey đóng vai trò định danh duy nhất giữa các tModel với nhau và name dùng cung cấp một tên với đầy đủ ngữ nghĩa cho tModel. Tóm lại SOAP, WSDL và UDDI có thể kết hợp với nhau như sau

Các file đính kèm theo tài liệu này:

  • docWeb Service và công nghệ Microsoft .NET Framework.doc