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:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET