From: [email protected]
Date: 05/03/02
I wonder how people on this list feel about the REST vs RPC debate? I have
read some articles on the web, but they seem to be polemics, and
interesting, but not what I want to base a software development policy on!
REST systems seem to be based on the idea that data should be made available
as a URI, and clients should manipulate that as they need to.
RPC seems to take a functional approach - SOAP or XML-RPC is used to call a
method to effect some data transforms and obtain a result.
I have two questions:
What applications require the RPC approach? Perhaps systems that need an
event model?
How does one handle side effects in RPC models - how can we describe
them in a service description?
Cheers,
Si.
-----Original Message-----
From: John Flynn [mailto:[email protected]]
Sent: 02 May 2002 18:37
To: daml-services
Subject: When Web Services Don't Make Sense
When Web Services Don't Make Sense
Don't assume Web services will solve every problem you'll ever face.
by Yasser Shohoud
Posted April 29, 2002
According to IDC, the hype and noise surrounding Web services will reach
deafening levels in 2002. Although IDC sees Web services as valuable
technology for application integration and B2B ecommerce, it forecasts the
hype <http://www.computerworld.com/storyba/0,4125,NAV47_STO67084,00.html>
to increase exponentially in 2002.
To counteract some of this hype, I'll point out two specific scenarios where
Web services do not make sense. Unfortunately, I already see many developers
implementing Web services in these scenarios, indicating that the hype got
to them. It is clear that Web services offer the most benefit in cases where
you want interoperability and/or remoting over the public Internet. That
said, note these scenarios where you don't benefit from using Web services.
Single-Machine Applications
There are still many desktop applications for business and personal use.
Some of those applications might need to communicate with others running on
the same machine. In this case, it is almost always better to use a native
API rather than a Web service. COM is effective in this scenario because it
is fast and requires relatively little overhead. The same applies to server
applications running on the same server: Use COM or some other native API to
invoke one application from the other. While it's possible to use a Web
service in this scenario, it is considered suboptimal and does not buy you
anything.
Homogenous Applications on a LAN
In many cases, you'll have applications developed using Visual Basic and/or
Visual C++ and COM and running on Windows platforms on the same Local Area
Network (LAN). For example, you might have two server applications wanting
to communicate with each other or, more commonly, a Win32 or Windows Forms
client that wants to communicate with its server counterpart on the same
LAN. It's much more efficient for two such applications to communicate using
DCOM rather than SOAP/HTTP.
Similarly, if you have .NET applications that need to communicate with one
another over a LAN, you can use .NET remoting. Interestingly, .NET remoting
offers the option of using SOAP over HTTP, essentially acting as a Web
service. But .NET remoting can also run directly over TCP and can utilize a
binary format for the RPC calls which is supposedly more efficient than
using SOAP. Overall, .NET remoting focuses on faithfully reproducing the
remote object's interface whereas Web service focus on faithfully generating
the agreed-upon SOAP messages. Again, you would not use Web services in a
scenario where you had other viable options that are more efficient or make
more sense from an application architecture viewpoint.
About the Author
Yasser Shohoud is creator of LearnXmlWS.COM, a site dedicated to Web
Services resources. Yasser specializes in developing and delivering XML Web
Services training to professional developers. A Web Services expert, Yasser
speaks at several industry conferences and is writing a book titled
<http://www.learnxmlws.com/book/default.aspx> Building XML Web Services
(Addison-Wesley). Reach Yasser at www.LearnXmlws.com
<http://www.LearnXmlws.com> .
John Flynn
(703) 284-4612
DAML Integration and Transition PM
BBN Technologies
This archive was generated by hypermail 2.1.4 : 05/03/02 EDT