Moving Java Applications to .NET

Microsoft .NET is much more than XML Web services. At the heart of Microsoft .NET is the .NET Framework, consisting of the common language runtime and the class libraries. These two components provide the execution engine and programming APIs for building .NET applications. Applications compiled for the .NET Framework are not compiled directly to native code. Instead, they are compiled to an intermediate language called Microsoft Intermediate Language (MSIL). When an application is run for the first time, the common language runtime just-in-time compiler compiles the MSIL code into native code before it is executed. The common language runtime is more than a simple JIT compiler; it is also responsible for providing low-level execution services, such as garbage collection, exception handling, security services, and runtime type-safety checking. Because of the common language runtime's role in managing execution, programs that target the .NET Framework are sometimes called "managed" applications. The .NET Framework also includes a set of classes for building applications that run on the common language runtime. These class libraries provide rich support for a wide range of tasks, including data access, security, file IO, XML manipulation, messaging, class reflection, XML Web services, user-interface construction, text processing, ASP.NET, and Microsoft Windows services. Perhaps the most unique attribute of the .NET Framework is its support for multiple languages. Microsoft ships .NET compilers for four commercial languages: Visual C# .NET, Visual Basic .NET, the Managed Extensions for C++, and Visual J# .NET. Apart from these, support for over 20 programming languages including Perl, Python, and COBOL is available for use with the .NET Framework. Relying on the common language runtime, code compiled with these compilers can interoperate.

Dot net technology

Microsoft .NET (pronounced "dot net") is both a vision for how software should be written, and a set of tools for developing software that realizes this vision. To illustrate the driver for the Microsoft .NET vision, let's look at the common business problems of connectivity and interoperability: Most businesses cooperate with other businesses, yet their information systems operate in isolation. Product supply chains are not integrated across vendors; communication between supplier and purchaser is often limited to facsimile or simple text file exchange. This is often seen as a barrier to productivity improvements. When businesses become more connected, they can achieve greater efficiency. When every vendor in a supply chain is connected to each other, each can keep inventories at minimum, manufacture on an as-needed basis, and coordinate with greater efficiency.
Related to this is the issue of interoperability. Once businesses make the commitment to connect to each other, they are faced with the difficult engineering task of designing and implementing the connection when the cooperating systems are in different states of re-development or ongoing change. Added to this is the complexity of securing data as it is passed through corporate firewalls and exchanged with data from partners that are also competitors.
The Microsoft .NET vision is to better enable this capability: to make it simple to write systems that securely connect and interoperate with each other any time, any place, and on any device. The central technology for enabling this is XML Web services. This technology is both a methodology and transport layer for passing information between components on different machines, different networks, and different operating systems.