Chuyên đề thương mại điện tử - Công nghệ Web service

Tài liệu Chuyên đề thương mại điện tử - Công nghệ Web service: Chuyên đề Thương mại điện tử Công nghệ Web services Tháng 11-2006Khoa Công nghệ thông tinBộ môn HTTT1Nội dung trình bàyCác ứng dụng phân tánKiến trúc hướng dịch vụWeb serviceLập trình Web service11/20062Môn: Chuyên đề TMĐT – Bộ môn HTTTCác ứng dụng phân tán Distributed ApplicationMáy tínhMáy tínhDữ liệuỨng dụngphân tánDữ liệu11/20063Môn: Chuyên đề TMĐT – Bộ môn HTTTKiến trúc hướng dịch vụ Service-Oriented Architecture-SOAService ConsumerPublishFindBindService ProviderService Broker11/20064Môn: Chuyên đề TMĐT – Bộ môn HTTTWeb ServiceWeb Service là gì ?Nền tảng của web serviceKiến trúc của web serviceMô hình của ứng dụng với Web service11/20065Môn: Chuyên đề TMĐT – Bộ môn HTTTWeb service là gìInternetFirewallFirewallFirewallWeb ServiceWeb ServiceWeb ServiceClientLà một tập các phương thức được gọi thực hiện từ xa thông qua một địa chỉ URL1Sử dụng để tạo các ứng dụng phân tán211/20066Môn: Chuyên đề TMĐT – Bộ môn HTTTĐặc điểmKhông phụ thuộc vào ngôn ngữ lập trình1Truy cập bất cứ ứng dụng...

ppt46 trang | Chia sẻ: quangot475 | Lượt xem: 857 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Chuyên đề thương mại điện tử - Công nghệ Web service, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Chuyên đề Thương mại điện tử Công nghệ Web services Tháng 11-2006Khoa Công nghệ thông tinBộ môn HTTT1Nội dung trình bàyCác ứng dụng phân tánKiến trúc hướng dịch vụWeb serviceLập trình Web service11/20062Môn: Chuyên đề TMĐT – Bộ môn HTTTCác ứng dụng phân tán Distributed ApplicationMáy tínhMáy tínhDữ liệuỨng dụngphân tánDữ liệu11/20063Môn: Chuyên đề TMĐT – Bộ môn HTTTKiến trúc hướng dịch vụ Service-Oriented Architecture-SOAService ConsumerPublishFindBindService ProviderService Broker11/20064Môn: Chuyên đề TMĐT – Bộ môn HTTTWeb ServiceWeb Service là gì ?Nền tảng của web serviceKiến trúc của web serviceMô hình của ứng dụng với Web service11/20065Môn: Chuyên đề TMĐT – Bộ môn HTTTWeb service là gìInternetFirewallFirewallFirewallWeb ServiceWeb ServiceWeb ServiceClientLà một tập các phương thức được gọi thực hiện từ xa thông qua một địa chỉ URL1Sử dụng để tạo các ứng dụng phân tán211/20066Môn: Chuyên đề TMĐT – Bộ môn HTTTĐặc điểmKhông phụ thuộc vào ngôn ngữ lập trình1Truy cập bất cứ ứng dụng nào2Hỗ trợ thao tác giữa các thành phần không đồng nhất3Chi phí phát triển thấp4Dễ bảo trì511/20067Môn: Chuyên đề TMĐT – Bộ môn HTTTKiến trúc của Web ServicePublishFindBindInternetWeb Service ProviderUDDI (Web Service Broker)Web Service Consumer11/20068Môn: Chuyên đề TMĐT – Bộ môn HTTTKiến trúc của Web ServiceUDDIAny ClientSOAPSOAPSOAPIISWeb Service11/20069Môn: Chuyên đề TMĐT – Bộ môn HTTTYêu cầuWeb service providerHỗ trợ 1 protocol listenner1Có các cơ chế bảo mật2Cung cấp đúng service mà consumer yêu cầu3Web Server1Cung cấp Web service2IIS11/200610Môn: Chuyên đề TMĐT – Bộ môn HTTTWeb service consumerSử dụng Web service do WS Provider cung cấp để xây dựng ứng dụng11/200611Môn: Chuyên đề TMĐT – Bộ môn HTTTWeb service brokerUDDILà môi giới giữa consumer và provider1Tương tác với provider : để lấy các thông tin về web service2Tương tác với consumer :cung cấp cho consumer địa chỉ các Web service3Sử dụng UDDI registries (Universal Description, Discovery and Integration)411/200612Môn: Chuyên đề TMĐT – Bộ môn HTTTMô hình tương tác giữa các thành phần215Web service developer builds and deploys a pricing Web service1Web service developer registers and categorizes the Web service2Web service consumer queries UDDI for “pricing” services3Web service consumer determines the most appropriate “pricing” service4Web service developer builds a solution that directly consumes the Web service data5Pricing Web ServiceUDDI Services3411/200613Môn: Chuyên đề TMĐT – Bộ môn HTTTNền tảng của Web ServiceWeb ServiceXMLSOAPHTTP11/200614Môn: Chuyên đề TMĐT – Bộ môn HTTTHTTP – Hyper text transfer protocolPOST /TheStockExchange/Trading/GetStockPrice.asp HTTP/1.1Host: localhostContent-Type: application/x-www-form-urlencodedContent-Length: 11Symbol=MSFTHTTP RequestHTTP/1.1 200 OKContent-Type: text/xml; charset=utf-8Content-Length: 75HTTP Response11/200615Môn: Chuyên đề TMĐT – Bộ môn HTTTXML – Extend Markup LanguageSử dụng để mô tả Web service interface1SOAP Message là một tài liệu XML2Sử dụng để serialize các đối tượng thành một tài liệu XML (System.Xml.Serialization)311/200616Môn: Chuyên đề TMĐT – Bộ môn HTTTSOAP(1)XML-Based protocol3Submitted to W3C5Protocol for message-based communication2An envelope for handling extensibility and modularity An encoding mechanism for representing types within an envelope SOAP ≈ HTTP + XML4SOAP – Simple Object Access Protocol111/200617Môn: Chuyên đề TMĐT – Bộ môn HTTTSOAP (2)SOAP Request : HTTP POST Request6POST /WebCalculator/Calculator.asmx HTTP/1.1Content-Type: text/xmlSOAPAction: “”Content-Length: 386 ...11/200618Môn: Chuyên đề TMĐT – Bộ môn HTTTSOAP(3) - Message StructureSOAP MessageSOAP EnvelopeSOAP HeaderSOAP BodyMessage Name & DataHeadersHeadersXML-encoded SOAP message name & data contains SOAP message nameIndividual headers encloses headers encloses payloadProtocol binding headersThe complete SOAP message11/200619Môn: Chuyên đề TMĐT – Bộ môn HTTTSOAP(4) - Example of a SOAP RequestPOST /StockQuote HTTP/1.1Host: www.stockquoteserver.comContent-Type: text/xml; charset="utf-8"Content-Length: nnnnSOAPAction: "Some-URI“ DIS 11/200620Môn: Chuyên đề TMĐT – Bộ môn HTTTSOAP(5) - Example of a SOAP ResponseHTTP/1.1 200 OKContent-Type: text/xml; charset="utf-8"Content-Length: nnnn 34.5 11/200621Môn: Chuyên đề TMĐT – Bộ môn HTTTLập trình Web service bằng VS.NET 2003Web service programming - provider side1Web service programming - consumer side211/200622Môn: Chuyên đề TMĐT – Bộ môn HTTTLập trình Web service (1) Loại Project : ASP.NET Web Service1Các name space thường dùng2SystemSystem.DataSystem.WebSystem.Web.WebservicesSystem.XmlCác thành phần3File *.asmxFile global.asaxFile web.configThư mục Bin11/200623Môn: Chuyên đề TMĐT – Bộ môn HTTTLập trình Web service (2)Khai báo Web service method4Thêm chỉ thị [Web Method][WebMethod]public int Sum(int a, int b) { return a + b;} Ví dụ11/200624Môn: Chuyên đề TMĐT – Bộ môn HTTTLập trình Web service (3)BufferResponseCacheDurationDescriptionEnableSessionTransactionOptionCác thuộc tính của [WebMethod]511/200625Môn: Chuyên đề TMĐT – Bộ môn HTTTLập trình Web service (3)[WebMethod(BufferResponse=false)]public Transactions GetTransactionHistory(){ //implementation code}[WebMethod (Description=“This method using for converting ..” )]public double ConvertTemperature(double dFahrenheit){ return ((dFahrenheit - 32) * 5) / 9;}Ví dụ11/200626Môn: Chuyên đề TMĐT – Bộ môn HTTTXmlElementXmlAttributeXmlRootLập trình Web service (4)XML Serialization5Dùng để xác định cấu trúc tài liệu XML mong muốn để biểu diễn đối tượng của một lớpXmlArrayItemXmlArrayNamespace : System.Xml.Serialization11/200627Môn: Chuyên đề TMĐT – Bộ môn HTTTLập trình Web service (5)[XmlRoot("account")]public class Acct{ [XmlElement("description")] public string Description; [XmlElement("number")] public string Number; [XmlElement("type")] public string Type; [XmlElement("balance")] public decimal Balance; [XmlAttribute("status")] public string Status;}Ví dụ 1 Hello 10 C11/200628Môn: Chuyên đề TMĐT – Bộ môn HTTTLập trình Web service (6)[return:XmlArray("AccountList")][return:XmlArrayItem("Account")]public Acct[] GetAllAccounts() . Ví dụ 211/200629Môn: Chuyên đề TMĐT – Bộ môn HTTTLập trình Web service (7)[return:XmlArrayItem(ElementName="savingsAcct", Type=typeof(SavingsAcct))][return:XmlArrayItem(ElementName="creditCardAcct", Type=typeof(CreditCardAcct))][WebMethod]public Acct[] GetAllAccounts(){... Ví dụ 311/200630Môn: Chuyên đề TMĐT – Bộ môn HTTTLập trình Web service (8)Input and output parameter (in, ref,)Variable length parameter list (homogeneous, heterogeneous )Simple data typesKiểu dữ liệu trong web service method6Classes and structuresArray, CollectionsDataSetsComplex data type11/200631Môn: Chuyên đề TMĐT – Bộ môn HTTTLập trình Web service – provider side(9)Trường hợp lưu ýNếu tham số web service method là 1 mảng các đối tượng có kiểu không rõ ràng Phải khai báo tường minh tất cả các kiểu dữ liệu có thể có trong mảngSử dụng :XmlInclude Name space System.Xml.Serialization11/200632Môn: Chuyên đề TMĐT – Bộ môn HTTTLập trình Web service – provider side(10)Ví dụpublic class Acct{ public string Description; public string Number; public string Type; public decimal Balance; public string Status;}public class SavingsAcct : Acct{ public decimal MinimumBalance;}public class CreditCardAcct : Acct{ public int PayPeriod;}[WebMethod][XmlInclude(typeof(CreditCardAcct))][XmlInclude(typeof(SavingsAcct))][return:XmlArray("AccountList")][return:XmlArrayItem("Account")]public Acct[] GetAllAccounts(){SavingsAcct a = new SavingsAcct();CreditCardAcct cc = new CreditCardAcct();// populate the accountsAcct [] sa = new Acct[2];sa[0] = a;sa[1] = cc;return sa;}11/200633Môn: Chuyên đề TMĐT – Bộ môn HTTTTriển khai Web serviceWeb Service FilesNeededRemove.sln, .vbproj, .csproj, .vsdisco, .webinfo.resx.vb, .cs.xsd\Web References folder and files\bin directory and .dll(s).asmxWeb.configGlobal.asax.xmlTự chép các file cần thiết lên Web server1Sử dụng Windows Installer FilesTạo 1 web setup project trong VS.NET211/200634Môn: Chuyên đề TMĐT – Bộ môn HTTTWeb Service ConsumerWSDL Documents1Proxy class2Consuming Web service in VS.NET 2003 311/200635Môn: Chuyên đề TMĐT – Bộ môn HTTTWSDL DocumentsXML schema : Mô tả giao diện của web service2Web Service Description Language1Sử dụng đề phát sinh proxy class3Xem WSDL Document của 1 web serviceôn: Chuyên đề TMĐT – Bộ môn HTTTProxy classĐược phát sinh từ WSDL Document2Được sử đụng đề giao tiếp với Web service3Proxy : Ủy nhiệm111/200637Môn: Chuyên đề TMĐT – Bộ môn HTTTSử dụng Web service trong .NETTạo lớp proxy để giao tiếp với web service1Sử dụng lớp proxy để gọi các phương thức của web service2Sử dụng wsdl.exeSử dụng VS.NetGọi bình thường như các phương thức khácAdd Web References wsdl [options] {URL | Path}wsdl ôn: Chuyên đề TMĐT – Bộ môn HTTTWSDL Document11/200639Môn: Chuyên đề TMĐT – Bộ môn HTTTProxy Class11/200640Môn: Chuyên đề TMĐT – Bộ môn HTTTSOAP Request and Response11/200641Môn: Chuyên đề TMĐT – Bộ môn HTTTHTTP Request and Response11/200642Môn: Chuyên đề TMĐT – Bộ môn HTTTWeb service and State ManagementASP.NET Web service Application  Web Applicaton1Web service Application : Stateless2Sử dụng đối tượng Application và Session đề quản lý trạng thái của web service11/200643Môn: Chuyên đề TMĐT – Bộ môn HTTTỨng dụng của Web ServicesWS là một tập hợp các chức năng được thực thi qua môi trường mạng, được các ứng dụng khác sử dụng1Một WS có thể kết hợp với các WS khác để đưa ra tính năng cao hơn2Mô hình ứng dụng trong tương lai sẽ là sự kết hợp giữa các service3411/200644Môn: Chuyên đề TMĐT – Bộ môn HTTTDemo11/200645Môn: Chuyên đề TMĐT – Bộ môn HTTTHỏi và đáp11/200646Môn: Chuyên đề TMĐT – Bộ môn HTTT

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

  • pptchuong_doc_them_web_service_6874_2138524.ppt
Tài liệu liên quan