Olá Igor, dê uma olhada abaixo e vê se é só isso que você quer, pois encontrei no site do Cepromat, valeu.
 

O desafio da escolha: soluções para aplicações WEB

(por Ricardo Mauro Quati)

Sumário: Um dos grandes desafios para as empresas que se propõem a oferecer em seus sites algo mais do que a simples "presença na web" é como dispor visões de seus dados e interagir com seus potenciais clientes pela World Wide Web. Neste panorama, uma das primeiras escolhas que vêm à mente dos arquitetos de sistemas é: qual tecnologia utilizaremos para isso?

Índice: Projeto e desenvolvimento de aplicações WEB utilizando-se de JSP, PHP ou ASP.

 

1. INTRODUÇÃO

Apesar de existirem dezenas de soluções práticas para a tarefa de construir aplicações WEB, três delas têm se destacado, e garantindo seu quinhão no disputado mercado de aplicações servidoras. São elas o ASP, o JSP e o PHP.

O que estas soluções possibilitam, de forma simplificada, é o tratamento das requisições de página de um servidor WEB, permitindo que se adicione conteúdo dinâmico à resposta enviada aos clientes (browsers) através da utilização de scripts (aplicações).

Todas elas têm em comum a implementação dos recursos mínimos esperados neste porte de solução, como controle de sessões, módulos para acesso a bancos de dados variados, tratamento de formulários e do fluxo requisição/retorno de páginas; todavia, existem diferenças significativas entre elas que podem levar projetistas de sistemas a se decidirem por uma ou outra.

PHP

O PHP (HyperText Processor) é uma linguagem desenvolvida a partir de um projeto pessoal de Rasmus Ledorf, inicialmente como uma pequena linguagem de Script para adicionar alguma lógica ao processamento de formulários de seu site. De 1994 para cá, tem estado em constante evolução e conquistado um espaço significativo no mercado, com grande penetração em ambientes Unix.

Colaboram para sua disseminação neste ambiente a proximidade de sua sintaxe com a da linguagem C - a língua mãe do Unix e suas intermináveis variações, e o fato de ser distribuído gratuitamente como Open Source, ou seja, com código aberto. Some-se a isso uma curva de aprendizado pouco íngreme, uma excelente performance e o acesso nativo a um dos bancos de dados mais populares em sites WEB, o MySql (também gratuito), e torna-se fácil entender a razão deste sucesso.

O PHP tem, porém, algumas características que o inviabilizam tecnicamente para projetos muito grandes, onde seu uso torna o projeto dispendioso quando da manutenção. Ambas são herança de sua concepção despretensiosa, e transformam em dificuldade o que para aplicações de pequena e média complexidade são vantagens relativas.

A primeira delas é a fraquíssima implementação da orientação a objetos; isto torna inaplicáveis boa parte dos recursos atuais de projeto e desenvolvimento, dificultando o reaproveitamento de código e a manutenção das aplicações.

A outra, bem mais evidente, é o fato da lógica misturar-se à camada de apresentação, o que torna confusa a leitura dos módulos de um sistema. Os scripts PHP são executados em meio ao código HTML da apresentação, o que torna qualquer trabalho de manutenção ou reaproveitamento– tanto pelos dos desenvolvedores como pelos webdesigners – extremamente delicado.

Ainda assim, é uma alternativa rápida, barata e confiável, disponível em várias plataformas, inclusive Microsoft/Intel, e pode ser uma solução interessante para aplicações de pequeno a médio porte, integrando-se a vários servidores WEB (do IIS ao Apache) e acessando uma grande variedade de bancos de dados. O conjunto Linux/Apache/PHP/MySql é um dos mais tradicionais entre os sites que disponibilizam conteúdo dinâmico, em um leque de usos que abrange da interação com sistemas legados a serviços de webmail e gerenciadores de portais.

ASP

O ASP (Active Server Pages) é a solução Microsoft para proporcionar aos usuários de seu ambiente (notadamente o conjunto Microsoft Internet Information Server /IIS, Microsoft SQL Server e Microsoft Windows NT/2000 Server) a geração de páginas WEB de conteúdo dinâmico, e tem forte apelo comercial para os que adotaram o "mundo" Microsoft por inteiro – leia-se sistema operacional, servidores WEB e de banco de dados.

Mantendo a tradição Microsoft e validando o compromisso desta com seus consumidores fiéis, o ASP baseia-se na linguagem Basic (no caso, o Visual Basic) para a confecção dos Scripts; existe a opção do _javascript_, mas esta é pouco considerada pelos profissionais ASP. A grande maioria, oriundos do Visual Basic, opta por este. O acesso à bancos de dados é, também, bastante variado, graças ao uso do ODBC e do ADO, ambas tecnologias Microsoft aplicadas e suportadas globalmente. Utilizando-se outros produtos do portfolio da Microsoft, pode-se construir aplicações realmente complexas e integradas a partir do ASP.

Não pode-se classificar o aprendizado de ASP como difícil, embora o contato com a linguagem Basic ajude bastante neste quesito. A abundante oferta de mão-de-obra formada neste ambiente facilita em muito a decisão pelo ASP em empresas que investiram em soluções Microsoft.

Assim como o PHP, o ASP sofre com o acoplamento apresentação x lógica; o que a princípio torna fácil o seu aprendizado acaba por tornar-se um empecilho em projetos de maior porte, dificultando as tarefas de desenvolvedores e webdesigners. As características de orientação a objetos são, como no PHP, tímidas perto do JSP.

Pode-se pensar no ASP como a solução ideal para pequenos e médios projetos em ambientes Microsoft, onde a "cultura" desta seja bem difundida. Por ser uma tecnologia proprietária, o ASP não atrai desenvolvedores adeptos do mundo Open Source; quanto à sua performance e segurança, repete-se aqui a já histórica e inflamada discussão "Unix" vs "Windows". Para grandes projetos, a Microsoft ainda está devendo uma solução à altura, cenário que talvez se modifique com o ".Net".

 

JSP

Temos no JSP – Java Server Pages - a resposta da Sun, criadora da tecnologia Java, às necessidades dos desenvolvedores de aplicações WEB. O principal mercado almejado pela Sun é o mesmo da Microsoft com seu ASP – o das grandes corporações, dos projetos mais complexos onde são aplicadas técnicas modernas de projeto, desenvolvimento e manutenção. Diferentemente do ASP, e sem chegar a concorrer diretamente com o PHP, o JSP nasce com atributos suficientes para a missão a que se propõe: orientação a objetos nativa e forte, desacoplamento entre código e apresentação, e o que se chama no meio servidor de "robustez industrial" – a grosso modo, a solidez procurada para aplicações de missão crítica, característica esta herdada do ambiente Java.

A curva de aprendizado do JSP não pode ser considerada suave, como a apresentada pelo PHP ou pelo ASP. Apenas os desenvolvedores bastante habituados com Java, e que tenham a orientação a objetos como um paradigma natural em suas cabeças, não sentirão o impacto da troca de um ambiente procedural e o desenvolvimento de aplicações em camadas.

O JSP apresenta-se como uma solução profissional, e pode ser considerado o futuro das aplicações WEB: desacopla com facilidade a apresentação da lógica, permite a compilação em tempo real das aplicações (uma vez executado o script pela primeira vez, uma versão compilada se apresenta às requisições seguintes) e integra-se à perfeição no mundo Java. Como este, possibilita acesso a diversos bancos de dados (através de JDBC), é executado em inúmeros sistemas operacionais (virtualmente, o que possuir uma máquina virtual Java) e vem se tornando a opção de fato para o milionário mercado de servidores (gigantes como IBM, Netscape e Oracle têm investido neste nicho suportando JSP), além de possuir alternativas gratuitas ou Open Source como o projeto Jakarta/Tomcat.

A penetração do JSP só não é maior devido ao conjunto de conhecimentos exigidos para que se tire proveito de seus melhores atributos: o entendimento do paradigma da orientação a objetos e a fantástica extensão de sua linguagem nativa, o Java. Isto posto, o JSP é uma aposta sem margem de erro, e não encontra concorrentes quando se pensa em aplicações críticas em ambientes corporativos.

2. COMPARATIVO

ASPECTO JSP PHP ASP

Curva de Aprendizado Aguda

Suave Suave

Código fonte Aberto Aberto Proprietário

Linguagem Nativa Java Própria, grande semelhança com C ansi. Visual Basic e _javascript_

Drivers para Bancos de Dados JDBC e ODBC Nativos, modulares ou ODBC ODBC/ADO

Porte típico dos projetos Médios a Grandes

Pequenos a Médios Pequenos a Médios

Ambiente típico Java Unix Microsoft

3. CONCLUSÃO

Não há como apontar uma solução ideal para todas as necessidades de aplicações WEB. Via de regra, no momento da decisão, vale muito mais o ambiente que dará suporte a estas aplicações, o perfil dos profissionais que se dispõe para desenvolve-las e as diretrizes do planejamento estratégico para a área de Tecnologia da Informação do interessado, do que qualquer tentativa de formular uma "regra universal" para esta escolha. Usando-se bom senso, provavelmente uma das três alternativas aqui discutidas deve preencher os requisitos de sua aplicação; todas as três são soluções maduras e largamente disponíveis e suportadas, minimizando os riscos de um erro de escolha. Nesta hora, uma análise do "market share" das soluções pode até influenciar, mas é o conjunto dos fatores descritos acima que acabará ditando a escolha por uma ou outra.

 
Halex Maciel
----- Original Message -----
Sent: Saturday, June 14, 2003 10:28 AM
Subject: [java-list] Comparação java e php

Será que alguém conhece sites onde posso encontrar artigos ou qq coisa que faça uma comparação entre java e php?
desde já agradeço
Igor P. Simões

Responder a