Sexta-feira, 24 de setembro de 2004 às 13h58

J2EE x .Net

"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. Farei uma rápida comparação onde tentarei mostrar as vantagens e desvantagens de ambos os frameworks.

A plataforma

J2EE é centrado na linguagem Java e é multplataforma ; .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?

3 comentários

 Marlon
27/09/2004 10h15

A JSR 241 trata de suportar a linguagem groovy.

Pode ser vista neste link:

http://www.jcp.org/en/jsr/detail?id=241

 Fillpe
21/05/2005 15h22

Excellente

Muito bom! Parabéns... Olha depois que eu li esse artigo pude perceber a importancia das duas plataformas. Deixo mais claro, que tudo depende da afinidade do programador, pois as duas tem conceitos muito parecidos. O que a gente deve saber é que devemeos nos preocupar com a qualidade dos sistemas e com o resultado final, tanto para .NET ou J2EE . Um abraço!

 Francielle Oliveira da luz
14/06/2007 12h57

Comércio

Bom seu comentario deixa bem claro aquilo que muitas vezes ignoramos: o mundo éh captalista, vestir a camisa java impede o profissional de ganhar dinheiro com .net, ou o inverso por fim o cliente decide o produto, nós a poesia, em que lingua vamos escreve-la vai depender da situação.

Cancelar resposta

Qual a sua opinião?

Faça login abaixo ou cadastre-se rapidamente.


2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.