Home > Dicas

Mudar nem sempre é preciso

Com a plataforma .NET e a arquitetura J2EE, Microsoft e Sun travam nova batalha. E o usuário, onde fica nesse fogo cruzado?

Kelli Gonçalves

18/07/2005 às 16h33

Foto:

Com o j2ee (Java 2 Entreprise Edition) e a plataforma .NET, Sun Microsystems e Microsoft, respectivamente, travam um novo duelo de titãs na competitiva arena de desenvolvimento de aplicações para Internet. Quem será o vencedor? Quem amargará a vergonha da derrota? Há quem fale que depende basicamente dos objetivos do usuário para se escolher o vencedor.

A plataforma da Microsoft era, até pouco tempo atrás, essencialmente baseada no Windows e estava atrelada ao mundo do PC. Com o advento da .NET, a primeira grande diferença é que o ambiente de desenvolvimento agora ampliou sua atuação também para outros dispositivos e para acrescentar a contribuição de ferramentas de parceiros.

"No ambiente de execução .NET, posso optar por vários tipos de linguagens, como C++ ou Visual Basic, não ficando escravo de uma específica. Também aproveito o projeto desenvolvido para adaptá-lo para diversos tipos de plataformas", explica Pedro Manfredi Junior, arquiteto de soluções da Microsoft.

Além da compatibilidade com múltiplas linguagens - que garante que o profissional trabalhe com os conhecimentos que já possui -, a plataforma .NET traz como grandes pilares os serviços Web e o padrão XML, o que pode significar um caminho curto e certeiro para o desenvolvimento de aplicações para Internet.

Outras peças importantes no núcleo da .NET são o Framework, que oferece infra-estrutura de desenvolvimento, distribuição e execução de aplicações, componentes e serviços Web, e o ASP .NET, ambiente de desenvolvimento para criação e execução de aplicações Web.

Com a .NET, a Microsoft introduziu uma plataforma capaz de competir em iguais condições com a J2EE (Java 2 Platform, Enterprise Edition), da Sun Microsystems. A Java representa mais do que uma linguagem de programação, pois, ao lado da tecnologia de máquinas virtuais (JVM), permite compilar os programas, sem alterações, para serem executados em diversos equipamentos.

Diferenças técnicas

A Sun oferece seu HotSpot VM com a implementação de sua máquina virtual para aumentar o desempenho na execução do código. O mecanismo procura por trechos do programa que são executados repetidamente, para otimizá-los. Já o ambiente de execução da .NET trabalha com o código intermediário Microsoft Intermediate Language (MSIL, ou simplesmente IL). Como a JVM, o CLR também oferece serviços como verificação do código, gerenciamento e coleta de memória não liberada.

À primeira vista, a JVM e o CLR podem parecer gêmeos idênticos, mas estão, na realidade, mais para primos do que irmãos. A Microsoft projetou o CLR para que trabalhasse com várias linguagens, enquanto a JVM trabalha apenas com Java. A Microsoft oferece atualmente versões do CLR para Visual Basic, C#, C++, JScript e mesmo Java. Outros fornecedores estão trabalhando para oferecer soluções para Cobol, Fortran e Perl. Segundo, na platarma .NET, o código é traduzido para linguagem de máquina nativa e não interpretado. A JVM possui compiladores just-in-time (JIT) ou o mecanismo HotSpot, mas foi originalmente projetada como um interpretador.

Por outro lado, a J2EE oferece portabilidade completa entre plataformas. Se um kit de desenvolvimento Java existe para uma determinada plataforma, então significa que código J2EE pode ser executado sobre ela. O grande atrativo da J2EE é justamente a capacidade de trabalhar da mesma forma, do Windows ao mainframe. O CLR possui um compilador JIT que traduz o programa para código de máquina nativo da plataforma. Atualmente, a .NET é compatível apenas com Windows, mas, na teoria, outras plataformas podem ter seus próprios compiladores JIT.

Pratos da mesma balança

Mas nem tudo são flores no caminho da .NET. Apesar de já ter sido adotada em alguns projetos de empresas de portes variados, a nova plataforma da Microsoft ainda leva a fama de ser novata no mercado e, talvez por isso, tenha de conviver com olhares de desconfiança. Analistas e consultores do mercado costumam dizer que a .NET ainda não amadureceu.

É fato que a Microsoft demorou um pouco para "assumir" a importância da plataforma Java e retardou sua entrada no segmento de desenvolvimento de aplicações para Web. Mas não há como negar que, apesar de "caloura", a .NET tem o respaldo de uma grande companhia. Em outras palavras, não se pode ignorar que houve grandes investimentos no desenvolvimento da plataforma. "A companhia investiu e investe no desenvolvimento de tecnologia, não vejo nada de mal em se esperar o retorno deles", comenta Manfredi Junior.

Porém, permanecem as críticas em relação à idade e a origem da .NET. Ninguém quer ficar amarrado a um único sistema operacional, o Windows, e nem ao histórico ruim da Microsoft em termos de segurança e estabilidade. A existência de sete anos da plataforma Java, combinada com a evolução de décadas do Unix, faz a parceria muito competente para instalações de missão crítica.

Mais do que uma plataforma de desenvolvimento de aplicações, a Sun Microsystems acena para o mercado com uma opção que segue o ideal de se trabalhar com soluções e sistemas abertos, enriquecidos por comunidades de desenvolvedores. É claro que esse ideal, que faz realmente parte dos fundamentos da companhia, ganhou ares profissionais e aprendeu a atender às exigências do mundo dos negócios, no qual lucro, retorno de investimento e custos são palavras freqüentes.

O J2EE é compatível com os principais padrões relacionados aos serviços Web, entre eles SOAP, WSDL e UDDI. Mas não é apenas isso que garante o seu passaporte para a adesão cada vez maior no mundo dos grandes.

"A Sun visualiza os negócios da empresa no mundo da Internet dentro de um ambiente que inclui transmissão de dados, aplicativos, geração de relatórios e transações propriamente ditas", explica Flavio Carazato, da Sun Microsystems.

E é nesse ambiente complexo que a plataforma Java vem conquistando seu espaço, por não exigir grandes investimentos, por trabalhar em diversas plataformas e por funcionar, segundo Carazato, como uma conexão entre a empresa e seus fornecedores, sem ficar atrelado a um sistema ou plataforma únicos.

Então, quem é melhor: .NET ou J2EE? Talvez seja cedo para apostar todas as fichas em um dos competidores. Por enquanto, olhar bem de perto o que prometem os dois adversários antes de tomar partido em uma das torcidas ainda é a melhor opção. Uma pergunta mais relevante seria: devo mudar de plataforma. E a resposta é um belo e sonoro não. A .NET representa um grande esforço da Microsoft para criar uma plataforma coesa para servidores. A J2EE já está aí. Quem é louco de retreinar uma equipe de desenvolvimento inteira para trocar de plataforma? Se sua empresa já tem excelência em Java para várias plataformas, então .NET não é para você. Do mesmo modo, se sua organização investiu pesado em ASP, COM/DCOM e Windows, mudar para J2EE não faz sentido, absolutamente.

Tags

Junte-se a nós e receba nossas melhores histórias de tecnologia. Newsletter por e-mail Newsletter por e-mail