.NET: Is it Microsoft's new silver bullet, or only another attempt to revive the software economy?
In fact there is a real need for a platform that can transfer information over a network without violating security restrictions. Let's take, for example, an online printing and embossing business where customers can order prints, posters, and memorabilia such as cups, T-shirts, mouse pads, and so on, containing images from the customers' digital photographs. The company needs a Web application that lets customers upload their digital files and place orders over the Internet in a secure fashion. Then the order information will be transferred to accounting and order processing.
This company also uses a great variety of raw materials such as photo paper, developer, print cartridges, and so on. One way of getting those materials at the best possible price is to purchase them on a business-to-business platform, where manufacturers and dealers are competing directly with each other. Furthermore, the company needs updates from the suppliers about availability, pricing, and delivery dates. Figure 1.1 visualizes such a scenario.
Figure 1.1. Connected Applications
The challenge is how to connect the various applications and services via the Internet or an internal company intranet. There needs to be a common language and, if possible, a common platform through which the information is exchanged. Microsoft's answer is based on Extensible Markup Language (XML), a universal language for data exchange. .NET provides the framework along with a rich class library that eases the task of creating small, independent applications that can be connected to build rich solutions.
It might seem that Microsoft's .NET initiative is basically a platform for Web services, but this is far from true. The printing company example overemphasizes the use of Web services. .NET brings many new features to the application developer that have little or nothing to do with Web services. Indeed this book addresses those other features while developing a more traditional Windows client and a Web application.