Tác giả: Nguyễn Bá Thà nh
Nguồn: diendantinhoc.net
XML-RPC là gì?
XML-RPC là má»™t cà i đặt RPC (Remote Procedure Call) trên ná»n giao thức HTTP, sá» dụng XML để mã hoá và trao đổi dữ liệu.
Bạn có thể tìm hiểu thêm chi tiết vỠXML-RPC ở các địa chỉ:
Váºy RPC là gì?
Khi bạn viết chương trình, ắt hẳn bạn cÅ©ng đã quen vá»›i các khái niệm thá»§ tục và hà m. Các Ä‘oạn chương trình lặp Ä‘i lặp lại bạn viết lại thà nh 1 hà m (hay thá»§ tục) và sau đó khi dùng chỉ cần gá»i thá»§ tục hoặc hà m đó vá»›i các tham số thÃch hợp. Các thá»§ tục hoặc hà m đó bạn có thể:
- Äể chung trong 1 file nguồn cùng vá»›i chương trình chÃnh,
- Äể trong 1 file nguồn khác và được include và o file nguồn chÃnh khi cần,
- ÄÆ°á»£c biên dịch sẵn và để trong 1 thư viện hoặc unit để các chương trình khác cá»§a bạn (cùng được viết bằng 1 ngôn ngữ) sá» dụng,
- ÄÆ°á»£c biên dịch sẵn để trong file DLL để các chương trình (được viết bằng các ngôn ngữ khác nhau) sá» dụng.
Äiểm chung cá»§a tất cả các phương thức trên là các hà m và thá»§ tục cần gá»i Ä‘á»u nằm trên cùng 1 máy vá»›i nÆ¡i gá»i chúng. Tuy nhiên bạn có thể thấy là nÆ¡i gá»i và hà m cần gá»i có thể được tách rá»i nhau ra: từ chung file, đến khác file, rồi đến khác ngôn ngữ.
RPC - Remote Procedure Call (lá»i gá»i hà m xa) - là má»™t mở rá»™ng cá»§a lá»i gá»i hà m (procedure call) theo cách cổ Ä‘iển. GiỠđây hà m cần gá»i và nÆ¡i gá»i hà m có thể nằm ở 2 máy tÃnh khác nhau; tháºm chà có thể cách xa nhau ná»a vòng trái đất, nối vá»›i nhau qua mạng internet.
Má»™t địa chỉ khá hay để tham khảo cho ngưá»i má»›i bắt đầu vá»›i XML-RPC là XML-RPC for newbies, các khái niệm vá» XML-RPC đựoc giải thÃch khá cặn kẽ và trình bà y rất dá»… hiểu cho ngưá»i má»›i là m quen vá»›i XML-RPC
XML-RPC là má»™t cà i đặt cá»§a RPC, váºy còn RPC "nà o khác" nữa không?
DÄ© nhiên là còn chứ. RPC là ná»n tảng cá»§a láºp trình phân tán (distributed programming). Các giao thức xây dá»±ng trên RPC đã xuất hiện từ rất lâu và có thể đã trở nên quen thuá»™c vá»›i bạn mà bạn không để ý tá»›i. Và dụ:
CORBA: CORBA là má»™t trong những giao thức được sá» dụng khá phổ biến để phát triển các ứng dụng phân tán (distributed) hướng đối tượng (object-oriented). Bạn sẽ hay gặp CORBA trong các chương trình Ä‘a tầng vá»›i qui mô "xà nghiệp" (multi-tier enterprise application). Các địa chỉ tham khảo hữu Ãch vá» CORBA là trang chá»§ cá»§a OMG (Object Management Group) và OMG CORBA.
DCOM: Nếu bạn là tÃn đồ cá»§a Microsoft thì chắc hẳn là bạn không xa lạ gì vá»›i thuáºt ngữ nà y. DCOM là cú "đáp trả" cá»§a Micrsoft đối vá»›i CORBA. Bạn có thể ghé thăm trang chá»§ cá»§a DCOM để tìm hiểu thêm chi tiết.
SOAP: Rất có thể bạn đã nghe nhiá»u đến SOAP trong thá»i gian gần đây. SOAP cÅ©ng là má»™t cà i đặt RPC trên HTTP. Bạn có thể tìm hiểu thêm vá» SOAP ở trang chá»§ cá»§a SOAP.
Tại sao sỠdụng XML-RPC?
XML-RPC khá đơn giản so vá»›i CORBA, DCOM và SOAP. Và hÆ¡n thế, XMl-RPC hoạt động khá tốt và cà i đặt tương đối đơn giản vá»›i các ngôn ngữ láºp trình web phổ biến như PHP, Perl, Python. Vá»›i lý do đó, XML-RPC là sá»± lá»±a chá»n khá lý tưởng để phát triển các ứng dụng web qui mô nhá».
Và dÄ© nhiên, XML-RPC vẫn có thể được cà i đặt vá»›i các ngôn ngữ láºp trình desktop như C/C++, Java, và tháºm chà vá»›i Microsoft .NET --
|