Diễn Đàn Tin Học
 Trang chủ      Tutorial Room      Diễn đàn      Liên hệ - Góp ý
Diễn Đàn Tin Học
Thông tin
Download
Tutorial Room
Sản phẩm
Thống kê
Hiện có 8 người đang trực tuyến.
Google


Diễn Đàn Tin Học » Tutorial Room » Thiết kế, Phát triển Web & Đồ hoạ » XML-RPC

Giới thiệu về XML-RPC

Được viết bởi Nguyễn Bá Thành @ Diễn Đàn Tin Học

Ghi chú: bài viết đồng thời được lưu trữ ở http://www.diendantinhoc.net/tute/xmlrpc/intro.php

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ỉ:
- Trang chủ XML-RPC: http://www.xmlrpc.com
- XML-RPC cho người mới nhập môn: http://davenet.scripting.com/1998/07/14/xmlRpcForNewbies

[Trở về đầu trang]

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ụchà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.

[Trở về đầu trang]

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.

[Trở về đầu trang]

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

[Trở về đầu trang]

Một ví dụ ứng dụng XML-RPC

Bạn hãy xem bài viết Sử dụng XML-RPC (PHP) để lấy bài viết trên Tutorial Room.

[Trở về đầu trang]

Tài liệu tham khảo:

  1. XML-RPC Homepage
  2. XML-RPC for newbies
  3. Microsoft DCOM
  4. OMG & OMG CORBA website
  5. SOAP website
Các bài viết mới nhất
Bạn không được phép truy cập vào địa chỉ này!
[Download] - NT Password Recovery Bootdisk
Craftsman 18 - Slow and Steady
Quản lý MySQL Server sử dụng lệnh trên console
Memory-RAM - Một số thuật ngữ và kỹ thuật
Đưa chương trình vào đường dẫn hệ thống
Thay thế BIND với djbdns - phần 1
Phương pháp khôi phục lại password trong hệ thống Win2k/XP/2K3 (Support NTFS)
Cài đặt ActivePython 2.4 trên IIS
Sử Dụng Tiếng Việt Với LaTeX
Cài đặt 1 SMTP server tại nhà với Microsoft IIS
Linux - Vì sao sáng trên bầu trời CNTT
Biên dịch Linux kernel - phần 4
Tự học lập trình Borland Delphi
Thiết kế và Lập trình Web bằng ASP
Cài đặt PHP 4 trên IIS
Giới thiệu về XML-RPC
Sử dụng CSDL MySQL
Một chương trình download manager đơn giản
Giới thiệu - Sơ lược về ngôn ngữ PHP
Các bài viết liên quan
Giới thiệu về XML-RPC
Quảng cáo
HOME | TUTORIAL ROOM | FORUM | CONTACT