Archive for April, 2007

Palestra sobre PDO - Flisol 2007

Saturday, April 28th, 2007

Já se encontram disponíveis os slides e códigos-fonte utilizados na palestra que ministrei hoje no FLISOL (Festival Latinoamericano de Instalação de Software Livre) 2007.

Para fazer o download, clique aqui.

Quercus - Uma implementação do PHP em JAVA

Friday, April 27th, 2007

Introdução

Quando eu estudei JSP pela primeira vez, no início do ano de 2002, foi que eu escutei falar pela primeira vez em uma empresa chamada Caucho, a criadora do contâiner de servlet Resin. Se me lembro bem, naquela época o resin era considerado um contâiner bom, mas ele não era gratuito, o que me fez partir para o lado do Apache Tomcat e nunca mais procurei por informações do resin.

Conhecendo o quercus

Há alguns meses atrás, eu li uma notícia que me chamou a atenção:
“Resin agora interpreta PHP e é centenas de vezes mais rápido do que
o mod_php”. Pensei comigo mesmo: “Eu preciso ver se isso é verdade”.

Eu dei uma pesquisada, mas nada profundo e deixei pra lá. Bem, estes dias lembrei disso e fui no site da caucho para verificar e aí eu tive a surpresa e ver a chamada para o quercus, que é uma implementação do PHP em JAVA para rodar preferencialmente sob o resin, mas pode ser usado em outros servidores web também. Segundo a caucho, a implementação deles é mais rápida e mais estável do que a implementação oficial do PHP, escrita em C, o que duvido muito, visto que JAVA não é um primor em se tratando de velocidade.

Uma coisa que me chamou a atenção, é que no site deles, consta que durante o month of PHP Bugs eles observaram os BUGs relatados e constataram que a maioria dos BUGs encontrados no PHP não afetavam a implementação deles simplesmente porque era
escrita em JAVA, faz sentido, mas não porque é feita em JAVA e sim porque é uma reimplementação durante a reimplementação, alguns bugs podem ter sido corrigidos.

Atualmente, diversos sistemas escritos em PHP já estão portados para rodar sob o quercus/resin, como por exemplo o Joomla, Mambo, PHPBB, Wordpress, Drupal, entre outros e diversos módulos do PHP já foram portados para ele como o PDO, Gettext, JSON, entre outros, e pelo que pude observar a maior parte do código PHP funciona sem necessidade de nenhuma alteração. Ou seja, você pode pegar seu script que hoje está funcionando sob o Apache HTTPD e colocar para rodar sob o quercus/resin.

Todo o código PHP ao ser compilado pelo Quercus, é compilado para código bytecode JAVA, que permite uma integração de PHP com JAVA bem mais amigável do que a oferecida atualmente pelo PHP (excluindo a solução da Zend:Zend Platform) o que pode ser interessante para quem está ecessitando de algo parecido.

Compatibilidade com outros servidores de aplicação JAVA

O Engine do Quercus pode ser configurado em qualquer servidor de aplicação JAVA, sendo assim seu script PHP pode rodar sob qualquer um desses servidores.

Tirando o fato de os servidores de aplicações JAVA serem devoradores de memória e processamento, em alguns casos pode ser interessante para algumas corporações ter os seus sistemas em PHP rodando sob essa plataforma principalmente se tiver o interesse em utilizar os pools de conexões administrados por estes servidores.

Meus testes
Atualmente estou bastante ocupado com minhas atividades profissionais e também com a organização do evento PHPDF Roadshow, portanto, não pude realizar testes mais apurados, o que eu farei assim que possível.

Eu realizei um pequeno teste que já me deixou com um pé atrás, porque ao executar a primeira vez, o script é executado com sucesso, mas ao dar reload na página, é gerado uma stacktrace JAVA e aí o script não funciona de forma nenhuma.

Em relação à velocidade, eu não pude fazer nenhum benchmarking, mas pelo que observei nos meus pequenos testes, é que realmente a velocidade não deixou a desejar, só que os testes que eu fiz não podem servir de parâmetro para estes quesitos.

Mas, de um modo geral, eu creio que vai demorar ainda para que as empresas e órgãos
do governo migrem para esta plataforma, se é que algum dia o farão.

Segue abaixo o código-fonte do meu teste:

class Teste {

private $nome = NULL;

public function setNome($nome)

{

$this->nome = $nome;

} public function getNome()

{

return $this->nome;

}

public function mostra()

{

echo “O nome do infeliz eh: “.$this->nome;

}

}

$obj = new Teste();

$obj->setNome(”Marmelada”);

$obj->mostra();

print_r($obj);

var_dump(get_class_methods(”Teste”));

Licença
Quercus é Open Source sob a licença GPL

Considerações finais

Eu achei esta implementação interessante. Este é mais um exemplo de que o PHP é um padrão para desenvolvimento WEB e isso está mais que comprovado.
As empresas que atuam nesta área sabem disso e estão fazendo o que podem para poder tirar o melhor proveito dessa situação.

Para o PHP como um todo, pode ser interessante estudar esta implementação para que a integração do PHP com JAVA, na distribuição oficial do PHP um dia seja mais estável.

Enfim, acho válido qualquer esforço que possa consolidar o PHP como a melhor linguagem para desenvolvimento WEB da atualidade.

PHPDF Roadshow - Evento confirmado!

Thursday, April 26th, 2007

É com satisfação que anunciamos a realização do 1º PHPDF Road Show - Estréia do ciclo de palestras do PHPDF.

O evento ocorrerá no dia 19 de maio de 2007, nas Faculdades NDA de Taguatinga e contará com a realização de diversos Mini-Cursos ministrados por membros da nossa comunidade, e Palestras com pessoas convidadas à s quais tem grande influência sobre os caminhos do PHP no Brasil, como Manuel Lemos ( phpclasses.org) e Pablo Dall’oglio (php-gtk). O evento inicia à s 08h00 e terminará à s 18h00.

A participação no evento é aberta a toda e qualquer pessoa, porém é preciso entregar, no dia do evento, para efetivação do chek-in e posterior acesso ao certificado, 1kg de alimento não perecível. Todo o material arrecadado será doado a uma entidade sem fins lucrativos.

A realização do evento só foi possível graças a todo o empenho da comunidade, e ao apoio de nossos parceiros, Faculdades NDA, X25 Treinamento e Consultoria, NetMake | ScriptCase, BlueStar Treinamentos, HostNet Hospedagem de Sites, e Editora O’Reilly.

Graças a eles, poderemos realizar diversos sorteios, dentre os quais várias camisetas do grupo, bolsas para diversos cursos, livros, e licenças de alguns softwares, além de trazer os convidados de fora da cidade.

As inscrições serão abertas hoje, 26 de abril, e poderão ser feitas através do site do PHPDF em http://www.phpdf.org.br .

Além das inscrições para o evento, estamos realizando também um concurso para a frase que virá escrita na camiseta do grupo. Entre no site do grupo para maiores detalhes, prestigie nossa comunidade e os membros que irão ministrar mini-cursos e palestras.