What is The Enterprise?
Friday, March 6, 1998 by Dave Winer.
A few weeks ago I finally understood what the vague term, The Enterprise, means.
In the meantime my understanding has solidified, and I think I'm ready to define it. I'm interested to hear if people agree.
Lost in all the news over Microsoft's competition with Netscape and Sun over web browsers and Java, another battle is quietly raging, for large scale information systems built on relational databases.
Many of those databases are Unix systems. Microsoft wants them to migrate to Windows NT. Sun, Oracle, IBM, etc want the databases to stay where they are.
Why does Microsoft have a say in this market? Because many of the people accessing the information in those databases are using computers running Windows.
So, it's time for a definition.
If an Enterprise Network is one built with Unix servers and Windows clients then...
The Enterprise is a market containing all organizations who run enterprise networks.
The Enterprise market is built on the normal standards of the Internet, HTTP, FTP, etc, with the addition of CORBA, the Common Object Request Brocker Architecture.
CORBA is to The Enterprise what Apple Events are to the Mac, and what COM is to Windows. It's the basic connection point between software running at different locations on a network.
You don't see much CORBA on Mac and Windows, it's pretty much a Unix protocol.
I've been defining more acronymns lately than usual! People say I missed defining RPC, but that's not true. I wrote a whole piece about RPC in May 1996, almost two years ago:
"When I was a computer science grad student, in the late 1970s, we were ga-ga about an idea called Remote Procedure Calls or RPC. An application is distributed across a network, with pieces residing on different servers, presumably with different access privileges, allowing multiple authors to work on the same piece of software. RPC allows parts to be updated at will; and hopefully because of agreed-to interfaces, everything would keep working."
CORBA, Apple Events and COM are all RPC protocols.
They're all different. They don't talk to each other.
Along comes XML. I'm intrigued. What's interesting about XML is the broad interest in it. Could this be the chance for nirvana I wrote about in 1996? Could we finally have a single cross-platform, vendor-independent remote procedure calling standard?
Well, it's a dangerous game for the Unix guys. If CORBA is wired up to a simple XML interface, then anyone can easily connect to CORBA apps from anywhere, without adopting any specific religion, without accepting Sun/Oracle/IBM's leadership.
It's also a dangerous game for Microsoft. If common interfaces allow a network manager to switch out a Windows NT server with a Linux or Rhapsody server they could lose. They'd have to keep their products competitive in a larger world.
And such a process is also easily victimized by hucksters, people who want to do IPOs based on leadership in this area.
So fear and greed, the usual things, are in the way.
But it's the right way to go for everyone else because it puts the power where it belongs, in the market. As a user and a small software developer it's definitely in my interest to see the RPC interfaces flattened out. The more this happens, the more slots I can plug my software into, the more valuable it becomes.
So could the software industry do a standard RPC interface, for the right reasons, because it empowers users? Or will it be a competitive battleground?
Here's a chance for the users to take control. A point of vulnerability in the collective lock the giants have on the users. A window is open now. It won't be open forever.
If the interfaces are flattened out, they'll never break, because no vendor will have the power to break them. Right now Microsoft appears to be interested in a standard. It's a chance to get everything in synch, and to let the company with the best, highest-performance software win. (And of course the best, highest-performance marketing and support machine.)
It could be a historic basic structural change in the software industry.
PS: RPC over HTTP via XML is the technological face of the battle for The Enterprise.
PPS: I've wanted this flattening-out for a long time. It's why I named my company UserLand back in 1989.
PPPS: A joke. The Enterprise is the starship that James Kirk and Jean-Luc Picard captain. Maybe it's not such a joke?