Hello,
on 12/30/2004 01:17 AM John Doe. said the following:
Our team will be creating a web-application that must have an easy to use
programmatic interface for our web-developer clients. The data transferred
will primarily be taken from a database (which may be remote) like a true
3-tier app. Load tolerance for us is quite important.
We are considering creating a SOAP service. We have found that the php_soap
extension is easy to use for our clients and seems to do everything we need
(from a client perspective). We have however, heard others mention XML RPC
as a better alternative (especially relative to bandwidth) and just as easy
to consume by PHP.
My main questions for you PHP gurus are:
1) What is the approximate likelihood that clients who have sites that
support PHP will have the soap extension installed (or are willing to
install it). Good? Fair? Bad?
Bad. It is PHP 5 only extension. Until PHP 5 gets really popular things
won't improve. Try it in 6 months or more.
2) Is there a better technology choice for our software development team to
provide a web-service to our web-developer clients? XML RPC, custom CGI
protocol? others?
I am not that sure that XML-RPC is a better RPC protocol. Keep in mind
that some people just want to force that claim due to the anti-Microsoft
bias. SOAP was specified by Microsoft and other big companies, so now
you may understand that at least in part some people just tell you to
not use SOAP because they think it is a Microsoft thing, which is a kind
of stupid logic as it is not good to have too many protocols to use for
the same thing.
Anyway, if you do not plan to wrap large data in RPC requests, you may
just to stick to plain and simple REST. It is as simple as passing the
request arguments in the URL separated by ? and & just like when you use
forms.
Amazon also jumped into the Web services era with SOAP, but soon the
realized that it would be much simpler if they would also provide a REST
interface. It does not require large marshalling and unmarshalling
libraries and you can still reuse your normal PHP scripts to provide a
REST interface.
--
Regards,
Manuel Lemos
PHP Classes - Free ready to use OOP components written in PHP
http://www.phpclasses.org/
PHP Reviews - Reviews of PHP books and other products
http://www.phpclasses.org/reviews/
Metastorage - Data object relational mapping layer generator
http://www.meta-language.net/metastorage.html