Web Services are overhyped.
This is a common theme with our industry. Remember when Java was overhyped? Remember when Push was? Remember when the Macintosh was?
Whenever something is overhyped, I start looking elsewhere for the real action.
The real opportunity for the average Joe developer (financially) is not by building Web services, it's by building business information services behind the firewall. I think we should call services that run behind the firewall “HTTP Business Services” since my mom and dad can't see them from the World Wide Web.
Most of the programmers who use Microsoft stuff (or even Sun's Java) are building business applications. The kinds you never hear about. They are ripe candidates to build new kinds of business information systems.
For instance, KGO Radio in San Francisco is being run by a Visual Basic app. It works. It helps them run their business. It was probably run by a developer who didn't really care that his app is helping Microsoft sell a few copies of Windows. The developer probably got paid a good fee to create the app. He or she is happy.
Those are the kinds of folks that are using .NET. Will the next version of Quake be written in a .NET language? Of course not. The next version of RedHat Linux? Of course not. The next version of UserLand Frontier? Of course not. The great folks who write those kinds of apps, platforms, and OS's aren't the average Joe developer that Microsoft cares about (if they did, a stretch limo would appear, and they'd buy you, just like they did to Anders Hejlsberg when he worked at Borland).
Why do I believe that HTTP Business Services are underhyped?
Jon Rauschenberger, one of the guys at Clarity Consulting, and one of the world's formost .NET experts, tells me that most of his .NET work is “behind the corporate firewall.” Jon is the guy seen speaking at VSLive! and TechEd and PDC conferences and you better believe he's excited by the Web service vision of .NET. He's one of the “Microsoft insiders.” He writes SOAP code in his sleep. If he can't sell a Web service to his clients, no one can (and he tells me he isn't seeing any Web service business right now).
His company is being kept afloat by building HTTP Business Services inside corporate firewalls. Makes sense, actually. Businesses have the money to spend on improving their processes and information systems.
HTTP services will make a great executive information system
Imagine you're a CEO. You have no freaking idea about technology. (Most don't). It takes all your brain cells working in tandem to have you figure out how to open a Web browser and type a URL.
Yes, you're a pointy-haired boss. You just run a widget shop. Or you run a SnapOn Tools division. Or you worked your way through General Motors or Coca Cola or Proctor and Gamble.
Does the average CEO have any idea what XML-RPC is? Hell no.
What CEO's care about is their business. What kinds of cars are selling. Which ones are blowing up. What salespeople should they fire? Which salespeople should they give bonuses to.
Trouble is, in any corporation, that data is all over the place. Some of it will reside in an Excel spreadsheet. Some will reside in a database of some kind or another (Oracle, SQL Server, Access, FileMaker Pro, I've seen them all used, even at the same company!) Some of it will reside in custom apps (mostly in databases there too). Accounting systems. You get the idea.
OK, now, take that CEO again. Does he or she really know where to find all the data that's important to him every morning he wakes up? Hell no. I'd be suprised if more than 20% of CEOs out there knew how to use their corporate VPN to dial in and how to traverse the servers in the company.
So, why don't you build him or her a Web page. One that gathers all the information from disparate sources. How do you do that? HTTP services. Build something that parses that Excel spreadsheet, emits some XHTML/HTML/Chart/whatever, and expose it via SOAP or XML-RPC. Then do that for your databases. Then do that for your other information stores (hey, build the equivilent of Napster for your corporation! We know you have a lot of data stored in .PDF documents. Don't lie now, I know you do!)
Wait, what's missing in this equation? Humans, dummy!
Where do we insert humans into this process?
A Weblog. Gasp! A Weblog in a corporation? You've gotta be kidding, right? No, I'm not.
Disclaimer, I'm the director of marketing for UserLand Software, which sells Weblogging technology that is controllable via HTTP via XML-RPC or SOAP.
That CEO is gonna be awfully confused in the morning looking at all those HTTP services. Even if your programmers did a killer job of making those charts look pretty (and useful!) and they made the numbers the right color, and all that stuff, the CEO is still gonna need context. Human context.
His or her employees are gonna need to tell him why coffee sales in Japan tanked yesterday. Why they can't keep a particular SnapOn Tool in stock. Or why one keeps breaking, which is dragging down their bottom line.
So, imagine a CEO looking at a single URL on his/her intranet. On the left hand of the screen, your employees are posting their feedback. On the right side of the screen, your CEO sees his business data. Sales. Profits (or lately, losses). Trends. Inventory. Support call reports. The right hand of the screen is built from HTTP Business Services. The left hand of the screen is built by a content management server, which is also an HTTP Business Service.
There's gotta be a few companies out there that'd buy such a system, right?
Building it is easy. O'Reilly has a book that'll teach you how to build an HTTP service with XML-RPC and there's lots of info out here on the Web.
Jon Rauschenberger has already figured it out and he's gonna build these things with .NET. He, and his employees, still have jobs. See a trend here? (Hint, it's not cause he bet on .NET, it's cause he's figured out what businesses need).
Guess what, we can get the business too, and we don't need to wait for .NET — which still won't ship until November (or later)! (And, what we do implement will be easy to integrate into a .NET centric system, if your pointy-haired bosses force that on you).
Think I'm kidding? I recently read a report — sorry, it isn't public — that says that only a small percentage of CEO's have a good business information system.
That sounds like an opportunity. Are we up for it? HTTP Business Services are the answer!