Address not for use
WEB-MAIL
Home Notícias Artigos Alternativas tecnológicas para aplicativos web
NOTÍCIAS
Alternativas tecnológicas para aplicativos web

Avaliamos as diferentes características de ASP (Active Server Pages) e .NET da Microsoft e Java (J2EE) da Sun Microsystems quanto a suas vantagens e desvantagens no desenvolvimento de aplicativos web.

Com a popularização da internet no início da década de 90, avanços tecnológicos vem permitindo que empresas e organizações estruturem seus negócios, cada vez mais sistematicamente, por vias eletrônicas. Uma maior acessibilidade a novas interfaces de programação de aplicativos (APIs), desenvolvidas e utilizadas pela comunidade internacional de tecnologia, viabilizou a explosão de novos projetos, reformulando o mapa de soluções de forma a ampliar as alternativas tecnológicas.

Esta diversidade possibilitou que a tecnologia ganhasse mais amplitude e inserção em setores e industrias que préviamente não poderiam viabilizar estratégias tecnológicas sem investimentos consideráveis. Bem como a época do mainframe com computadores monolíticos e custosos, deu lugar ao PC, mais acessível e com interface simplificada, também as plataformas de programação evoluiram com novas línguagens e paradigmas, ampliando as possibilidades de soluções e valorizando serviços distribuidos de comunicação e informação.

Justamente para agregar valor aos seus serviços de internet, empresas e organizações buscam disponibilizar aplicativos web, programas acessados pelo navegador de internet com a possibilidade de interação entre os usuários e a lógica de negócio. Exemplos óbvios de aplicativos web são as lojas de comércio eletrônico, mecanismos de busca que agregam informações ou sistemas de internet banking. Aplicativos web também são viabilizados através de intranets ou extranets, redes restritas a uma empresa, organização ou grupo, que possibilitam o trabalho colaborativo e estruturado entre seus atores.

Apresentamos, neste segmento, uma comparação entre algumas das tecnologias mais utilizadas para a construção de aplicativos web, oferecendo a gerentes de TI e desenvolvedores uma visão prática de alternativas disponíveis para o ingresso e sustentação da empresa ou organização na sua estratégia para a internet. Avaliamos as diferentes características de ASP (Active Server Pages) e .NET da Microsoft e Java (J2EE) da Sun Microsystems quanto a suas vantagens e desvantagens no desenvolvimento de aplicativos web.

Intercâmbio de informações

A decisão de se empregar certa tecnologia na construção de aplicativos de missão crítica, ou seja, aqueles que são essenciais ao negócio, perpassa uma avaliação não somente de adequação a requisitos e orçamentos presentes, como também, considerações sobre a adaptabilidade a novos critérios que surjam conforme for demandado pelos processos de gestão. Deve-se considerar, por exemplo, que uma tecnologia que atenda perfeitamente às funcionalidades exigidas atualmente, pode apresentar, no futuro, restrições inaceitáveis à expansão de negócios, exigindo uma readaptação completa a novos paradigmas de programação.

À medida que interações B2B (empresa-empresa) ou B2C (empresa-consumidor) se tornam mais evidentes e necessárias, também torna-se fundamental desenvolver sistemas que permitam acesso aos mecanismos de interação. Neste sentido, aplicativos desenvolvidos em ASP são completamente restritos pois não oferecem poder de extensão ou comunicação com outros sistemas, enquanto que .NET oferece integração através de XML e serviços web (web-services). O framework J2EE, por sua vez, oferece a possibilidade de troca de informações tanto através de serviços web quanto o intercâmbio de elementos de lógica através de JavaBeans e Enterprise JavaBeans.

Abertura tecnológica

Os frameworks ASP e .NET são desenvolvidos pela Microsoft e, portanto, restritos ao sistema operacional Windows ou plataformas que utilizem uma estrutura comercial com suporte à tecnologia. J2EE, por sua vez, é multi-plataforma e segue o conceito “construa uma vez, execute em qualquer lugar”. Ou seja, aplicativos J2EE podem ser desenvolvidos e disponibilizados em qualquer plataforma.

A linguagem Java em si, é desenvolvida dentro de um processo colaborativo (Java Community Process) pela comunidade internacional de tecnologia. A abertura deste processo também fez surgir uma grande comunidade de desenvolvedores que oferecem extensões, gratuitas ou não, para a resolução de questões fundamentais à programação de aplicativos empresariais, tais como a persistência de dados, controle de transações, implementação de segurança e gerenciamento de memória e cache. Aplicativos construidos em ASP simplesmente não lidam com algumas destas questões, não sendo uma opção viável a longo prazo para o desenvolvimento de uma estratégia na internet.

A Microsoft, portanto, lançou sua plataforma .NET que tenta resolver todas estas questões programáticas num unico pacote. Embora isto simplifique as opções, desenvolvedores que optarem por .NET ficarão presos às tecnologias desenvolvidas para a plataforma, bem como às altas licensas de uso para IDEs e servidores de aplicações. Ao mesmo tempo que o desenvolvimento em J2EE traz maior complexidade e uma curva de aprendizado mais extensa, também representa uma abertura de opções, principalmente no que diz respeito a implementação de sistemas, como é demonstrado na Tabela 1.

Tabela 1. Comparação de softwares para tecnologias ASP, .NET e J2EE*
ASP e .NET J2EE
Plataforma Microsoft Windows (Server) Microsoft Windows, Solaris, Linux e outras implementações de plataformas UNIX
Servidor Web Microsoft IIS5, .NET framework versão 1.1 (ASP.NET) Qualquer servidor Web incluindo Apache, Netscape e IIS utilizando container de Servlets
Integração com base de dados Bases de dados em
conformidade com ODBC
Bases de dados em conformidade com ODBC, JDBC e
bases de dados ODBMS
*Adaptado de Comparing JavaServer Pages TM and Microsoft® Active Server Pages TM Technologies ( http://java.sun.com/products/jsp/jsp-asp.html ).

ASP e .NET oferecem suporte disponibilizado pela Microsoft. Em contraponto, o processo de desenvolvimento da linguagem Java, como mencionado, incentivou a criação de uma comunidade de usuários que ajudam uns aos outros, resolvendo questões complexas mais rapidamente que qualquer equipe de suporte comercial. As três plataformas possuem documentação bem extensa e simplificada, além de código fonte para exemplos. A maioria das bibliotecas de auxílio para programação em ASP ou .NET são comerciais, enquanto que J2EE possui uma vasta disponibilidade de bibliotecas open-source, regidas pela GNU license, faciltiando a modificação ou adaptação para que se encaixem sob-medida no processo de desenvolvimento de novas tecnologias e aplicativos.

Características tecnológicas


ASP é uma linguagem interpretada enquanto que Java é uma linguagem de programação completa, orientada a objetos, compilada em byte-code e que, portanto, oferece maior poder de resposta e processamento. A plataforma .NET utiliza a linguagem C# (pronuncia-se "c sharp"), semelhante a Java, que permite uma metodologia de desenvolvimento similar ao paradigma J2EE, oferecendo vantagens consideráveis na construção de aplicativos web. A Tabela 2 faz uma comparação das principais características destas tecnologias.

Tabela 2. Principais características das tecnologias ASP, .NET e Java (J2EE) *
ASP .NET J2EE
Características gerais Linguagem script interpretada, comercial, inserida diretamente na página a ser processada, podendo ser compilada para gerar DLLs. Linguagem compilada ou interpretada, comercial, escalonável, orientada a componentes. Linguagem orientada a objetos, multi-plataforma, altamente extensível, open-source, escalonável e compilada em byte-code.
Componentes multi-plataforma
reutilizáveis
Não Não JavaBeans, Enterprise JavaBeans, tags JSP costumizados
Segurança contra queda do sistema Não Sim Sim
Proteção contra vazamento de memória Não Sim Sim
Linguagem de script VBScript, JScript VBScript, JScript,
C++, C#, J#
JSP, tags costumizaveis, sistemas de templates com suporte a internacionalização
Tags costumizaveis Não Sim Sim
Otimização e monitoramento
de performance
Não IDE para a linguagem utilizada Ferramentas profiler
Complexidade Simples Dependendo do modelo utilizado na programação. Complexa devido ao seu alto poder de extensibilidade.
*Adaptado de Comparing JavaServer Pages TM and Microsoft® Active Server Pages TM Technologies ( http://java.sun.com/products/jsp/jsp-asp.html ).

Resumo e conclusão


Desenvolvedores contam com diversos paradigmas de programação para construir aplicativos web. Enquanto que ASP e .NET oferecem soluções fechadas porém simplificadas, J2EE permite maior liberdade de opções, embora também apresente maior complexidade. ASP é uma linguagem com sérias limitações funcionais, sendo mais apropriado a adoção de .NET ou J2EE para beneficiar a extensibilidade de sistemas e adaptação a futuros requisitos. Bibliotecas adicionais e suporte a ASP e .NET são essencialmente de caráter comercial enquanto que J2EE conta com uma comunidade mundial de projetos e desenvolvedores para a resolução de questões referentes a aplicativos web modernos.

Empresas que adotarem ASP como plataforma principal de negócio na internet estarão subjugando seus projetos a uma gama restrita de funcionalidades, sem o poder de expansão ou interação conforme for demandado por novos requisitos. Portanto, serão obrigadas a reconstruir sua estratégia à medida que competidores desenvolvem sistemas mais ageis e integrados, para agregar valor a seus projetos e cativar a preferência de clientes e parceiros, ou dinamizar suas metodologias internas de trabalho. Já a plataforma .NET oferece funcionalidades mais amplas, mesmo que restritas às licensas, tecnologias e suporte comerciais, providas por uma única empresa. J2EE, por sua vez, disponibiliza o maior leque de opções tecnológicas e suporte, permitindo tanto a expansão de projetos quanto a adequação à viabilidade orçamentária de empresas ou organizações.

Soluções para MPEs

Modelo de serviço leva softwares de gestão de informação e comunicação a micro e pequenas empresas.

Plataforma Atmosfera e Servidor Atm

Tecnologias viabilizam projetos complexos de aplicativos web.
Receba informações por email