Microsoft .NET will help remove components specific to a platform and application and thus enable information to be exchanged and built on a more common ground. You may think, "What is in it for Microsoft?" After all, creating an independent platform that does not require Microsoft products to implement seems to be self-destructive. In reality, Microsoft is embracing an idea that has been around for some timethat technology developers should compete with each other at the application and service level, not the platform level.
Let's consider an example. If you go to your favorite department store to buy lightbulbs, you'll see many different kinds of lightbulbs made by different manufacturers. However, the lightbulbs you purchase all conform to certain standards. In other words, regardless of brand, bulb life and compatibility with your light sockets are likely to be the same. This is because the lightbulb industry competes at the product level, not the standards level. If each company competed at the standards level, you would have different lightbulbs that only worked in proprietary light socketsa scheme that would make shopping ridiculous for the customer.
The computing industry has historically competed at the platform level. Microsoft products did not work with Apple Computer Microsystem products, which did not work with Sun products, which did not work with Novell NetWare products, and so on. Each company built its own computing platform and determined who could play on the platform and how. That is slowly changing. Although technologies and developments will continue to be proprietary, as they should, .NET helps usher in the idea that competition should be based on products, not on standards. .NET provides a way to exit the proprietary standards area by providing a streamlined Web standards approach from which application services can be builteven on non-Microsoft products. One of Microsoft's goals with .NET is to get out of the standards competition. This approach is good news for customers and good news for e-commerce.
A second goal of the .NET platform is e-commerce communications. This means that .NET provides a way for different applications using different software in differing Web environments to natively exchange and use information. This feat can be accomplished using Extensible Markup Language (XML). This interactive approach is a different one. In the past applications were built to function on one specific platform, and even when communication was possible with a different application, the function was often "hidden" to make the communication look internal. XML brings a wide following and can be used to make standardized communication servers where different applications and services running on those applications can easily communicate with one another and natively exchange information. XML is a major component of the .NET strategy, and you will see why later in this book.