Chuyên đề tốt nghiệp Tìm hiểu về WSDL, ASP.NET, SOAP và Ứng dụng

33 9 0
Chuyên đề tốt nghiệp Tìm hiểu về WSDL,  ASP.NET, SOAP và Ứng dụng

Đ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

Tìm hiểu về SOAP (Simple Object Access Protocol), Tìm hiểu về WSDL (Web Services Description Language), Tìm hiểu về ASP.NET,Một số các dịch vụ sử dụng wsdl. 1.Tìm hiểu về SOAP (Simple Object Access Protocol)1.1.Định nghĩa về SOAP( Simple Object Access Protocol)SOAP là giao thức truyền thông giữa các ứng dụng.SOAP được thiết kế để liên lạc qua Internet và làm việc qua tường lửa.SOAP độc lập nền tảng, độc lập ngôn ngữ.SOAP = XML + một giao thức có thể hoạt động trên Internet (HTTP, FTP, SMTP), trong đó HTTP phổ biến hơn cả.1”WebService – Cơ bản về SOAP, WSDL và ASP.NET Web Service | YinYang’s Programing Blog.”a)Web Service là gì?•Web Serivce 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 dựa trên XML và HTTP, trong đó XML làm nhiệm vụ mã hóa và giải mã dữ liệu và dùng SOAP để truyền tải. Web Service không phụ thuộc vào platform nào, do đó bạn có thể dùng Web Service để truyền tải dữ liệu giữa các ứng dụng hay giữa các platform. 2“ Web Service và Kiểm thử Web Service” Viblo. 5. “Tìm hiểu về websevice, https:techblog.vn”•Được thể hiện trong html dựa trên sự tương tác của User Web Service•Sơ đồ tương tác giữa User và Web Service:b)Thành phần của Web Service bao gồm:•WSDL (Web Service Description Language ):Là ngôn ngữ mô tả dịch vụ•UDDI (Universal Description, Discovery, and Integration) :được sử dụng để đăng ký và tìm dịch vụ Web đã được miêu tả cụ thể trong WSDL , UDDI sử dụng SOAP để giao tiếp với UDDI server•SOAP:giúp client có thể truy xuất đến UDDI registry bằng các lệnh SOAPĐến đây chúng ta đã hiểu được web services là như thế nào, nó được công bố và truy xuất ở đâu. Nhưng vẫn còn một vấn đề khá quan trọng đó là: Làm thế nào chúng ta truy xuất dịch vụ khi tìm thấy? Câu trả lời là web servicves 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 SOAP. 2“ Web Service và Kiểm thử Web Service” Vibloc)XML là gì?•XML là viết tắt của eXtensible MarkupLanguage.•XML là một ngôn ngữ đánh dấu tương tựnhư HTML.•XML được thiết kế để mang dữ liệu,không để hiển thị dữ liệu.•Các thẻ XML không được định trước. Bạnphải xác định các thẻ của riêng bạn ()•XML được thiết kế để tự mô tả1.2.Các đặc trưng của SOAPSOAP có những đặc trưng sau :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.Không có garbage collection phân tán, và cũng không có cơ chế tham chiếu. Vì thế SOAP client không giữ bất kỳ một tham chiếu đầy đủ nào về các đối tượng ở xa.SOAP không bị ràng buộc bởi bất kỳ ngôn ngữ lập trình nào hoặc công nghệ nào.SOAP là giao thức mà định nghĩa cái cách để chuyển một XML message từ A đến B dựa trên giao thức chuẩn web HTTP (hoạt động trên cổng 80) qua giao thức Internet TCPIP.a)Tại sao chúng ta nên dùng giao thức SOAP•Ngày nay, các ứng dụng giao tiếp với nhau bằng cách sử dụng Remote Procedure Calls (RPC) như DCOM và CORBA, nhưng HTTP không được thiết kế cho việc này. RPC đại diện cho một khả năng tương thích và các vấn đề bảo mật, nhưng các thông báo qua mạng thường bị tường lửa và proxy servers chặn lại.•Cách tốt hơn để giao tiếp giữa các ứng dụng là sử dụng HTTP, bởi vì HTTP được hỗ trợ bởi tất cả các trình duyệt Internet và máy chủ nên SOAP được tạo ra để thực hiện điều này.•SOAP = XML + HTTPb)Quy tắc cú pháp:•Một message SOAP phải được mã hóa bằng cách sử dụng XML•Một message SOAP phải sử dụng SOAP Envelope namespace•Một message SOAP phải sử dụng SOAP Encoding namespace•Một message SOAP không phải có một tham chiếu DTD

MỤC LỤC ĐỀ TÀI Tìm hiểu Simple Object Access Protocol(SOAP),Web Service Description Language(WSDL) ASP.NET Web Service Phần I Mở đầu Như biết, ngày công nghệ thông tin phát triển mạnh mẽ Song song với điều nhu cầu tìm hiểu, trao đổi thông tin ứng dụng cao Và tất nhiên phải có giao thức giúp cho việc trao đổi thông tin diễn SOAP (Simple Object Access Protocol) với Web Service Description Language (WSDL) ASP.NET Web Service giao thức để làm điều đó.Sau nghiên cứu SOAP WSDL với ASP.NET Web Service Phần II Nội Dung Tìm hiểu SOAP (Simple Object Access Protocol)     Định nghĩa SOAP( Simple Object Access Protocol) SOAP giao thức truyền thông ứng dụng SOAP thiết kế để liên lạc qua Internet làm việc qua tường lửa SOAP độc lập tảng, độc lập ngơn ngữ SOAP = XML + giao thức hoạt động Internet (HTTP, FTP, SMTP), HTTP phổ biến [1]”WebService – Cơ SOAP, WSDL ASP.NET Web Service | YinYang’s Programing Blog.” a) Web Service gì? • Web Serivce công nghệ cho phép client truy xuất để thực tác vụ Web Application Về chất, Web service dựa XML HTTP, XML làm nhiệm vụ mã hóa giải mã liệu dùng SOAP để truyền tải Web Service không phụ thuộc vào platform nào, bạn dùng Web Service để truyền tải liệu ứng dụng hay platform [2]“ Web Service Kiểm thử Web Service” Viblo [5] “Tìm hiểu websevice, https://techblog.vn” • Được thể html dựa tương tác User & Web Service • Sơ đồ tương tác User Web Service: Hình 1.1: Sơ đồ tương tác User Web Service b) Thành phần Web Service bao gồm: • WSDL (Web Service Description Language ):Là ngơn ngữ mơ tả dịch vụ • UDDI (Universal Description, Discovery, and Integration) :được sử dụng để đăng ký tìm dịch vụ Web miêu tả cụ thể WSDL , UDDI sử dụng SOAP để giao tiếp với UDDI server • SOAP:giúp client truy xuất đến UDDI registry lệnh SOAP Đến hiểu web services nào, cơng bố truy xuất đâu Nhưng vấn đề quan trọng là: Làm truy xuất dịch vụ tìm thấy? Câu trả lời web servicves truy xuất giao thức Simple Object Access Protocol – SOAP Nói cách khác truy xuất đến UDDI registry lệnh gọi SOAP [2]“ Web Service Kiểm thử Web Service” Viblo c) XML gì? • XML viết tắt eXtensible Markup Language • XML ngơn ngữ đánh dấu tương tự HTML • XML thiết kế để mang liệu, không để hiển thị liệu • Các thẻ XML khơng định trước Bạn phải xác định thẻ riêng bạn (*) • XML thiết kế để tự mô tả Các đặc trưng SOAP SOAP có đặc trưng sau : - SOAP thiết kế đơn giản dễ mở rộng - Tất message SOAP mã hóa sử dụng XML - SOAP sử dùng giao thức truyền liệu riêng - Khơng có garbage collection phân tán, khơng có chế tham chiếu Vì SOAP client khơng giữ tham chiếu đầy đủ đối tượng xa - SOAP không bị ràng buộc ngơn ngữ lập trình cơng nghệ  SOAP giao thức mà định nghĩa cách để chuyển XML message từ A đến B dựa giao thức chuẩn web HTTP (hoạt động cổng 80) qua giao thức Internet TCP/IP Hình 1.: Thơng điệp SOAP a) Tại nên dùng giao thức SOAP • Ngày nay, ứng dụng giao tiếp với cách sử dụng Remote Procedure Calls (RPC) DCOM CORBA, HTTP không thiết kế cho việc RPC đại diện cho khả tương thích vấn đề bảo mật, thơng báo qua mạng thường bị tường lửa proxy servers chặn lại • Cách tốt để giao tiếp ứng dụng sử dụng HTTP, HTTP hỗ trợ tất trình duyệt Internet máy chủ nên • • • • • SOAP tạo để thực điều SOAP = XML + HTTP b) Quy tắc cú pháp: Một message SOAP phải mã hóa cách sử dụng XML Một message SOAP phải sử dụng SOAP Envelope namespace Một message SOAP phải sử dụng SOAP Encoding namespace Một message SOAP khơng phải có tham chiếu DTD c) Khung message SOAP: ([3]“Khung message SOAP” [Online] Availabe: https://www.w3.org/TR/soap12-part1) Cấu trúc thông điệp SOAP Envelop thành phần gốc thông điệp SOAP, chứa thành phần Header Body Thành phần Header chế mở cho phép thêm tính vào bên thơng điệp SOAP Mỗi thành phần Header gọi Header Entry Các Header Entry dùng để diễn giải, quy định số ngữ nghĩa thông điệp SOAP Các ứng dụng xử lý định tuyến thông điệp dựa thông tin header thông tin bên thơng điệp Đây ưu điểm mà mơ hình kiến trúc DCOM, CORBA RMI khơng có được, protocol header chúng phải định chi tiết cho ứng dụng Cấu trúc message theo dạng SOAP mô tả hình đây: Hình 1.3: Cấu trúc thơng điệp SOAP Message theo dạng SOAP văn XML bình thường bao gồm phần tử sau: • Phần tử gốc – envelop: Phần tử bao trùm nội dung message, khai báo văn XML thông điệp SOAP Messager information goes here • Phần tử đầu trang – header: Chứa thông tin tiêu đề cho trang, phần tử không bắt buộc khai báo văn Những đầu mục cịn mang liệu chứng thực, chữ ký số hóa, thơng tin mã hóa, cài đặt cho giao tác Jessica -Thuộc tính SOAP header: + Thuộc tính Actor Chứa thơng tin nhằm mục đích trung gian thơng tin cho điểm cuối + Thuộc tính MustUnderstand Thuộc tính cho biết header entries bắt buộc tùy chọn tùy chọn (optional or mandatory) • Phần tử khai báo nội dung thơng điệp – body, chứa thông tin yêu cầu phản hồi Apples 1.90 • Phần tử phát sinh lỗi (Fault) cung cấp thông tin lỗi xảy trình xử lý thơng điệp,Các phần tử Faults phải xuất sau phần tử phần tử Body, khơng thể xuất nhiều lần • Các phần tử SOAP Fault: Faultcode Element : Xác định lỗi Faultstring Element : Giải thích lỗi Faultactor Element : Xác định đối tượng gây lỗi Detail Element : Xác định cụ thể lỗi liên kết với phần tử Body massage Trong trường hợp đơn giản nhất, phần thân SOAP message gồm có: – Tên message – Một tham khảo tới thể service – Một nhiều tham số mang giá trị mang tham chiếu Có kiểu thơng báo Request messages: Với tham số gọi thực thi service Response messages: Với tham số trả về, sử dụng đáp ứng u cầu Fault messages báo tình trạng lỗi • SOAP HTTP BINDING 10 – Mỗi kết hợp tham chiếu đến loại cổng, kiểu cổng (portType) sử dụng nhiều mối kết hợp Tất thao tác định nghĩa bên kiểu cổng phải nằm phạm vi mối kết hợp Tập tin thi hành – Service Implementation WSDL mô tả loại thơng tin bao gồm: Service port a Service : Nó thực định nghĩa tập tin giao diện cách gọi web services theo thủ tục phương thức * * b Port cổng đầu cuối, định nghĩa tập hợp binding địa mạng * * ( Nguồn: http://code5s.com/windows/web-services/gioi-thieu-ve-wsdl.html) 19 WSDL thường sử dụng kết hợp với XML schema SOAP để cung cấp Web service qua Internet Một client kết nối tới Web service đọc WSDL để xác định chức sẵn có server Sau đó, client sử dụng SOAP để lấy chức xác có WSDL Tìm hiểu ASP.NET Giới thiệu ASP.NET • Từ khoảng cuối thập niên 90, ASP (Active Server Page) nhiều lập trình viên lựa chọn để xây dựng phát triển ứng dụng web động máy chủ sử dụng hệ điều hành Windows ASP thể ưu điểm với mơ hình lập trình thủ tục đơn giản, sử dụng hiệu đối tượng COM: ADO (ActiveX Data Object) - xử lý liệu, FSO (File System Object) - làm việc với hệ thống tập tin…, đồng thời, ASP hỗ trợ nhiều ngơn ngữ: VBScript, JavaScript Chính ưu điểm đó, ASP yêu thích thời gian dài • Tuy nhiên, ASP tồn đọng số khó khăn Code ASP HTML lẫn lộn, điều làm cho q trình viết code khó khăn, thể trình bày code khơng sáng, hạn chế khả sử dụng lại code Bên cạnh đó, triển khai cài đặt, không biên dịch trước nên dễ bị source code Thêm vào đó, ASP khơng có hỗ trợ cache, khơng biên dịch trước nên phần hạn chế mặt tốc độ thực Q trình xử lý Postback khó khăn, … • Đầu năm 2002, Microsoft giới thiệu kỹ thuật lập trình Web mẻ với tên gọi ban đầu ASP+, tên thức sau ASP.Net Với ASP.Net, khơng khơng cần địi hỏi bạn phải biết tag HTML, thiết kế web, mà cịn hỗ trợ mạnh lập trình hướng đối tượng trình xây dựng phát triển ứng dụng Web • ASP.Net kỹ thuật lập trình phát triển ứng dụng web phía Server (Server-side) dựa tảng Microsoft Net Framework 20 • Hầu hết, người đến với lập trình web bắt đầu tìm hiểu kỹ thuật phía Client (Client-side) như: HTML, Java Script, CSS (Cascading Style Sheets) Khi Web browser yêu cầu trang web (trang web sử dụng kỹ thuật client-side), Web server tìm trang web mà Client yêu cầu, sau gởi cho Client Client nhận kết trả từ Server hiển thị lên hình • ASP.Net sử dụng kỹ thuật lập trình phía server hồn tồn khác, mã lệnh phía server (ví dụ: mã lệnh trang ASP) biên dịch thi hành Web Server Sau Server đọc, biên dịch thi hành, kết tự động chuyển sang HTML/JavaScript/CSS trả cho Client • Tất xử lý lệnh ASP.Net thực Server đó, gọi kỹ thuật lập trình phía server [6] “Giới thiệu ngôn ngữ ASP.NET http://voer.edu.vn.” 10 Những ưu nhược điểm ASP.NET • ASP.Net cho phép bạn lựa chọn ngơn ngữ lập trình mà bạn u thích: Visual Basic.Net, J#, C#,… • Trang ASP.Net biên dịch trước Thay phải đọc thơng dịch trang web yêu cầu, ASP.Net biên dịch trang web động thành tập tin DLL mà Server thi hành nhanh chóng hiệu Yếu tố bước nhảy vọt đáng kể so với kỹ thuật thơng dịch ASP Hình 3.2.1: ASP.Net biên dịch trang web động thành tập tin DLL 21 • ASP.Net hỗ trợ mạnh mẽ thư viện phong phú đa dạng Net Framework, làm việc với XML, Web Service, truy cập sở liệu qua ADO.Net, … • ASPX ASP hoạt động ứng dụng • ASP.Net sử dụng phong cách lập trình mới: Code behide Tách code riêng, giao diện riêng -> Dễ đọc, dễ quản lý bảo trì • Kiến trúc lập trình giống ứng dụng Windows • Hỗ trợ quản lý trạng thái control • Tự động phát sinh mã HTML cho Server control tương ứng với • • • • • • • loại Browser Hỗ trợ nhiều chế cache Triển khai cài đặt Không cần lock, không cần đăng ký DLL Cho phép nhiều hình thức cấu hình ứng dụng Hỗ trợ quản lý ứng dụng mức tồn cục Global.aspx có nhiều kiện Quản lý session nhiều Server, không cần Cookies ([7] “Ưu nhược điểm ngôn ngữ ASP.NET”) Khi Web server nhận u cầu từ phía client, tìm kiếm tập tin yêu cầu thông qua chuỗi URL gởi về, sau đó, tiến hành xử lý theo sơ đồ sau: 22 Hình 3.2.2 Quá trình xử lý tập tin ASPX 11 Tạo ASP.NET Web Service đơn giản  Trong Net, bạn tạo Web Service cách tạo subclass lớp System.Web.Services.WebService, sau định nghĩa phương thức triệu gọi từ client Các phương thức phải đánh dấu với attribute [WebMethod]  Khi tạo dự án mới, bạn đặt phiên Net sử dụng 4, template Web Service không tồn Microsoft nghĩ template q đơn giản Vì muốn tạo project Web Service, bạn phải chuyển phiên Net sang 3.5 Ở sử dụng phiên Net tạo project ASP.NET Empty Web Application với tên Y2FirstWebService 23 Hình 3.3.1: Bước Tạo ASP.NET Web Service đơn giản  Tiếp bạn thêm item Web Service (phím tắt Ctrl + Shift + A để mở cửa sổ Add New Item) với tên HelloService.asmx Hình 3.4: Bước Tạo ASP.NET Web Service đơn giản 24  File code-behind HelloService.asmx.cs tạo chứa sẵn phương thức HelloWorld() HelloService.asmx: HelloService.asmx.cs (v1): using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; namespace Y2FirstWebService { /// 10 /// Summary description for MathService 11 /// 12 [WebService(Namespace = "http://tempuri.org/")] 13 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 14 [System.ComponentModel.ToolboxItem(false)] 15 // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the 16 // [System.Web.Script.Services.ScriptService] 17 public class HelloService : System.Web.Services.WebService 25 18 { 19 [WebMethod] 20 public string HelloWorld() 21 { 22 return "Hello World"; 23 } 24 } 25 } Bạn nhấn F5 chạy thử, trình duyệt mở hiển thị đường link với nội dung HelloWorld Đây tên phương thức lớp HelloService Nhấn vào link này, bạn đưa đến trang dùng để test phương thức HelloWorld 26 Hình 3.5: Trang test phương thức HelloWorld Note: Bạn xem nội dung WSDL tạo để mô tả cho Web Service cách cách nhấn vào link Service Description với địa có dạng (chạy localhost, port bạn khác): http://localhost:1107/MathService.asmx?WSDL Bên bạn thấy thông điệp SOAP request response sử dụng để giao tiếp client với Web Service Nhấn nút Invoke, trình duyệt mở trang với nội dung theo định dạng XML, kết thực trả phương thức nội dung nằm thẻ : Hello World Bây ta thêm phương thức với tên Hello, đồng thời tạo thêm class Person để làm kiểu trả cho phương thức Hello() HelloService.asmx.cs (v2): using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; namespace Y2FirstWebService { /// 27 10 /// Summary description for MathService 11 /// 12 // [WebService(Namespace = "http://tempuri.org/")] 13 // [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 14 // [System.ComponentModel.ToolboxItem(false)] 15 // To allow this Web Service to be called from script, using ASP.NET AJAX, 16 17 18 19 20 21 22 23 24 uncomment the following line // [System.Web.Script.Services.ScriptService] public class HelloService : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello World"; } 25 26 27 28 29 30 31 [WebMethod] public Person Hello(string name, int age) { return new Person { Name = name, Age = age }; } } public class Person 28 32 { 33 public string Name { get; set; } 34 public int Age { get; set; } 35 } 36 } Chạy lại Web Service kiểm tra phương thức Hello(), giao diện trang web thay đổi cho phép bạn nhập tham số vào: Hình 3.6: Giao diện sau chạy thử web service Nhập tên vào textbox nhấn Invoke, trình duyệt mở trang kết quả:

Ngày đăng: 17/08/2022, 16:30

Tài liệu cùng người dùng

Tài liệu liên quan