PHP para aplicações Web de grande porte

50 %
50 %
Information about PHP para aplicações Web de grande porte

Published on June 11, 2008

Author: felipernb

Source: slideshare.net

PHP para aplicações Web de grande porte Felipe Ribeiro - http://feliperibeiro.com Maio de 2008 João Pessoa - PB

Quem é esse cara? Felipe Ribeiro Estudante de Ciência da Computação na UFCG Engenheiro de sistemas da startup americana Shoprizer.com Experiência em sistemas distribuídos e desenvolvimento Web há 6 anos http://feliperibeiro.com felipernb@gmail.com.br

Agenda Apresentando o PHP O que é uma aplicação de grande porte Outras tecnologias Vantagens e desvantagens do PHP Features e ferramentas para atender os requisitos O que vem por aí?

O que é PHP?

O que é PHP? PHP originalmente significava Personal Home Page; Hoje, assim como GNU, é um acrônimo recursivo que significa: “PHP Hypertext Preprocessor”; É uma linguagem dinâmica; Tomou o lugar do Perl no boom da Web; Uma linguagem de programação focada na Web.

Um pouco de história PHP nasceu em 1994

Foi criado por Rasmus Lerdorf

E tinha essa cara <!--getenv HTTP_USER_AGENT--> <!--ifsubstr $exec_result Mozilla--> Hey, you are using Netscape!<p> <!--endif--> <!--sql database select * from table where user='$username'--> <!--ifless $numentries 1--> Sorry, that record does not exist<p> <!--endif exit--> Welcome <!--$user-->!<p> You have <!--$index:0--> credits left in your account.<p> <!--include /text/footer.html-->

Depois virou PHP/FI <? $name = quot;bobquot;; $db = quot;dbquot;; $result = msql($db,quot;select * from table where firstname='$name'quot;); $num = msql_numrows($result); echo quot;$num records found!<p>quot;; $i=0; while($i<$num); echo msql_result($result,$i,quot;fullnamequot;); echo quot;<br>quot;; echo msql_result($result,$i,quot;addressquot;); echo quot;<br>quot;; $i++; endwhile; ?>

E hoje é mais ou menos assim... <?php class SimpleClass { private $attribute; public function foo($bar) { echo $this->attribute * $bar; } } class ExtendedClass extends SimpleClass { public function foo($bar) { try { do_something(); } catch(FooBarException $e) { die($e->getMessage()); } parent::foo($bar); } } $o = new ExtendedClass; $o->foo(); ?>

Como funciona? Fonte: Zend Technologies

PHP é popular! Fonte: Netcraft

Quem usa? Yahoo! Sourceforge Facebook Last.fm Flickr E mais de 20 milhões de sites! :) del.icio.us Digg Wikipedia

O que são aplicações de grande porte?

Aplicações de grande porte Grande volume de Componentes dados Ambiente heterogêneo Grande número de (integração com acessos diferentes linguagens de programação e SOs) Necessidade de alta disponibilidade e redundância (Hot swap, cluster failover, etc)

Os desafiantes

Java Bastante robusta e padrão de mercado, porém sua “burocracia” dificulta mudanças rápidas.

.NET Custos de licença, dependência da IDE, dependência de plataforma, código fechado.

Ruby e Python Trazem ótimos conceitos, mas ainda estão em fase de maturação.

Vantagens do PHP Simplicidade Escalabilidade Custo Comunidade Apache Deployment simples Independente de plataforma e fornecedor

Desvantagens do PHP Falta suporte a multi- threading. Infelizmente carrega um karma de quick’n’dirty por causa de alguns maus programadores. (Mas vamos virar esse jogo!)

Integração com outros sistemas Webservices SOAP SoapClient SoapServer REST libcurl XMLWriter XMLReader

Integração com outros sistemas Integração com outras linguagens de programação Java C/C++ e COM/.NET Perl

SGBDs Suporte nativo a vários SGBDs MySQL, PostgreSQL, Oracle, SQLite, etc... Camadas de abstração PDO MDB2

Testes de Unidade Os testes devem ser automatizados Pelo menos nas fases em que isso é possível Scripts de teste desenvolvidos ao longo do tempo aumentam o patrimônio da empresa e garantirão uma qualidade cada vez maior do software PHPUnit http://phpunit.de

Extensões PEAR (The PHP Extension and Application Repository) http://pear.php.net Repositório de classes escritas em PHP

Extensões PECL (The PHP Extension Comunity Library) http://pecl.php.net Extensões nativas, escritas em C.

Produtividade PHP por si só já é bastante produtivo, mas existem IDEs e Frameworks que melhoram ainda mais a produtividade.

IDEs (ou simples editores) Zend Studio ($$$) TextMate ($$$) Eclipse PDT Emacs Komodo Vim Delphi for PHP ($$$) Entre outros... gEdit KDevelop

Frameworks Frameworks ajudam na padronização de código e reutilização de componentes. Zend Framework Symfony Prado CakePHP Muitos outros...

Escalabilidade Muito Simples! Apache mod_proxy_balancer faz quase tudo que você precisa!

Performance PHP dificilmente é o gargalo 80-90% do tempo de carregamento de um site está no front-end Mas mesmo assim, podemos otimizar

Caching e Performance PHP tem um compilador JIT que gera um código intermedário chamado opcode que é então interpretado. Por default essa compilação ocorre em todas as execuções do script. Para otimização e caching desse opcode, existem algumas soluções: Pacote APC do PECL XCache Zend Platform ($$$)

E o suporte? Comunidade ativa Zend Grandes investidores Oracle Yahoo! IBM

O que vem por aí? PHP 5.3 e PHP 6 prometem novidades Namespaces Closures Unicode

Conclusões PHP nasceu para Web e por isso sai na frente. PHP é bom o suficiente para grande maioria das aplicações que rodam na Web. PHP é simples e barato. LAMP dá conta do recado!

Perguntas?

Obrigado! Felipe Ribeiro http://feliperibeiro.com felipernb@gmail.com

Referências PHP 5 Objects, Patterns, and Practice - Matt Zandstra - Editora Apress PHP Leads Web 2.0 - Andi Gutmans (White Paper) PHP 5: Open Source Scripting for the Heterogeneous Enterprise - Zend Technologies (White Paper) An overview on PHP - Zend Technologies (White Paper)

Add a comment

Related presentations

Related pages

Computação em nuvem – Wikipédia, a enciclopédia livre

... considerações de segurança podem ser substancialmente diferentes para os serviços (aplicações, ... PHP como base para os ... grande porte estão ...
Read more

Top 3 Desenvolvedor Web Drupal profiles | LinkedIn

Interesse em aplicações web com Java ... e negócios digitais de médio ou grande porte. ... to see more "Desenvolvedor Web Drupal ...
Read more

Daniel Spat | LinkedIn

... com atuação em empresas de grande porte e destaque no mercado. ... PHP . Erfahrung ... Desenvolvimento de sistemas para uma financeira na área de ...
Read more

MozDomains | Alojamento Web, Registo de Domínios ...

Alguns dos nossos Alojamento Web Clique em mais para ver todos os ... esta empresa de porte grande na web, ... Alojamento Web Linux (PHP) Suporte. Central ...
Read more

Explorando a Elasticidade em Nível de Programação no ...

... Explorando a Elasticidade em Nível de Programação no ... para grande parte das aplicações ... à aplicações Web, tais como Java, PHP, ...
Read more

Vagas Vip de Empregos - Novos Planos

... Conhecimento e experiência em PHP e ... Financeiro para empresa de grande porte, ... aplicações de missão crítica para ...
Read more

Anderson Coelho | LinkedIn

View Anderson Coelho’s professional profile ... médio e grande porte. ... design e desenvolvimento de web sites e aplicações web para a empresa e seus ...
Read more

Bem-vindo à Prensas Schuler. - Willkommen bei Schuler ...

A Prensas Schuler é a mais importante fornecedora de máquinas para ... de grande porte. ... no âmbito de muitas aplicações ...
Read more