Microsoft's .NET is a collection of new technologies that are change Windows-based software development. A major theme of .NET is the idea of Web services, allowing software to communicate directly with other software using Internet technologies. The .NET Framework and Visual Studio.NET, two more core aspects of this initiative, provide a multi-language environment in which developers can create Web services and other kinds of applications.
Microsoft views .NET as a vision, a platform for the digital future. A more concrete and equally accurate way to think about this new initiative is to understand that
".NET is a brand, one that Microsoft has applied to several different technologies. Some of these technologies are entirely new, providing new services and new possibilities. Others allow an updated approach to creating new kinds of Windows applications".
Still other parts of the .NET family are just new releases of existing technologies dressed up with the .NET brand.
Evolving Programming Models
Developers have seen a number of changes in the way they are supposed to create their software on Microsoft platforms. Over the years, different programming models for inter-process or inter-module communication have received attention:
§ Dynamic Data Exchange (DDE),
§ Remote Procedure Call (RPC),
§ OLE Technology (OLE),
§ Component Object Model (COM),
§ Distributed COM (DCOM),
§ Microsoft Transaction Server (MTS),
§ COM+ Component Services.
With the arrival of .NET, things are about to change again. This is due to a number of reasons. Very important factor is the growing importance of the Web and the various mobile devices. As a result, the approach you will undertake to develop your software will shift more and more towards a true Object-Oriented Programming (OOP) and Component Based Development (CBD) in a Service-Oriented model.
Figure 1.1
Why do we need this change? What is this new kind of programming model? How did we get there? How does the .NET Framework help us in building applications using this new programming model? Let us try to answer those questions now.
1.2 The Origin of .NET
In the beginning 1998, a team of developers at Microsoft had finished work on a new version of Internet Information Server (IIS), including several new features in Active Sever Page (ASP) while developers were excited to see new capabilities for Internet development on Win NT; the development team had many ideas for its improvement. That team began to work on a new architecture implementing those ideas. This project ultimately came to be known as Next Generation Windows Service (NGWS).
Before the official announcement of .NET, the term NGWS was used for Microsoft's plans for producing an "Internet-based platform of Next Generation Windows Services".
After VS 6.0 was released in late 1998, work on the next version of visual studio (then called visual studio 7.0) was lined into NGWS. The COM+/MTS (Microsoft Transaction Server) team brought in their work on a universal runtime for all the language in VS, which they planned to make available for third party language as well. The concepts in .Net draw inspiration from many sources. Previous architecture, from p-code is Pascal up through the Java Virtual Machine (JVM). Microsoft has been taken many of the best ideas in the industry, combined with some ideas of their own & brought them all into one coherent package .NET.