In 2001, less than 20% of new AD [application development] involved Web Service application programming models such as .NET and Java 2 Enterprise Edition (J2EE). By 2005, however, Web services will be the predominant programming model, used for at least two-thirds, and perhaps as much as 80%, of new applications — Gartner, Inc., Web Services are the next evolution of the Web and are almost guaranteed to be the future of distributed applications worldwide. The following reference collection represents the “editor’s choice” of the 100 most representive and popular articles selected from a list of more than 300 from the Web Services Zone.
Having worked with SOAP and XML-RPC programming, I really don’t see what all the fuss is about. They’re a pain to work with, and don’t really offer any benefits that didn’t exist before. Or maybe I’m jus t missing something important.
I can see using this for something simple, like if you are the library of congress and want to provide a card catalog lookup, or you are the post office and want to normalize addresses, but I don’t see how it fits into all of the applications I have written.
I am sure many applications have some function or other that could be exposed as a service, but I can’t see how the bulk of the code would be replaced by services.
Remoting, as I’ve found, provides a really simple way to create a web/network service….suits me down to the ground for simple transmissions, rather than coding a client/server model myself.
Just my £0.02
I don’t think your missing anything important; I’ve had the same feelings.
Today’s latest technologies seem to be just more complex rehashes of the stuff we’ve been using for years.
According to the article:
A Web service is a collection of functions that are packaged as a single entity and published to the network for use by other programs.
Ok, wanna try that again .. except in English?
My best guess is that a web service is some kind of DLL or library that you can call across a network or the Internet? Or is it specifically an app that runs in a browser?
At my company, it seems that everyone is using Web Services as a solution that needs a problem. Almost every time a design meeting occurs, practically the first thing out of everyone’s mouth (except mine) is “We could do that with a web service!”.
Never mind that it is completely unnecessary, and against the grain of what a Web Service is supposed to be used for… it’s cool, so let’s use it!
I almost immediately say “Yeah, good idea, let’s slow down our processing speed by 25% for no reason”. (It takes time to make/parse/transfer XML data, ya know.)
Then comes the mad rush of trying to justify the slower processing speed. One guy always has to say stupid stuff like “We have 3Ghz processors! Why worry about processing speed?!” (you guessed it, he’s a VB6 programmer.. they have never cared about processing speed or program efficiency).
Then another guy has to say something (also profoundly stupid) like “We could offer this service to other companies!”. While he’s pulling his shoe out of his mouth, I’m gently reminding him that nobody would ever want to use this functionality but us.
Then we code it using tried and true techniques, and are done in 1/2 the time with 25% more processing speed.
Moral of the story: Don’t use Web Services unless they are the technology needed to get the job done.
Toodles. (Hi Eugenia! Keep up the good work!)
They are all attention getters.. depending on your space.. EDI was grooving, but now is boring. Object Relational.. er.. Object Oriented databases.. nah. Everything as a free .com? Hm.. How about a simple XML-based data formatting on an HTTP (or other) transport?! Ok.. Its the new thing!!
Really though.. web services are fine if you need them. Want to expose an API for others (a la Google, eBay, Amazon)? Good idea.. nice standard way to do it. But.. want to build a performance oriented enterprise application? Yeah but RMI, CORBA, or anything else is going to be orders of magnitude faster than SOAP. Deploying a fat client and want access to server-based applications? Mabye Soap is OK for you then.. but mabye.
The fact is.. its a remote procedure call.. its stateless (unless your provider builds in state management for you).. its limited. So, you may be able to use it, but it seems to me that you will use it for special tasks and when you need to expose special APIs to other applications.
(Even in an enterprise integration space, the EDI applications like webMethods and Vitria will give you a much better distributed server-to-server integration platform than simple Soap services tossed up somewhere..)
Web Services is nothing special from a technology standpoint. Many large applications had been built with HTTP and XML and were working just fine before SOAP and Web Services came along.
The ‘new’ Web Services API’s were built in a very complex fashion so that the application integration market can be owned by Microsoft and IBM (the two main Web Services players).
If I had a large IT department, I’d stay away until the simple version of Web Services comes out. Otherwise, you are picking up an extreme amount of overhead for a small amount of actual functionality.
Web Services are the next evolution of the Web and are almost guaranteed to be the future of distributed applications worldwide
My looks at web services so far left me with mixed feelings.
XML is interesting for structuring documents and it came with a couple of powerful parsers and other tools that made it easy to use it. On the other hand it wastes lots of resources where some binary format would be more useful. Same for SOAP this is some inferior technology gaining momentum thanks to massive hyping.
Interesting might be the self description aspects of web services, which is aimed at painless discovery and usage of services.
My basic problem with that stuff is that the technology seems clumsy and ugly to me, seems to provide minor benfefits, has parts that sound nice but that I don’t understand right now and that gets too much attention in the publications. So I think it is bullshit but I can’t ignore it because the publications/followers are too many so one need to tracks it with one eye.
On the other hand I see technology that I believe would deserve to be used much more in future distributed systems. I think Erlang here, a functional programming language which is excellent for distributed and concurrent programming. That system is very powerful (especially in the telecommunications are) and at the same time very elegant.
It is very different from the present OOP/UML/Visual programming line of techniques, which also spawned web services.
Sigh.
Regards,
Marc