3
ĐNH NGHĨA Web service là mt công nghtriu gi txa có tính khchuyn cao nht hin nay: mang tính độc lp nn, độc lp ngôn ng. Do đó, các chương trình code bng các ngôn nglp trình khác nhau, chy trên các nn tng (phn cng & OS) khác nhau đu có thtrao đi vi nhau thông qua công nghnày Mt sđặc đim ca web service : _ Là thành phn ng dng (application component) _ Liên lc thông qua các giao thc m(open protocols) _ Có khnăng tmô t(self-descripbing) và self-contained _ Có thđược khám phá bng cách sdng UDDI _ Có thđược sdng bi các ng dng khác _ Xem XML là nn tng Có thsdng web service cho các trường hp : Xây dng các thành phn ng dng có tính tái sdng Liên kết gia các phn mm Chính vì vy Webservice là mt gii pháp chính để gii quyết vn đề tích hp nghip vgia các hthng (bên cnh gii pháp dùng công ngMessaging). Và đặc bit trong quá trình internet hóa mi dch vhiên nay, thì trin khai dch vbng Webservice là điu "tt nhiên“. CÁC THÀNH PHN CA WEB SERVICE SOAP (Simple Object Access Protocol) UDDI (Universal Description, Discovery and Integration) WSDL (Web Services Description Language) Các công nghnày cho phép xây dng các gii pháp lp trình cho vn đtích hp ng dng và truyn thông đip. Theo thi gian, các công nghnày có thhoàn thin hay có thđược thay bng công nghkhác tt hơn, hiu quhơn hay n định hơn. SOAP (Simple Object Access Protocol) định nghĩa mt chun định dng cho vic đóng gói cho vic truyn dliu XML gia các ng dng trên mt mng máy tính . SOAP không chuyên bit cho bt kmt ngôn nglp trình, sn phm hay mt platform phn cng nào. Vì vy, SOAP được sdng trong bt kng dng nào (C++, Java, .NET, Perl, …). Mt message SOAP là mt document XML. Tuy nhiên SOAP được thiết kế đặc bit để cha và chuyn nhng document XML khác. Thí dmessage SOAP <?xml version="1.0" encoding="UTF-8"?> Ví d: xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:addr="http://www.Monson-Haefel.com/jwsbook/ADDR" > <addr:name>Amazon.com</addr:name> <addr:street>1516 2nd Ave</addr:street> <addr:city>Seattle</addr:city> <addr:state>WA</addr:state> <addr:zip>90952</addr:zip> <addr:address> </addr:address> <soap:Body> </soap:Body> <soap:Envelope </soap:Envelope> Web service 12 tháng ba 2009 10:43 CH SOA Page 1

Web Service

Embed Size (px)

DESCRIPTION

Web Service

Citation preview

Page 1: Web Service

ĐỊNH NGHĨA

Web service là một công nghệ triệu gọi từ xa có tính khả chuyển cao nhất hiện nay: mang tính độc lập nền, độc lập ngôn ngữ. Do đó, các chương trình code bằng các ngôn ngữ lập trình khác nhau, chạy trên các nền tảng (phần cứng & OS) khác nhau đều có thể trao đổi với nhau thông qua công nghệ này

Một số đặc điểm của web service :_ Là thành phần ứng dụng (application component)_ Liên lạc thông qua các giao thức mở (open protocols)_ Có khả năng tự mô tả (self-descripbing) và self-contained_ Có thể được khám phá bằng cách sử dụng UDDI_ Có thể được sử dụng bởi các ứng dụng khác_ Xem XML là nền tảng

Có thể sử dụng web service cho các trường hợp : Xây dựng các thành phần ứng dụng có tính tái sử dụng •Liên kết giữa các phần mềm•

Chính vì vậy Webservice là một giải pháp chính để giải quyết vấn đề tích hợp nghiệp vụ giữa các hệ thống (bên cạnh giải pháp dùng công nghê Messaging). Và đặc biệt trong quá trình internet hóa mọi dịch vụ hiên nay, thì triển khai dịch vụ bằng Webservice là điều "tất nhiên“.

CÁC THÀNH PHẦN CỦA WEB SERVICESOAP (Simple Object Access Protocol)•UDDI (Universal Description, Discovery and Integration)•WSDL (Web Services Description Language)•Các công nghệ này cho phép xây dựng các giải pháp lập trình cho vấn đề tích hợp ứng dụng và truyền thông điệp. Theo thời gian, các công nghệ này có thể hoàn thiện hay có thể được thay bằng công nghệ khác tốt hơn, hiệu quả hơn hay ổn định hơn.

SOAP (Simple Object Access Protocol) định nghĩa một chuẩn định dạng cho việc đóng gói cho việc truyền dữ liệu XML giữa các ứng dụng trên một mạng máy tính . SOAP không chuyên biệt cho bất kỳ một ngôn ngữ lập trình, sản phẩm hay một platform phần cứng nào. Vì vậy, SOAP được sử dụng trong bất kỳ ứng dụng nào (C++, Java, .NET, Perl, …). Một message SOAP là một document XML. Tuy nhiên SOAP được thiết kế đặc biệt để chứa và chuyển những document XML khác.

Thí dụ message SOAP<?xml version="1.0" encoding="UTF-8"?>

Ví dụ :

xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"xmlns:addr="http://www.Monson-Haefel.com/jwsbook/ADDR" >

<addr:name>Amazon.com</addr:name><addr:street>1516 2nd Ave</addr:street><addr:city>Seattle</addr:city><addr:state>WA</addr:state><addr:zip>90952</addr:zip>

<addr:address>

</addr:address>

<soap:Body>

</soap:Body>

<soap:Envelope

</soap:Envelope>

Web service12 tháng ba 200910:43 CH

SOA Page 1

Page 2: Web Service

CHI TIẾT HƠN VỀ CÁC THẺ TRONG SOAP (để sau)

WSDL (Web Services Description Language) là một chuẩn cho việc miêu tả cấu trúc dữ liệu XML được trao đổi giữa hai hệ thống SOAP. Khi tạo một Web service mới ta có thể tạo ra một document WSDL để miêu tả những kiểu dữ liệu mà nó trao đổi.WSDL được xây dựng cơ bản dựa trên XML.

Các phần tử của tài liệu WSDL<definition>: là phần tử gốc trong tài liệu WSDL.<type> : sử dụng XML schema language để khai báo những dữ liệu phức tạp và những phần tử được sử dụng trong tài liệu WSDL.<message> : miêu tả cho các SOAP message, là các thông điệp input, output hoặc thông điệp báo lỗi dùng trong các phương thức của web service. SOAP message được chia thành các phần nhỏ được mô tả bằng thẻ con <part> hoặc được import từ các file khác<operation> : tương tự như việc định nghĩa một phương thức, nhưng chỉ cho định nghĩa các message input, output và fault có liên quan đến phương thức.<portType> : thành phần này mô tả interface, liệt kê tất cả các phương thức mà web service hỗ trợ <binding>: liên kết đến một portType cụ thể và liệt kê những địa chỉ web service có liên quan với portType đó và chỉ ra các protocol được dùng để liên lạc với web service<port> : định nghĩa URI của web service<service>: có nhiệm vụ là gán một địa chỉ Internet đến một binding, chưa một hoặc nhiều thành phần <port>.

Thí dụ về 1 file WSDLNếu chúng ta có 1 interface trên Java làpublic interface BookQuote {

SOA Page 2

Page 3: Web Service

public float getBookPrice(String isbn);}

thì file wsdl tương ứng có thể là<?xml version="1.0" encoding="UTF-8"?>

targetNamespace="http://www.Monson-Haefel.com/jwsbook/BookQuote"xmlns:mh="http://www.Monson-Haefel.com/jwsbook/BookQuote"xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns="http://schemas.xmlsoap.org/wsdl/">

<!-- message elements describe the input and output parameters -->

<part name="isbn" type="xsd:string" /><message name="GetBookPriceRequest">

</message>

<part name="price" type="xsd:float" /><message name="GetBookPriceResponse">

</message>

<!-- portType element describes the abstract interface of a Web service -->

<input name="isbn" message="mh:GetBookPriceRequest"/><output name="price" message="mh:GetBookPriceResponse"/>

<operation name="getBookPrice">

</operation>

<portType name="BookQuote">

</portType>

<!-- binding tells us which protocols and encoding styles are used -->

<soapbind:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

<soapbind:operation style="rpc" soapAction= "http://www.Monson-Haefel.com/jwsbook/BookQuote/GetBookPrice"/>

<soapbind:body use="literal"namespace="http://www.Monson-Haefel.com/jwsbook/BookQuote" />

<input>

</input>

<soapbind:body use="literal"namespace="http://www.Monson-Haefel.com/jwsbook/BookQuote" />

<output>

</output>

<operation name="getBookPrice">

</operation>

<binding name="BookPrice_Binding" type="mh:BookQuote">

</binding>

<!-- service tells us the Internet address of a Web service --><service name="BookPriceService">

<soapbind:address location= "http://www.Monson-Haefel.com/jwsbook/BookQuote" /><port name="BookPrice_Port" binding="mh:BookPrice_Binding">

</port></service>

<definitions name="BookQuoteWS"

</definitions>

UDDIDù WSDL cung cấp một định dạng rất tốt cho việc miêu tả những kiểu của message SOAP được sử dụng bởi một Web service, nhưng WSDL không miêu tả nơi lưu trữ document WSDL hoặc là cách tìm chúng dễ dàng và sử dụng chúng để giao tiếp với Web service của bạn.UDDI (Universal Description, Discovery, and Integration) định nghĩa một chuẩn tập hợp những operation mà chúng được sử dụng để lưu trữ và tra cứu những thông tin về những ứng dụng của Web service khác. Hay nói một cách khác, UDDI là một chuẩn interface cơ bản cho việc đăng kí một Web service. Có thể sử dụng UDDI để tìm kiếm đến một kiểu Web service liên quan hoặc là tìm đến những host Web service của những tổ chức. Một đăng kí UDDI thường được tham chiếu như là một “Yello Pages” cho Web services.

SOA Page 3