Wednesday, September 22, 2010

Parallelization between .Net with Java technology platform

.Net and Java are both mist popular development technology platform currently. However, both have been evolving in parallel. If something comes out in Java .Net is quick to adopt it in itself. Similar, good practices of .Net are also embraced by Java Community.

I would not rate any one over the other. Both have a place and are usually selected based on the requirements and constraints. Constraints could be speed, interoperability, mix of technologies, rich user interface, preferred technology by my customer, existing skill level, existing code etc.

I will try to list equivalent components of Java and .Net with a caveat. 



Description

Microsoft

Java

Languages:

C#, VB.Net, J# etc.

.Net with its CLS,CTS  specification allows any language to achieve .Net compatible.

Java

Infrastructure to develop and run the components.

(Libraries for security, garbage collection and runtime)

CLR  - (Common Language Runtime)

CTS, CLS, CIL: provides support for multiple and intra – language development.

VES – Virtual Execution System

JVM – Java Virtual Machine

Intermediate state of platform independent code. This code is then further converted to executable machine code.

MSIL (Microsoft Intermediate Language)

Java Byte Code

Windows User interface

Window Forms

Swing, AWT

Web Screens

ASPX.Net

JSP

Component running in browser

Rich User Interface

ActiveX

XBAP - XAML Browser application

WPF/E WPF Everywhere

Applet

Rich User Interface

Silverlight

JavaFX

Presentation Framework

MVC(action based) 

.Net MVC

Struts  

Presentation Framework

MVC (Components based)

ASP WebForms

JSF

Process Layer (Workflow)

WF (Windows Workflow Foundation)


OpenWFE

Eclipse WFT

Communication Layer (Distributed Architecture)

.Net Remoting
RMI
Data Access Layer(Database Access Framework)ADO 
JDBC, Java XML

Deployment

Assembly, DLL
JAR (Java Archive),WAR (Web Archive), EAR (Enterprise Archive)
Data Access Layer(ORM)
nHibernate

Enterprise Entity Framework

Hibernate, Toplink, Entity Beans, JPA etc. 

Application Server

Windows 2003 w/ .Net Framework

COM+ Service for Enterprise functionality

Tomcat, WebSphere, Weblogic, GlassFish etc.
Development Environment(IDE)Visual Studio
Eclipse, NetBean

Open source project hosting
http://www.codeplex.com
http://sourceforge.net/

Specification Community
ECMA ForumSun and JCP (Java Community Process)

No comments:

Post a Comment