The basic difference is whether this service is to be used internally in
your system or is to be published as an externally available resource.
In the former case, it doesn't really matter which approach you take.
You can decide based on your own criteria, such as maintainability, ease
of implementation, performance, whatever.
In the latter, a Web Service would be better, in that the WSDL provides
the information other systems need to consume the service. That is, you
wouldn't need to provide and maintain additional information for the
potential user base. Consider such web services as Google and Flickr;
all a developer needs to incorporate them into a site is the WSDL URL.
In case you still want comparisons, here are some notes on Web Services,
courtesy of Wikipedia:
Advantages of web services
* Web services provide interoperability between various software
applications running on disparate platforms.
* Web services use open standards and protocols. Protocols and data
formats are text-based where possible, making it easy for
developers to comprehend.
* By utilizing HTTP <http://en.wikipedia.org/wiki/HTTP>, web
services can work through many common firewall
<http://en.wikipedia.org/wiki/Firewall_%28networking%29> security
measures without requiring changes to the firewall filtering rules.
* Web services easily allow software and services from different
companies and locations to be combined easily to provide an
integrated service.
* Web services allow the reuse of services and components within an
infrastructure.
* Web services can work through firewalls while other forms of RPC
may more often be blocked.
[edit
<http://en.wikipedia.org/w/index.php?title=Web_service&action=edit§ion=3>]
Disadvantages of web services
* Web services standards features such as transactions
<http://en.wikipedia.org/wiki/Distributed_transaction> are
currently nonexistent or still in their infancy compared to more
mature distributed computing
<http://en.wikipedia.org/wiki/Distributed_computing> open
standards such as CORBA <http://en.wikipedia.org/wiki/CORBA>. This
is likely to be a temporary disadvantage as most vendors have
committed to the OASIS <http://en.wikipedia.org/wiki/OASIS>
standards to implement the Quality of Service aspects of their
products.
* Web services may suffer from poor performance
<http://en.wikipedia.org/wiki/Performance> compared to other
distributed computing approaches such as RMI
<http://en.wikipedia.org/wiki/Java_remote_method_invocation>,
CORBA <http://en.wikipedia.org/wiki/CORBA>, or DCOM
<http://en.wikipedia.org/wiki/Distributed_component_object_model>.
This is a common trade-off when choosing text-based formats. XML
explicitly does not count among its design goals either
conciseness of encoding or efficiency
<http://en.wikipedia.org/wiki/Algorithmic_efficiency> of parsing
<http://en.wikipedia.org/wiki/Parsing>. This could change with the
XML Infoset <http://en.wikipedia.org/wiki/XML_Infoset> standard,
which describes XML-based languages in terms of abstractions
(elements, attributes, logical nesting). The traditional
angle-bracket representation is now seen as an ASCII
<http://en.wikipedia.org/wiki/ASCII> (or Unicode
<http://en.wikipedia.org/wiki/Unicode>) serialisation
<http://en.wikipedia.org/wiki/Serialisation> of XML, not XML
itself. In this model, binary serialisation is an equally valid
alternative. Binary representations such as SOAP
<http://en.wikipedia.org/wiki/SOAP> MTOM promise to improve the
wire efficiency of XML messaging.
* XML is verbose in nature and since Web Services are built on top
of XML standards, parsing or consuming web services are time
consuming. Another technology called as Binary XML might address
this problem to some extent.
John Samson wrote:
> We need to set up a webservice that in response to a request returns
> details of approx 60 people. The attributes returned will be First
> Name, Last Name, Age.
>
> It seems clear cut to return this data as an XML document. But what
> are the (dis)advantages of writing a 'proper' CFC-based web service
> complete with generated WSDL file rather than the way I've
> traditionally done it: receive request, generate XML document, return
> to client?
>
> Are there any differences?
>
> John
>
> ------------------------------------------------------------------------
> Win a BlackBerry device from O2 with Yahoo!. *Enter now*
> <http://us.rd.yahoo.com/mail/uk/taglines/default/mobile_o2/*http://www.yahoo.co.uk/blackberry>.
> ----------------------------------------------------------
> You are subscribed to cfcdev. To unsubscribe, send an email to
> [email protected] with the words 'unsubscribe cfcdev' as the subject
> of the email.
>
> CFCDev is run by CFCZone (www.cfczone.org) and supported by CFXHosting
> (www.cfxhosting.com).
>
> An archive of the CFCDev list is available at
> www.mail-archive.com/[email protected]
> ------------------------------------------------------------------------
>
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.375 / Virus Database: 267.15.0/248 - Release Date: 2/1/2006
>
----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email to
[email protected] with the words 'unsubscribe cfcdev' as the subject of the
email.
CFCDev is run by CFCZone (www.cfczone.org) and supported by CFXHosting
(www.cfxhosting.com).
An archive of the CFCDev list is available at
www.mail-archive.com/[email protected]