Is Microsoft.NET just the latest Redmond buzzword for the next generation of tools and servers that we'll have to spend precious money to upgrade to? Or is .NET a fundamentally new way to architect and build systems? And what impact will .Net have on database professionals like you and me?
I'm not a developer. Sure, I can sling Visual Basic (VB) code if I have to, but that isn't how I earn my living. I need to know how Visual Studio applications will affect my database, so I keep up with ADO and middleware technology. But I don't get excited when Microsoft starts talking about a new set of programming tools. Initially, I thought .NET was nothing more than the next generation of the same old tools. My response? "Cool, Microsoft improved VB and added threading." But when I learned more about .NET, I realized how wrong I was. The .NET Framework could fundamentally change the way we design, build, and deploy applications. .NET Enterprise Servers—including SQL Server 2000—are cool. The new .NET programming tools and common runtime are nifty. But the real architectural revolution lies in the concept of a Web service.
What's a Web service? Remember TerraServer? Microsoft launched it a few years ago as the world's largest SQL Server application. If you ever need a satellite picture of your backyard, terraserver.microsoft.com is the place to go. TerraServer has plenty of interesting SQL Server aspects, which I'm going to ignore for now. The real news is that Microsoft has upgraded TerraServer and relaunched it as a Web service called the TerraService. Today, the US Department of Agriculture (USDA) has integrated the TerraService into an application available to farmers and other professionals in the agriculture business. Conceptually, USDA developers can invoke methods and properties from TerraService as if it were a simple COM component installed on the local network. Using a Pocket PC, a farmer in the field can receive topographical or aerial photographs of any farm in the United States. Microsoft and TerraServer alone could never have met the unique needs of this agriculture application, and the USDA could never have built its own TerraServer without leveraging the capabilities of a programmable Web service. But together, the combined applications are greater than the sum of the parts.
Web services transform the Web from a browseable resource into a programmable resource, bringing us into an entirely new realm of architectural options. Here's what the TerraServer home page has to say about the new Web service: "The Microsoft TerraServer .NET Web Service is designed to simplify the task of accessing TerraServer programmatically. Developers call TerraServer Web Service methods to perform standard queries against the TerraServer database. The Microsoft .NET technologies do the 'heavy lifting' to connect programs to the TerraServer Web Service via Internet communication protocols and exchange data. All the programmer has to do is call the provided TerraServer Web Service API methods and iterate through the data contained in the data structures returned by TerraServer Web Service."
Web services make the dream of true, loosely coupled, distributed- application architectures a reality. But what does this mean to database architects like you and me? Building and distributing Web applications will soon be a mass-market skill. But making these distributed applications actually work will still be difficult, especially when these distributed, loosely coupled Web services share data that might reside down the hall or halfway around the world. In particular, ADO+ (a core part of the .NET framework) will change the way we manage distributed data. I'll talk about ADO+ in an upcoming column. For now, check out the TerraService and TerraServer Web sites. You'll find all the information you need to integrate TerraService into your own Web application.
And for more information about the .NET Framework in general, be sure to watch ".NET Framework." This streaming video from MSDN will answer many of your questions.Microsoft's support site.