PHP nas Nuvens

3,418 views
3,324 views

Published on

Palestra apresentada no II Encontro de Usuários PHP da Paraíba. Auditório do Sebrae, João Pessoa, 7 de março de 2009.

Published in: Technology
4 Comments
5 Likes
Statistics
Notes
No Downloads
Views
Total views
3,418
On SlideShare
0
From Embeds
0
Number of Embeds
492
Actions
Shares
0
Downloads
159
Comments
4
Likes
5
Embeds 0
No embeds

No notes for slide

PHP nas Nuvens

  1. 1. PHP NAS NUVENS: Desenvolvendo para o mercado corporativo Marcos Bezerra II Encontro PHP-PB – João Pessoa – Março/09
  2. 2. <ul><li>Marcos Bezerra [mbezerra@gmail.com] </li></ul><ul><li>Bacharel em Sistemas de Informação – IESP </li></ul><ul><li>Administrador de Sistemas ERP Microsiga Protheus – Vertical Engenharia </li></ul><ul><li>Desenvolvedor Web há 10 anos </li></ul><ul><li>Entusiasta do PHP desde o ano 2000 </li></ul><ul><li>Atualmente desenvolvendo com Zend Framework </li></ul>Quem sou eu?
  3. 3. O que queremos ser? <ul><li>Desenvolvedores técnicos? </li></ul><ul><li>Desenvolvedores de negócio? </li></ul>
  4. 4. <ul><li>Nova tecnologia ou puro marketing ? </li></ul>Computação em nuvem
  5. 5. Computação em nuvem <ul><li>Ponto de vista técnico: </li></ul><ul><ul><li>“ Dentro desse contexto, o PC será apenas um chip ligado à internet, a &quot;grande nuvem&quot; de computadores. Não há necessidade de instalação de programas, serviços e armazenamento de dados, mas apenas os dispositivos de entrada (teclado, mouse) e saída (monitor) para os usuários.” – Wikipédia. </li></ul></ul>
  6. 6. Computação em nuvem <ul><li>Ponto de vista do marketing : </li></ul><ul><ul><li>“ Cloud computing é a expressão do momento em tecnologia. Nomes de peso como Amazon, AT&T, Dell, HP, IBM, Intel, Microsoft e Yahoo já anunciaram planos e investimentos na área e o Gartner acaba de liberar um relatório que aponta o cloud computing como uma das três mais importantes tendências emergentes nos próximo três a cinco anos.” – IDG Now!, agosto/08. </li></ul></ul>
  7. 7. Computação em nuvem <ul><li>O que o mercado enxerga? </li></ul><ul><li>“ O que realmente significa é que alguém vai assumir a responsabilidade de entregar algumas funções de TI como serviços para alguns clientes e eles não precisam saber como funciona, eles simplesmente usarão.” – Daryl C. Plummer , vice-presidente do Gartner. </li></ul>
  8. 8. Computação em nuvem <ul><li>O que o mercado enxerga? </li></ul><ul><li>Você assumirá esse papel? </li></ul><ul><li>“ O que realmente significa é que alguém vai assumir a responsabilidade de entregar algumas funções de TI como serviços para alguns clientes e eles não precisam saber como funciona, eles simplesmente usarão.” – Daryl C. Plummer, vice-presidente do Gartner. </li></ul>
  9. 9. Computação em nuvem <ul><li>O que o mercado enxerga? </li></ul><ul><li>Você assumirá esse papel? </li></ul><ul><li>Aproveitará esse potencial? </li></ul><ul><li>“ O que realmente significa é que alguém vai assumir a responsabilidade de entregar algumas funções de TI como serviços para alguns clientes e eles não precisam saber como funciona, eles simplesmente usarão .” – Daryl C. Plummer, vice-presidente do Gartner. </li></ul>
  10. 10. <ul><li>Software como Serviço – quebra de paradigma? </li></ul>SaaS – Software as a Service
  11. 11. SaaS – Software como Serviço <ul><li>“ É uma forma de software que é usada como serviço, ou seja, é executado diretamente na internet, não sendo necessário instalar seus códigos no computador do usuário, bastando acessá-lo por meio do navegador de internet disponível no sistema operacional.” – Wikipédia. </li></ul>
  12. 12. SaaS – Software como Serviço <ul><li>“ Os mercados que mais contribuirão com softwares como serviço serão os de conteúdo, comunicações e colaboração, com receita excedendo os 2,1 bilhões de dólares em 2008 e chegando a 4,7 bilhões de dólares em 2012.” </li></ul><ul><li>“ Um dos fatores destacados pelo Gartner para a crescente adoção de software como serviço é a redução de gastos de TI.” </li></ul><ul><li>Fonte: IDG Now!, outubro/08. </li></ul>
  13. 13. SaaS – Software como Serviço <ul><li>“ Os mercados que mais contribuirão com softwares como serviço serão os de conteúdo, comunicações e colaboração, com receita excedendo os 2,1 bilhões de dólares em 2008 e chegando a 4,7 bilhões de dólares em 2012.” </li></ul><ul><li>“ Um dos fatores destacados pelo Gartner para a crescente adoção de software como serviço é a redução de gastos de TI.” </li></ul><ul><li>Fonte: IDG Now!, outubro/08. </li></ul>
  14. 14. SaaS – Software como Serviço <ul><li>“ Aplicativos online como o Google Apps, Zoho, Adobe Buzzword e ThinkFree terão 9% de participação na receita total de softwares .” </li></ul><ul><li>Gartner Group </li></ul>
  15. 15. SaaS – Qual o melhor modelo? <ul><li>Livre acesso? </li></ul><ul><li>Assinatura de serviço? </li></ul>
  16. 16. <ul><li>A engrenagem funciona nas nuvens. </li></ul>Web Services
  17. 17. Web Service <ul><li>É uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. </li></ul><ul><li>Torna possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. </li></ul><ul><li>São componentes que permitem às aplicações enviar e receber dados em formato XML. </li></ul><ul><li>Cada aplicação pode ter a sua própria &quot;linguagem&quot;, que é traduzida para uma linguagem universal, o formato XML . </li></ul>
  18. 18. Web Service <ul><li>É uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. </li></ul><ul><li>Torna possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. </li></ul><ul><li>São componentes que permitem às aplicações enviar e receber dados em formato XML. </li></ul><ul><li>Cada aplicação pode ter a sua própria &quot;linguagem&quot;, que é traduzida para uma linguagem universal, o formato XML . </li></ul>
  19. 19. Web Service <ul><li>É uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. </li></ul><ul><li>Torna possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. </li></ul><ul><li>São componentes que permitem às aplicações enviar e receber dados em formato XML. </li></ul><ul><li>Cada aplicação pode ter a sua própria &quot;linguagem&quot;, que é traduzida para uma linguagem universal, o formato XML . </li></ul>
  20. 20. Web Service <ul><li>É uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. </li></ul><ul><li>Torna possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. </li></ul><ul><li>São componentes que permitem às aplicações enviar e receber dados em formato XML. </li></ul><ul><li>Cada aplicação pode ter a sua própria &quot;linguagem&quot;, que é traduzida para uma linguagem universal, o formato XML . </li></ul>
  21. 21. SOA – Service-Oriented Architecture <ul><li>Também conhecido como arquitetura orientada a serviços , é um estilo de arquitetura de software cujo princípio fundamental preconiza que as funcionalidades implementadas pelas aplicações devem ser disponibilizadas na forma de serviços. </li></ul><ul><li>A arquitetura SOA é baseada nos princípios da computação distribuída e utiliza o paradigma request/reply para estabelecer a comunicação entre os sistemas clientes e os sistemas que implementam os serviços. </li></ul><ul><li>Fonte: Wikipédia </li></ul>
  22. 22. SOA – Service-Oriented Architecture <ul><li>Também conhecido como arquitetura orientada a serviços , é um estilo de arquitetura de software cujo princípio fundamental preconiza que as funcionalidades implementadas pelas aplicações devem ser disponibilizadas na forma de serviços. </li></ul><ul><li>A arquitetura SOA é baseada nos princípios da computação distribuída e utiliza o paradigma request/reply para estabelecer a comunicação entre os sistemas clientes e os sistemas que implementam os serviços. </li></ul><ul><li>Fonte: Wikipédia </li></ul>
  23. 23. Web Service – Arquitetura SOA <ul><li>Para a representação e estruturação dos dados nas mensagens recebidas/enviadas é utilizado o XML ( eXtensible Markup Language ). </li></ul>
  24. 24. Web Service – Arquitetura SOA <ul><li>As chamadas às operações, incluindo os parâmetros de entrada/saída, são codificadas no protocolo SOAP ( Simple Object Access Protocol , baseado em XML). </li></ul>
  25. 25. Web Service – Arquitetura SOA <ul><li>Os serviços (operações, mensagens, parâmetros, etc.) são descritos usando a linguagem WSDL ( Web Services Description Language ). </li></ul>
  26. 26. Web Service – Arquitetura SOA <ul><li>O processo de publicação/pesquisa/descoberta de Web Services utiliza o protocolo UDDI ( Universal Description, Discovery and Integration ). </li></ul>
  27. 27. Web Service – API própria <ul><li>Cada aplicação poderá desenvolver sua própria “linguagem” de comunicação ou adotar uma API existente. </li></ul>
  28. 28. Web Service – API REST <ul><li>O Twitter é um dos exemplos mais conhecidos de Web Services que utilizam a API REST. </li></ul><ul><li>A REST (Representational State Transfer) é usada no sentido mais amplo para descrever qualquer interface web simples que utiliza XML, HTTP ou texto puro, sem as abstrações adicionais dos protocolos baseados em SOA. </li></ul>
  29. 29. <ul><li>Como o PHP está pronto para atender às exigências do mercado para Cloud Computing , SaaS e Webservices . </li></ul>Componentes PHP para aplicações em nuvem
  30. 30. Extensão SOAP <ul><li>Classe SoapServer : provê um servidor para os protocolos SOAP 1.1 e 1.2 e pode ser usada com ou sem a descrição de serviços WSDL. </li></ul><ul><li>Classe SoapClient : provê um cliente para servidores SOAP 1.1 e 1.2 e pode ser usada nos modos WSDL e não-WSDL. </li></ul><ul><li>Outras classes acessórias para o protocolo. </li></ul>
  31. 31. Funções XML-RPC <ul><li>RPC (Remote Procedure Call) – protocolo que define a comunicação entre dois hosts na rede. </li></ul><ul><li>XML-RPC codifica o protocolo RPC dentro de um XML. </li></ul><ul><li>Mais sobre XML-RPC: http://www.xmlrpc.com </li></ul><ul><li>Ao todo são 14 funções nativas do PHP que podem ser usadas para escrever servidores e clientes XML-RPC. </li></ul><ul><li>O Zend Framework possui o componente Zend_XmlRpc para implementar clientes/servidores XML-RPC. </li></ul>
  32. 32. Zend Framework: Zend_Rest <ul><li>Classes Zend_Rest_Client e Zend_Rest_Server . </li></ul><ul><ul><li>O componente de Servidor permite exposição automática de funções e classes que usam um formato de XML expressivo e simples. </li></ul></ul><ul><ul><li>Ao ter acesso a estes serviços usando o componente Cliente, é possível obter os dados de retorno facilmente através de uma chamada remota. </li></ul></ul>
  33. 33. Zend Framework: Componentes clientes para serviços diversos <ul><li>Zend_Gdata: interage com todas as APIs de dados do Google. </li></ul><ul><li>Zend_Service_Askimet: identifica a ocorrência de spam; usado no WordPress. </li></ul><ul><li>Zend_Service_Amazon: obtém informações disponíveis no site da Amazon.com. </li></ul><ul><li>Zend_Service_Audioscrobbler: provê acesso a dados de coleções musicais. </li></ul><ul><li>Zend_Service_Delicious: permite acesso r/w aos posts no del.icio.us. </li></ul><ul><li>Zend_Service_Flickr: gerencia albuns de uma conta no Flickr. </li></ul><ul><li>Zend_Service_Nirvanix: permite acesso ao repositório de arquivos de mídia. </li></ul>
  34. 34. Zend Framework: Componentes clientes para serviços diversos <ul><li>Zend_Service_ReCaptcha: serviço para digitalização de textos com OCR. </li></ul><ul><li>Zend_Service_Simpy: gerenciamento de ferramenta social de favoritos. </li></ul><ul><li>Zend_Service_SlideShare: interage com a conta no SlideShare. </li></ul><ul><li>Zend_Service_StrikeIron: interage com serviços de dados comerciais. </li></ul><ul><li>Zend_Service_Technorati: interage com o mais popular buscador de blogs. </li></ul><ul><li>Zend_Service_Twitter: interage com a conta e acessa todas as funcionalidades. </li></ul><ul><li>Zend_Service_Yahoo: interage com todas as APIs de dados do Yahoo! </li></ul>
  35. 35. <ul><li>A tendência de datacenters especializados para Cloud Computing . </li></ul>Infra-estrutura para a nuvem
  36. 36. Infra-estrutura para a nuvem – o que é melhor? <ul><li>Datacenter próprio? </li></ul><ul><li>Datacenter alugado? </li></ul>
  37. 37. Infra-estrutura para a nuvem – o que é melhor? <ul><li>Prós </li></ul><ul><ul><li>Controle absoluto </li></ul></ul><ul><li>Datacenter próprio? </li></ul><ul><li>Datacenter alugado? </li></ul>
  38. 38. Infra-estrutura para a nuvem – o que é melhor? <ul><li>Prós </li></ul><ul><ul><li>Controle absoluto </li></ul></ul><ul><li>Contras </li></ul><ul><ul><li>Alto custo </li></ul></ul><ul><li>Datacenter próprio? </li></ul><ul><li>Datacenter alugado? </li></ul>
  39. 39. Infra-estrutura para a nuvem – o que é melhor? <ul><li>Prós </li></ul><ul><ul><li>Controle absoluto </li></ul></ul><ul><li>Contras </li></ul><ul><ul><li>Alto custo </li></ul></ul><ul><ul><li>Excassez de mão-de-obra qualificada </li></ul></ul><ul><li>Datacenter próprio? </li></ul><ul><li>Datacenter alugado? </li></ul>
  40. 40. Infra-estrutura para a nuvem – o que é melhor? <ul><li>Prós </li></ul><ul><ul><li>Controle absoluto </li></ul></ul><ul><li>Contras </li></ul><ul><ul><li>Alto custo </li></ul></ul><ul><ul><li>Excassez de mão-de-obra qualificada </li></ul></ul><ul><ul><li>Escalabilidade </li></ul></ul><ul><li>Datacenter próprio? </li></ul><ul><li>Datacenter alugado? </li></ul>
  41. 41. Infra-estrutura para a nuvem – o que é melhor? <ul><li>Prós </li></ul><ul><ul><li>Controle absoluto </li></ul></ul><ul><li>Contras </li></ul><ul><ul><li>Alto custo </li></ul></ul><ul><ul><li>Excassez de mão-de-obra qualificada </li></ul></ul><ul><ul><li>Escalabilidade </li></ul></ul><ul><li>Prós </li></ul><ul><ul><li>Menor custo </li></ul></ul><ul><li>Datacenter próprio? </li></ul><ul><li>Datacenter alugado? </li></ul>
  42. 42. Infra-estrutura para a nuvem – o que é melhor? <ul><li>Prós </li></ul><ul><ul><li>Controle absoluto </li></ul></ul><ul><li>Contras </li></ul><ul><ul><li>Alto custo </li></ul></ul><ul><ul><li>Excassez de mão-de-obra qualificada </li></ul></ul><ul><ul><li>Escalabilidade </li></ul></ul><ul><li>Prós </li></ul><ul><ul><li>Menor custo </li></ul></ul><ul><ul><li>Menor necessidade por mão-de-obra qualificada </li></ul></ul><ul><li>Datacenter próprio? </li></ul><ul><li>Datacenter alugado? </li></ul>
  43. 43. Infra-estrutura para a nuvem – o que é melhor? <ul><li>Prós </li></ul><ul><ul><li>Controle absoluto </li></ul></ul><ul><li>Contras </li></ul><ul><ul><li>Alto custo </li></ul></ul><ul><ul><li>Excassez de mão-de-obra qualificada </li></ul></ul><ul><ul><li>Escalabilidade </li></ul></ul><ul><li>Prós </li></ul><ul><ul><li>Menor custo </li></ul></ul><ul><ul><li>Menor necessidade por mão-de-obra qualificada </li></ul></ul><ul><ul><li>Facilmente escalável </li></ul></ul><ul><li>Datacenter próprio? </li></ul><ul><li>Datacenter alugado? </li></ul>
  44. 44. Infra-estrutura para a nuvem – o que é melhor? <ul><li>Prós </li></ul><ul><ul><li>Controle absoluto </li></ul></ul><ul><li>Contras </li></ul><ul><ul><li>Alto custo </li></ul></ul><ul><ul><li>Excassez de mão-de-obra qualificada </li></ul></ul><ul><ul><li>Escalabilidade </li></ul></ul><ul><li>Prós </li></ul><ul><ul><li>Menor custo </li></ul></ul><ul><ul><li>Menor necessidade por mão-de-obra qualificada </li></ul></ul><ul><ul><li>Facilmente escalável </li></ul></ul><ul><li>Contras </li></ul><ul><ul><li>Controle parcial </li></ul></ul><ul><li>Datacenter próprio? </li></ul><ul><li>Datacenter alugado? </li></ul>
  45. 45. Conclusões <ul><li>PHP é uma linguagem pronta para SaaS e Webservices , baseados na nuvem. </li></ul><ul><li>Evoluir de uma visão puramente técnica para outra voltada para negócios é questão de sobrevivência para desenvolvedores. </li></ul><ul><li>Mercado corporativo precisa reduzir custos mas continuar investindo em TI. </li></ul><ul><li>Cloud Computing representa uma oportunidade de mercado para os próximos anos. </li></ul><ul><li>Soluções de infra-estrutura terceirizadas, locadas sob demanda, representam a melhor opção para a realidade de um mercado sob forte recessão. </li></ul>
  46. 46. Conclusões <ul><li>PHP é uma linguagem pronta para SaaS e Webservices , baseados na nuvem. </li></ul><ul><li>Evoluir de uma visão puramente técnica para outra voltada para negócios é questão de sobrevivência para desenvolvedores. </li></ul><ul><li>Mercado corporativo precisa reduzir custos mas continuar investindo em TI. </li></ul><ul><li>Cloud Computing representa uma oportunidade de mercado para os próximos anos. </li></ul><ul><li>Soluções de infra-estrutura terceirizadas, locadas sob demanda, representam a melhor opção para a realidade de um mercado sob forte recessão. </li></ul>
  47. 47. Conclusões <ul><li>PHP é uma linguagem pronta para SaaS e Webservices , baseados na nuvem. </li></ul><ul><li>Evoluir de uma visão puramente técnica para outra voltada para negócios é questão de sobrevivência para desenvolvedores. </li></ul><ul><li>Mercado corporativo precisa reduzir custos mas continuar investindo em TI. </li></ul><ul><li>Cloud Computing representa uma oportunidade de mercado para os próximos anos. </li></ul><ul><li>Soluções de infra-estrutura terceirizadas, locadas sob demanda, representam a melhor opção para a realidade de um mercado sob forte recessão. </li></ul>
  48. 48. Conclusões <ul><li>PHP é uma linguagem pronta para SaaS e Webservices , baseados na nuvem. </li></ul><ul><li>Evoluir de uma visão puramente técnica para outra voltada para negócios é questão de sobrevivência para desenvolvedores. </li></ul><ul><li>Mercado corporativo precisa reduzir custos mas continuar investindo em TI. </li></ul><ul><li>Cloud Computing representa uma oportunidade de mercado para os próximos anos. </li></ul><ul><li>Soluções de infra-estrutura terceirizadas, locadas sob demanda, representam a melhor opção para a realidade de um mercado sob forte recessão. </li></ul>
  49. 49. Conclusões <ul><li>PHP é uma linguagem pronta para SaaS e Webservices , baseados na nuvem. </li></ul><ul><li>Evoluir de uma visão puramente técnica para outra voltada para negócios é questão de sobrevivência para desenvolvedores. </li></ul><ul><li>Mercado corporativo precisa reduzir custos mas continuar investindo em TI. </li></ul><ul><li>Cloud Computing representa uma oportunidade de mercado para os próximos anos. </li></ul><ul><li>Soluções de infra-estrutura terceirizadas, locadas sob demanda, representam a melhor opção para a realidade de um mercado sob forte recessão. </li></ul>
  50. 50. Referências <ul><li>http://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A3o_em_nuvem </li></ul><ul><li>http://idgnow.uol.com.br/computacao_corporativa/2008/08/13/cloud-computing-entenda-este-novo-modelo-de-computacao/ </li></ul><ul><li>http://pt.wikipedia.org/wiki/Saas </li></ul><ul><li>http://idgnow.uol.com.br/computacao_corporativa/2008/10/22/gartner-receita-mundial-de-software-como-servico-cresce-27-em-2008/ </li></ul><ul><li>https://www.google.com/adsense/ </li></ul><ul><li>http://www.salesforce.com/br/ </li></ul><ul><li>http://pt.wikipedia.org/wiki/Web_service </li></ul><ul><li>http://pt.wikipedia.org/wiki/Service-oriented_architecture </li></ul><ul><li>http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm </li></ul><ul><li>http://br.php.net/manual/pt_BR/book.soap.php </li></ul><ul><li>http://br.php.net/manual/pt_BR/book.xmlrpc.php </li></ul><ul><li>http://www.xmlrpc.com </li></ul><ul><li>http://framework.zend.com/manual/en/ </li></ul>
  51. 51. <ul><li>Temos 10 minutos para maiores esclarecimentos. </li></ul>Dúvidas nas nuvens?

×