Wednesday, April 30, 2008

A Javaphile's guide to .Net

It's time to know your enemy :-)

Here is the quick and dirty guide to the major .Net libraries and technologies...


CLR.
This is the Common Language Runtime, the runtime for all programs compiled into .Net IL bytecode.

ADO.Net.
This is the data access API for accessing, equivalent in Java would be JDBC.

ASP.Net.
This is the web technology for .Net, in encompasses both a basic CGI model and the higher level component model. The equivalent in Java would be Servlet and JSP and a certain amount of JSF.

Windows Worflow Foundation.
Basically a visual graph orientated DSL for defining workflows, ala JBPM.

Windows Communication Foundation.
This is M$'s managed component framework. It bears many similarities to EJB3. It lacks some of the features of EJB3 but does have very powerfull remoting features. It is Microsofts SOA strategy and thus has full support for WS-death*.

Windows Presentation Foundation.
This is M$'s definitive new GUI framework and it's replacement for MFC. It forms the basis of the Silverlight framework. Basically the UI is defined in an XML schema called XAML and it links to a .Net class which handles the events and exposes the XAML object model.

Silverlight.
A RIA framework, and M$'s flash killer. Silverlight contains a subset of the Windows Presentation Foundation API and and some APIs for doing Web 2.0 stuff.

LINQ
This stands for Language Integrated Natural Query. Basically a system for using object based predicates to query an underlying data source. The idea is that you ditch a query language and use a .Net based language to define constraints to query your data. This then runs on top of LINQ implementations such an ORM tool or an XML Dom. There isn't anything comparable in the Java world, the closest is the predicate system for DB40.

No comments: