The focus of this paper is primarily on business issues and strategy. It is intended to provide an analysis on the motivations, methods, and means that drive .NET. The component technologies and products of .NET will be mentioned here but not covered in detail. Most product releases are incremental in nature. .NET was not so much a product as a broad vision that included a variety of incremental products in conjunction with multiple technology initiatives. Its sweeping scope makes it truly unique among business strategies in the high tech marketplace where most strategies are geared towards single product lines and are seasonal in nature. The widespread nature of .NET and its substantial impact on the IT industry makes it an interesting topic to study.
This analysis will first cover the different aspects that make up the whole of .NET: the products, the technology, and the branding. Next it will cover the reasons why Microsoft released .NET as well as its value proposition to customers and adopters. This analysis will also cover the various strategies for rolling out .NET, and some problems encountered during the roll out.
An Overview of .NET.NET is an example of a revolutionary strategy and a major innovation. .NET is a vision, not a product. It is a brand, and a platform, and a strategy that Microsoft leverages against its competitors in a variety of product areas.
Replacing an Older Generation.NET is a framework that replaces a variety of different Microsoft technologies introduced in the 90’s: Windows DNA, COM, ASP, ActiveX, ADO and others. Tens of thousands of applications are evidence that these technologies were successfully adopted by the developer community. Even with all these technologies to build on, .NET will fundamentally change the way that software for Windows is designed, coded, and deployed.
Web Services at its HeartThe fundamental new technology at the core of .NET is web services. As the name suggests, web services are new functions to create internet-aware applications. Web services are business and consumer software applications, delivered across the internet that let users access and share data across devices, databases, and organizations. The introduction of Microsoft web services is an acknowledgement that the future of applications has moved from desktop GUI applications to web-centric browser based applications run across the internet, on .NET enabled servers. The introduction of web services is also an acknowledgement that rival technologies such as Java have to be dealt with.
Strong Branding.NET is a brand used to pull together otherwise distinct technologies: * The Common Language Runtime (CLR) – a set of programming languages and a common development framework that allows all .NET development tools to access all other .NET building blocks * ASP.NET – development libraries for the Microsoft web server * ADO.NET - development libraries for the next generation of database management * Windows Forms – development libraries for sophisticated GUI’s over the web * Enterprise Services – development libraries for business-critical high performance transaction services * The .NET Compact Framework – Scaled down development libraries geared for use on mobile phones, PDA’s, set-top boxes and other small internet-capable devices * My Services – A set of web services intended to provide an easy means of accessing frequently web data. This was later cancelled after much controversy over privacy issues.
A Tools StrategyThe Common Language Runtime (CLR) was a major advance from the previous Microsoft development environment and was also a move to counter the threat from Sun’s “write once, run anywhere” Java development environment. The introduction of Java meant that the Java code written on a PC could also run on Linux, Novell, Macintosh, Sun workstations, and even IBM mainframes. Java threatened to destroy Microsoft’s competitive barriers. Java started as a client-oriented application language but evolved to support web services and eventually provided a rich set of tools to create web-centric applications. Since its introduction Java has also gained great market share in back office operations, further cutting into Microsoft’s profits.
Countering Rival TechnologiesCLR adopted most of Java’s features and virtually eliminated Java’s competitive advantages. Specifically, CLR moved to a “managed code” paradigm, where applications run within a safe virtual area. It also adopted Java’s superior memory management garbage collection techniques, increasing reliability of applications. CLR provided a common and open semantic foundation for more than a dozen different programming languages, each able to access the core .NET operations. It was Microsoft's intention that its tools still be favored but developers but that developer would be free to use alternative programming languages to write .NET applications.
CLR also introduced C#, a programming language with close similarities to the Java programming language. C# is the successor to Microsoft’s legally challenged J++ Java development environment and has quickly gained popularity.