And i thought Microsoft was dumping java.....


""Introduction Welcome to Beta 1 of Microsoft Visual J# .NET. Microsoft Visual J# .NET is a development tool that developers who are familiar with the java-language syntax can use to build applications and services on the .NET Framework. It integrates the java-language syntax into the Visual Studio .NET shell. Microsoft Visual J# .NET also supports the functionality found in VJ++ 6.0 including Microsoft extensions. Microsoft Visual J# .NET is not a tool for developing applications intended to run on a Java Virtual Machine. Applications and services built with Visual J# .NET will run only in the .NET Framework. Visual J# .NET has been independently developed by Microsoft. It is not endorsed or approved by Sun Microsystems, Inc."


Java Language on .NET
Debi Mishra

This product team is building the Java Language IDE (Integrated Development Environment) for the .NET platform. It will ship as an integrated add-on to Visual Studio.NET.

This product will:

Provide the upgrade product path for Microsoft VJ++ 6.0 customers and move them to the next generation .NET platform. It will support most of the class library functionality of JDK 1.1.4 as well as Microsoft extensions (such as J/Direct and Java-COM) that shipped with Visual J++ 6.0.
Make it possible for Java language developers to write to the .NET platform in the language of their choice.
Allow java language developers to leverage the richness of the .NET frameworks (ADO.NET, ASP.NET and many others) where the functionality and simplicity surpasses what is available in the JDK specs.
Allow Java programs to seamlessly inter-op with programs written in all other languages that are being supported on top of the .NET runtime. So programmers can share frameworks, objects, metadata and code between these languages without additional glue.
Most importantly, provide RAD tools and designers that make it easy to for Java language developers to build Web Services.
Key technology pieces: The product consists of the following:
Libraries (JDK 1.1.4 Layer): This functional layer supports all the functionality as speced in the public documentations for JDK 1.1.4 except for JNI, RMI and Applets. By supporting these, the product enables support for existing Java programs that are written to JDK 1.1.4.
VS Integration: The Integrated Development Environment has rich set of tools and wizards to make it easy for developers to write new Java language programs, build and compile and debug them. It will have designers to author Web Services in Java, ASP.NET applications or UI using the WinForms frameworks. It will provide support for importing existing VJ6.0 projects. It will be fully integrated with the VS.NET shell.
Java Language to IL compiler: The Java language converter is the Java equivalent of a C++ language compiler for .NET. It will take Java source files and create the .NET assemblies containing the IL and metadata that can run on the .NET runtime.
Java Class Files to IL Converter: This tool will allow Java libraries in java class file format to be converted to .NET assemblies containing the IL and metadata that can run on the .NET runtime.

.NET Runtime
.NET is Microsoft's next generation programming platform. It comes with a rich framework and it is multi-language. At the core of the .NET platform is the CLR (Common Language Runtime). Java Language support is built on top of the Common Language Runtime of .NET. As you will see in the paragraph below, the CLR is language independent and has all the basic language features so that a maximum number of programming languages can target the runtime. This is cool thing #1 of .NET.

CLR includes the Type system that provides the underlying object model, the .NET IL, a Metadata system that allows persistence at compile time and then interrogation by the execution system as well as binding time. The CLR also contains the execution system that executes the .NET programs in IL form. Execution system utilizes the metadata and provides runtime services such as garbage collection, late binding, verification, JIT compilation etc. Programs written in any language get to leverage these, as all programs run on top of the CLR. The runtime permits developers to define their own types and specify function prototypes and implementations for their types. The runtime can support both object-oriented programming style (that supports inheritance and polymorphism) as well as non-object-oriented languages.

Web Services
A cool thing #2 of .NET is that this platform enables building XML web services. The .NET programming model and tools make it as easy as possible to build and integrate XML web services. .NET vision of web applications is where the application will be constructed from multiple Web Services and the Web Services work together to provide data and services for the application. A Web Service is programmable application logic accessible via standard Web protocols. One of these Web protocols is the Simple Object Access Protocol (SOAP). SOAP is a W3C submitted note (as of May 2000) that uses standards based technologies (XML for data description and HTTP for transport) to encode and transmit application data. Consumers of a Web Service do not need to know anything about the platform, object model, or programming language used to implement the service; they only need to understand how to send and receive SOAP messages (HTTP and XML).