Plataforma .NET   x    Plataforma Java


 

"Sem fanatismo, sem paixões, sem preconceitos, sem puxar a sardinha pra brasa de ninguém... "

 

Afinal o nosso negócio é o cliente..

 

As plataformas .NET e J2EE possuem o foco para o mercado de aplicações corporativas e para Web Services.

 

Vou fazer uma rápida comparação entre ambas, onde tentarei mostrar as vantagens e desvantagens entre os dois frameworks.

 

A plataforma

 

J2EE é centrado na linguagem Java e é multiplataforma ; .NET é centrado na plataforma Windows mas você pode usar diversas linguagens (VB.NET , C# , J# , Cobol ,etc...).

 

Todos os componentes que são distribuídos no framework J2EE (EJB , Servlets) são escritos em Java e a JVM somente pode ser usada com Java

 

O framework .NET esta baseado no CLR que permite o desenvolvimento em qualquer linguagem que for suportado pelas ferramentas Microsoft.

 

No J2EE você esta restrito a linguagem Java ; no .NET você esta restrito a plataforma Windows.

 

Considere os custos de manutenção , treinamento e padronização.

 

A Estratégia

 

J2EE é basicamente uma série de padrões ; .NET é um produto da estratégia Microsoft baseado na evolução do Visual Studio 6.0.

 

Por trás do padrão J2EE a Sun procurou reunir as maiores empresas de software afim de adaptar a interface J2EE. Estou falando de BEA , IBM e Oracle.

 

.NET é um esforço quase que isolado da Microsoft para atingir o mercado de Web Services compartilhados.

 

Compatibilidade e Legado

 

É muito fácil a interligação com o código legado através da nova arquitetura JCA - Java Connector Architeture. .NET também oferece uma boa integração com o legado seu Server 2000 mas possui limitações de conectividade para selecionar sistemas.

 

Quanto a compatibilidade , a atualização do código VB 6.0 para VB.NET ,  apresenta sérios obstáculos devido a introdução dos novos conceitos de orientação a objeto ao VB.NET.

 

Interface de desenvolvimento rápida

 

Tanto J2EE como .NET oferecem ferramentas RAD. Mas a plataforma .NET possui uma melhor integração e um melhor IDE do que os vários frameworks disponíveis para Java.


Portabilidade

 

O JRE esta disponível para qualquer plataforma - Win32 , Unix , Mainframe , o que facilita muito a portabilidade das aplicações J2EE.
 

Quanto a plataforma .NET existe um esforço da Microsoft e da comunidade ( leia-se projeto MONO , SharpDevolp , etc..) em oferecer meios para que as aplicações .NET rodem em outras plataforma que não o Windows.

 

Minha experiência é muito positiva quanto a migração do código Java do Windows para OS/400. Quase nenhuma alteração foi necessária.

 

Suporte a Web Services

 

J2EE permite a colaboração eBusiness e Web Services através do JAXP (Java API para XML Parsing). Outras API´s estão sendo desenvolvidas para os Web Services.
 

.NET também suporta Web Services que estão sendo aperfeiçoados nas novas versões da plataforma. (A Microsoft ainda esta atrelada ao framework BizTalk com extensões propriedades do SOAP)

 

Neste quesito ambas ainda estão procurando se firmar neste segmento.


Vejamos a seguir uma comparação resumida quanto as tecnologias disponíveis em cada plataforma:

 

Serviços e características equivalentes:

 

Serviço .NET J2EE
GUI - Interface com o usuário WinForms SWING e  AWT
Web GUI - interface Web ASP.NET JSP - Java Server Pages
Web Scripting - Script Web ISAPI, HttpHandler, HttpModule Servlet, Filter
Server Side Business Logic Component Serviced Component (COM+) EJB Session Beans
Server side Data component Serviced Component (COM+) with DB Logic EJB BMP Entity Beans
Server Side Data Component Object Spaces EJB CMP Entity Beans
Naming ADSI JNDI
Invocação Remota .NET Remoting RMI or RMI-IIOP
Acesso aos Dados ADO.NET JDBC
Messaging MSMQ JMS
Transactions COM+ or MTS JTA
Browser Code ActiveX Applets
Security COM + Security Context JAAS
Protocolos Distribuídos DCOM RMI/IIOP
Servidores Web IIS Apache ,NES , IIS, etc...

 

Arquitetura N-camadas

 

Serviço .NET J2EE
Camada de apresentação ASP.NET (code behind) JSP (Beans e Tags)
Camada de lógica de negócios .NET Enterprise Service EJB - Enterprise Java Beans
Camada de acesso aos dados ADO.NET JDO/JDBC

 

Principais diferenças:

 

Diferenças .NET J2EE
Portabilidade Windows (por enquanto...) Várias Plataformas
Independência da linguagem Várias linguagens Java
Independência de fornecedor Microsoft Padrão
Componentes COM + Managed Components EJB
Maturidade 1 ano 5 anos
IDE Visual Studio .NET Vários
Camada de apresentação Web Forms Java Server Faces
Escalabilidade Em apreciação Em consolidação
Desempenho Otimização plataforma Otimização linguagem
SOAP suporta em adaptação
Preço comercial depende

 

Quem decide é o cliente.

 

Ou nós vamos decidir por ele ? ...

 

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Referências:


José Carlos Macoratti