The term 鈥淢icrosoft .NET鈥?refers to a massive effort on Microsoft鈥檚 part to get away from traditional software development and to build鈥攚ith help from partners all over the industry鈥攖he Internet into a service-oriented software platform. Read the documents that provide an overview of .NET on Microsoft鈥檚 Web site, and you鈥檒l encounter the term 鈥淴ML Web services鈥?repeatedly. An XML Web service is an application that runs on a Web server and exposes callable API functions, or Web methods, to clients on the Internet. XML is part of the name because Web services and Web service clients use XML to exchange data. As XML Web services proliferate, the Internet will become a software platform with an API far richer than any operating system. Today鈥檚 applications rely primarily on operating system services. Tomorrow鈥檚 applications will use Web services to validate credit card purchases, check the status of airline flights, and perform other everyday tasks. With luck, your favorite restaurants will make their menus available via a Web service so that you can check the daily specials from the comfort of your computer desk.
Web services aren鈥檛 something that Microsoft invented, nor are they proprietary to Microsoft .NET. Web services rely on open standards such as HTTP, XML, and SOAP. (SOAP, in case you don鈥檛 know, is an acronym for Simple Object Access Protocol; it鈥檚 an Internet standard that describes how applications can interoperate鈥攖hat is, call methods on each other鈥攗sing HTTP and other protocols.) Because they鈥檙e an industry standard and not a Microsoft standard, Web services are already proliferating on the Internet. Significantly, most of the Web services that are available today do not use the .NET Framework and do not run on Windows. Web services are about interoperability. It鈥檚 relatively simple to write a Web service client that runs on Windows and invokes methods on a Web service running on Linux. In the future, online directories that are themselves Web services will enable companies to advertise their Web services. Need a Web service that exposes real-time stock quotes or shipment tracking information? Microsoft and others are building UDDI (Universal Description, Discovery, and Integration) registries that make such information available on a global scale.
If XML Web services can be written without Microsoft鈥檚 help, then what does Microsoft .NET bring to the party? Plenty. First, .NET validates the Web service concept by throwing the weight of an industry giant behind it. Second, Microsoft is busy writing Web services of its own, promoting Web service initiatives such as .NET My Services, upgrading its enterprise server products to fit seamlessly into a service-oriented world, and upgrading Visual Studio and other development tools to speak the language of Web services. Third, and perhaps most important, is that Microsoft .NET includes the .NET Framework. You can write Web services using x86 assembly language if you want to, but the .NET Framework makes writing Web services so easy that just about anyone can write one. You鈥檒l learn all about Web services and the framework鈥檚 support for them in Chapter 11.