Coming soon: The biggest platform ever
What is a platform for applications? It used to be a simple idea: the platform was the machine your application ran on together with its operating system. The hardware executed your code while the OS provided the necessary services for your application to run.
Then, as computing got more complicated, so did the notion of a platform. Today it might include two or more machines, each running some part of a distributed application, along with software services provided by those machines' operating systems. To build truly effective applications, other services such as network file storage and distributed security are also necessary. As machines got cheaper and more plentiful, the platform for applications evolved to become a distributed environment spread across multiple systems within an organization.
Web services are about to make possible the next platform for applications: the Internet. To be completely correct, the technologies of Web services such as the Simple Object Access Protocol (SOAP) are useful for various things, including business-to-business and application-to-application integration. But the notion of the Internet as a platform is far and away the most exciting—and most radical—innovation Web services allow.
How exactly can the Internet be considered a platform? To answer this question, think again about what's needed to support applications. Hardware is required, obviously, but so are standard services such as those provided by an OS. For the Internet to serve as a platform, it must be possible for applications to run on machines connected via the Internet and to access generally available Internet services such as storage and authentication.
Web services make this possible. Applications running on different machines on the Internet can communicate via SOAP, which can more easily pass through firewalls than older protocols such as the Internet InterORB Protocol (IIOP) or Distributed COM (DCOM). And as part of their .NET initiative, Microsoft plans to provide a set of so-called building-block services on the Internet, including things such as storage, authentication and so on. The Internet as a platform isn't just a slogan—it's about to become a reality.
Microsoft is investing heavily to make .NET real. Yet it's a tricky problem. The core Web services technologies are all multi-vendor, and they'll be supported by many of Microsoft's competitors. Making Web services provided by different organizations work together is essential—the whole effort wouldn't be very interesting if these were Microsoft-only technologies. Yet their multi-vendor nature could easily lead to commoditization and low margins. How does Microsoft expect to establish a profitable advantage?
The most obvious answer is by being first. Even though Sun and others are running ads touting their commitment to Web services, Microsoft deserves credit for the original vision. The company will also likely be first with solid tools for building Web service-based applications. Visual Studio.NET looks likely to ship this year, and it's packed with support for this new paradigm. Just as importantly, Microsoft's plans to create the necessary infrastructure services for the Internet as a platform are essential to make this concept real. Presumably they'll charge for these in some way, perhaps on a per-access basis or through monthly subscriptions.
Why should we care? What new kinds of applications can be made possible by using the Internet as a platform? The jury is still out, but there are plenty of tantalizing ideas. A world of connected applications running on everything from desktops and servers to Palm Pilots and mobile phones is bound to be more interesting than the one we live in today. Building the technology to make this happen is critical, but it's only the first step. Getting developers to understand and intelligently exploit this world is also required.
I'm looking forward to seeing the first killer app for the biggest platform ever.
David Chappell is principal at Chappell & Associates, an education and consulting firm focused on enterprise software technologies. He can be reached via E-mail at email@example.com.