用何种协议?
是RPC, XMLRPC,CORBA还是SOAP?目前支持得比较好的应该是SOAP,使用SOAP::Lite模块,这是各种语言中实现SOAP比较好的一种,重新写过XML解析后处理速度增加不少;而XMLRPC还不是对象的,不过对于远程对象而言过程调用和接口调用都差不离,期望远程对象在两个接口调用之间保存私有变量是困难的;CORBA支持得不好,还是测试的,一直得不到更新。
Perl SOAP很牛B,支持得很广泛:
■ Supports SOAP 1.1 spec.
■ Interoperability tests with different implementations: Apache SOAP, Frontier, Microsoft SOAP, Microsoft .NET, DevelopMentor, XMethods, 4s4c, Phalanx, Kafka, SQLData, Lucin (in Java, Perl, C++, Python, VB, COM, XSLT).
■ Provides COM interface. Single dll (standalone [2.5MB] or minimal [32kB]). Works on Windows 9x/Me/NT/2K. Doesn't require ROPE or MSXML. Examples in VB, Excel/VBA, C#, ASP, JavaScript, PerlScript and Perl.
■ Provides transparent compression support for HTTP transport.
■ Provides mod_soap module. Make SOAP server with a few lines in .htaccess or .conf file.
■ Includes XML::Parser::Lite (regexp-based XML parser) which runs instead of XML::Parser where Perl 5.6 runs (even on WinCE) with some limitations.
■ Includes XMLRPC::Lite, implementation of XML-RPC protocol on client and server side. All transports and features of SOAP::Lite are available.
■ Supports multipart/form-data MIME attachments.
■ Supports circular linked lists and multiple references.
■ Supports Map datatype (encoding of maps/hashes with arbitrary keys).
■ Supports HTTPS protocol.
■ Provides proxy support.
■ Provides CGI/daemon/mod_perl/Apache::Registry server implementations.
■ Provides TCP server implementation.
■ Provides IO (STDIN/STDOUT/File) server implementation.
■ Provides FTP client implementation.
■ Supports single/multipart MIME attachment (parsing side only).
■ Supports SMTP protocol.
■ Provides POP3 server implementation.
■ Supports M-POST and redirects in HTTP transport.
■ Supports Basic/Digest server authentication.
■ Works with CGI accelerators, like VelociGen and PerlEx.
■ Supports UDDI interface on client side. See UDDI::Lite for details.
■ Supports UDDI publishing API. Examples and documentation provided.
■ Supports WSDL schema with stub and run-time access.
■ Supports blessed object references.
■ Supports arrays (both serialization and deserialization with autotyping).
■ Supports custom serialization.
■ Provides exception transport with custom exceptions
■ Supports Base64 encoding.
■ Supports XML entity encoding.
■ Supports header attributes.
■ Supports dynamic and static class/method binding.
■ Supports objects-by-reference with simple garbage collection and activation.
■ Provides shell for interactive SOAP sessions.
■ Supports out parameters binding.
■ Supports transparent SOAP calls with autodispatch feature.
■ Provides easy services deployment. Put module in specified directory and it'll be accessible.
■ Has tests, examples and documentation to let you be up and running in no time.
不过估计国内使用的人不多,也就不好交流了,不过文档写得还是很详细的,使用也相当简单,只是刚开始是要弄清一些概念,有点难,理解后就很容易了。